• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// GENERATED FILE - DO NOT EDIT.
2// Generated by scripts/generate_android_bp.py
3//
4// Copyright 2020 The ANGLE Project Authors. All rights reserved.
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7//
8
9soong_config_module_type {
10    name: "angle_config_cc_defaults",
11    module_type: "cc_defaults",
12    config_namespace: "angle",
13    bool_variables: [
14        "angle_in_vendor",
15    ],
16    properties: [
17        "target.android.relative_install_path",
18        "vendor",
19    ],
20}
21
22soong_config_bool_variable {
23    name: "angle_in_vendor",
24}
25
26angle_config_cc_defaults {
27    name: "angle_vendor_cc_defaults",
28    vendor: false,
29    target: {
30        android: {
31            relative_install_path: "",
32        },
33    },
34    soong_config_variables: {
35        angle_in_vendor: {
36            vendor: true,
37            target: {
38                android: {
39                    relative_install_path: "egl",
40                },
41            },
42        },
43    },
44}
45
46cc_defaults {
47    name: "angle_common_library_cflags",
48    cpp_std: "gnu++17",
49    cflags: [
50        "-O2",
51        "-Wno-unknown-warning-option",
52        "-fno-stack-protector",
53        "-fno-unwind-tables",
54    ],
55}
56
57cc_defaults {
58    name: "angle_common_auto_cflags",
59    cflags: [
60        "-DANDROID",
61        "-DANDROID_NDK_VERSION_ROLL=r26b_1",
62        "-DCR_CLANG_REVISION=\"llvmorg-19-init-10646-g084e2b53-57\"",
63        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
64        "-DHAVE_SYS_UIO_H",
65        "-DNDEBUG",
66        "-DNVALGRIND",
67        "-D_GNU_SOURCE",
68        "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE",
69        "-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__",
70        "-Wno-bitfield-constant-conversion",
71        "-Wno-builtin-macro-redefined",
72        "-Wno-c++11-narrowing-const-reference",
73        "-Wno-cast-function-type",
74        "-Wno-deprecated-builtins",
75        "-Wno-deprecated-this-capture",
76        "-Wno-ignored-pragma-optimize",
77        "-Wno-invalid-offsetof",
78        "-Wno-missing-field-initializers",
79        "-Wno-psabi",
80        "-Wno-thread-safety-reference-return",
81        "-Wno-trigraphs",
82        "-Wno-unneeded-internal-declaration",
83        "-Wno-unused-parameter",
84        "-Wno-vla-extension",
85        "-fvisibility-inlines-hidden",
86        "-fvisibility=hidden",
87    ],
88}
89
90cc_defaults {
91    name: "angle_libEGL_egl_loader",
92    srcs: [
93        "src/libEGL/egl_loader_autogen.cpp",
94    ],
95    defaults: [
96        "angle_common_auto_cflags",
97        "angle_common_library_cflags",
98        "angle_includes",
99    ],
100    local_include_dirs: [
101        "include/",
102        "src/",
103    ],
104    cflags: [
105        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
106        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
107        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
108        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
109        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
110        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
111        "-DANGLE_USE_EGL_LOADER",
112        "-DEGL_EGLEXT_PROTOTYPES",
113        "-DEGL_EGL_PROTOTYPES=1",
114        "-DGL_GLES_PROTOTYPES=1",
115        "-DGL_GLEXT_PROTOTYPES",
116        "-D_FORTIFY_SOURCE=2",
117        "-D__STDC_CONSTANT_MACROS",
118        "-D__STDC_FORMAT_MACROS",
119    ],
120    sdk_version: "28",
121    stl: "libc++_static",
122    arch: {
123        arm64: {
124            cflags: [
125                "-D__ARM_NEON__=1",
126            ],
127        },
128    },
129}
130
131cc_library_shared {
132    name: "libEGL_angle",
133    srcs: [
134        "src/libEGL/libEGL_autogen.cpp",
135    ],
136    static_libs: [
137        "angle_common",
138        "angle_common_shader_state",
139        "angle_gpu_info_util",
140        "angle_image_util",
141        "angle_preprocessor",
142        "angle_translator",
143        "cpufeatures",
144        "third_party_spirv_tools_src_spvtools",
145        "third_party_spirv_tools_src_spvtools_val",
146        "zlib_google_compression_utils_portable",
147    ],
148    shared_libs: [
149        "libGLESv2_angle",
150        "libdl",
151        "liblog",
152        "libm",
153        "libnativewindow",
154    ],
155    defaults: [
156        "angle_common_auto_cflags",
157        "angle_common_library_cflags",
158        "angle_includes",
159        "angle_libEGL_egl_loader",
160        "angle_vendor_cc_defaults",
161    ],
162    generated_headers: [
163        "angle_commit_id",
164        "angle_program_version_id",
165        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
166        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
167        "third_party_spirv_tools_src_spvtools_generators_inc",
168        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
169        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
170        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
171        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
172        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
173        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
174        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
175        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
176        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
177        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
178        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
179        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
180        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
181        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
182    ],
183    local_include_dirs: [
184        "include/",
185        "src/",
186        "src/common/base/",
187        "src/common/third_party/xxhash/",
188        "third_party/abseil-cpp/",
189    ],
190    cflags: [
191        "-DABSL_ALLOCATOR_NOTHROW=1",
192        "-DANGLE_DISPATCH_LIBRARY=\"libGLESv2_angle\"",
193        "-DANGLE_EGL_LIBRARY_NAME=\"libEGL_angle\"",
194        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
195        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
196        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
197        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
198        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
199        "-DANGLE_GLESV2_LIBRARY_NAME=\"libGLESv2_angle\"",
200        "-DANGLE_MESA_EGL_LIBRARY_NAME=\"mesa/src/egl/libEGL\"",
201        "-DANGLE_MESA_GLESV2_LIBRARY_NAME=\"mesa/src/mapi/es2api/libGLESv2\"",
202        "-DANGLE_USE_ABSEIL",
203        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
204        "-DANGLE_USE_EGL_LOADER",
205        "-DANGLE_VULKAN_SECONDARIES_EGL_LIBRARY_NAME=\"libEGL_vulkan_secondaries_angle\"",
206        "-DANGLE_VULKAN_SECONDARIES_GLESV2_LIBRARY_NAME=\"libGLESv2_vulkan_secondaries_angle\"",
207        "-DEGLAPI=__attribute__((visibility(\"default\")))",
208        "-DEGL_EGLEXT_PROTOTYPES",
209        "-DEGL_EGL_PROTOTYPES=1",
210        "-DGL_GLES_PROTOTYPES=1",
211        "-DGL_GLEXT_PROTOTYPES",
212        "-DLIBEGL_IMPLEMENTATION",
213        "-D_FORTIFY_SOURCE=2",
214        "-D__STDC_CONSTANT_MACROS",
215        "-D__STDC_FORMAT_MACROS",
216        "-Wno-gcc-compat",
217        "-Wno-unreachable-code-break",
218    ],
219    sdk_version: "28",
220    stl: "libc++_static",
221    arch: {
222        arm64: {
223            cflags: [
224                "-D__ARM_NEON__=1",
225            ],
226        },
227    },
228}
229
230cc_library_shared {
231    name: "libGLESv1_CM_angle",
232    srcs: [
233        "src/libGLESv1_CM/libGLESv1_CM.cpp",
234    ],
235    static_libs: [
236        "angle_common",
237        "angle_common_shader_state",
238        "angle_gpu_info_util",
239        "angle_image_util",
240        "angle_preprocessor",
241        "angle_translator",
242        "cpufeatures",
243        "third_party_spirv_tools_src_spvtools",
244        "third_party_spirv_tools_src_spvtools_val",
245        "zlib_google_compression_utils_portable",
246    ],
247    shared_libs: [
248        "libGLESv2_angle",
249        "libdl",
250        "libm",
251    ],
252    defaults: [
253        "angle_common_auto_cflags",
254        "angle_common_library_cflags",
255        "angle_includes",
256        "angle_vendor_cc_defaults",
257    ],
258    generated_headers: [
259        "angle_commit_id",
260        "angle_program_version_id",
261        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
262        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
263        "third_party_spirv_tools_src_spvtools_generators_inc",
264        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
265        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
266        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
267        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
268        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
269        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
270        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
271        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
272        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
273        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
274        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
275        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
276        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
277        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
278    ],
279    local_include_dirs: [
280        "include/",
281        "src/",
282    ],
283    cflags: [
284        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
285        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
286        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
287        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
288        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
289        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
290        "-DEGL_EGLEXT_PROTOTYPES",
291        "-DEGL_EGL_PROTOTYPES=1",
292        "-DGL_API=__attribute__((visibility(\"default\")))",
293        "-DGL_APICALL=__attribute__((visibility(\"default\")))",
294        "-DGL_GLES_PROTOTYPES=1",
295        "-DGL_GLEXT_PROTOTYPES",
296        "-D_FORTIFY_SOURCE=2",
297        "-D__STDC_CONSTANT_MACROS",
298        "-D__STDC_FORMAT_MACROS",
299    ],
300    sdk_version: "28",
301    stl: "libc++_static",
302    arch: {
303        arm64: {
304            cflags: [
305                "-D__ARM_NEON__=1",
306            ],
307        },
308    },
309}
310
311cc_defaults {
312    name: "third_party_vulkan_memory_allocator_vulkan_memory_allocator",
313    srcs: [
314        "third_party/vulkan_memory_allocator/vma.cpp",
315    ],
316    defaults: [
317        "angle_common_auto_cflags",
318        "angle_common_library_cflags",
319        "third_party_vulkan_headers_src_vulkan_headers",
320    ],
321    local_include_dirs: [
322        "",
323        "third_party/vulkan-headers/src/include/",
324        "third_party/vulkan_memory_allocator/include/",
325    ],
326    cflags: [
327        "-DVK_USE_PLATFORM_ANDROID_KHR",
328        "-DVMA_DYNAMIC_VULKAN_FUNCTIONS=0",
329        "-DVMA_STATIC_VULKAN_FUNCTIONS=0",
330        "-DVMA_USE_STL_CONTAINERS=1",
331        "-D_FORTIFY_SOURCE=2",
332        "-D__STDC_CONSTANT_MACROS",
333        "-D__STDC_FORMAT_MACROS",
334        "-Wno-c++98-compat-extra-semi",
335        "-Wno-deprecated-copy",
336        "-Wno-implicit-fallthrough",
337        "-Wno-nullability-completeness",
338        "-Wno-redundant-parens",
339        "-Wno-suggest-destructor-override",
340        "-Wno-suggest-override",
341        "-Wno-unused-private-field",
342        "-Wno-unused-variable",
343    ],
344    sdk_version: "28",
345    stl: "libc++_static",
346    arch: {
347        arm64: {
348            cflags: [
349                "-D__ARM_NEON__=1",
350            ],
351        },
352    },
353}
354
355cc_defaults {
356    name: "src_libANGLE_renderer_vulkan_angle_vk_mem_alloc_wrapper",
357    srcs: [
358        "src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp",
359    ],
360    defaults: [
361        "angle_common_auto_cflags",
362        "angle_common_library_cflags",
363        "src_common_vulkan_angle_vulkan_headers",
364        "third_party_vulkan_memory_allocator_vulkan_memory_allocator",
365    ],
366    local_include_dirs: [
367        "include/",
368        "src/",
369        "src/third_party/volk/",
370        "third_party/vulkan-headers/src/include/",
371        "third_party/vulkan_memory_allocator/include/",
372    ],
373    cflags: [
374        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
375        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
376        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
377        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
378        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
379        "-DANGLE_SHARED_LIBVULKAN=1",
380        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
381        "-DVK_USE_PLATFORM_ANDROID_KHR",
382        "-DVMA_DYNAMIC_VULKAN_FUNCTIONS=0",
383        "-DVMA_STATIC_VULKAN_FUNCTIONS=0",
384        "-DVMA_USE_STL_CONTAINERS=1",
385        "-D_FORTIFY_SOURCE=2",
386        "-D__STDC_CONSTANT_MACROS",
387        "-D__STDC_FORMAT_MACROS",
388        "-Wno-c++98-compat-extra-semi",
389        "-Wno-deprecated-copy",
390        "-Wno-extra-semi-stmt",
391        "-Wno-implicit-fallthrough",
392        "-Wno-inconsistent-missing-destructor-override",
393        "-Wno-nullability-completeness",
394        "-Wno-redundant-parens",
395        "-Wno-suggest-destructor-override",
396        "-Wno-suggest-override",
397        "-Wno-unused-private-field",
398        "-Wno-unused-variable",
399    ],
400    sdk_version: "28",
401    stl: "libc++_static",
402    arch: {
403        arm64: {
404            cflags: [
405                "-D__ARM_NEON__=1",
406            ],
407        },
408    },
409}
410
411cc_defaults {
412    name: "src_common_vulkan_angle_libvulkan",
413    defaults: [
414        "angle_common_library_cflags",
415    ],
416    sdk_version: "28",
417    stl: "libc++_static",
418}
419
420cc_defaults {
421    name: "src_common_vulkan_vulkan",
422    static_libs: [
423        "angle_common",
424    ],
425    shared_libs: [
426        "liblog",
427        "libnativewindow",
428    ],
429    defaults: [
430        "angle_common_auto_cflags",
431        "angle_common_library_cflags",
432        "src_common_vulkan_angle_libvulkan",
433        "src_common_vulkan_angle_vulkan_entry_points",
434        "src_common_vulkan_angle_vulkan_icd",
435    ],
436    local_include_dirs: [
437        "include/",
438        "src/",
439        "src/common/base/",
440        "src/common/third_party/xxhash/",
441        "src/third_party/volk/",
442        "third_party/abseil-cpp/",
443        "third_party/vulkan-headers/src/include/",
444    ],
445    cflags: [
446        "-DABSL_ALLOCATOR_NOTHROW=1",
447        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
448        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
449        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
450        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
451        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
452        "-DANGLE_SHARED_LIBVULKAN=1",
453        "-DANGLE_USE_ABSEIL",
454        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
455        "-DVK_USE_PLATFORM_ANDROID_KHR",
456        "-D_FORTIFY_SOURCE=2",
457        "-D__STDC_CONSTANT_MACROS",
458        "-D__STDC_FORMAT_MACROS",
459        "-Wno-gcc-compat",
460        "-Wno-redundant-parens",
461        "-Wno-unreachable-code-break",
462    ],
463    sdk_version: "28",
464    stl: "libc++_static",
465    arch: {
466        arm64: {
467            cflags: [
468                "-D__ARM_NEON__=1",
469            ],
470        },
471    },
472}
473
474cc_defaults {
475    name: "src_common_vulkan_angle_vulkan_entry_points",
476    defaults: [
477        "angle_common_library_cflags",
478        "src_common_vulkan_angle_vulkan_headers",
479    ],
480    sdk_version: "28",
481    stl: "libc++_static",
482}
483
484cc_defaults {
485    name: "src_common_spirv_angle_spirv_parser",
486    srcs: [
487        "src/common/spirv/spirv_instruction_parser_autogen.cpp",
488    ],
489    static_libs: [
490        "angle_common",
491    ],
492    shared_libs: [
493        "liblog",
494        "libnativewindow",
495    ],
496    defaults: [
497        "angle_common_auto_cflags",
498        "angle_common_library_cflags",
499        "src_common_spirv_angle_spirv_base",
500        "src_common_spirv_angle_spirv_headers",
501        "third_party_spirv_headers_src_spv_headers",
502    ],
503    local_include_dirs: [
504        "include/",
505        "src/",
506        "src/common/base/",
507        "src/common/third_party/xxhash/",
508        "third_party/abseil-cpp/",
509        "third_party/spirv-headers/src/include/",
510    ],
511    cflags: [
512        "-DABSL_ALLOCATOR_NOTHROW=1",
513        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
514        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
515        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
516        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
517        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
518        "-DANGLE_USE_ABSEIL",
519        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
520        "-D_FORTIFY_SOURCE=2",
521        "-D__STDC_CONSTANT_MACROS",
522        "-D__STDC_FORMAT_MACROS",
523        "-Wno-gcc-compat",
524        "-Wno-unreachable-code-break",
525    ],
526    sdk_version: "28",
527    stl: "libc++_static",
528    arch: {
529        arm64: {
530            cflags: [
531                "-D__ARM_NEON__=1",
532            ],
533        },
534    },
535}
536
537cc_defaults {
538    name: "src_libANGLE_renderer_vulkan_angle_vulkan_backend",
539    srcs: [
540        "src/libANGLE/renderer/vulkan/AllocatorHelperPool.cpp",
541        "src/libANGLE/renderer/vulkan/AllocatorHelperRing.cpp",
542        "src/libANGLE/renderer/vulkan/BufferVk.cpp",
543        "src/libANGLE/renderer/vulkan/CommandProcessor.cpp",
544        "src/libANGLE/renderer/vulkan/CompilerVk.cpp",
545        "src/libANGLE/renderer/vulkan/ContextVk.cpp",
546        "src/libANGLE/renderer/vulkan/DebugAnnotatorVk.cpp",
547        "src/libANGLE/renderer/vulkan/DeviceVk.cpp",
548        "src/libANGLE/renderer/vulkan/DisplayVk.cpp",
549        "src/libANGLE/renderer/vulkan/FenceNVVk.cpp",
550        "src/libANGLE/renderer/vulkan/FramebufferVk.cpp",
551        "src/libANGLE/renderer/vulkan/ImageVk.cpp",
552        "src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp",
553        "src/libANGLE/renderer/vulkan/MemoryTracking.cpp",
554        "src/libANGLE/renderer/vulkan/OverlayVk.cpp",
555        "src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp",
556        "src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp",
557        "src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp",
558        "src/libANGLE/renderer/vulkan/ProgramVk.cpp",
559        "src/libANGLE/renderer/vulkan/QueryVk.cpp",
560        "src/libANGLE/renderer/vulkan/RenderTargetVk.cpp",
561        "src/libANGLE/renderer/vulkan/RenderbufferVk.cpp",
562        "src/libANGLE/renderer/vulkan/SamplerVk.cpp",
563        "src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp",
564        "src/libANGLE/renderer/vulkan/SecondaryCommandPool.cpp",
565        "src/libANGLE/renderer/vulkan/SemaphoreVk.cpp",
566        "src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.cpp",
567        "src/libANGLE/renderer/vulkan/ShaderVk.cpp",
568        "src/libANGLE/renderer/vulkan/ShareGroupVk.cpp",
569        "src/libANGLE/renderer/vulkan/Suballocation.cpp",
570        "src/libANGLE/renderer/vulkan/SurfaceVk.cpp",
571        "src/libANGLE/renderer/vulkan/SyncVk.cpp",
572        "src/libANGLE/renderer/vulkan/TextureVk.cpp",
573        "src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp",
574        "src/libANGLE/renderer/vulkan/UtilsVk.cpp",
575        "src/libANGLE/renderer/vulkan/VertexArrayVk.cpp",
576        "src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp",
577        "src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.cpp",
578        "src/libANGLE/renderer/vulkan/android/AHBFunctions.cpp",
579        "src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.cpp",
580        "src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp",
581        "src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.cpp",
582        "src/libANGLE/renderer/vulkan/android/vk_android_utils.cpp",
583        "src/libANGLE/renderer/vulkan/spv_utils.cpp",
584        "src/libANGLE/renderer/vulkan/vk_cache_utils.cpp",
585        "src/libANGLE/renderer/vulkan/vk_caps_utils.cpp",
586        "src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp",
587        "src/libANGLE/renderer/vulkan/vk_format_utils.cpp",
588        "src/libANGLE/renderer/vulkan/vk_helpers.cpp",
589        "src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp",
590        "src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp",
591        "src/libANGLE/renderer/vulkan/vk_ref_counted_event.cpp",
592        "src/libANGLE/renderer/vulkan/vk_renderer.cpp",
593        "src/libANGLE/renderer/vulkan/vk_resource.cpp",
594        "src/libANGLE/renderer/vulkan/vk_utils.cpp",
595    ],
596    static_libs: [
597        "angle_common",
598        "angle_gpu_info_util",
599        "angle_image_util",
600        "cpufeatures",
601        "zlib_google_compression_utils_portable",
602    ],
603    shared_libs: [
604        "liblog",
605        "libnativewindow",
606    ],
607    defaults: [
608        "angle_abseil",
609        "angle_common_auto_cflags",
610        "angle_common_library_cflags",
611        "angle_compression",
612        "angle_libANGLE_headers",
613        "angle_version_info",
614        "src_common_spirv_angle_spirv_base",
615        "src_common_spirv_angle_spirv_builder",
616        "src_common_spirv_angle_spirv_headers",
617        "src_common_spirv_angle_spirv_parser",
618        "src_common_vulkan_angle_libvulkan_loader",
619        "src_common_vulkan_angle_vulkan_entry_points",
620        "src_common_vulkan_angle_vulkan_headers",
621        "src_common_vulkan_vulkan",
622        "src_libANGLE_renderer_vulkan_angle_vk_mem_alloc_wrapper",
623        "third_party_spirv_headers_src_spv_headers",
624    ],
625    generated_headers: [
626        "angle_commit_id",
627        "angle_program_version_id",
628    ],
629    local_include_dirs: [
630        "include/",
631        "src/",
632        "src/common/base/",
633        "src/common/third_party/xxhash/",
634        "src/third_party/volk/",
635        "third_party/abseil-cpp/",
636        "third_party/spirv-headers/src/include/",
637        "third_party/vulkan-headers/src/include/",
638    ],
639    cflags: [
640        "-DABSL_ALLOCATOR_NOTHROW=1",
641        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
642        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
643        "-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
644        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
645        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
646        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
647        "-DANGLE_ENABLE_VULKAN",
648        "-DANGLE_ENABLE_VULKAN_SHARED_RING_BUFFER_CMD_ALLOC=false",
649        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
650        "-DANGLE_SHARED_LIBVULKAN=1",
651        "-DANGLE_USE_ABSEIL",
652        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
653        "-DANGLE_USE_CUSTOM_VULKAN_OUTSIDE_RENDER_PASS_CMD_BUFFERS=1",
654        "-DANGLE_USE_CUSTOM_VULKAN_RENDER_PASS_CMD_BUFFERS=1",
655        "-DLIBANGLE_IMPLEMENTATION",
656        "-DVK_USE_PLATFORM_ANDROID_KHR",
657        "-D_FORTIFY_SOURCE=2",
658        "-D__STDC_CONSTANT_MACROS",
659        "-D__STDC_FORMAT_MACROS",
660        "-Wno-gcc-compat",
661        "-Wno-redundant-parens",
662        "-Wno-unreachable-code-break",
663    ],
664    sdk_version: "28",
665    stl: "libc++_static",
666    arch: {
667        arm64: {
668            cflags: [
669                "-D__ARM_NEON__=1",
670            ],
671        },
672    },
673}
674
675cc_genrule {
676    name: "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
677    srcs: [
678        "third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json",
679    ],
680    out: [
681        "spv-amd-shader-trinary-minmax.insts.inc",
682    ],
683    tool_files: [
684        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
685    ],
686    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json) --vendor-insts-output $(location spv-amd-shader-trinary-minmax.insts.inc) --vendor-operand-kind-prefix ...nil...",
687    sdk_version: "28",
688}
689
690cc_genrule {
691    name: "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
692    srcs: [
693        "third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json",
694    ],
695    out: [
696        "spv-amd-shader-explicit-vertex-parameter.insts.inc",
697    ],
698    tool_files: [
699        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
700    ],
701    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json) --vendor-insts-output $(location spv-amd-shader-explicit-vertex-parameter.insts.inc) --vendor-operand-kind-prefix ...nil...",
702    sdk_version: "28",
703}
704
705cc_genrule {
706    name: "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
707    srcs: [
708        "third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json",
709    ],
710    out: [
711        "spv-amd-shader-ballot.insts.inc",
712    ],
713    tool_files: [
714        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
715    ],
716    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json) --vendor-insts-output $(location spv-amd-shader-ballot.insts.inc) --vendor-operand-kind-prefix ...nil...",
717    sdk_version: "28",
718}
719
720cc_genrule {
721    name: "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
722    srcs: [
723        "third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json",
724    ],
725    out: [
726        "spv-amd-gcn-shader.insts.inc",
727    ],
728    tool_files: [
729        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
730    ],
731    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json) --vendor-insts-output $(location spv-amd-gcn-shader.insts.inc) --vendor-operand-kind-prefix ...nil...",
732    sdk_version: "28",
733}
734
735cc_genrule {
736    name: "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
737    srcs: [
738        "third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json",
739    ],
740    out: [
741        "opencl.debuginfo.100.insts.inc",
742    ],
743    tool_files: [
744        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
745    ],
746    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) --vendor-insts-output $(location opencl.debuginfo.100.insts.inc) --vendor-operand-kind-prefix CLDEBUG100_",
747    sdk_version: "28",
748}
749
750cc_genrule {
751    name: "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
752    srcs: [
753        "third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json",
754    ],
755    out: [
756        "nonsemantic.vkspreflection.insts.inc",
757    ],
758    tool_files: [
759        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
760    ],
761    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json) --vendor-insts-output $(location nonsemantic.vkspreflection.insts.inc) --vendor-operand-kind-prefix ...nil...",
762    sdk_version: "28",
763}
764
765cc_genrule {
766    name: "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
767    srcs: [
768        "third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json",
769    ],
770    out: [
771        "nonsemantic.shader.debuginfo.100.insts.inc",
772    ],
773    tool_files: [
774        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
775    ],
776    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json) --vendor-insts-output $(location nonsemantic.shader.debuginfo.100.insts.inc) --vendor-operand-kind-prefix SHDEBUG100_",
777    sdk_version: "28",
778}
779
780cc_genrule {
781    name: "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
782    srcs: [
783        "third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json",
784    ],
785    out: [
786        "nonsemantic.clspvreflection.insts.inc",
787    ],
788    tool_files: [
789        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
790    ],
791    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json) --vendor-insts-output $(location nonsemantic.clspvreflection.insts.inc) --vendor-operand-kind-prefix ...nil...",
792    sdk_version: "28",
793}
794
795cc_genrule {
796    name: "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
797    srcs: [
798        "third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json",
799    ],
800    out: [
801        "debuginfo.insts.inc",
802    ],
803    tool_files: [
804        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
805    ],
806    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json) --vendor-insts-output $(location debuginfo.insts.inc) --vendor-operand-kind-prefix ...nil...",
807    sdk_version: "28",
808}
809
810cc_genrule {
811    name: "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
812    srcs: [
813        "third_party/spirv-headers/src/include/spirv/1.0/extinst.opencl.std.100.grammar.json",
814        "third_party/spirv-headers/src/include/spirv/1.0/spirv.core.grammar.json",
815        "third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json",
816        "third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json",
817    ],
818    out: [
819        "opencl.std.insts.inc",
820    ],
821    tool_files: [
822        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
823    ],
824    cmd: "$(location) --spirv-core-grammar $(location third_party/spirv-headers/src/include/spirv/1.0/spirv.core.grammar.json) --extinst-debuginfo-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) --extinst-opencl-grammar $(location third_party/spirv-headers/src/include/spirv/1.0/extinst.opencl.std.100.grammar.json) --opencl-insts-output $(location opencl.std.insts.inc)",
825    sdk_version: "28",
826}
827
828cc_genrule {
829    name: "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
830    srcs: [
831        "third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json",
832    ],
833    out: [
834        "NonSemanticShaderDebugInfo100.h",
835    ],
836    tool_files: [
837        "third_party/spirv-tools/src/utils/generate_language_headers.py",
838    ],
839    cmd: "$(location) --extinst-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json) --extinst-output-path $(location NonSemanticShaderDebugInfo100.h)",
840    sdk_version: "28",
841}
842
843cc_genrule {
844    name: "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
845    srcs: [
846        "third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json",
847    ],
848    out: [
849        "DebugInfo.h",
850    ],
851    tool_files: [
852        "third_party/spirv-tools/src/utils/generate_language_headers.py",
853    ],
854    cmd: "$(location) --extinst-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json) --extinst-output-path $(location DebugInfo.h)",
855    sdk_version: "28",
856}
857
858cc_genrule {
859    name: "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
860    srcs: [
861        "third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json",
862    ],
863    out: [
864        "OpenCLDebugInfo100.h",
865    ],
866    tool_files: [
867        "third_party/spirv-tools/src/utils/generate_language_headers.py",
868    ],
869    cmd: "$(location) --extinst-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) --extinst-output-path $(location OpenCLDebugInfo100.h)",
870    sdk_version: "28",
871}
872
873cc_genrule {
874    name: "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
875    srcs: [
876        "third_party/spirv-headers/src/include/spirv/1.0/extinst.glsl.std.450.grammar.json",
877        "third_party/spirv-headers/src/include/spirv/1.0/spirv.core.grammar.json",
878        "third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json",
879        "third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json",
880    ],
881    out: [
882        "glsl.std.450.insts.inc",
883    ],
884    tool_files: [
885        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
886    ],
887    cmd: "$(location) --spirv-core-grammar $(location third_party/spirv-headers/src/include/spirv/1.0/spirv.core.grammar.json) --extinst-debuginfo-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) --extinst-glsl-grammar $(location third_party/spirv-headers/src/include/spirv/1.0/extinst.glsl.std.450.grammar.json) --glsl-insts-output $(location glsl.std.450.insts.inc) --output-language c++",
888    sdk_version: "28",
889}
890
891cc_genrule {
892    name: "third_party_spirv_tools_src_spvtools_generators_inc",
893    srcs: [
894        "third_party/spirv-headers/src/include/spirv/spir-v.xml",
895    ],
896    out: [
897        "generators.inc",
898    ],
899    tool_files: [
900        "third_party/spirv-tools/src/utils/generate_registry_tables.py",
901    ],
902    cmd: "$(location) --xml $(location third_party/spirv-headers/src/include/spirv/spir-v.xml) --generator $(location generators.inc)",
903    sdk_version: "28",
904}
905
906cc_genrule {
907    name: "third_party_spirv_tools_src_spvtools_core_tables_unified1",
908    srcs: [
909        "third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json",
910        "third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json",
911        "third_party/spirv-headers/src/include/spirv/unified1/spirv.core.grammar.json",
912    ],
913    out: [
914        "core.insts-unified1.inc",
915        "operand.kinds-unified1.inc",
916    ],
917    tool_files: [
918        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
919    ],
920    cmd: "$(location) --spirv-core-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/spirv.core.grammar.json) --core-insts-output $(location core.insts-unified1.inc) --extinst-debuginfo-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) --operand-kinds-output $(location operand.kinds-unified1.inc) --output-language c++",
921    sdk_version: "28",
922}
923
924cc_genrule {
925    name: "third_party_spirv_tools_src_spvtools_core_enums_unified1",
926    srcs: [
927        "third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json",
928        "third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json",
929        "third_party/spirv-headers/src/include/spirv/unified1/spirv.core.grammar.json",
930    ],
931    out: [
932        "enum_string_mapping.inc",
933        "extension_enum.inc",
934    ],
935    tool_files: [
936        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
937    ],
938    cmd: "$(location) --spirv-core-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/spirv.core.grammar.json) --extinst-debuginfo-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-headers/src/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) --extension-enum-output $(location extension_enum.inc) --enum-string-mapping-output $(location enum_string_mapping.inc) --output-language c++",
939    sdk_version: "28",
940}
941
942cc_library_static {
943    name: "third_party_spirv_tools_src_spvtools",
944    srcs: [
945        "third_party/spirv-tools/src/source/assembly_grammar.cpp",
946        "third_party/spirv-tools/src/source/binary.cpp",
947        "third_party/spirv-tools/src/source/diagnostic.cpp",
948        "third_party/spirv-tools/src/source/disassemble.cpp",
949        "third_party/spirv-tools/src/source/enum_string_mapping.cpp",
950        "third_party/spirv-tools/src/source/ext_inst.cpp",
951        "third_party/spirv-tools/src/source/extensions.cpp",
952        "third_party/spirv-tools/src/source/libspirv.cpp",
953        "third_party/spirv-tools/src/source/name_mapper.cpp",
954        "third_party/spirv-tools/src/source/opcode.cpp",
955        "third_party/spirv-tools/src/source/operand.cpp",
956        "third_party/spirv-tools/src/source/parsed_operand.cpp",
957        "third_party/spirv-tools/src/source/print.cpp",
958        "third_party/spirv-tools/src/source/spirv_endian.cpp",
959        "third_party/spirv-tools/src/source/spirv_fuzzer_options.cpp",
960        "third_party/spirv-tools/src/source/spirv_optimizer_options.cpp",
961        "third_party/spirv-tools/src/source/spirv_reducer_options.cpp",
962        "third_party/spirv-tools/src/source/spirv_target_env.cpp",
963        "third_party/spirv-tools/src/source/spirv_validator_options.cpp",
964        "third_party/spirv-tools/src/source/table.cpp",
965        "third_party/spirv-tools/src/source/text.cpp",
966        "third_party/spirv-tools/src/source/text_handler.cpp",
967        "third_party/spirv-tools/src/source/util/bit_vector.cpp",
968        "third_party/spirv-tools/src/source/util/parse_number.cpp",
969        "third_party/spirv-tools/src/source/util/string_utils.cpp",
970        "third_party/spirv-tools/src/source/util/timer.cpp",
971    ],
972    defaults: [
973        "angle_common_auto_cflags",
974        "angle_common_library_cflags",
975        "third_party_spirv_headers_src_spv_headers",
976        "third_party_spirv_tools_src_spvtools_headers",
977    ],
978    generated_headers: [
979        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
980        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
981        "third_party_spirv_tools_src_spvtools_generators_inc",
982        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
983        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
984        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
985        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
986        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
987        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
988        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
989        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
990        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
991        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
992        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
993        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
994        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
995        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
996    ],
997    local_include_dirs: [
998        "",
999        "third_party/spirv-headers/src/include/",
1000        "third_party/spirv-tools/src/",
1001        "third_party/spirv-tools/src/include/",
1002    ],
1003    cflags: [
1004        "-D_FORTIFY_SOURCE=2",
1005        "-D__STDC_CONSTANT_MACROS",
1006        "-D__STDC_FORMAT_MACROS",
1007        "-Wno-implicit-fallthrough",
1008        "-Wno-newline-eof",
1009        "-Wno-unreachable-code-break",
1010        "-Wno-unreachable-code-return",
1011    ],
1012    sdk_version: "28",
1013    stl: "libc++_static",
1014    arch: {
1015        arm64: {
1016            cflags: [
1017                "-D__ARM_NEON__=1",
1018            ],
1019        },
1020    },
1021}
1022
1023cc_library_static {
1024    name: "third_party_spirv_tools_src_spvtools_val",
1025    srcs: [
1026        "third_party/spirv-tools/src/source/val/basic_block.cpp",
1027        "third_party/spirv-tools/src/source/val/construct.cpp",
1028        "third_party/spirv-tools/src/source/val/function.cpp",
1029        "third_party/spirv-tools/src/source/val/instruction.cpp",
1030        "third_party/spirv-tools/src/source/val/validate.cpp",
1031        "third_party/spirv-tools/src/source/val/validate_adjacency.cpp",
1032        "third_party/spirv-tools/src/source/val/validate_annotation.cpp",
1033        "third_party/spirv-tools/src/source/val/validate_arithmetics.cpp",
1034        "third_party/spirv-tools/src/source/val/validate_atomics.cpp",
1035        "third_party/spirv-tools/src/source/val/validate_barriers.cpp",
1036        "third_party/spirv-tools/src/source/val/validate_bitwise.cpp",
1037        "third_party/spirv-tools/src/source/val/validate_builtins.cpp",
1038        "third_party/spirv-tools/src/source/val/validate_capability.cpp",
1039        "third_party/spirv-tools/src/source/val/validate_cfg.cpp",
1040        "third_party/spirv-tools/src/source/val/validate_composites.cpp",
1041        "third_party/spirv-tools/src/source/val/validate_constants.cpp",
1042        "third_party/spirv-tools/src/source/val/validate_conversion.cpp",
1043        "third_party/spirv-tools/src/source/val/validate_debug.cpp",
1044        "third_party/spirv-tools/src/source/val/validate_decorations.cpp",
1045        "third_party/spirv-tools/src/source/val/validate_derivatives.cpp",
1046        "third_party/spirv-tools/src/source/val/validate_execution_limitations.cpp",
1047        "third_party/spirv-tools/src/source/val/validate_extensions.cpp",
1048        "third_party/spirv-tools/src/source/val/validate_function.cpp",
1049        "third_party/spirv-tools/src/source/val/validate_id.cpp",
1050        "third_party/spirv-tools/src/source/val/validate_image.cpp",
1051        "third_party/spirv-tools/src/source/val/validate_instruction.cpp",
1052        "third_party/spirv-tools/src/source/val/validate_interfaces.cpp",
1053        "third_party/spirv-tools/src/source/val/validate_layout.cpp",
1054        "third_party/spirv-tools/src/source/val/validate_literals.cpp",
1055        "third_party/spirv-tools/src/source/val/validate_logicals.cpp",
1056        "third_party/spirv-tools/src/source/val/validate_memory.cpp",
1057        "third_party/spirv-tools/src/source/val/validate_memory_semantics.cpp",
1058        "third_party/spirv-tools/src/source/val/validate_mesh_shading.cpp",
1059        "third_party/spirv-tools/src/source/val/validate_misc.cpp",
1060        "third_party/spirv-tools/src/source/val/validate_mode_setting.cpp",
1061        "third_party/spirv-tools/src/source/val/validate_non_uniform.cpp",
1062        "third_party/spirv-tools/src/source/val/validate_primitives.cpp",
1063        "third_party/spirv-tools/src/source/val/validate_ray_query.cpp",
1064        "third_party/spirv-tools/src/source/val/validate_ray_tracing.cpp",
1065        "third_party/spirv-tools/src/source/val/validate_ray_tracing_reorder.cpp",
1066        "third_party/spirv-tools/src/source/val/validate_scopes.cpp",
1067        "third_party/spirv-tools/src/source/val/validate_small_type_uses.cpp",
1068        "third_party/spirv-tools/src/source/val/validate_type.cpp",
1069        "third_party/spirv-tools/src/source/val/validation_state.cpp",
1070    ],
1071    static_libs: [
1072        "third_party_spirv_tools_src_spvtools",
1073    ],
1074    defaults: [
1075        "angle_common_auto_cflags",
1076        "angle_common_library_cflags",
1077        "third_party_spirv_tools_src_spvtools_headers",
1078    ],
1079    generated_headers: [
1080        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
1081        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
1082        "third_party_spirv_tools_src_spvtools_generators_inc",
1083        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
1084        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
1085        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
1086        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
1087        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
1088        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
1089        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
1090        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
1091        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
1092        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
1093        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
1094        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
1095        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1096        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1097    ],
1098    local_include_dirs: [
1099        "",
1100        "third_party/spirv-headers/src/include/",
1101        "third_party/spirv-tools/src/",
1102        "third_party/spirv-tools/src/include/",
1103    ],
1104    cflags: [
1105        "-D_FORTIFY_SOURCE=2",
1106        "-D__STDC_CONSTANT_MACROS",
1107        "-D__STDC_FORMAT_MACROS",
1108        "-Wno-implicit-fallthrough",
1109        "-Wno-newline-eof",
1110        "-Wno-unreachable-code-break",
1111        "-Wno-unreachable-code-return",
1112    ],
1113    sdk_version: "28",
1114    stl: "libc++_static",
1115    arch: {
1116        arm64: {
1117            cflags: [
1118                "-D__ARM_NEON__=1",
1119            ],
1120        },
1121    },
1122}
1123
1124cc_defaults {
1125    name: "src_common_spirv_angle_spirv_builder",
1126    srcs: [
1127        "src/common/spirv/spirv_instruction_builder_autogen.cpp",
1128    ],
1129    static_libs: [
1130        "angle_common",
1131    ],
1132    shared_libs: [
1133        "liblog",
1134        "libnativewindow",
1135    ],
1136    defaults: [
1137        "angle_common_auto_cflags",
1138        "angle_common_library_cflags",
1139        "src_common_spirv_angle_spirv_base",
1140        "src_common_spirv_angle_spirv_headers",
1141        "third_party_spirv_headers_src_spv_headers",
1142    ],
1143    local_include_dirs: [
1144        "include/",
1145        "src/",
1146        "src/common/base/",
1147        "src/common/third_party/xxhash/",
1148        "third_party/abseil-cpp/",
1149        "third_party/spirv-headers/src/include/",
1150    ],
1151    cflags: [
1152        "-DABSL_ALLOCATOR_NOTHROW=1",
1153        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
1154        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
1155        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
1156        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
1157        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
1158        "-DANGLE_USE_ABSEIL",
1159        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
1160        "-D_FORTIFY_SOURCE=2",
1161        "-D__STDC_CONSTANT_MACROS",
1162        "-D__STDC_FORMAT_MACROS",
1163        "-Wno-gcc-compat",
1164        "-Wno-unreachable-code-break",
1165    ],
1166    sdk_version: "28",
1167    stl: "libc++_static",
1168    arch: {
1169        arm64: {
1170            cflags: [
1171                "-D__ARM_NEON__=1",
1172            ],
1173        },
1174    },
1175}
1176
1177cc_defaults {
1178    name: "third_party_spirv_tools_src_spvtools_headers",
1179    defaults: [
1180        "angle_common_auto_cflags",
1181        "angle_common_library_cflags",
1182    ],
1183    local_include_dirs: [
1184        "",
1185        "third_party/spirv-tools/src/include/",
1186    ],
1187    cflags: [
1188        "-D_FORTIFY_SOURCE=2",
1189        "-D__STDC_CONSTANT_MACROS",
1190        "-D__STDC_FORMAT_MACROS",
1191    ],
1192    sdk_version: "28",
1193    stl: "libc++_static",
1194    arch: {
1195        arm64: {
1196            cflags: [
1197                "-D__ARM_NEON__=1",
1198            ],
1199        },
1200    },
1201}
1202
1203cc_defaults {
1204    name: "third_party_spirv_headers_src_spv_headers",
1205    defaults: [
1206        "angle_common_auto_cflags",
1207        "angle_common_library_cflags",
1208    ],
1209    local_include_dirs: [
1210        "",
1211        "third_party/spirv-headers/src/include/",
1212    ],
1213    cflags: [
1214        "-D_FORTIFY_SOURCE=2",
1215        "-D__STDC_CONSTANT_MACROS",
1216        "-D__STDC_FORMAT_MACROS",
1217    ],
1218    sdk_version: "28",
1219    stl: "libc++_static",
1220    arch: {
1221        arm64: {
1222            cflags: [
1223                "-D__ARM_NEON__=1",
1224            ],
1225        },
1226    },
1227}
1228
1229cc_defaults {
1230    name: "src_common_spirv_angle_spirv_headers",
1231    static_libs: [
1232        "angle_common",
1233    ],
1234    shared_libs: [
1235        "liblog",
1236        "libnativewindow",
1237    ],
1238    defaults: [
1239        "angle_common_auto_cflags",
1240        "angle_common_library_cflags",
1241    ],
1242    local_include_dirs: [
1243        "include/",
1244        "src/",
1245        "src/common/base/",
1246        "src/common/third_party/xxhash/",
1247        "third_party/abseil-cpp/",
1248    ],
1249    cflags: [
1250        "-DABSL_ALLOCATOR_NOTHROW=1",
1251        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
1252        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
1253        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
1254        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
1255        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
1256        "-DANGLE_USE_ABSEIL",
1257        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
1258        "-D_FORTIFY_SOURCE=2",
1259        "-D__STDC_CONSTANT_MACROS",
1260        "-D__STDC_FORMAT_MACROS",
1261        "-Wno-gcc-compat",
1262        "-Wno-unreachable-code-break",
1263    ],
1264    sdk_version: "28",
1265    stl: "libc++_static",
1266    arch: {
1267        arm64: {
1268            cflags: [
1269                "-D__ARM_NEON__=1",
1270            ],
1271        },
1272    },
1273}
1274
1275cc_defaults {
1276    name: "src_common_spirv_angle_spirv_base",
1277    srcs: [
1278        "src/common/spirv/angle_spirv_utils.cpp",
1279    ],
1280    static_libs: [
1281        "angle_common",
1282    ],
1283    shared_libs: [
1284        "liblog",
1285        "libnativewindow",
1286    ],
1287    defaults: [
1288        "angle_common_auto_cflags",
1289        "angle_common_library_cflags",
1290        "src_common_spirv_angle_spirv_headers",
1291        "third_party_spirv_headers_src_spv_headers",
1292        "third_party_spirv_tools_src_spvtools_headers",
1293    ],
1294    local_include_dirs: [
1295        "include/",
1296        "src/",
1297        "src/common/base/",
1298        "src/common/third_party/xxhash/",
1299        "third_party/abseil-cpp/",
1300        "third_party/spirv-headers/src/include/",
1301        "third_party/spirv-tools/src/include/",
1302    ],
1303    cflags: [
1304        "-DABSL_ALLOCATOR_NOTHROW=1",
1305        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
1306        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
1307        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
1308        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
1309        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
1310        "-DANGLE_USE_ABSEIL",
1311        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
1312        "-D_FORTIFY_SOURCE=2",
1313        "-D__STDC_CONSTANT_MACROS",
1314        "-D__STDC_FORMAT_MACROS",
1315        "-Wno-gcc-compat",
1316        "-Wno-unreachable-code-break",
1317    ],
1318    sdk_version: "28",
1319    stl: "libc++_static",
1320    arch: {
1321        arm64: {
1322            cflags: [
1323                "-D__ARM_NEON__=1",
1324            ],
1325        },
1326    },
1327}
1328
1329cc_library_static {
1330    name: "angle_preprocessor",
1331    srcs: [
1332        "src/compiler/preprocessor/DiagnosticsBase.cpp",
1333        "src/compiler/preprocessor/DirectiveHandlerBase.cpp",
1334        "src/compiler/preprocessor/DirectiveParser.cpp",
1335        "src/compiler/preprocessor/Input.cpp",
1336        "src/compiler/preprocessor/Lexer.cpp",
1337        "src/compiler/preprocessor/Macro.cpp",
1338        "src/compiler/preprocessor/MacroExpander.cpp",
1339        "src/compiler/preprocessor/Preprocessor.cpp",
1340        "src/compiler/preprocessor/Token.cpp",
1341        "src/compiler/preprocessor/preprocessor_lex_autogen.cpp",
1342        "src/compiler/preprocessor/preprocessor_tab_autogen.cpp",
1343    ],
1344    static_libs: [
1345        "angle_common",
1346    ],
1347    shared_libs: [
1348        "liblog",
1349        "libnativewindow",
1350    ],
1351    defaults: [
1352        "angle_common_auto_cflags",
1353        "angle_common_library_cflags",
1354        "angle_translator_headers",
1355    ],
1356    local_include_dirs: [
1357        "include/",
1358        "src/",
1359        "src/common/base/",
1360        "src/common/third_party/xxhash/",
1361        "third_party/abseil-cpp/",
1362    ],
1363    cflags: [
1364        "-DABSL_ALLOCATOR_NOTHROW=1",
1365        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
1366        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
1367        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
1368        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
1369        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
1370        "-DANGLE_USE_ABSEIL",
1371        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
1372        "-D_FORTIFY_SOURCE=2",
1373        "-D__STDC_CONSTANT_MACROS",
1374        "-D__STDC_FORMAT_MACROS",
1375        "-Wno-gcc-compat",
1376        "-Wno-unreachable-code-break",
1377    ],
1378    sdk_version: "28",
1379    stl: "libc++_static",
1380    arch: {
1381        arm64: {
1382            cflags: [
1383                "-D__ARM_NEON__=1",
1384            ],
1385        },
1386    },
1387}
1388
1389cc_library_static {
1390    name: "angle_translator",
1391    srcs: [
1392        "src/compiler/translator/BaseTypes.cpp",
1393        "src/compiler/translator/BuiltInFunctionEmulator.cpp",
1394        "src/compiler/translator/CallDAG.cpp",
1395        "src/compiler/translator/CodeGen.cpp",
1396        "src/compiler/translator/CollectVariables.cpp",
1397        "src/compiler/translator/Compiler.cpp",
1398        "src/compiler/translator/ConstantUnion.cpp",
1399        "src/compiler/translator/Declarator.cpp",
1400        "src/compiler/translator/Diagnostics.cpp",
1401        "src/compiler/translator/DirectiveHandler.cpp",
1402        "src/compiler/translator/ExtensionBehavior.cpp",
1403        "src/compiler/translator/FlagStd140Structs.cpp",
1404        "src/compiler/translator/FunctionLookup.cpp",
1405        "src/compiler/translator/HashNames.cpp",
1406        "src/compiler/translator/ImmutableStringBuilder.cpp",
1407        "src/compiler/translator/ImmutableString_ESSL_autogen.cpp",
1408        "src/compiler/translator/InfoSink.cpp",
1409        "src/compiler/translator/Initialize.cpp",
1410        "src/compiler/translator/InitializeDll.cpp",
1411        "src/compiler/translator/IntermNode.cpp",
1412        "src/compiler/translator/IntermRebuild.cpp",
1413        "src/compiler/translator/IsASTDepthBelowLimit.cpp",
1414        "src/compiler/translator/Operator.cpp",
1415        "src/compiler/translator/OutputTree.cpp",
1416        "src/compiler/translator/ParseContext.cpp",
1417        "src/compiler/translator/PoolAlloc.cpp",
1418        "src/compiler/translator/QualifierTypes.cpp",
1419        "src/compiler/translator/ShaderLang.cpp",
1420        "src/compiler/translator/ShaderVars.cpp",
1421        "src/compiler/translator/Symbol.cpp",
1422        "src/compiler/translator/SymbolTable.cpp",
1423        "src/compiler/translator/SymbolTable_ESSL_autogen.cpp",
1424        "src/compiler/translator/SymbolUniqueId.cpp",
1425        "src/compiler/translator/Types.cpp",
1426        "src/compiler/translator/ValidateAST.cpp",
1427        "src/compiler/translator/ValidateBarrierFunctionCall.cpp",
1428        "src/compiler/translator/ValidateClipCullDistance.cpp",
1429        "src/compiler/translator/ValidateGlobalInitializer.cpp",
1430        "src/compiler/translator/ValidateLimitations.cpp",
1431        "src/compiler/translator/ValidateMaxParameters.cpp",
1432        "src/compiler/translator/ValidateOutputs.cpp",
1433        "src/compiler/translator/ValidateSwitch.cpp",
1434        "src/compiler/translator/ValidateTypeSizeLimitations.cpp",
1435        "src/compiler/translator/ValidateVaryingLocations.cpp",
1436        "src/compiler/translator/VariablePacker.cpp",
1437        "src/compiler/translator/blocklayout.cpp",
1438        "src/compiler/translator/glsl/OutputGLSL.cpp",
1439        "src/compiler/translator/glsl/OutputGLSLBase.cpp",
1440        "src/compiler/translator/glslang_lex_autogen.cpp",
1441        "src/compiler/translator/glslang_tab_autogen.cpp",
1442        "src/compiler/translator/spirv/BuildSPIRV.cpp",
1443        "src/compiler/translator/spirv/BuiltinsWorkaround.cpp",
1444        "src/compiler/translator/spirv/OutputSPIRV.cpp",
1445        "src/compiler/translator/spirv/TranslatorSPIRV.cpp",
1446        "src/compiler/translator/tree_ops/ClampFragDepth.cpp",
1447        "src/compiler/translator/tree_ops/ClampIndirectIndices.cpp",
1448        "src/compiler/translator/tree_ops/ClampPointSize.cpp",
1449        "src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp",
1450        "src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp",
1451        "src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp",
1452        "src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp",
1453        "src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp",
1454        "src/compiler/translator/tree_ops/FoldExpressions.cpp",
1455        "src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp",
1456        "src/compiler/translator/tree_ops/InitializeVariables.cpp",
1457        "src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp",
1458        "src/compiler/translator/tree_ops/PreTransformTextureCubeGradDerivatives.cpp",
1459        "src/compiler/translator/tree_ops/PruneEmptyCases.cpp",
1460        "src/compiler/translator/tree_ops/PruneNoOps.cpp",
1461        "src/compiler/translator/tree_ops/RecordConstantPrecision.cpp",
1462        "src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp",
1463        "src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp",
1464        "src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp",
1465        "src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp",
1466        "src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp",
1467        "src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp",
1468        "src/compiler/translator/tree_ops/RescopeGlobalVariables.cpp",
1469        "src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp",
1470        "src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp",
1471        "src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp",
1472        "src/compiler/translator/tree_ops/RewriteDfdy.cpp",
1473        "src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp",
1474        "src/compiler/translator/tree_ops/RewriteStructSamplers.cpp",
1475        "src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp",
1476        "src/compiler/translator/tree_ops/SeparateDeclarations.cpp",
1477        "src/compiler/translator/tree_ops/SeparateStructFromFunctionDeclarations.cpp",
1478        "src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp",
1479        "src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp",
1480        "src/compiler/translator/tree_ops/SplitSequenceOperator.cpp",
1481        "src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.cpp",
1482        "src/compiler/translator/tree_ops/spirv/EmulateDithering.cpp",
1483        "src/compiler/translator/tree_ops/spirv/EmulateFragColorData.cpp",
1484        "src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.cpp",
1485        "src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.cpp",
1486        "src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.cpp",
1487        "src/compiler/translator/tree_ops/spirv/ReswizzleYUVOps.cpp",
1488        "src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.cpp",
1489        "src/compiler/translator/tree_ops/spirv/RewriteR32fImages.cpp",
1490        "src/compiler/translator/tree_util/DriverUniform.cpp",
1491        "src/compiler/translator/tree_util/FindFunction.cpp",
1492        "src/compiler/translator/tree_util/FindMain.cpp",
1493        "src/compiler/translator/tree_util/FindPreciseNodes.cpp",
1494        "src/compiler/translator/tree_util/FindSymbolNode.cpp",
1495        "src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp",
1496        "src/compiler/translator/tree_util/IntermNode_util.cpp",
1497        "src/compiler/translator/tree_util/IntermTraverse.cpp",
1498        "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp",
1499        "src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp",
1500        "src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp",
1501        "src/compiler/translator/tree_util/ReplaceVariable.cpp",
1502        "src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp",
1503        "src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp",
1504        "src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp",
1505        "src/compiler/translator/tree_util/SpecializationConstant.cpp",
1506        "src/compiler/translator/util.cpp",
1507    ],
1508    static_libs: [
1509        "angle_common",
1510        "angle_common_shader_state",
1511        "angle_preprocessor",
1512        "third_party_spirv_tools_src_spvtools",
1513        "third_party_spirv_tools_src_spvtools_val",
1514    ],
1515    shared_libs: [
1516        "liblog",
1517        "libnativewindow",
1518    ],
1519    defaults: [
1520        "angle_common_auto_cflags",
1521        "angle_common_library_cflags",
1522        "angle_includes",
1523        "angle_translator_headers",
1524        "angle_version_info",
1525        "src_common_spirv_angle_spirv_base",
1526        "src_common_spirv_angle_spirv_builder",
1527        "src_common_spirv_angle_spirv_headers",
1528        "third_party_spirv_headers_src_spv_headers",
1529        "third_party_spirv_tools_src_spvtools_headers",
1530    ],
1531    generated_headers: [
1532        "angle_commit_id",
1533        "angle_program_version_id",
1534        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
1535        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
1536        "third_party_spirv_tools_src_spvtools_generators_inc",
1537        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
1538        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
1539        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
1540        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
1541        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
1542        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
1543        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
1544        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
1545        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
1546        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
1547        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
1548        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
1549        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1550        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1551    ],
1552    local_include_dirs: [
1553        "include/",
1554        "src/",
1555        "src/common/base/",
1556        "src/common/third_party/xxhash/",
1557        "third_party/abseil-cpp/",
1558        "third_party/spirv-headers/src/include/",
1559        "third_party/spirv-tools/src/include/",
1560    ],
1561    cflags: [
1562        "-DABSL_ALLOCATOR_NOTHROW=1",
1563        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
1564        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
1565        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
1566        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
1567        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
1568        "-DANGLE_ENABLE_VULKAN",
1569        "-DANGLE_USE_ABSEIL",
1570        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
1571        "-D_FORTIFY_SOURCE=2",
1572        "-D__STDC_CONSTANT_MACROS",
1573        "-D__STDC_FORMAT_MACROS",
1574        "-Wno-gcc-compat",
1575        "-Wno-unreachable-code-break",
1576    ],
1577    sdk_version: "28",
1578    stl: "libc++_static",
1579    arch: {
1580        arm64: {
1581            cflags: [
1582                "-D__ARM_NEON__=1",
1583            ],
1584        },
1585    },
1586}
1587
1588cc_genrule {
1589    name: "angle_program_version_id",
1590    srcs: [
1591        "include/EGL/egl.h",
1592        "include/EGL/eglext.h",
1593        "include/EGL/eglext_angle.h",
1594        "include/EGL/eglplatform.h",
1595        "include/GLES/gl.h",
1596        "include/GLES/glext.h",
1597        "include/GLES/glplatform.h",
1598        "include/GLES2/gl2.h",
1599        "include/GLES2/gl2ext.h",
1600        "include/GLES2/gl2ext_angle.h",
1601        "include/GLES2/gl2platform.h",
1602        "include/GLES3/gl3.h",
1603        "include/GLES3/gl31.h",
1604        "include/GLES3/gl32.h",
1605        "include/GLES3/gl3platform.h",
1606        "include/GLSLANG/ShaderLang.h",
1607        "include/GLSLANG/ShaderVars.h",
1608        "include/GLX/glxext.h",
1609        "include/KHR/khrplatform.h",
1610        "include/WGL/wgl.h",
1611        "include/angle_gl.h",
1612        "include/export.h",
1613        "include/platform/Feature.h",
1614        "include/platform/PlatformMethods.h",
1615        "include/platform/autogen/FeaturesD3D_autogen.h",
1616        "include/platform/autogen/FeaturesGL_autogen.h",
1617        "include/platform/autogen/FeaturesMtl_autogen.h",
1618        "include/platform/autogen/FeaturesVk_autogen.h",
1619        "include/platform/autogen/FrontendFeatures_autogen.h",
1620        "include/vulkan/vulkan_fuchsia_ext.h",
1621        "src/common/BinaryStream.h",
1622        "src/common/CircularBuffer.h",
1623        "src/common/Color.h",
1624        "src/common/Color.inc",
1625        "src/common/CompiledShaderState.h",
1626        "src/common/FastVector.h",
1627        "src/common/FixedQueue.h",
1628        "src/common/FixedVector.h",
1629        "src/common/Float16ToFloat32.cpp",
1630        "src/common/MemoryBuffer.cpp",
1631        "src/common/MemoryBuffer.h",
1632        "src/common/Optional.h",
1633        "src/common/PackedEGLEnums_autogen.cpp",
1634        "src/common/PackedEGLEnums_autogen.h",
1635        "src/common/PackedEnums.cpp",
1636        "src/common/PackedEnums.h",
1637        "src/common/PackedGLEnums_autogen.cpp",
1638        "src/common/PackedGLEnums_autogen.h",
1639        "src/common/PoolAlloc.cpp",
1640        "src/common/PoolAlloc.h",
1641        "src/common/RingBufferAllocator.cpp",
1642        "src/common/RingBufferAllocator.h",
1643        "src/common/SimpleMutex.cpp",
1644        "src/common/SimpleMutex.h",
1645        "src/common/SynchronizedValue.h",
1646        "src/common/WorkerThread.cpp",
1647        "src/common/WorkerThread.h",
1648        "src/common/aligned_memory.cpp",
1649        "src/common/aligned_memory.h",
1650        "src/common/android_util.cpp",
1651        "src/common/android_util.h",
1652        "src/common/angleutils.cpp",
1653        "src/common/angleutils.h",
1654        "src/common/apple_platform_utils.h",
1655        "src/common/backtrace_utils.h",
1656        "src/common/backtrace_utils_noop.cpp",
1657        "src/common/base/anglebase/base_export.h",
1658        "src/common/base/anglebase/containers/mru_cache.h",
1659        "src/common/base/anglebase/logging.h",
1660        "src/common/base/anglebase/macros.h",
1661        "src/common/base/anglebase/no_destructor.h",
1662        "src/common/base/anglebase/numerics/checked_math.h",
1663        "src/common/base/anglebase/numerics/checked_math_impl.h",
1664        "src/common/base/anglebase/numerics/clamped_math.h",
1665        "src/common/base/anglebase/numerics/clamped_math_impl.h",
1666        "src/common/base/anglebase/numerics/math_constants.h",
1667        "src/common/base/anglebase/numerics/ranges.h",
1668        "src/common/base/anglebase/numerics/safe_conversions.h",
1669        "src/common/base/anglebase/numerics/safe_conversions_arm_impl.h",
1670        "src/common/base/anglebase/numerics/safe_conversions_impl.h",
1671        "src/common/base/anglebase/numerics/safe_math.h",
1672        "src/common/base/anglebase/numerics/safe_math_arm_impl.h",
1673        "src/common/base/anglebase/numerics/safe_math_clang_gcc_impl.h",
1674        "src/common/base/anglebase/numerics/safe_math_shared_impl.h",
1675        "src/common/base/anglebase/sha1.cc",
1676        "src/common/base/anglebase/sha1.h",
1677        "src/common/base/anglebase/sys_byteorder.h",
1678        "src/common/base/anglebase/trace_event/trace_event.h",
1679        "src/common/bitset_utils.h",
1680        "src/common/debug.cpp",
1681        "src/common/debug.h",
1682        "src/common/entry_points_enum_autogen.cpp",
1683        "src/common/entry_points_enum_autogen.h",
1684        "src/common/event_tracer.cpp",
1685        "src/common/event_tracer.h",
1686        "src/common/frame_capture_utils.h",
1687        "src/common/frame_capture_utils_autogen.h",
1688        "src/common/gl_enum_utils.h",
1689        "src/common/gl_enum_utils_autogen.h",
1690        "src/common/hash_utils.h",
1691        "src/common/log_utils.h",
1692        "src/common/mathutil.cpp",
1693        "src/common/mathutil.h",
1694        "src/common/matrix_utils.cpp",
1695        "src/common/matrix_utils.h",
1696        "src/common/platform.h",
1697        "src/common/platform_helpers.cpp",
1698        "src/common/platform_helpers.h",
1699        "src/common/string_utils.cpp",
1700        "src/common/string_utils.h",
1701        "src/common/system_utils.cpp",
1702        "src/common/system_utils.h",
1703        "src/common/system_utils_linux.cpp",
1704        "src/common/system_utils_posix.cpp",
1705        "src/common/tls.cpp",
1706        "src/common/tls.h",
1707        "src/common/uniform_type_info_autogen.cpp",
1708        "src/common/uniform_type_info_autogen.h",
1709        "src/common/utilities.cpp",
1710        "src/common/utilities.h",
1711        "src/common/vector_utils.h",
1712        "src/compiler/preprocessor/DiagnosticsBase.cpp",
1713        "src/compiler/preprocessor/DiagnosticsBase.h",
1714        "src/compiler/preprocessor/DirectiveHandlerBase.cpp",
1715        "src/compiler/preprocessor/DirectiveHandlerBase.h",
1716        "src/compiler/preprocessor/DirectiveParser.cpp",
1717        "src/compiler/preprocessor/DirectiveParser.h",
1718        "src/compiler/preprocessor/ExpressionParser.h",
1719        "src/compiler/preprocessor/Input.cpp",
1720        "src/compiler/preprocessor/Input.h",
1721        "src/compiler/preprocessor/Lexer.cpp",
1722        "src/compiler/preprocessor/Lexer.h",
1723        "src/compiler/preprocessor/Macro.cpp",
1724        "src/compiler/preprocessor/Macro.h",
1725        "src/compiler/preprocessor/MacroExpander.cpp",
1726        "src/compiler/preprocessor/MacroExpander.h",
1727        "src/compiler/preprocessor/Preprocessor.cpp",
1728        "src/compiler/preprocessor/Preprocessor.h",
1729        "src/compiler/preprocessor/SourceLocation.h",
1730        "src/compiler/preprocessor/Token.cpp",
1731        "src/compiler/preprocessor/Token.h",
1732        "src/compiler/preprocessor/Tokenizer.h",
1733        "src/compiler/preprocessor/numeric_lex.h",
1734        "src/compiler/preprocessor/preprocessor_lex_autogen.cpp",
1735        "src/compiler/preprocessor/preprocessor_tab_autogen.cpp",
1736        "src/compiler/translator/AsNode.h",
1737        "src/compiler/translator/BaseTypes.cpp",
1738        "src/compiler/translator/BaseTypes.h",
1739        "src/compiler/translator/BuiltInFunctionEmulator.cpp",
1740        "src/compiler/translator/BuiltInFunctionEmulator.h",
1741        "src/compiler/translator/CallDAG.cpp",
1742        "src/compiler/translator/CallDAG.h",
1743        "src/compiler/translator/CodeGen.cpp",
1744        "src/compiler/translator/CollectVariables.cpp",
1745        "src/compiler/translator/CollectVariables.h",
1746        "src/compiler/translator/Common.h",
1747        "src/compiler/translator/Compiler.cpp",
1748        "src/compiler/translator/Compiler.h",
1749        "src/compiler/translator/ConstantUnion.cpp",
1750        "src/compiler/translator/ConstantUnion.h",
1751        "src/compiler/translator/Declarator.cpp",
1752        "src/compiler/translator/Declarator.h",
1753        "src/compiler/translator/Diagnostics.cpp",
1754        "src/compiler/translator/Diagnostics.h",
1755        "src/compiler/translator/DirectiveHandler.cpp",
1756        "src/compiler/translator/DirectiveHandler.h",
1757        "src/compiler/translator/ExtensionBehavior.cpp",
1758        "src/compiler/translator/ExtensionBehavior.h",
1759        "src/compiler/translator/FlagStd140Structs.cpp",
1760        "src/compiler/translator/FlagStd140Structs.h",
1761        "src/compiler/translator/FunctionLookup.cpp",
1762        "src/compiler/translator/FunctionLookup.h",
1763        "src/compiler/translator/HashNames.cpp",
1764        "src/compiler/translator/HashNames.h",
1765        "src/compiler/translator/ImmutableString.h",
1766        "src/compiler/translator/ImmutableStringBuilder.cpp",
1767        "src/compiler/translator/ImmutableStringBuilder.h",
1768        "src/compiler/translator/ImmutableString_ESSL_autogen.cpp",
1769        "src/compiler/translator/ImmutableString_autogen.cpp",
1770        "src/compiler/translator/InfoSink.cpp",
1771        "src/compiler/translator/InfoSink.h",
1772        "src/compiler/translator/Initialize.cpp",
1773        "src/compiler/translator/Initialize.h",
1774        "src/compiler/translator/InitializeDll.cpp",
1775        "src/compiler/translator/InitializeDll.h",
1776        "src/compiler/translator/InitializeGlobals.h",
1777        "src/compiler/translator/IntermNode.cpp",
1778        "src/compiler/translator/IntermNode.h",
1779        "src/compiler/translator/IntermRebuild.cpp",
1780        "src/compiler/translator/IntermRebuild.h",
1781        "src/compiler/translator/IsASTDepthBelowLimit.cpp",
1782        "src/compiler/translator/IsASTDepthBelowLimit.h",
1783        "src/compiler/translator/NodeType.h",
1784        "src/compiler/translator/Operator.cpp",
1785        "src/compiler/translator/Operator_autogen.h",
1786        "src/compiler/translator/OutputTree.cpp",
1787        "src/compiler/translator/OutputTree.h",
1788        "src/compiler/translator/ParseContext.cpp",
1789        "src/compiler/translator/ParseContext.h",
1790        "src/compiler/translator/PoolAlloc.cpp",
1791        "src/compiler/translator/PoolAlloc.h",
1792        "src/compiler/translator/Pragma.h",
1793        "src/compiler/translator/QualifierTypes.cpp",
1794        "src/compiler/translator/QualifierTypes.h",
1795        "src/compiler/translator/Severity.h",
1796        "src/compiler/translator/ShaderLang.cpp",
1797        "src/compiler/translator/ShaderVars.cpp",
1798        "src/compiler/translator/StaticType.h",
1799        "src/compiler/translator/Symbol.cpp",
1800        "src/compiler/translator/Symbol.h",
1801        "src/compiler/translator/SymbolTable.cpp",
1802        "src/compiler/translator/SymbolTable.h",
1803        "src/compiler/translator/SymbolTable_ESSL_autogen.cpp",
1804        "src/compiler/translator/SymbolTable_autogen.cpp",
1805        "src/compiler/translator/SymbolTable_autogen.h",
1806        "src/compiler/translator/SymbolUniqueId.cpp",
1807        "src/compiler/translator/SymbolUniqueId.h",
1808        "src/compiler/translator/Types.cpp",
1809        "src/compiler/translator/Types.h",
1810        "src/compiler/translator/ValidateAST.cpp",
1811        "src/compiler/translator/ValidateAST.h",
1812        "src/compiler/translator/ValidateBarrierFunctionCall.cpp",
1813        "src/compiler/translator/ValidateBarrierFunctionCall.h",
1814        "src/compiler/translator/ValidateClipCullDistance.cpp",
1815        "src/compiler/translator/ValidateClipCullDistance.h",
1816        "src/compiler/translator/ValidateGlobalInitializer.cpp",
1817        "src/compiler/translator/ValidateGlobalInitializer.h",
1818        "src/compiler/translator/ValidateLimitations.cpp",
1819        "src/compiler/translator/ValidateLimitations.h",
1820        "src/compiler/translator/ValidateMaxParameters.cpp",
1821        "src/compiler/translator/ValidateMaxParameters.h",
1822        "src/compiler/translator/ValidateOutputs.cpp",
1823        "src/compiler/translator/ValidateOutputs.h",
1824        "src/compiler/translator/ValidateSwitch.cpp",
1825        "src/compiler/translator/ValidateSwitch.h",
1826        "src/compiler/translator/ValidateTypeSizeLimitations.cpp",
1827        "src/compiler/translator/ValidateTypeSizeLimitations.h",
1828        "src/compiler/translator/ValidateVaryingLocations.cpp",
1829        "src/compiler/translator/ValidateVaryingLocations.h",
1830        "src/compiler/translator/VariablePacker.cpp",
1831        "src/compiler/translator/VariablePacker.h",
1832        "src/compiler/translator/blocklayout.cpp",
1833        "src/compiler/translator/blocklayout.h",
1834        "src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp",
1835        "src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.h",
1836        "src/compiler/translator/glsl/ExtensionGLSL.cpp",
1837        "src/compiler/translator/glsl/ExtensionGLSL.h",
1838        "src/compiler/translator/glsl/OutputESSL.cpp",
1839        "src/compiler/translator/glsl/OutputESSL.h",
1840        "src/compiler/translator/glsl/OutputGLSL.cpp",
1841        "src/compiler/translator/glsl/OutputGLSL.h",
1842        "src/compiler/translator/glsl/OutputGLSLBase.cpp",
1843        "src/compiler/translator/glsl/OutputGLSLBase.h",
1844        "src/compiler/translator/glsl/TranslatorESSL.cpp",
1845        "src/compiler/translator/glsl/TranslatorESSL.h",
1846        "src/compiler/translator/glsl/TranslatorGLSL.cpp",
1847        "src/compiler/translator/glsl/TranslatorGLSL.h",
1848        "src/compiler/translator/glsl/VersionGLSL.cpp",
1849        "src/compiler/translator/glsl/VersionGLSL.h",
1850        "src/compiler/translator/glslang.h",
1851        "src/compiler/translator/glslang_lex_autogen.cpp",
1852        "src/compiler/translator/glslang_tab_autogen.cpp",
1853        "src/compiler/translator/glslang_tab_autogen.h",
1854        "src/compiler/translator/hlsl/ASTMetadataHLSL.cpp",
1855        "src/compiler/translator/hlsl/ASTMetadataHLSL.h",
1856        "src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.cpp",
1857        "src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.h",
1858        "src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.cpp",
1859        "src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.h",
1860        "src/compiler/translator/hlsl/ImageFunctionHLSL.cpp",
1861        "src/compiler/translator/hlsl/ImageFunctionHLSL.h",
1862        "src/compiler/translator/hlsl/OutputHLSL.cpp",
1863        "src/compiler/translator/hlsl/OutputHLSL.h",
1864        "src/compiler/translator/hlsl/ResourcesHLSL.cpp",
1865        "src/compiler/translator/hlsl/ResourcesHLSL.h",
1866        "src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.cpp",
1867        "src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.h",
1868        "src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.cpp",
1869        "src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.h",
1870        "src/compiler/translator/hlsl/StructureHLSL.cpp",
1871        "src/compiler/translator/hlsl/StructureHLSL.h",
1872        "src/compiler/translator/hlsl/TextureFunctionHLSL.cpp",
1873        "src/compiler/translator/hlsl/TextureFunctionHLSL.h",
1874        "src/compiler/translator/hlsl/TranslatorHLSL.cpp",
1875        "src/compiler/translator/hlsl/TranslatorHLSL.h",
1876        "src/compiler/translator/hlsl/UtilsHLSL.cpp",
1877        "src/compiler/translator/hlsl/UtilsHLSL.h",
1878        "src/compiler/translator/hlsl/blocklayoutHLSL.cpp",
1879        "src/compiler/translator/hlsl/blocklayoutHLSL.h",
1880        "src/compiler/translator/hlsl/emulated_builtin_functions_hlsl_autogen.cpp",
1881        "src/compiler/translator/length_limits.h",
1882        "src/compiler/translator/msl/AstHelpers.cpp",
1883        "src/compiler/translator/msl/AstHelpers.h",
1884        "src/compiler/translator/msl/ConstantNames.cpp",
1885        "src/compiler/translator/msl/DebugSink.h",
1886        "src/compiler/translator/msl/DiscoverDependentFunctions.cpp",
1887        "src/compiler/translator/msl/DiscoverDependentFunctions.h",
1888        "src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.cpp",
1889        "src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.h",
1890        "src/compiler/translator/msl/DriverUniformMetal.cpp",
1891        "src/compiler/translator/msl/DriverUniformMetal.h",
1892        "src/compiler/translator/msl/EmitMetal.cpp",
1893        "src/compiler/translator/msl/EmitMetal.h",
1894        "src/compiler/translator/msl/IdGen.cpp",
1895        "src/compiler/translator/msl/IdGen.h",
1896        "src/compiler/translator/msl/Layout.cpp",
1897        "src/compiler/translator/msl/Layout.h",
1898        "src/compiler/translator/msl/MapFunctionsToDefinitions.cpp",
1899        "src/compiler/translator/msl/MapFunctionsToDefinitions.h",
1900        "src/compiler/translator/msl/MapSymbols.cpp",
1901        "src/compiler/translator/msl/MapSymbols.h",
1902        "src/compiler/translator/msl/ModifyStruct.cpp",
1903        "src/compiler/translator/msl/ModifyStruct.h",
1904        "src/compiler/translator/msl/Name.cpp",
1905        "src/compiler/translator/msl/Name.h",
1906        "src/compiler/translator/msl/Pipeline.cpp",
1907        "src/compiler/translator/msl/Pipeline.h",
1908        "src/compiler/translator/msl/ProgramPrelude.cpp",
1909        "src/compiler/translator/msl/ProgramPrelude.h",
1910        "src/compiler/translator/msl/Reference.h",
1911        "src/compiler/translator/msl/RewritePipelines.cpp",
1912        "src/compiler/translator/msl/RewritePipelines.h",
1913        "src/compiler/translator/msl/SkippingTraverser.h",
1914        "src/compiler/translator/msl/SymbolEnv.cpp",
1915        "src/compiler/translator/msl/SymbolEnv.h",
1916        "src/compiler/translator/msl/ToposortStructs.cpp",
1917        "src/compiler/translator/msl/ToposortStructs.h",
1918        "src/compiler/translator/msl/TranslatorMSL.cpp",
1919        "src/compiler/translator/msl/TranslatorMSL.h",
1920        "src/compiler/translator/msl/UtilsMSL.cpp",
1921        "src/compiler/translator/msl/UtilsMSL.h",
1922        "src/compiler/translator/spirv/BuildSPIRV.cpp",
1923        "src/compiler/translator/spirv/BuildSPIRV.h",
1924        "src/compiler/translator/spirv/BuiltinsWorkaround.cpp",
1925        "src/compiler/translator/spirv/BuiltinsWorkaround.h",
1926        "src/compiler/translator/spirv/OutputSPIRV.cpp",
1927        "src/compiler/translator/spirv/OutputSPIRV.h",
1928        "src/compiler/translator/spirv/TranslatorSPIRV.cpp",
1929        "src/compiler/translator/spirv/TranslatorSPIRV.h",
1930        "src/compiler/translator/tree_ops/ClampFragDepth.cpp",
1931        "src/compiler/translator/tree_ops/ClampFragDepth.h",
1932        "src/compiler/translator/tree_ops/ClampIndirectIndices.cpp",
1933        "src/compiler/translator/tree_ops/ClampIndirectIndices.h",
1934        "src/compiler/translator/tree_ops/ClampPointSize.cpp",
1935        "src/compiler/translator/tree_ops/ClampPointSize.h",
1936        "src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp",
1937        "src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.h",
1938        "src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp",
1939        "src/compiler/translator/tree_ops/DeclarePerVertexBlocks.h",
1940        "src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp",
1941        "src/compiler/translator/tree_ops/DeferGlobalInitializers.h",
1942        "src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp",
1943        "src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.h",
1944        "src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp",
1945        "src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.h",
1946        "src/compiler/translator/tree_ops/FoldExpressions.cpp",
1947        "src/compiler/translator/tree_ops/FoldExpressions.h",
1948        "src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp",
1949        "src/compiler/translator/tree_ops/ForcePrecisionQualifier.h",
1950        "src/compiler/translator/tree_ops/InitializeVariables.cpp",
1951        "src/compiler/translator/tree_ops/InitializeVariables.h",
1952        "src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp",
1953        "src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.h",
1954        "src/compiler/translator/tree_ops/PreTransformTextureCubeGradDerivatives.cpp",
1955        "src/compiler/translator/tree_ops/PreTransformTextureCubeGradDerivatives.h",
1956        "src/compiler/translator/tree_ops/PruneEmptyCases.cpp",
1957        "src/compiler/translator/tree_ops/PruneEmptyCases.h",
1958        "src/compiler/translator/tree_ops/PruneNoOps.cpp",
1959        "src/compiler/translator/tree_ops/PruneNoOps.h",
1960        "src/compiler/translator/tree_ops/RecordConstantPrecision.cpp",
1961        "src/compiler/translator/tree_ops/RecordConstantPrecision.h",
1962        "src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp",
1963        "src/compiler/translator/tree_ops/RemoveArrayLengthMethod.h",
1964        "src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp",
1965        "src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.h",
1966        "src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp",
1967        "src/compiler/translator/tree_ops/RemoveDynamicIndexing.h",
1968        "src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp",
1969        "src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.h",
1970        "src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp",
1971        "src/compiler/translator/tree_ops/RemoveInvariantDeclaration.h",
1972        "src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp",
1973        "src/compiler/translator/tree_ops/RemoveUnreferencedVariables.h",
1974        "src/compiler/translator/tree_ops/RescopeGlobalVariables.cpp",
1975        "src/compiler/translator/tree_ops/RescopeGlobalVariables.h",
1976        "src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp",
1977        "src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.h",
1978        "src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp",
1979        "src/compiler/translator/tree_ops/RewriteAtomicCounters.h",
1980        "src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp",
1981        "src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.h",
1982        "src/compiler/translator/tree_ops/RewriteDfdy.cpp",
1983        "src/compiler/translator/tree_ops/RewriteDfdy.h",
1984        "src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp",
1985        "src/compiler/translator/tree_ops/RewritePixelLocalStorage.h",
1986        "src/compiler/translator/tree_ops/RewriteStructSamplers.cpp",
1987        "src/compiler/translator/tree_ops/RewriteStructSamplers.h",
1988        "src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp",
1989        "src/compiler/translator/tree_ops/RewriteTexelFetchOffset.h",
1990        "src/compiler/translator/tree_ops/SeparateDeclarations.cpp",
1991        "src/compiler/translator/tree_ops/SeparateDeclarations.h",
1992        "src/compiler/translator/tree_ops/SeparateStructFromFunctionDeclarations.cpp",
1993        "src/compiler/translator/tree_ops/SeparateStructFromFunctionDeclarations.h",
1994        "src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp",
1995        "src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.h",
1996        "src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp",
1997        "src/compiler/translator/tree_ops/SimplifyLoopConditions.h",
1998        "src/compiler/translator/tree_ops/SplitSequenceOperator.cpp",
1999        "src/compiler/translator/tree_ops/SplitSequenceOperator.h",
2000        "src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp",
2001        "src/compiler/translator/tree_ops/glsl/RegenerateStructNames.h",
2002        "src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp",
2003        "src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.h",
2004        "src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.cpp",
2005        "src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.h",
2006        "src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp",
2007        "src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.h",
2008        "src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp",
2009        "src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.h",
2010        "src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.cpp",
2011        "src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.h",
2012        "src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp",
2013        "src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.h",
2014        "src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.cpp",
2015        "src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.h",
2016        "src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp",
2017        "src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.h",
2018        "src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.cpp",
2019        "src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.h",
2020        "src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.cpp",
2021        "src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.h",
2022        "src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.cpp",
2023        "src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.h",
2024        "src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.cpp",
2025        "src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.h",
2026        "src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.cpp",
2027        "src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.h",
2028        "src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.cpp",
2029        "src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.h",
2030        "src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.cpp",
2031        "src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.h",
2032        "src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.cpp",
2033        "src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.h",
2034        "src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.cpp",
2035        "src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.h",
2036        "src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.cpp",
2037        "src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.h",
2038        "src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.cpp",
2039        "src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.h",
2040        "src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.cpp",
2041        "src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.h",
2042        "src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.cpp",
2043        "src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.h",
2044        "src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.cpp",
2045        "src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.h",
2046        "src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.cpp",
2047        "src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.h",
2048        "src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.cpp",
2049        "src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.h",
2050        "src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.cpp",
2051        "src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.h",
2052        "src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.cpp",
2053        "src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.h",
2054        "src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.cpp",
2055        "src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.h",
2056        "src/compiler/translator/tree_ops/msl/FixTypeConstructors.cpp",
2057        "src/compiler/translator/tree_ops/msl/FixTypeConstructors.h",
2058        "src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.cpp",
2059        "src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.h",
2060        "src/compiler/translator/tree_ops/msl/HoistConstants.cpp",
2061        "src/compiler/translator/tree_ops/msl/HoistConstants.h",
2062        "src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.cpp",
2063        "src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.h",
2064        "src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.cpp",
2065        "src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.h",
2066        "src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.cpp",
2067        "src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.h",
2068        "src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.cpp",
2069        "src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.h",
2070        "src/compiler/translator/tree_ops/msl/RewriteInterpolants.cpp",
2071        "src/compiler/translator/tree_ops/msl/RewriteInterpolants.h",
2072        "src/compiler/translator/tree_ops/msl/RewriteOutArgs.cpp",
2073        "src/compiler/translator/tree_ops/msl/RewriteOutArgs.h",
2074        "src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.cpp",
2075        "src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.h",
2076        "src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp",
2077        "src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.h",
2078        "src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.cpp",
2079        "src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.h",
2080        "src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.cpp",
2081        "src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.h",
2082        "src/compiler/translator/tree_ops/msl/WrapMain.cpp",
2083        "src/compiler/translator/tree_ops/msl/WrapMain.h",
2084        "src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.cpp",
2085        "src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.h",
2086        "src/compiler/translator/tree_ops/spirv/EmulateDithering.cpp",
2087        "src/compiler/translator/tree_ops/spirv/EmulateDithering.h",
2088        "src/compiler/translator/tree_ops/spirv/EmulateFragColorData.cpp",
2089        "src/compiler/translator/tree_ops/spirv/EmulateFragColorData.h",
2090        "src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.cpp",
2091        "src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.h",
2092        "src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.cpp",
2093        "src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.h",
2094        "src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.cpp",
2095        "src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.h",
2096        "src/compiler/translator/tree_ops/spirv/ReswizzleYUVOps.cpp",
2097        "src/compiler/translator/tree_ops/spirv/ReswizzleYUVOps.h",
2098        "src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.cpp",
2099        "src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.h",
2100        "src/compiler/translator/tree_ops/spirv/RewriteR32fImages.cpp",
2101        "src/compiler/translator/tree_ops/spirv/RewriteR32fImages.h",
2102        "src/compiler/translator/tree_util/BuiltIn.h",
2103        "src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h",
2104        "src/compiler/translator/tree_util/BuiltIn_complete_autogen.h",
2105        "src/compiler/translator/tree_util/DriverUniform.cpp",
2106        "src/compiler/translator/tree_util/DriverUniform.h",
2107        "src/compiler/translator/tree_util/FindFunction.cpp",
2108        "src/compiler/translator/tree_util/FindFunction.h",
2109        "src/compiler/translator/tree_util/FindMain.cpp",
2110        "src/compiler/translator/tree_util/FindMain.h",
2111        "src/compiler/translator/tree_util/FindPreciseNodes.cpp",
2112        "src/compiler/translator/tree_util/FindPreciseNodes.h",
2113        "src/compiler/translator/tree_util/FindSymbolNode.cpp",
2114        "src/compiler/translator/tree_util/FindSymbolNode.h",
2115        "src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp",
2116        "src/compiler/translator/tree_util/IntermNodePatternMatcher.h",
2117        "src/compiler/translator/tree_util/IntermNode_util.cpp",
2118        "src/compiler/translator/tree_util/IntermNode_util.h",
2119        "src/compiler/translator/tree_util/IntermTraverse.cpp",
2120        "src/compiler/translator/tree_util/IntermTraverse.h",
2121        "src/compiler/translator/tree_util/NodeSearch.h",
2122        "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp",
2123        "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.h",
2124        "src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp",
2125        "src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.h",
2126        "src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp",
2127        "src/compiler/translator/tree_util/ReplaceShadowingVariables.h",
2128        "src/compiler/translator/tree_util/ReplaceVariable.cpp",
2129        "src/compiler/translator/tree_util/ReplaceVariable.h",
2130        "src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp",
2131        "src/compiler/translator/tree_util/RewriteSampleMaskVariable.h",
2132        "src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp",
2133        "src/compiler/translator/tree_util/RunAtTheBeginningOfShader.h",
2134        "src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp",
2135        "src/compiler/translator/tree_util/RunAtTheEndOfShader.h",
2136        "src/compiler/translator/tree_util/SpecializationConstant.cpp",
2137        "src/compiler/translator/tree_util/SpecializationConstant.h",
2138        "src/compiler/translator/tree_util/Visit.h",
2139        "src/compiler/translator/util.cpp",
2140        "src/compiler/translator/util.h",
2141        "src/compiler/translator/wgsl/TranslatorWGSL.cpp",
2142        "src/libANGLE/AttributeMap.cpp",
2143        "src/libANGLE/AttributeMap.h",
2144        "src/libANGLE/BlobCache.cpp",
2145        "src/libANGLE/BlobCache.h",
2146        "src/libANGLE/Buffer.cpp",
2147        "src/libANGLE/Buffer.h",
2148        "src/libANGLE/Caps.cpp",
2149        "src/libANGLE/Caps.h",
2150        "src/libANGLE/Compiler.cpp",
2151        "src/libANGLE/Compiler.h",
2152        "src/libANGLE/Config.cpp",
2153        "src/libANGLE/Config.h",
2154        "src/libANGLE/Constants.h",
2155        "src/libANGLE/Context.cpp",
2156        "src/libANGLE/Context.h",
2157        "src/libANGLE/Context.inl.h",
2158        "src/libANGLE/ContextMutex.cpp",
2159        "src/libANGLE/ContextMutex.h",
2160        "src/libANGLE/Context_gl.cpp",
2161        "src/libANGLE/Context_gl_1_autogen.h",
2162        "src/libANGLE/Context_gl_2_autogen.h",
2163        "src/libANGLE/Context_gl_3_autogen.h",
2164        "src/libANGLE/Context_gl_4_autogen.h",
2165        "src/libANGLE/Context_gles_1_0.cpp",
2166        "src/libANGLE/Context_gles_1_0_autogen.h",
2167        "src/libANGLE/Context_gles_2_0_autogen.h",
2168        "src/libANGLE/Context_gles_3_0_autogen.h",
2169        "src/libANGLE/Context_gles_3_1_autogen.h",
2170        "src/libANGLE/Context_gles_3_2_autogen.h",
2171        "src/libANGLE/Context_gles_ext_autogen.h",
2172        "src/libANGLE/Debug.cpp",
2173        "src/libANGLE/Debug.h",
2174        "src/libANGLE/Device.cpp",
2175        "src/libANGLE/Device.h",
2176        "src/libANGLE/Display.cpp",
2177        "src/libANGLE/Display.h",
2178        "src/libANGLE/EGLSync.cpp",
2179        "src/libANGLE/EGLSync.h",
2180        "src/libANGLE/Error.cpp",
2181        "src/libANGLE/Error.h",
2182        "src/libANGLE/Error.inc",
2183        "src/libANGLE/ErrorStrings.h",
2184        "src/libANGLE/Fence.cpp",
2185        "src/libANGLE/Fence.h",
2186        "src/libANGLE/Framebuffer.cpp",
2187        "src/libANGLE/Framebuffer.h",
2188        "src/libANGLE/FramebufferAttachment.cpp",
2189        "src/libANGLE/FramebufferAttachment.h",
2190        "src/libANGLE/GLES1Renderer.cpp",
2191        "src/libANGLE/GLES1Renderer.h",
2192        "src/libANGLE/GLES1Shaders.inc",
2193        "src/libANGLE/GLES1State.cpp",
2194        "src/libANGLE/GLES1State.h",
2195        "src/libANGLE/GlobalMutex.cpp",
2196        "src/libANGLE/GlobalMutex.h",
2197        "src/libANGLE/HandleAllocator.cpp",
2198        "src/libANGLE/HandleAllocator.h",
2199        "src/libANGLE/Image.cpp",
2200        "src/libANGLE/Image.h",
2201        "src/libANGLE/ImageIndex.cpp",
2202        "src/libANGLE/ImageIndex.h",
2203        "src/libANGLE/IndexRangeCache.cpp",
2204        "src/libANGLE/IndexRangeCache.h",
2205        "src/libANGLE/InfoLog.h",
2206        "src/libANGLE/LoggingAnnotator.cpp",
2207        "src/libANGLE/LoggingAnnotator.h",
2208        "src/libANGLE/MemoryObject.cpp",
2209        "src/libANGLE/MemoryObject.h",
2210        "src/libANGLE/MemoryProgramCache.cpp",
2211        "src/libANGLE/MemoryProgramCache.h",
2212        "src/libANGLE/MemoryShaderCache.cpp",
2213        "src/libANGLE/MemoryShaderCache.h",
2214        "src/libANGLE/Observer.cpp",
2215        "src/libANGLE/Observer.h",
2216        "src/libANGLE/Overlay.cpp",
2217        "src/libANGLE/Overlay.h",
2218        "src/libANGLE/OverlayWidgets.cpp",
2219        "src/libANGLE/OverlayWidgets.h",
2220        "src/libANGLE/Overlay_autogen.cpp",
2221        "src/libANGLE/Overlay_autogen.h",
2222        "src/libANGLE/Overlay_font_autogen.cpp",
2223        "src/libANGLE/Overlay_font_autogen.h",
2224        "src/libANGLE/PixelLocalStorage.cpp",
2225        "src/libANGLE/PixelLocalStorage.h",
2226        "src/libANGLE/Platform.cpp",
2227        "src/libANGLE/Program.cpp",
2228        "src/libANGLE/Program.h",
2229        "src/libANGLE/ProgramExecutable.cpp",
2230        "src/libANGLE/ProgramExecutable.h",
2231        "src/libANGLE/ProgramLinkedResources.cpp",
2232        "src/libANGLE/ProgramLinkedResources.h",
2233        "src/libANGLE/ProgramPipeline.cpp",
2234        "src/libANGLE/ProgramPipeline.h",
2235        "src/libANGLE/Query.cpp",
2236        "src/libANGLE/Query.h",
2237        "src/libANGLE/RefCountObject.h",
2238        "src/libANGLE/Renderbuffer.cpp",
2239        "src/libANGLE/Renderbuffer.h",
2240        "src/libANGLE/ResourceManager.cpp",
2241        "src/libANGLE/ResourceManager.h",
2242        "src/libANGLE/ResourceMap.h",
2243        "src/libANGLE/Sampler.cpp",
2244        "src/libANGLE/Sampler.h",
2245        "src/libANGLE/Semaphore.cpp",
2246        "src/libANGLE/Semaphore.h",
2247        "src/libANGLE/Shader.cpp",
2248        "src/libANGLE/Shader.h",
2249        "src/libANGLE/ShareGroup.cpp",
2250        "src/libANGLE/ShareGroup.h",
2251        "src/libANGLE/SizedMRUCache.h",
2252        "src/libANGLE/State.cpp",
2253        "src/libANGLE/State.h",
2254        "src/libANGLE/Stream.cpp",
2255        "src/libANGLE/Stream.h",
2256        "src/libANGLE/Surface.cpp",
2257        "src/libANGLE/Surface.h",
2258        "src/libANGLE/Texture.cpp",
2259        "src/libANGLE/Texture.h",
2260        "src/libANGLE/Thread.cpp",
2261        "src/libANGLE/Thread.h",
2262        "src/libANGLE/TransformFeedback.cpp",
2263        "src/libANGLE/TransformFeedback.h",
2264        "src/libANGLE/Uniform.cpp",
2265        "src/libANGLE/Uniform.h",
2266        "src/libANGLE/VaryingPacking.cpp",
2267        "src/libANGLE/VaryingPacking.h",
2268        "src/libANGLE/Version.h",
2269        "src/libANGLE/Version.inc",
2270        "src/libANGLE/VertexArray.cpp",
2271        "src/libANGLE/VertexArray.h",
2272        "src/libANGLE/VertexAttribute.cpp",
2273        "src/libANGLE/VertexAttribute.h",
2274        "src/libANGLE/VertexAttribute.inc",
2275        "src/libANGLE/angletypes.cpp",
2276        "src/libANGLE/angletypes.h",
2277        "src/libANGLE/angletypes.inc",
2278        "src/libANGLE/capture/FrameCapture.h",
2279        "src/libANGLE/capture/capture_egl_autogen.h",
2280        "src/libANGLE/capture/capture_gl_1_autogen.h",
2281        "src/libANGLE/capture/capture_gl_2_autogen.h",
2282        "src/libANGLE/capture/capture_gl_3_autogen.h",
2283        "src/libANGLE/capture/capture_gl_4_autogen.h",
2284        "src/libANGLE/capture/capture_gles_1_0_autogen.h",
2285        "src/libANGLE/capture/capture_gles_2_0_autogen.h",
2286        "src/libANGLE/capture/capture_gles_3_0_autogen.h",
2287        "src/libANGLE/capture/capture_gles_3_1_autogen.h",
2288        "src/libANGLE/capture/capture_gles_3_2_autogen.h",
2289        "src/libANGLE/capture/capture_gles_ext_autogen.h",
2290        "src/libANGLE/capture/serialize.h",
2291        "src/libANGLE/context_private_call_gl.cpp",
2292        "src/libANGLE/context_private_call_gl_autogen.h",
2293        "src/libANGLE/context_private_call_gles.cpp",
2294        "src/libANGLE/context_private_call_gles_autogen.h",
2295        "src/libANGLE/entry_points_utils.cpp",
2296        "src/libANGLE/entry_points_utils.h",
2297        "src/libANGLE/es3_copy_conversion_table_autogen.cpp",
2298        "src/libANGLE/features.h",
2299        "src/libANGLE/format_map_autogen.cpp",
2300        "src/libANGLE/format_map_desktop.cpp",
2301        "src/libANGLE/formatutils.cpp",
2302        "src/libANGLE/formatutils.h",
2303        "src/libANGLE/gles_extensions_autogen.cpp",
2304        "src/libANGLE/gles_extensions_autogen.h",
2305        "src/libANGLE/histogram_macros.h",
2306        "src/libANGLE/queryconversions.cpp",
2307        "src/libANGLE/queryconversions.h",
2308        "src/libANGLE/queryutils.cpp",
2309        "src/libANGLE/queryutils.h",
2310        "src/libANGLE/renderer/BufferImpl.cpp",
2311        "src/libANGLE/renderer/BufferImpl.h",
2312        "src/libANGLE/renderer/CompilerImpl.h",
2313        "src/libANGLE/renderer/ContextImpl.cpp",
2314        "src/libANGLE/renderer/ContextImpl.h",
2315        "src/libANGLE/renderer/DeviceImpl.cpp",
2316        "src/libANGLE/renderer/DeviceImpl.h",
2317        "src/libANGLE/renderer/DisplayImpl.cpp",
2318        "src/libANGLE/renderer/DisplayImpl.h",
2319        "src/libANGLE/renderer/EGLImplFactory.h",
2320        "src/libANGLE/renderer/EGLReusableSync.cpp",
2321        "src/libANGLE/renderer/EGLReusableSync.h",
2322        "src/libANGLE/renderer/EGLSyncImpl.cpp",
2323        "src/libANGLE/renderer/EGLSyncImpl.h",
2324        "src/libANGLE/renderer/FenceNVImpl.h",
2325        "src/libANGLE/renderer/Format.h",
2326        "src/libANGLE/renderer/FormatID_autogen.h",
2327        "src/libANGLE/renderer/Format_table_autogen.cpp",
2328        "src/libANGLE/renderer/FramebufferAttachmentObjectImpl.h",
2329        "src/libANGLE/renderer/FramebufferImpl.cpp",
2330        "src/libANGLE/renderer/FramebufferImpl.h",
2331        "src/libANGLE/renderer/GLImplFactory.h",
2332        "src/libANGLE/renderer/ImageImpl.cpp",
2333        "src/libANGLE/renderer/ImageImpl.h",
2334        "src/libANGLE/renderer/MemoryObjectImpl.h",
2335        "src/libANGLE/renderer/OverlayImpl.h",
2336        "src/libANGLE/renderer/ProgramExecutableImpl.h",
2337        "src/libANGLE/renderer/ProgramImpl.cpp",
2338        "src/libANGLE/renderer/ProgramImpl.h",
2339        "src/libANGLE/renderer/ProgramPipelineImpl.cpp",
2340        "src/libANGLE/renderer/ProgramPipelineImpl.h",
2341        "src/libANGLE/renderer/QueryImpl.cpp",
2342        "src/libANGLE/renderer/QueryImpl.h",
2343        "src/libANGLE/renderer/RenderTargetCache.h",
2344        "src/libANGLE/renderer/RenderbufferImpl.cpp",
2345        "src/libANGLE/renderer/RenderbufferImpl.h",
2346        "src/libANGLE/renderer/SamplerImpl.h",
2347        "src/libANGLE/renderer/SemaphoreImpl.h",
2348        "src/libANGLE/renderer/ShaderImpl.cpp",
2349        "src/libANGLE/renderer/ShaderImpl.h",
2350        "src/libANGLE/renderer/ShareGroupImpl.h",
2351        "src/libANGLE/renderer/StreamProducerImpl.h",
2352        "src/libANGLE/renderer/SurfaceImpl.cpp",
2353        "src/libANGLE/renderer/SurfaceImpl.h",
2354        "src/libANGLE/renderer/SyncImpl.h",
2355        "src/libANGLE/renderer/TextureImpl.cpp",
2356        "src/libANGLE/renderer/TextureImpl.h",
2357        "src/libANGLE/renderer/TransformFeedbackImpl.cpp",
2358        "src/libANGLE/renderer/TransformFeedbackImpl.h",
2359        "src/libANGLE/renderer/VertexArrayImpl.cpp",
2360        "src/libANGLE/renderer/VertexArrayImpl.h",
2361        "src/libANGLE/renderer/copyvertex.h",
2362        "src/libANGLE/renderer/copyvertex.inc.h",
2363        "src/libANGLE/renderer/d3d/BufferD3D.cpp",
2364        "src/libANGLE/renderer/d3d/BufferD3D.h",
2365        "src/libANGLE/renderer/d3d/CompilerD3D.cpp",
2366        "src/libANGLE/renderer/d3d/CompilerD3D.h",
2367        "src/libANGLE/renderer/d3d/ContextD3D.h",
2368        "src/libANGLE/renderer/d3d/DisplayD3D.cpp",
2369        "src/libANGLE/renderer/d3d/DisplayD3D.h",
2370        "src/libANGLE/renderer/d3d/DynamicHLSL.cpp",
2371        "src/libANGLE/renderer/d3d/DynamicHLSL.h",
2372        "src/libANGLE/renderer/d3d/DynamicImage2DHLSL.cpp",
2373        "src/libANGLE/renderer/d3d/DynamicImage2DHLSL.h",
2374        "src/libANGLE/renderer/d3d/EGLImageD3D.cpp",
2375        "src/libANGLE/renderer/d3d/EGLImageD3D.h",
2376        "src/libANGLE/renderer/d3d/FramebufferD3D.cpp",
2377        "src/libANGLE/renderer/d3d/FramebufferD3D.h",
2378        "src/libANGLE/renderer/d3d/HLSLCompiler.cpp",
2379        "src/libANGLE/renderer/d3d/HLSLCompiler.h",
2380        "src/libANGLE/renderer/d3d/ImageD3D.cpp",
2381        "src/libANGLE/renderer/d3d/ImageD3D.h",
2382        "src/libANGLE/renderer/d3d/IndexBuffer.cpp",
2383        "src/libANGLE/renderer/d3d/IndexBuffer.h",
2384        "src/libANGLE/renderer/d3d/IndexDataManager.cpp",
2385        "src/libANGLE/renderer/d3d/IndexDataManager.h",
2386        "src/libANGLE/renderer/d3d/NativeWindowD3D.cpp",
2387        "src/libANGLE/renderer/d3d/NativeWindowD3D.h",
2388        "src/libANGLE/renderer/d3d/ProgramD3D.cpp",
2389        "src/libANGLE/renderer/d3d/ProgramD3D.h",
2390        "src/libANGLE/renderer/d3d/ProgramExecutableD3D.cpp",
2391        "src/libANGLE/renderer/d3d/ProgramExecutableD3D.h",
2392        "src/libANGLE/renderer/d3d/RenderTargetD3D.cpp",
2393        "src/libANGLE/renderer/d3d/RenderTargetD3D.h",
2394        "src/libANGLE/renderer/d3d/RenderbufferD3D.cpp",
2395        "src/libANGLE/renderer/d3d/RenderbufferD3D.h",
2396        "src/libANGLE/renderer/d3d/RendererD3D.cpp",
2397        "src/libANGLE/renderer/d3d/RendererD3D.h",
2398        "src/libANGLE/renderer/d3d/SamplerD3D.h",
2399        "src/libANGLE/renderer/d3d/ShaderD3D.cpp",
2400        "src/libANGLE/renderer/d3d/ShaderD3D.h",
2401        "src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp",
2402        "src/libANGLE/renderer/d3d/ShaderExecutableD3D.h",
2403        "src/libANGLE/renderer/d3d/SurfaceD3D.cpp",
2404        "src/libANGLE/renderer/d3d/SurfaceD3D.h",
2405        "src/libANGLE/renderer/d3d/SwapChainD3D.cpp",
2406        "src/libANGLE/renderer/d3d/SwapChainD3D.h",
2407        "src/libANGLE/renderer/d3d/TextureD3D.cpp",
2408        "src/libANGLE/renderer/d3d/TextureD3D.h",
2409        "src/libANGLE/renderer/d3d/TextureStorage.h",
2410        "src/libANGLE/renderer/d3d/VertexBuffer.cpp",
2411        "src/libANGLE/renderer/d3d/VertexBuffer.h",
2412        "src/libANGLE/renderer/d3d/VertexDataManager.cpp",
2413        "src/libANGLE/renderer/d3d/VertexDataManager.h",
2414        "src/libANGLE/renderer/d3d/driver_utils_d3d.cpp",
2415        "src/libANGLE/renderer/d3d/driver_utils_d3d.h",
2416        "src/libANGLE/renderer/d3d/formatutilsD3D.h",
2417        "src/libANGLE/renderer/driver_utils.cpp",
2418        "src/libANGLE/renderer/driver_utils.h",
2419        "src/libANGLE/renderer/gl/BlitGL.cpp",
2420        "src/libANGLE/renderer/gl/BlitGL.h",
2421        "src/libANGLE/renderer/gl/BufferGL.cpp",
2422        "src/libANGLE/renderer/gl/BufferGL.h",
2423        "src/libANGLE/renderer/gl/ClearMultiviewGL.cpp",
2424        "src/libANGLE/renderer/gl/ClearMultiviewGL.h",
2425        "src/libANGLE/renderer/gl/CompilerGL.cpp",
2426        "src/libANGLE/renderer/gl/CompilerGL.h",
2427        "src/libANGLE/renderer/gl/ContextGL.cpp",
2428        "src/libANGLE/renderer/gl/ContextGL.h",
2429        "src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp",
2430        "src/libANGLE/renderer/gl/DispatchTableGL_autogen.h",
2431        "src/libANGLE/renderer/gl/DisplayGL.cpp",
2432        "src/libANGLE/renderer/gl/DisplayGL.h",
2433        "src/libANGLE/renderer/gl/FenceNVGL.cpp",
2434        "src/libANGLE/renderer/gl/FenceNVGL.h",
2435        "src/libANGLE/renderer/gl/FramebufferGL.cpp",
2436        "src/libANGLE/renderer/gl/FramebufferGL.h",
2437        "src/libANGLE/renderer/gl/FunctionsGL.cpp",
2438        "src/libANGLE/renderer/gl/FunctionsGL.h",
2439        "src/libANGLE/renderer/gl/ImageGL.cpp",
2440        "src/libANGLE/renderer/gl/ImageGL.h",
2441        "src/libANGLE/renderer/gl/MemoryObjectGL.cpp",
2442        "src/libANGLE/renderer/gl/MemoryObjectGL.h",
2443        "src/libANGLE/renderer/gl/PLSProgramCache.cpp",
2444        "src/libANGLE/renderer/gl/PLSProgramCache.h",
2445        "src/libANGLE/renderer/gl/ProgramExecutableGL.cpp",
2446        "src/libANGLE/renderer/gl/ProgramExecutableGL.h",
2447        "src/libANGLE/renderer/gl/ProgramGL.cpp",
2448        "src/libANGLE/renderer/gl/ProgramGL.h",
2449        "src/libANGLE/renderer/gl/ProgramPipelineGL.cpp",
2450        "src/libANGLE/renderer/gl/ProgramPipelineGL.h",
2451        "src/libANGLE/renderer/gl/QueryGL.cpp",
2452        "src/libANGLE/renderer/gl/QueryGL.h",
2453        "src/libANGLE/renderer/gl/RenderbufferGL.cpp",
2454        "src/libANGLE/renderer/gl/RenderbufferGL.h",
2455        "src/libANGLE/renderer/gl/RendererGL.cpp",
2456        "src/libANGLE/renderer/gl/RendererGL.h",
2457        "src/libANGLE/renderer/gl/SamplerGL.cpp",
2458        "src/libANGLE/renderer/gl/SamplerGL.h",
2459        "src/libANGLE/renderer/gl/SemaphoreGL.cpp",
2460        "src/libANGLE/renderer/gl/SemaphoreGL.h",
2461        "src/libANGLE/renderer/gl/ShaderGL.cpp",
2462        "src/libANGLE/renderer/gl/ShaderGL.h",
2463        "src/libANGLE/renderer/gl/StateManagerGL.cpp",
2464        "src/libANGLE/renderer/gl/StateManagerGL.h",
2465        "src/libANGLE/renderer/gl/SurfaceGL.cpp",
2466        "src/libANGLE/renderer/gl/SurfaceGL.h",
2467        "src/libANGLE/renderer/gl/SyncGL.cpp",
2468        "src/libANGLE/renderer/gl/SyncGL.h",
2469        "src/libANGLE/renderer/gl/TextureGL.cpp",
2470        "src/libANGLE/renderer/gl/TextureGL.h",
2471        "src/libANGLE/renderer/gl/TransformFeedbackGL.cpp",
2472        "src/libANGLE/renderer/gl/TransformFeedbackGL.h",
2473        "src/libANGLE/renderer/gl/VertexArrayGL.cpp",
2474        "src/libANGLE/renderer/gl/VertexArrayGL.h",
2475        "src/libANGLE/renderer/gl/egl/ContextEGL.cpp",
2476        "src/libANGLE/renderer/gl/egl/ContextEGL.h",
2477        "src/libANGLE/renderer/gl/egl/DeviceEGL.cpp",
2478        "src/libANGLE/renderer/gl/egl/DeviceEGL.h",
2479        "src/libANGLE/renderer/gl/egl/DisplayEGL.cpp",
2480        "src/libANGLE/renderer/gl/egl/DisplayEGL.h",
2481        "src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.cpp",
2482        "src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.h",
2483        "src/libANGLE/renderer/gl/egl/ExternalImageSiblingEGL.h",
2484        "src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp",
2485        "src/libANGLE/renderer/gl/egl/FunctionsEGL.h",
2486        "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp",
2487        "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h",
2488        "src/libANGLE/renderer/gl/egl/ImageEGL.cpp",
2489        "src/libANGLE/renderer/gl/egl/ImageEGL.h",
2490        "src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.cpp",
2491        "src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.h",
2492        "src/libANGLE/renderer/gl/egl/RendererEGL.cpp",
2493        "src/libANGLE/renderer/gl/egl/RendererEGL.h",
2494        "src/libANGLE/renderer/gl/egl/SurfaceEGL.cpp",
2495        "src/libANGLE/renderer/gl/egl/SurfaceEGL.h",
2496        "src/libANGLE/renderer/gl/egl/SyncEGL.cpp",
2497        "src/libANGLE/renderer/gl/egl/SyncEGL.h",
2498        "src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.cpp",
2499        "src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.h",
2500        "src/libANGLE/renderer/gl/egl/android/DisplayAndroid.cpp",
2501        "src/libANGLE/renderer/gl/egl/android/DisplayAndroid.h",
2502        "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.cpp",
2503        "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.h",
2504        "src/libANGLE/renderer/gl/egl/egl_utils.cpp",
2505        "src/libANGLE/renderer/gl/egl/egl_utils.h",
2506        "src/libANGLE/renderer/gl/egl/functionsegl_typedefs.h",
2507        "src/libANGLE/renderer/gl/formatutilsgl.cpp",
2508        "src/libANGLE/renderer/gl/formatutilsgl.h",
2509        "src/libANGLE/renderer/gl/functionsgl_enums.h",
2510        "src/libANGLE/renderer/gl/functionsgl_typedefs.h",
2511        "src/libANGLE/renderer/gl/null_functions.cpp",
2512        "src/libANGLE/renderer/gl/null_functions.h",
2513        "src/libANGLE/renderer/gl/renderergl_utils.cpp",
2514        "src/libANGLE/renderer/gl/renderergl_utils.h",
2515        "src/libANGLE/renderer/load_functions_table.h",
2516        "src/libANGLE/renderer/load_functions_table_autogen.cpp",
2517        "src/libANGLE/renderer/null/BufferNULL.cpp",
2518        "src/libANGLE/renderer/null/BufferNULL.h",
2519        "src/libANGLE/renderer/null/CompilerNULL.cpp",
2520        "src/libANGLE/renderer/null/CompilerNULL.h",
2521        "src/libANGLE/renderer/null/ContextNULL.cpp",
2522        "src/libANGLE/renderer/null/ContextNULL.h",
2523        "src/libANGLE/renderer/null/DeviceNULL.cpp",
2524        "src/libANGLE/renderer/null/DeviceNULL.h",
2525        "src/libANGLE/renderer/null/DisplayNULL.cpp",
2526        "src/libANGLE/renderer/null/DisplayNULL.h",
2527        "src/libANGLE/renderer/null/FenceNVNULL.cpp",
2528        "src/libANGLE/renderer/null/FenceNVNULL.h",
2529        "src/libANGLE/renderer/null/FramebufferNULL.cpp",
2530        "src/libANGLE/renderer/null/FramebufferNULL.h",
2531        "src/libANGLE/renderer/null/ImageNULL.cpp",
2532        "src/libANGLE/renderer/null/ImageNULL.h",
2533        "src/libANGLE/renderer/null/ProgramExecutableNULL.cpp",
2534        "src/libANGLE/renderer/null/ProgramExecutableNULL.h",
2535        "src/libANGLE/renderer/null/ProgramNULL.cpp",
2536        "src/libANGLE/renderer/null/ProgramNULL.h",
2537        "src/libANGLE/renderer/null/ProgramPipelineNULL.cpp",
2538        "src/libANGLE/renderer/null/ProgramPipelineNULL.h",
2539        "src/libANGLE/renderer/null/QueryNULL.cpp",
2540        "src/libANGLE/renderer/null/QueryNULL.h",
2541        "src/libANGLE/renderer/null/RenderbufferNULL.cpp",
2542        "src/libANGLE/renderer/null/RenderbufferNULL.h",
2543        "src/libANGLE/renderer/null/SamplerNULL.cpp",
2544        "src/libANGLE/renderer/null/SamplerNULL.h",
2545        "src/libANGLE/renderer/null/ShaderNULL.cpp",
2546        "src/libANGLE/renderer/null/ShaderNULL.h",
2547        "src/libANGLE/renderer/null/SurfaceNULL.cpp",
2548        "src/libANGLE/renderer/null/SurfaceNULL.h",
2549        "src/libANGLE/renderer/null/SyncNULL.cpp",
2550        "src/libANGLE/renderer/null/SyncNULL.h",
2551        "src/libANGLE/renderer/null/TextureNULL.cpp",
2552        "src/libANGLE/renderer/null/TextureNULL.h",
2553        "src/libANGLE/renderer/null/TransformFeedbackNULL.cpp",
2554        "src/libANGLE/renderer/null/TransformFeedbackNULL.h",
2555        "src/libANGLE/renderer/null/VertexArrayNULL.cpp",
2556        "src/libANGLE/renderer/null/VertexArrayNULL.h",
2557        "src/libANGLE/renderer/renderer_utils.cpp",
2558        "src/libANGLE/renderer/renderer_utils.h",
2559        "src/libANGLE/renderer/serial_utils.h",
2560        "src/libANGLE/renderer/vulkan/AllocatorHelperPool.cpp",
2561        "src/libANGLE/renderer/vulkan/AllocatorHelperPool.h",
2562        "src/libANGLE/renderer/vulkan/AllocatorHelperRing.cpp",
2563        "src/libANGLE/renderer/vulkan/AllocatorHelperRing.h",
2564        "src/libANGLE/renderer/vulkan/BufferVk.cpp",
2565        "src/libANGLE/renderer/vulkan/BufferVk.h",
2566        "src/libANGLE/renderer/vulkan/CommandProcessor.cpp",
2567        "src/libANGLE/renderer/vulkan/CommandProcessor.h",
2568        "src/libANGLE/renderer/vulkan/CompilerVk.cpp",
2569        "src/libANGLE/renderer/vulkan/CompilerVk.h",
2570        "src/libANGLE/renderer/vulkan/ContextVk.cpp",
2571        "src/libANGLE/renderer/vulkan/ContextVk.h",
2572        "src/libANGLE/renderer/vulkan/DebugAnnotatorVk.cpp",
2573        "src/libANGLE/renderer/vulkan/DebugAnnotatorVk.h",
2574        "src/libANGLE/renderer/vulkan/DeviceVk.cpp",
2575        "src/libANGLE/renderer/vulkan/DeviceVk.h",
2576        "src/libANGLE/renderer/vulkan/DisplayVk.cpp",
2577        "src/libANGLE/renderer/vulkan/DisplayVk.h",
2578        "src/libANGLE/renderer/vulkan/DisplayVk_api.h",
2579        "src/libANGLE/renderer/vulkan/FenceNVVk.cpp",
2580        "src/libANGLE/renderer/vulkan/FenceNVVk.h",
2581        "src/libANGLE/renderer/vulkan/FramebufferVk.cpp",
2582        "src/libANGLE/renderer/vulkan/FramebufferVk.h",
2583        "src/libANGLE/renderer/vulkan/ImageVk.cpp",
2584        "src/libANGLE/renderer/vulkan/ImageVk.h",
2585        "src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp",
2586        "src/libANGLE/renderer/vulkan/MemoryObjectVk.h",
2587        "src/libANGLE/renderer/vulkan/MemoryTracking.cpp",
2588        "src/libANGLE/renderer/vulkan/MemoryTracking.h",
2589        "src/libANGLE/renderer/vulkan/OverlayVk.cpp",
2590        "src/libANGLE/renderer/vulkan/OverlayVk.h",
2591        "src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp",
2592        "src/libANGLE/renderer/vulkan/PersistentCommandPool.h",
2593        "src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp",
2594        "src/libANGLE/renderer/vulkan/ProgramExecutableVk.h",
2595        "src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp",
2596        "src/libANGLE/renderer/vulkan/ProgramPipelineVk.h",
2597        "src/libANGLE/renderer/vulkan/ProgramVk.cpp",
2598        "src/libANGLE/renderer/vulkan/ProgramVk.h",
2599        "src/libANGLE/renderer/vulkan/QueryVk.cpp",
2600        "src/libANGLE/renderer/vulkan/QueryVk.h",
2601        "src/libANGLE/renderer/vulkan/RenderTargetVk.cpp",
2602        "src/libANGLE/renderer/vulkan/RenderTargetVk.h",
2603        "src/libANGLE/renderer/vulkan/RenderbufferVk.cpp",
2604        "src/libANGLE/renderer/vulkan/RenderbufferVk.h",
2605        "src/libANGLE/renderer/vulkan/SamplerVk.cpp",
2606        "src/libANGLE/renderer/vulkan/SamplerVk.h",
2607        "src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp",
2608        "src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h",
2609        "src/libANGLE/renderer/vulkan/SecondaryCommandPool.cpp",
2610        "src/libANGLE/renderer/vulkan/SecondaryCommandPool.h",
2611        "src/libANGLE/renderer/vulkan/SemaphoreVk.cpp",
2612        "src/libANGLE/renderer/vulkan/SemaphoreVk.h",
2613        "src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.cpp",
2614        "src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.h",
2615        "src/libANGLE/renderer/vulkan/ShaderVk.cpp",
2616        "src/libANGLE/renderer/vulkan/ShaderVk.h",
2617        "src/libANGLE/renderer/vulkan/ShareGroupVk.cpp",
2618        "src/libANGLE/renderer/vulkan/ShareGroupVk.h",
2619        "src/libANGLE/renderer/vulkan/Suballocation.cpp",
2620        "src/libANGLE/renderer/vulkan/Suballocation.h",
2621        "src/libANGLE/renderer/vulkan/SurfaceVk.cpp",
2622        "src/libANGLE/renderer/vulkan/SurfaceVk.h",
2623        "src/libANGLE/renderer/vulkan/SyncVk.cpp",
2624        "src/libANGLE/renderer/vulkan/SyncVk.h",
2625        "src/libANGLE/renderer/vulkan/TextureVk.cpp",
2626        "src/libANGLE/renderer/vulkan/TextureVk.h",
2627        "src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp",
2628        "src/libANGLE/renderer/vulkan/TransformFeedbackVk.h",
2629        "src/libANGLE/renderer/vulkan/UtilsVk.cpp",
2630        "src/libANGLE/renderer/vulkan/UtilsVk.h",
2631        "src/libANGLE/renderer/vulkan/VertexArrayVk.cpp",
2632        "src/libANGLE/renderer/vulkan/VertexArrayVk.h",
2633        "src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp",
2634        "src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.h",
2635        "src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.cpp",
2636        "src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.h",
2637        "src/libANGLE/renderer/vulkan/android/AHBFunctions.cpp",
2638        "src/libANGLE/renderer/vulkan/android/AHBFunctions.h",
2639        "src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.cpp",
2640        "src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.h",
2641        "src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp",
2642        "src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h",
2643        "src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.cpp",
2644        "src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.h",
2645        "src/libANGLE/renderer/vulkan/android/vk_android_utils.cpp",
2646        "src/libANGLE/renderer/vulkan/android/vk_android_utils.h",
2647        "src/libANGLE/renderer/vulkan/spv_utils.cpp",
2648        "src/libANGLE/renderer/vulkan/spv_utils.h",
2649        "src/libANGLE/renderer/vulkan/vk_cache_utils.cpp",
2650        "src/libANGLE/renderer/vulkan/vk_cache_utils.h",
2651        "src/libANGLE/renderer/vulkan/vk_caps_utils.cpp",
2652        "src/libANGLE/renderer/vulkan/vk_caps_utils.h",
2653        "src/libANGLE/renderer/vulkan/vk_command_buffer_utils.h",
2654        "src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp",
2655        "src/libANGLE/renderer/vulkan/vk_format_utils.cpp",
2656        "src/libANGLE/renderer/vulkan/vk_format_utils.h",
2657        "src/libANGLE/renderer/vulkan/vk_helpers.cpp",
2658        "src/libANGLE/renderer/vulkan/vk_helpers.h",
2659        "src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp",
2660        "src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h",
2661        "src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp",
2662        "src/libANGLE/renderer/vulkan/vk_ref_counted_event.cpp",
2663        "src/libANGLE/renderer/vulkan/vk_ref_counted_event.h",
2664        "src/libANGLE/renderer/vulkan/vk_renderer.cpp",
2665        "src/libANGLE/renderer/vulkan/vk_renderer.h",
2666        "src/libANGLE/renderer/vulkan/vk_resource.cpp",
2667        "src/libANGLE/renderer/vulkan/vk_resource.h",
2668        "src/libANGLE/renderer/vulkan/vk_utils.cpp",
2669        "src/libANGLE/renderer/vulkan/vk_utils.h",
2670        "src/libANGLE/renderer/vulkan/vk_wrapper.h",
2671        "src/libANGLE/trace.h",
2672        "src/libANGLE/validationEGL.cpp",
2673        "src/libANGLE/validationEGL.h",
2674        "src/libANGLE/validationEGL_autogen.h",
2675        "src/libANGLE/validationES.cpp",
2676        "src/libANGLE/validationES.h",
2677        "src/libANGLE/validationES1.cpp",
2678        "src/libANGLE/validationES1.h",
2679        "src/libANGLE/validationES1_autogen.h",
2680        "src/libANGLE/validationES2.cpp",
2681        "src/libANGLE/validationES2.h",
2682        "src/libANGLE/validationES2_autogen.h",
2683        "src/libANGLE/validationES3.cpp",
2684        "src/libANGLE/validationES3.h",
2685        "src/libANGLE/validationES31.cpp",
2686        "src/libANGLE/validationES31.h",
2687        "src/libANGLE/validationES31_autogen.h",
2688        "src/libANGLE/validationES32.cpp",
2689        "src/libANGLE/validationES32.h",
2690        "src/libANGLE/validationES32_autogen.h",
2691        "src/libANGLE/validationES3_autogen.h",
2692        "src/libANGLE/validationESEXT.cpp",
2693        "src/libANGLE/validationESEXT.h",
2694        "src/libANGLE/validationESEXT_autogen.h",
2695        "src/libANGLE/validationGL1.cpp",
2696        "src/libANGLE/validationGL1_autogen.h",
2697        "src/libANGLE/validationGL2.cpp",
2698        "src/libANGLE/validationGL2_autogen.h",
2699        "src/libANGLE/validationGL3.cpp",
2700        "src/libANGLE/validationGL3_autogen.h",
2701        "src/libANGLE/validationGL4.cpp",
2702        "src/libANGLE/validationGL4_autogen.h",
2703    ],
2704    out: [
2705        "ANGLEShaderProgramVersion.h",
2706    ],
2707    tool_files: [
2708        "src/program_serialize_data_version.py",
2709    ],
2710    cmd: "echo $(in) > $(genDir)/gn_response_file && $(location) $(location ANGLEShaderProgramVersion.h) $(genDir)/gn_response_file",
2711    sdk_version: "28",
2712}
2713
2714cc_genrule {
2715    name: "angle_commit_id",
2716    out: [
2717        "angle_commit.h",
2718    ],
2719    tool_files: [
2720        "src/commit_id.py",
2721    ],
2722    cmd: "$(location) gen $(location angle_commit.h)",
2723    sdk_version: "28",
2724}
2725
2726cc_defaults {
2727    name: "angle_version",
2728    defaults: [
2729        "angle_common_auto_cflags",
2730        "angle_common_library_cflags",
2731    ],
2732    generated_headers: [
2733        "angle_commit_id",
2734        "angle_program_version_id",
2735    ],
2736    local_include_dirs: [
2737        "",
2738        "include/",
2739        "src/",
2740    ],
2741    cflags: [
2742        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
2743        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
2744        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
2745        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
2746        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
2747        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
2748        "-D_FORTIFY_SOURCE=2",
2749        "-D__STDC_CONSTANT_MACROS",
2750        "-D__STDC_FORMAT_MACROS",
2751    ],
2752    sdk_version: "28",
2753    stl: "libc++_static",
2754    arch: {
2755        arm64: {
2756            cflags: [
2757                "-D__ARM_NEON__=1",
2758            ],
2759        },
2760    },
2761}
2762
2763cc_defaults {
2764    name: "angle_version_info",
2765    srcs: [
2766        "src/common/angle_version_info.cpp",
2767    ],
2768    defaults: [
2769        "angle_common_auto_cflags",
2770        "angle_common_library_cflags",
2771        "angle_translator_headers",
2772        "angle_version",
2773    ],
2774    generated_headers: [
2775        "angle_commit_id",
2776        "angle_program_version_id",
2777    ],
2778    local_include_dirs: [
2779        "",
2780        "include/",
2781        "src/",
2782    ],
2783    cflags: [
2784        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
2785        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
2786        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
2787        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
2788        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
2789        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
2790        "-D_FORTIFY_SOURCE=2",
2791        "-D__STDC_CONSTANT_MACROS",
2792        "-D__STDC_FORMAT_MACROS",
2793    ],
2794    sdk_version: "28",
2795    stl: "libc++_static",
2796    arch: {
2797        arm64: {
2798            cflags: [
2799                "-D__ARM_NEON__=1",
2800            ],
2801        },
2802    },
2803}
2804
2805cc_defaults {
2806    name: "angle_image_util_headers",
2807    static_libs: [
2808        "angle_common",
2809    ],
2810    shared_libs: [
2811        "liblog",
2812        "libnativewindow",
2813    ],
2814    defaults: [
2815        "angle_common_auto_cflags",
2816        "angle_common_library_cflags",
2817    ],
2818    local_include_dirs: [
2819        "include/",
2820        "src/",
2821        "src/common/base/",
2822        "src/common/third_party/xxhash/",
2823        "third_party/abseil-cpp/",
2824    ],
2825    cflags: [
2826        "-DABSL_ALLOCATOR_NOTHROW=1",
2827        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
2828        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
2829        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
2830        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
2831        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
2832        "-DANGLE_USE_ABSEIL",
2833        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
2834        "-D_FORTIFY_SOURCE=2",
2835        "-D__STDC_CONSTANT_MACROS",
2836        "-D__STDC_FORMAT_MACROS",
2837        "-Wno-gcc-compat",
2838        "-Wno-unreachable-code-break",
2839    ],
2840    sdk_version: "28",
2841    stl: "libc++_static",
2842    arch: {
2843        arm64: {
2844            cflags: [
2845                "-D__ARM_NEON__=1",
2846            ],
2847        },
2848    },
2849}
2850
2851cc_library_static {
2852    name: "angle_image_util",
2853    srcs: [
2854        "src/image_util/AstcDecompressorNoOp.cpp",
2855        "src/image_util/copyimage.cpp",
2856        "src/image_util/imageformats.cpp",
2857        "src/image_util/loadimage.cpp",
2858        "src/image_util/loadimage_astc.cpp",
2859        "src/image_util/loadimage_etc.cpp",
2860        "src/image_util/loadimage_paletted.cpp",
2861        "src/image_util/storeimage_paletted.cpp",
2862    ],
2863    static_libs: [
2864        "angle_common",
2865    ],
2866    shared_libs: [
2867        "liblog",
2868        "libnativewindow",
2869    ],
2870    defaults: [
2871        "angle_common_auto_cflags",
2872        "angle_common_library_cflags",
2873        "angle_image_util_headers",
2874    ],
2875    local_include_dirs: [
2876        "include/",
2877        "src/",
2878        "src/common/base/",
2879        "src/common/third_party/xxhash/",
2880        "third_party/abseil-cpp/",
2881    ],
2882    cflags: [
2883        "-DABSL_ALLOCATOR_NOTHROW=1",
2884        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
2885        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
2886        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
2887        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
2888        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
2889        "-DANGLE_USE_ABSEIL",
2890        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
2891        "-D_FORTIFY_SOURCE=2",
2892        "-D__STDC_CONSTANT_MACROS",
2893        "-D__STDC_FORMAT_MACROS",
2894        "-Wno-gcc-compat",
2895        "-Wno-unreachable-code-break",
2896    ],
2897    sdk_version: "28",
2898    stl: "libc++_static",
2899    arch: {
2900        arm64: {
2901            cflags: [
2902                "-D__ARM_NEON__=1",
2903            ],
2904        },
2905    },
2906}
2907
2908cc_defaults {
2909    name: "third_party_vulkan_headers_src_vulkan_headers",
2910    defaults: [
2911        "angle_common_auto_cflags",
2912        "angle_common_library_cflags",
2913    ],
2914    local_include_dirs: [
2915        "",
2916        "third_party/vulkan-headers/src/include/",
2917    ],
2918    cflags: [
2919        "-DVK_USE_PLATFORM_ANDROID_KHR",
2920        "-D_FORTIFY_SOURCE=2",
2921        "-D__STDC_CONSTANT_MACROS",
2922        "-D__STDC_FORMAT_MACROS",
2923        "-Wno-redundant-parens",
2924    ],
2925    sdk_version: "28",
2926    stl: "libc++_static",
2927    arch: {
2928        arm64: {
2929            cflags: [
2930                "-D__ARM_NEON__=1",
2931            ],
2932        },
2933    },
2934}
2935
2936cc_defaults {
2937    name: "src_third_party_volk_volk",
2938    srcs: [
2939        "src/third_party/volk/volk.c",
2940    ],
2941    defaults: [
2942        "angle_common_auto_cflags",
2943        "angle_common_library_cflags",
2944        "third_party_vulkan_headers_src_vulkan_headers",
2945    ],
2946    local_include_dirs: [
2947        "",
2948        "src/third_party/volk/",
2949        "third_party/vulkan-headers/src/include/",
2950    ],
2951    cflags: [
2952        "-DVK_USE_PLATFORM_ANDROID_KHR",
2953        "-D_FORTIFY_SOURCE=2",
2954        "-D__STDC_CONSTANT_MACROS",
2955        "-D__STDC_FORMAT_MACROS",
2956        "-Wno-redundant-parens",
2957    ],
2958    sdk_version: "28",
2959    stl: "libc++_static",
2960    arch: {
2961        arm64: {
2962            cflags: [
2963                "-D__ARM_NEON__=1",
2964            ],
2965        },
2966    },
2967}
2968
2969cc_defaults {
2970    name: "src_common_vulkan_angle_vulkan_headers",
2971    defaults: [
2972        "angle_common_auto_cflags",
2973        "angle_common_library_cflags",
2974        "src_third_party_volk_volk",
2975    ],
2976    local_include_dirs: [
2977        "include/",
2978        "src/",
2979        "src/third_party/volk/",
2980        "third_party/vulkan-headers/src/include/",
2981    ],
2982    cflags: [
2983        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
2984        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
2985        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
2986        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
2987        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
2988        "-DANGLE_SHARED_LIBVULKAN=1",
2989        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
2990        "-DVK_USE_PLATFORM_ANDROID_KHR",
2991        "-D_FORTIFY_SOURCE=2",
2992        "-D__STDC_CONSTANT_MACROS",
2993        "-D__STDC_FORMAT_MACROS",
2994        "-Wno-redundant-parens",
2995    ],
2996    sdk_version: "28",
2997    stl: "libc++_static",
2998    arch: {
2999        arm64: {
3000            cflags: [
3001                "-D__ARM_NEON__=1",
3002            ],
3003        },
3004    },
3005}
3006
3007cc_defaults {
3008    name: "src_common_vulkan_angle_vulkan_icd",
3009    srcs: [
3010        "src/common/vulkan/vulkan_icd.cpp",
3011    ],
3012    static_libs: [
3013        "angle_common",
3014    ],
3015    shared_libs: [
3016        "liblog",
3017        "libnativewindow",
3018    ],
3019    defaults: [
3020        "angle_common_auto_cflags",
3021        "angle_common_library_cflags",
3022        "src_common_vulkan_angle_vulkan_headers",
3023    ],
3024    local_include_dirs: [
3025        "include/",
3026        "src/",
3027        "src/common/base/",
3028        "src/common/third_party/xxhash/",
3029        "src/third_party/volk/",
3030        "third_party/abseil-cpp/",
3031        "third_party/vulkan-headers/src/include/",
3032    ],
3033    cflags: [
3034        "-DABSL_ALLOCATOR_NOTHROW=1",
3035        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3036        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3037        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3038        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3039        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3040        "-DANGLE_SHARED_LIBVULKAN=1",
3041        "-DANGLE_USE_ABSEIL",
3042        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3043        "-DANGLE_VK_LAYERS_DIR=\"angledata\"",
3044        "-DANGLE_VK_MOCK_ICD_JSON=\"angledata/VkICD_mock_icd.json\"",
3045        "-DVK_USE_PLATFORM_ANDROID_KHR",
3046        "-D_FORTIFY_SOURCE=2",
3047        "-D__STDC_CONSTANT_MACROS",
3048        "-D__STDC_FORMAT_MACROS",
3049        "-Wno-gcc-compat",
3050        "-Wno-redundant-parens",
3051        "-Wno-unreachable-code-break",
3052    ],
3053    sdk_version: "28",
3054    stl: "libc++_static",
3055    arch: {
3056        arm64: {
3057            cflags: [
3058                "-D__ARM_NEON__=1",
3059            ],
3060        },
3061    },
3062}
3063
3064cc_defaults {
3065    name: "src_common_vulkan_angle_libvulkan_loader",
3066    srcs: [
3067        "src/common/vulkan/libvulkan_loader.cpp",
3068    ],
3069    static_libs: [
3070        "angle_common",
3071    ],
3072    shared_libs: [
3073        "liblog",
3074        "libnativewindow",
3075    ],
3076    defaults: [
3077        "angle_common_auto_cflags",
3078        "angle_common_library_cflags",
3079    ],
3080    local_include_dirs: [
3081        "include/",
3082        "src/",
3083        "src/common/base/",
3084        "src/common/third_party/xxhash/",
3085        "third_party/abseil-cpp/",
3086    ],
3087    cflags: [
3088        "-DABSL_ALLOCATOR_NOTHROW=1",
3089        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3090        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3091        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3092        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3093        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3094        "-DANGLE_USE_ABSEIL",
3095        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3096        "-D_FORTIFY_SOURCE=2",
3097        "-D__STDC_CONSTANT_MACROS",
3098        "-D__STDC_FORMAT_MACROS",
3099        "-Wno-gcc-compat",
3100        "-Wno-unreachable-code-break",
3101    ],
3102    sdk_version: "28",
3103    stl: "libc++_static",
3104    arch: {
3105        arm64: {
3106            cflags: [
3107                "-D__ARM_NEON__=1",
3108            ],
3109        },
3110    },
3111}
3112
3113cc_library_static {
3114    name: "angle_gpu_info_util",
3115    srcs: [
3116        "src/gpu_info_util/SystemInfo.cpp",
3117        "src/gpu_info_util/SystemInfo_android.cpp",
3118        "src/gpu_info_util/SystemInfo_vulkan.cpp",
3119    ],
3120    static_libs: [
3121        "angle_common",
3122    ],
3123    shared_libs: [
3124        "liblog",
3125        "libnativewindow",
3126    ],
3127    defaults: [
3128        "angle_common_auto_cflags",
3129        "angle_common_library_cflags",
3130        "src_common_vulkan_angle_libvulkan_loader",
3131        "src_common_vulkan_angle_vulkan_icd",
3132        "third_party_vulkan_headers_src_vulkan_headers",
3133    ],
3134    local_include_dirs: [
3135        "include/",
3136        "src/",
3137        "src/common/base/",
3138        "src/common/third_party/xxhash/",
3139        "src/third_party/volk/",
3140        "third_party/abseil-cpp/",
3141        "third_party/vulkan-headers/src/include/",
3142    ],
3143    cflags: [
3144        "-DABSL_ALLOCATOR_NOTHROW=1",
3145        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3146        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3147        "-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
3148        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3149        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3150        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3151        "-DANGLE_ENABLE_VULKAN",
3152        "-DANGLE_ENABLE_VULKAN_SHARED_RING_BUFFER_CMD_ALLOC=false",
3153        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
3154        "-DANGLE_SHARED_LIBVULKAN=1",
3155        "-DANGLE_USE_ABSEIL",
3156        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3157        "-DVK_USE_PLATFORM_ANDROID_KHR",
3158        "-D_FORTIFY_SOURCE=2",
3159        "-D__STDC_CONSTANT_MACROS",
3160        "-D__STDC_FORMAT_MACROS",
3161        "-Wno-gcc-compat",
3162        "-Wno-redundant-parens",
3163        "-Wno-unreachable-code-break",
3164    ],
3165    sdk_version: "28",
3166    stl: "libc++_static",
3167    arch: {
3168        arm64: {
3169            cflags: [
3170                "-D__ARM_NEON__=1",
3171            ],
3172        },
3173    },
3174}
3175
3176cc_defaults {
3177    name: "angle_compression",
3178    static_libs: [
3179        "cpufeatures",
3180        "zlib_google_compression_utils_portable",
3181    ],
3182    shared_libs: [
3183        "libz",
3184    ],
3185    defaults: [
3186        "angle_common_library_cflags",
3187    ],
3188    sdk_version: "28",
3189    stl: "libc++_static",
3190}
3191
3192cc_library_static {
3193    name: "angle_common_shader_state",
3194    srcs: [
3195        "src/common/CompiledShaderState.cpp",
3196    ],
3197    shared_libs: [
3198        "liblog",
3199        "libnativewindow",
3200    ],
3201    defaults: [
3202        "angle_abseil",
3203        "angle_common_auto_cflags",
3204        "angle_common_library_cflags",
3205        "angle_includes",
3206        "angle_xxhash",
3207    ],
3208    local_include_dirs: [
3209        "include/",
3210        "src/",
3211        "src/common/base/",
3212        "src/common/third_party/xxhash/",
3213        "third_party/abseil-cpp/",
3214    ],
3215    cflags: [
3216        "-DABSL_ALLOCATOR_NOTHROW=1",
3217        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3218        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3219        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3220        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3221        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3222        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
3223        "-DANGLE_USE_ABSEIL",
3224        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3225        "-D_FORTIFY_SOURCE=2",
3226        "-D__STDC_CONSTANT_MACROS",
3227        "-D__STDC_FORMAT_MACROS",
3228        "-Wno-gcc-compat",
3229        "-Wno-unreachable-code-break",
3230    ],
3231    sdk_version: "28",
3232    stl: "libc++_static",
3233    arch: {
3234        arm64: {
3235            cflags: [
3236                "-D__ARM_NEON__=1",
3237            ],
3238        },
3239    },
3240}
3241
3242cc_defaults {
3243    name: "angle_libANGLE_no_vulkan",
3244    srcs: [
3245        "src/libANGLE/AttributeMap.cpp",
3246        "src/libANGLE/BlobCache.cpp",
3247        "src/libANGLE/Buffer.cpp",
3248        "src/libANGLE/Caps.cpp",
3249        "src/libANGLE/Compiler.cpp",
3250        "src/libANGLE/Config.cpp",
3251        "src/libANGLE/Context.cpp",
3252        "src/libANGLE/ContextMutex.cpp",
3253        "src/libANGLE/Context_gles_1_0.cpp",
3254        "src/libANGLE/Debug.cpp",
3255        "src/libANGLE/Device.cpp",
3256        "src/libANGLE/Display.cpp",
3257        "src/libANGLE/EGLSync.cpp",
3258        "src/libANGLE/Error.cpp",
3259        "src/libANGLE/Fence.cpp",
3260        "src/libANGLE/Framebuffer.cpp",
3261        "src/libANGLE/FramebufferAttachment.cpp",
3262        "src/libANGLE/GLES1Renderer.cpp",
3263        "src/libANGLE/GLES1State.cpp",
3264        "src/libANGLE/GlobalMutex.cpp",
3265        "src/libANGLE/HandleAllocator.cpp",
3266        "src/libANGLE/Image.cpp",
3267        "src/libANGLE/ImageIndex.cpp",
3268        "src/libANGLE/IndexRangeCache.cpp",
3269        "src/libANGLE/LoggingAnnotator.cpp",
3270        "src/libANGLE/MemoryObject.cpp",
3271        "src/libANGLE/MemoryProgramCache.cpp",
3272        "src/libANGLE/MemoryShaderCache.cpp",
3273        "src/libANGLE/Observer.cpp",
3274        "src/libANGLE/Overlay.cpp",
3275        "src/libANGLE/OverlayWidgets.cpp",
3276        "src/libANGLE/Overlay_autogen.cpp",
3277        "src/libANGLE/Overlay_font_autogen.cpp",
3278        "src/libANGLE/PixelLocalStorage.cpp",
3279        "src/libANGLE/Platform.cpp",
3280        "src/libANGLE/Program.cpp",
3281        "src/libANGLE/ProgramExecutable.cpp",
3282        "src/libANGLE/ProgramLinkedResources.cpp",
3283        "src/libANGLE/ProgramPipeline.cpp",
3284        "src/libANGLE/Query.cpp",
3285        "src/libANGLE/Renderbuffer.cpp",
3286        "src/libANGLE/ResourceManager.cpp",
3287        "src/libANGLE/Sampler.cpp",
3288        "src/libANGLE/Semaphore.cpp",
3289        "src/libANGLE/Shader.cpp",
3290        "src/libANGLE/ShareGroup.cpp",
3291        "src/libANGLE/State.cpp",
3292        "src/libANGLE/Stream.cpp",
3293        "src/libANGLE/Surface.cpp",
3294        "src/libANGLE/Texture.cpp",
3295        "src/libANGLE/Thread.cpp",
3296        "src/libANGLE/TransformFeedback.cpp",
3297        "src/libANGLE/Uniform.cpp",
3298        "src/libANGLE/VaryingPacking.cpp",
3299        "src/libANGLE/VertexArray.cpp",
3300        "src/libANGLE/VertexAttribute.cpp",
3301        "src/libANGLE/angletypes.cpp",
3302        "src/libANGLE/context_private_call_gles.cpp",
3303        "src/libANGLE/es3_copy_conversion_table_autogen.cpp",
3304        "src/libANGLE/format_map_autogen.cpp",
3305        "src/libANGLE/format_map_desktop.cpp",
3306        "src/libANGLE/formatutils.cpp",
3307        "src/libANGLE/gles_extensions_autogen.cpp",
3308        "src/libANGLE/queryconversions.cpp",
3309        "src/libANGLE/queryutils.cpp",
3310        "src/libANGLE/renderer/BufferImpl.cpp",
3311        "src/libANGLE/renderer/ContextImpl.cpp",
3312        "src/libANGLE/renderer/DeviceImpl.cpp",
3313        "src/libANGLE/renderer/DisplayImpl.cpp",
3314        "src/libANGLE/renderer/EGLReusableSync.cpp",
3315        "src/libANGLE/renderer/EGLSyncImpl.cpp",
3316        "src/libANGLE/renderer/Format_table_autogen.cpp",
3317        "src/libANGLE/renderer/FramebufferImpl.cpp",
3318        "src/libANGLE/renderer/ImageImpl.cpp",
3319        "src/libANGLE/renderer/ProgramImpl.cpp",
3320        "src/libANGLE/renderer/ProgramPipelineImpl.cpp",
3321        "src/libANGLE/renderer/QueryImpl.cpp",
3322        "src/libANGLE/renderer/RenderbufferImpl.cpp",
3323        "src/libANGLE/renderer/ShaderImpl.cpp",
3324        "src/libANGLE/renderer/SurfaceImpl.cpp",
3325        "src/libANGLE/renderer/TextureImpl.cpp",
3326        "src/libANGLE/renderer/TransformFeedbackImpl.cpp",
3327        "src/libANGLE/renderer/VertexArrayImpl.cpp",
3328        "src/libANGLE/renderer/driver_utils.cpp",
3329        "src/libANGLE/renderer/load_functions_table_autogen.cpp",
3330        "src/libANGLE/renderer/renderer_utils.cpp",
3331        "src/libANGLE/validationEGL.cpp",
3332        "src/libANGLE/validationES.cpp",
3333        "src/libANGLE/validationES1.cpp",
3334        "src/libANGLE/validationES2.cpp",
3335        "src/libANGLE/validationES3.cpp",
3336        "src/libANGLE/validationES31.cpp",
3337        "src/libANGLE/validationES32.cpp",
3338        "src/libANGLE/validationESEXT.cpp",
3339    ],
3340    static_libs: [
3341        "angle_common",
3342        "angle_common_shader_state",
3343        "angle_gpu_info_util",
3344        "angle_image_util",
3345        "angle_preprocessor",
3346        "angle_translator",
3347        "cpufeatures",
3348        "third_party_spirv_tools_src_spvtools",
3349        "third_party_spirv_tools_src_spvtools_val",
3350        "zlib_google_compression_utils_portable",
3351    ],
3352    shared_libs: [
3353        "liblog",
3354        "libnativewindow",
3355    ],
3356    defaults: [
3357        "angle_common_auto_cflags",
3358        "angle_common_library_cflags",
3359        "angle_compression",
3360        "angle_includes",
3361        "angle_libANGLE_headers",
3362        "angle_version_info",
3363    ],
3364    generated_headers: [
3365        "angle_commit_id",
3366        "angle_program_version_id",
3367        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
3368        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
3369        "third_party_spirv_tools_src_spvtools_generators_inc",
3370        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
3371        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
3372        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
3373        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
3374        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
3375        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
3376        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
3377        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
3378        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
3379        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
3380        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
3381        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
3382        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
3383        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
3384    ],
3385    local_include_dirs: [
3386        "include/",
3387        "src/",
3388        "src/common/base/",
3389        "src/common/third_party/xxhash/",
3390        "third_party/abseil-cpp/",
3391    ],
3392    cflags: [
3393        "-DABSL_ALLOCATOR_NOTHROW=1",
3394        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3395        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3396        "-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
3397        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3398        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3399        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3400        "-DANGLE_ENABLE_VULKAN",
3401        "-DANGLE_ENABLE_VULKAN_SHARED_RING_BUFFER_CMD_ALLOC=false",
3402        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
3403        "-DANGLE_USE_ABSEIL",
3404        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3405        "-DLIBANGLE_IMPLEMENTATION",
3406        "-D_FORTIFY_SOURCE=2",
3407        "-D__STDC_CONSTANT_MACROS",
3408        "-D__STDC_FORMAT_MACROS",
3409        "-Wno-gcc-compat",
3410        "-Wno-unreachable-code-break",
3411    ],
3412    sdk_version: "28",
3413    stl: "libc++_static",
3414    arch: {
3415        arm64: {
3416            cflags: [
3417                "-D__ARM_NEON__=1",
3418            ],
3419        },
3420    },
3421}
3422
3423cc_defaults {
3424    name: "angle_translator_headers",
3425    defaults: [
3426        "angle_common_auto_cflags",
3427        "angle_common_library_cflags",
3428        "angle_includes",
3429    ],
3430    local_include_dirs: [
3431        "include/",
3432        "src/",
3433    ],
3434    cflags: [
3435        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3436        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3437        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3438        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3439        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3440        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3441        "-D_FORTIFY_SOURCE=2",
3442        "-D__STDC_CONSTANT_MACROS",
3443        "-D__STDC_FORMAT_MACROS",
3444    ],
3445    sdk_version: "28",
3446    stl: "libc++_static",
3447    arch: {
3448        arm64: {
3449            cflags: [
3450                "-D__ARM_NEON__=1",
3451            ],
3452        },
3453    },
3454}
3455
3456cc_defaults {
3457    name: "angle_xxhash",
3458    srcs: [
3459        "src/common/third_party/xxhash/xxhash.c",
3460    ],
3461    defaults: [
3462        "angle_common_auto_cflags",
3463        "angle_common_library_cflags",
3464    ],
3465    local_include_dirs: [
3466        "include/",
3467        "src/",
3468    ],
3469    cflags: [
3470        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
3471        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
3472        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
3473        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
3474        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
3475        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
3476        "-D_FORTIFY_SOURCE=2",
3477        "-D__STDC_CONSTANT_MACROS",
3478        "-D__STDC_FORMAT_MACROS",
3479        "-Wno-implicit-fallthrough",
3480    ],
3481    sdk_version: "28",
3482    stl: "libc++_static",
3483    arch: {
3484        arm64: {
3485            cflags: [
3486                "-D__ARM_NEON__=1",
3487            ],
3488        },
3489    },
3490}
3491
3492cc_defaults {
3493    name: "third_party_abseil_cpp_absl_container_flat_hash_set",
3494    defaults: [
3495        "angle_common_auto_cflags",
3496        "angle_common_library_cflags",
3497        "third_party_abseil_cpp_absl_algorithm_container",
3498        "third_party_abseil_cpp_absl_base_core_headers",
3499        "third_party_abseil_cpp_absl_container_container_memory",
3500        "third_party_abseil_cpp_absl_container_hash_container_defaults",
3501        "third_party_abseil_cpp_absl_container_raw_hash_set",
3502        "third_party_abseil_cpp_absl_memory_memory",
3503    ],
3504    local_include_dirs: [
3505        "",
3506        "third_party/abseil-cpp/",
3507    ],
3508    cflags: [
3509        "-DABSL_ALLOCATOR_NOTHROW=1",
3510        "-Wno-c++11-narrowing",
3511        "-Wno-gcc-compat",
3512        "-Wno-misleading-indentation",
3513        "-Wno-unreachable-code-break",
3514        "-Wno-unused-but-set-variable",
3515        "-Wno-unused-variable",
3516    ],
3517    sdk_version: "28",
3518    stl: "libc++_static",
3519    arch: {
3520        arm64: {
3521            cflags: [
3522                "-D__ARM_NEON__=1",
3523            ],
3524        },
3525    },
3526}
3527
3528cc_defaults {
3529    name: "third_party_abseil_cpp_absl_profiling_sample_recorder",
3530    defaults: [
3531        "angle_common_auto_cflags",
3532        "angle_common_library_cflags",
3533        "third_party_abseil_cpp_absl_base_config",
3534        "third_party_abseil_cpp_absl_base_core_headers",
3535        "third_party_abseil_cpp_absl_synchronization_synchronization",
3536        "third_party_abseil_cpp_absl_time_time",
3537    ],
3538    local_include_dirs: [
3539        "",
3540        "third_party/abseil-cpp/",
3541    ],
3542    cflags: [
3543        "-DABSL_ALLOCATOR_NOTHROW=1",
3544        "-Wno-c++11-narrowing",
3545        "-Wno-gcc-compat",
3546        "-Wno-misleading-indentation",
3547        "-Wno-unreachable-code-break",
3548        "-Wno-unused-but-set-variable",
3549        "-Wno-unused-variable",
3550    ],
3551    sdk_version: "28",
3552    stl: "libc++_static",
3553    arch: {
3554        arm64: {
3555            cflags: [
3556                "-D__ARM_NEON__=1",
3557            ],
3558        },
3559    },
3560}
3561
3562cc_defaults {
3563    name: "third_party_abseil_cpp_absl_container_hashtablez_sampler",
3564    srcs: [
3565        "third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc",
3566        "third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
3567    ],
3568    defaults: [
3569        "angle_common_auto_cflags",
3570        "angle_common_library_cflags",
3571        "third_party_abseil_cpp_absl_base_base",
3572        "third_party_abseil_cpp_absl_base_config",
3573        "third_party_abseil_cpp_absl_base_core_headers",
3574        "third_party_abseil_cpp_absl_base_no_destructor",
3575        "third_party_abseil_cpp_absl_base_raw_logging_internal",
3576        "third_party_abseil_cpp_absl_debugging_stacktrace",
3577        "third_party_abseil_cpp_absl_memory_memory",
3578        "third_party_abseil_cpp_absl_profiling_exponential_biased",
3579        "third_party_abseil_cpp_absl_profiling_sample_recorder",
3580        "third_party_abseil_cpp_absl_synchronization_synchronization",
3581        "third_party_abseil_cpp_absl_time_time",
3582        "third_party_abseil_cpp_absl_utility_utility",
3583    ],
3584    local_include_dirs: [
3585        "",
3586        "third_party/abseil-cpp/",
3587    ],
3588    cflags: [
3589        "-DABSL_ALLOCATOR_NOTHROW=1",
3590        "-Wno-c++11-narrowing",
3591        "-Wno-gcc-compat",
3592        "-Wno-misleading-indentation",
3593        "-Wno-unreachable-code-break",
3594        "-Wno-unused-but-set-variable",
3595        "-Wno-unused-variable",
3596    ],
3597    sdk_version: "28",
3598    stl: "libc++_static",
3599    arch: {
3600        arm64: {
3601            cflags: [
3602                "-D__ARM_NEON__=1",
3603            ],
3604        },
3605    },
3606}
3607
3608cc_defaults {
3609    name: "third_party_abseil_cpp_absl_container_hashtable_debug_hooks",
3610    defaults: [
3611        "angle_common_auto_cflags",
3612        "angle_common_library_cflags",
3613        "third_party_abseil_cpp_absl_base_config",
3614    ],
3615    local_include_dirs: [
3616        "",
3617        "third_party/abseil-cpp/",
3618    ],
3619    cflags: [
3620        "-DABSL_ALLOCATOR_NOTHROW=1",
3621        "-Wno-c++11-narrowing",
3622        "-Wno-gcc-compat",
3623        "-Wno-misleading-indentation",
3624        "-Wno-unreachable-code-break",
3625        "-Wno-unused-but-set-variable",
3626        "-Wno-unused-variable",
3627    ],
3628    sdk_version: "28",
3629    stl: "libc++_static",
3630    arch: {
3631        arm64: {
3632            cflags: [
3633                "-D__ARM_NEON__=1",
3634            ],
3635        },
3636    },
3637}
3638
3639cc_defaults {
3640    name: "third_party_abseil_cpp_absl_container_common_policy_traits",
3641    defaults: [
3642        "angle_common_auto_cflags",
3643        "angle_common_library_cflags",
3644        "third_party_abseil_cpp_absl_meta_type_traits",
3645    ],
3646    local_include_dirs: [
3647        "",
3648        "third_party/abseil-cpp/",
3649    ],
3650    cflags: [
3651        "-DABSL_ALLOCATOR_NOTHROW=1",
3652        "-Wno-c++11-narrowing",
3653        "-Wno-gcc-compat",
3654        "-Wno-misleading-indentation",
3655        "-Wno-unreachable-code-break",
3656        "-Wno-unused-but-set-variable",
3657        "-Wno-unused-variable",
3658    ],
3659    sdk_version: "28",
3660    stl: "libc++_static",
3661    arch: {
3662        arm64: {
3663            cflags: [
3664                "-D__ARM_NEON__=1",
3665            ],
3666        },
3667    },
3668}
3669
3670cc_defaults {
3671    name: "third_party_abseil_cpp_absl_container_hash_policy_traits",
3672    defaults: [
3673        "angle_common_auto_cflags",
3674        "angle_common_library_cflags",
3675        "third_party_abseil_cpp_absl_container_common_policy_traits",
3676        "third_party_abseil_cpp_absl_meta_type_traits",
3677    ],
3678    local_include_dirs: [
3679        "",
3680        "third_party/abseil-cpp/",
3681    ],
3682    cflags: [
3683        "-DABSL_ALLOCATOR_NOTHROW=1",
3684        "-Wno-c++11-narrowing",
3685        "-Wno-gcc-compat",
3686        "-Wno-misleading-indentation",
3687        "-Wno-unreachable-code-break",
3688        "-Wno-unused-but-set-variable",
3689        "-Wno-unused-variable",
3690    ],
3691    sdk_version: "28",
3692    stl: "libc++_static",
3693    arch: {
3694        arm64: {
3695            cflags: [
3696                "-D__ARM_NEON__=1",
3697            ],
3698        },
3699    },
3700}
3701
3702cc_defaults {
3703    name: "third_party_abseil_cpp_absl_container_raw_hash_set",
3704    srcs: [
3705        "third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc",
3706    ],
3707    defaults: [
3708        "angle_common_auto_cflags",
3709        "angle_common_library_cflags",
3710        "third_party_abseil_cpp_absl_base_config",
3711        "third_party_abseil_cpp_absl_base_core_headers",
3712        "third_party_abseil_cpp_absl_base_dynamic_annotations",
3713        "third_party_abseil_cpp_absl_base_endian",
3714        "third_party_abseil_cpp_absl_base_prefetch",
3715        "third_party_abseil_cpp_absl_base_raw_logging_internal",
3716        "third_party_abseil_cpp_absl_container_common",
3717        "third_party_abseil_cpp_absl_container_compressed_tuple",
3718        "third_party_abseil_cpp_absl_container_container_memory",
3719        "third_party_abseil_cpp_absl_container_hash_policy_traits",
3720        "third_party_abseil_cpp_absl_container_hashtable_debug_hooks",
3721        "third_party_abseil_cpp_absl_container_hashtablez_sampler",
3722        "third_party_abseil_cpp_absl_hash_hash",
3723        "third_party_abseil_cpp_absl_memory_memory",
3724        "third_party_abseil_cpp_absl_meta_type_traits",
3725        "third_party_abseil_cpp_absl_numeric_bits",
3726        "third_party_abseil_cpp_absl_utility_utility",
3727    ],
3728    local_include_dirs: [
3729        "",
3730        "third_party/abseil-cpp/",
3731    ],
3732    cflags: [
3733        "-DABSL_ALLOCATOR_NOTHROW=1",
3734        "-Wno-c++11-narrowing",
3735        "-Wno-gcc-compat",
3736        "-Wno-misleading-indentation",
3737        "-Wno-unreachable-code-break",
3738        "-Wno-unused-but-set-variable",
3739        "-Wno-unused-variable",
3740    ],
3741    sdk_version: "28",
3742    stl: "libc++_static",
3743    arch: {
3744        arm64: {
3745            cflags: [
3746                "-D__ARM_NEON__=1",
3747            ],
3748        },
3749    },
3750}
3751
3752cc_defaults {
3753    name: "third_party_abseil_cpp_absl_container_raw_hash_map",
3754    defaults: [
3755        "angle_common_auto_cflags",
3756        "angle_common_library_cflags",
3757        "third_party_abseil_cpp_absl_base_config",
3758        "third_party_abseil_cpp_absl_base_core_headers",
3759        "third_party_abseil_cpp_absl_base_throw_delegate",
3760        "third_party_abseil_cpp_absl_container_container_memory",
3761        "third_party_abseil_cpp_absl_container_raw_hash_set",
3762    ],
3763    local_include_dirs: [
3764        "",
3765        "third_party/abseil-cpp/",
3766    ],
3767    cflags: [
3768        "-DABSL_ALLOCATOR_NOTHROW=1",
3769        "-Wno-c++11-narrowing",
3770        "-Wno-gcc-compat",
3771        "-Wno-misleading-indentation",
3772        "-Wno-unreachable-code-break",
3773        "-Wno-unused-but-set-variable",
3774        "-Wno-unused-variable",
3775    ],
3776    sdk_version: "28",
3777    stl: "libc++_static",
3778    arch: {
3779        arm64: {
3780            cflags: [
3781                "-D__ARM_NEON__=1",
3782            ],
3783        },
3784    },
3785}
3786
3787cc_defaults {
3788    name: "third_party_abseil_cpp_absl_strings_cordz_update_scope",
3789    defaults: [
3790        "angle_common_auto_cflags",
3791        "angle_common_library_cflags",
3792        "third_party_abseil_cpp_absl_base_config",
3793        "third_party_abseil_cpp_absl_base_core_headers",
3794        "third_party_abseil_cpp_absl_strings_cord_internal",
3795        "third_party_abseil_cpp_absl_strings_cordz_info",
3796        "third_party_abseil_cpp_absl_strings_cordz_update_tracker",
3797    ],
3798    local_include_dirs: [
3799        "",
3800        "third_party/abseil-cpp/",
3801    ],
3802    cflags: [
3803        "-DABSL_ALLOCATOR_NOTHROW=1",
3804        "-Wno-c++11-narrowing",
3805        "-Wno-gcc-compat",
3806        "-Wno-misleading-indentation",
3807        "-Wno-unreachable-code-break",
3808        "-Wno-unused-but-set-variable",
3809        "-Wno-unused-variable",
3810    ],
3811    sdk_version: "28",
3812    stl: "libc++_static",
3813    arch: {
3814        arm64: {
3815            cflags: [
3816                "-D__ARM_NEON__=1",
3817            ],
3818        },
3819    },
3820}
3821
3822cc_defaults {
3823    name: "third_party_abseil_cpp_absl_strings_cordz_update_tracker",
3824    defaults: [
3825        "angle_common_auto_cflags",
3826        "angle_common_library_cflags",
3827        "third_party_abseil_cpp_absl_base_config",
3828    ],
3829    local_include_dirs: [
3830        "",
3831        "third_party/abseil-cpp/",
3832    ],
3833    cflags: [
3834        "-DABSL_ALLOCATOR_NOTHROW=1",
3835        "-Wno-c++11-narrowing",
3836        "-Wno-gcc-compat",
3837        "-Wno-misleading-indentation",
3838        "-Wno-unreachable-code-break",
3839        "-Wno-unused-but-set-variable",
3840        "-Wno-unused-variable",
3841    ],
3842    sdk_version: "28",
3843    stl: "libc++_static",
3844    arch: {
3845        arm64: {
3846            cflags: [
3847                "-D__ARM_NEON__=1",
3848            ],
3849        },
3850    },
3851}
3852
3853cc_defaults {
3854    name: "third_party_abseil_cpp_absl_strings_cordz_statistics",
3855    defaults: [
3856        "angle_common_auto_cflags",
3857        "angle_common_library_cflags",
3858        "third_party_abseil_cpp_absl_base_config",
3859        "third_party_abseil_cpp_absl_strings_cordz_update_tracker",
3860    ],
3861    local_include_dirs: [
3862        "",
3863        "third_party/abseil-cpp/",
3864    ],
3865    cflags: [
3866        "-DABSL_ALLOCATOR_NOTHROW=1",
3867        "-Wno-c++11-narrowing",
3868        "-Wno-gcc-compat",
3869        "-Wno-misleading-indentation",
3870        "-Wno-unreachable-code-break",
3871        "-Wno-unused-but-set-variable",
3872        "-Wno-unused-variable",
3873    ],
3874    sdk_version: "28",
3875    stl: "libc++_static",
3876    arch: {
3877        arm64: {
3878            cflags: [
3879                "-D__ARM_NEON__=1",
3880            ],
3881        },
3882    },
3883}
3884
3885cc_defaults {
3886    name: "third_party_abseil_cpp_absl_time_internal_cctz_time_zone",
3887    srcs: [
3888        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc",
3889        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc",
3890        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc",
3891        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc",
3892        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc",
3893        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc",
3894        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc",
3895        "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc",
3896        "third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc",
3897    ],
3898    defaults: [
3899        "angle_common_auto_cflags",
3900        "angle_common_library_cflags",
3901        "third_party_abseil_cpp_absl_base_config",
3902        "third_party_abseil_cpp_absl_time_internal_cctz_civil_time",
3903    ],
3904    local_include_dirs: [
3905        "",
3906        "third_party/abseil-cpp/",
3907    ],
3908    cflags: [
3909        "-DABSL_ALLOCATOR_NOTHROW=1",
3910        "-Wno-c++11-narrowing",
3911        "-Wno-gcc-compat",
3912        "-Wno-misleading-indentation",
3913        "-Wno-unreachable-code-break",
3914        "-Wno-unused-but-set-variable",
3915        "-Wno-unused-variable",
3916    ],
3917    sdk_version: "28",
3918    stl: "libc++_static",
3919    arch: {
3920        arm64: {
3921            cflags: [
3922                "-D__ARM_NEON__=1",
3923            ],
3924        },
3925    },
3926}
3927
3928cc_defaults {
3929    name: "third_party_abseil_cpp_absl_time_internal_cctz_civil_time",
3930    srcs: [
3931        "third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc",
3932    ],
3933    defaults: [
3934        "angle_common_auto_cflags",
3935        "angle_common_library_cflags",
3936        "third_party_abseil_cpp_absl_base_config",
3937    ],
3938    local_include_dirs: [
3939        "",
3940        "third_party/abseil-cpp/",
3941    ],
3942    cflags: [
3943        "-DABSL_ALLOCATOR_NOTHROW=1",
3944        "-Wno-c++11-narrowing",
3945        "-Wno-gcc-compat",
3946        "-Wno-misleading-indentation",
3947        "-Wno-unreachable-code-break",
3948        "-Wno-unused-but-set-variable",
3949        "-Wno-unused-variable",
3950    ],
3951    sdk_version: "28",
3952    stl: "libc++_static",
3953    arch: {
3954        arm64: {
3955            cflags: [
3956                "-D__ARM_NEON__=1",
3957            ],
3958        },
3959    },
3960}
3961
3962cc_defaults {
3963    name: "third_party_abseil_cpp_absl_time_time",
3964    srcs: [
3965        "third_party/abseil-cpp/absl/time/civil_time.cc",
3966        "third_party/abseil-cpp/absl/time/clock.cc",
3967        "third_party/abseil-cpp/absl/time/duration.cc",
3968        "third_party/abseil-cpp/absl/time/format.cc",
3969        "third_party/abseil-cpp/absl/time/time.cc",
3970    ],
3971    defaults: [
3972        "angle_common_auto_cflags",
3973        "angle_common_library_cflags",
3974        "third_party_abseil_cpp_absl_base_base",
3975        "third_party_abseil_cpp_absl_base_config",
3976        "third_party_abseil_cpp_absl_base_core_headers",
3977        "third_party_abseil_cpp_absl_base_raw_logging_internal",
3978        "third_party_abseil_cpp_absl_numeric_int128",
3979        "third_party_abseil_cpp_absl_strings_string_view",
3980        "third_party_abseil_cpp_absl_strings_strings",
3981        "third_party_abseil_cpp_absl_time_internal_cctz_civil_time",
3982        "third_party_abseil_cpp_absl_time_internal_cctz_time_zone",
3983        "third_party_abseil_cpp_absl_types_optional",
3984    ],
3985    local_include_dirs: [
3986        "",
3987        "third_party/abseil-cpp/",
3988    ],
3989    cflags: [
3990        "-DABSL_ALLOCATOR_NOTHROW=1",
3991        "-Wno-c++11-narrowing",
3992        "-Wno-gcc-compat",
3993        "-Wno-misleading-indentation",
3994        "-Wno-unreachable-code-break",
3995        "-Wno-unused-but-set-variable",
3996        "-Wno-unused-variable",
3997    ],
3998    sdk_version: "28",
3999    stl: "libc++_static",
4000    arch: {
4001        arm64: {
4002            cflags: [
4003                "-D__ARM_NEON__=1",
4004            ],
4005        },
4006    },
4007}
4008
4009cc_defaults {
4010    name: "third_party_abseil_cpp_absl_synchronization_kernel_timeout_internal",
4011    srcs: [
4012        "third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc",
4013    ],
4014    defaults: [
4015        "angle_common_auto_cflags",
4016        "angle_common_library_cflags",
4017        "third_party_abseil_cpp_absl_base_base",
4018        "third_party_abseil_cpp_absl_base_config",
4019        "third_party_abseil_cpp_absl_base_core_headers",
4020        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4021        "third_party_abseil_cpp_absl_time_time",
4022    ],
4023    local_include_dirs: [
4024        "",
4025        "third_party/abseil-cpp/",
4026    ],
4027    cflags: [
4028        "-DABSL_ALLOCATOR_NOTHROW=1",
4029        "-Wno-c++11-narrowing",
4030        "-Wno-gcc-compat",
4031        "-Wno-misleading-indentation",
4032        "-Wno-unreachable-code-break",
4033        "-Wno-unused-but-set-variable",
4034        "-Wno-unused-variable",
4035    ],
4036    sdk_version: "28",
4037    stl: "libc++_static",
4038    arch: {
4039        arm64: {
4040            cflags: [
4041                "-D__ARM_NEON__=1",
4042            ],
4043        },
4044    },
4045}
4046
4047cc_defaults {
4048    name: "third_party_abseil_cpp_absl_synchronization_graphcycles_internal",
4049    srcs: [
4050        "third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc",
4051    ],
4052    defaults: [
4053        "angle_common_auto_cflags",
4054        "angle_common_library_cflags",
4055        "third_party_abseil_cpp_absl_base_base",
4056        "third_party_abseil_cpp_absl_base_base_internal",
4057        "third_party_abseil_cpp_absl_base_config",
4058        "third_party_abseil_cpp_absl_base_core_headers",
4059        "third_party_abseil_cpp_absl_base_malloc_internal",
4060        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4061    ],
4062    local_include_dirs: [
4063        "",
4064        "third_party/abseil-cpp/",
4065    ],
4066    cflags: [
4067        "-DABSL_ALLOCATOR_NOTHROW=1",
4068        "-Wno-c++11-narrowing",
4069        "-Wno-gcc-compat",
4070        "-Wno-misleading-indentation",
4071        "-Wno-unreachable-code-break",
4072        "-Wno-unused-but-set-variable",
4073        "-Wno-unused-variable",
4074    ],
4075    sdk_version: "28",
4076    stl: "libc++_static",
4077    arch: {
4078        arm64: {
4079            cflags: [
4080                "-D__ARM_NEON__=1",
4081            ],
4082        },
4083    },
4084}
4085
4086cc_defaults {
4087    name: "third_party_abseil_cpp_absl_debugging_symbolize",
4088    srcs: [
4089        "third_party/abseil-cpp/absl/debugging/symbolize.cc",
4090    ],
4091    defaults: [
4092        "angle_common_auto_cflags",
4093        "angle_common_library_cflags",
4094        "third_party_abseil_cpp_absl_base_base",
4095        "third_party_abseil_cpp_absl_base_config",
4096        "third_party_abseil_cpp_absl_base_core_headers",
4097        "third_party_abseil_cpp_absl_base_dynamic_annotations",
4098        "third_party_abseil_cpp_absl_base_malloc_internal",
4099        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4100        "third_party_abseil_cpp_absl_debugging_debugging_internal",
4101        "third_party_abseil_cpp_absl_debugging_demangle_internal",
4102        "third_party_abseil_cpp_absl_strings_string_view",
4103        "third_party_abseil_cpp_absl_strings_strings",
4104    ],
4105    local_include_dirs: [
4106        "",
4107        "third_party/abseil-cpp/",
4108    ],
4109    cflags: [
4110        "-DABSL_ALLOCATOR_NOTHROW=1",
4111        "-Wno-c++11-narrowing",
4112        "-Wno-gcc-compat",
4113        "-Wno-misleading-indentation",
4114        "-Wno-unreachable-code-break",
4115        "-Wno-unused-but-set-variable",
4116        "-Wno-unused-variable",
4117    ],
4118    sdk_version: "28",
4119    stl: "libc++_static",
4120    arch: {
4121        arm64: {
4122            cflags: [
4123                "-D__ARM_NEON__=1",
4124            ],
4125        },
4126    },
4127}
4128
4129cc_defaults {
4130    name: "third_party_abseil_cpp_absl_base_malloc_internal",
4131    srcs: [
4132        "third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc",
4133    ],
4134    defaults: [
4135        "angle_common_auto_cflags",
4136        "angle_common_library_cflags",
4137        "third_party_abseil_cpp_absl_base_base",
4138        "third_party_abseil_cpp_absl_base_base_internal",
4139        "third_party_abseil_cpp_absl_base_config",
4140        "third_party_abseil_cpp_absl_base_core_headers",
4141        "third_party_abseil_cpp_absl_base_dynamic_annotations",
4142        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4143    ],
4144    local_include_dirs: [
4145        "",
4146        "third_party/abseil-cpp/",
4147    ],
4148    cflags: [
4149        "-DABSL_ALLOCATOR_NOTHROW=1",
4150        "-Wno-c++11-narrowing",
4151        "-Wno-gcc-compat",
4152        "-Wno-misleading-indentation",
4153        "-Wno-unreachable-code-break",
4154        "-Wno-unused-but-set-variable",
4155        "-Wno-unused-variable",
4156    ],
4157    sdk_version: "28",
4158    stl: "libc++_static",
4159    arch: {
4160        arm64: {
4161            cflags: [
4162                "-D__ARM_NEON__=1",
4163            ],
4164        },
4165    },
4166}
4167
4168cc_defaults {
4169    name: "third_party_abseil_cpp_absl_synchronization_synchronization",
4170    srcs: [
4171        "third_party/abseil-cpp/absl/synchronization/barrier.cc",
4172        "third_party/abseil-cpp/absl/synchronization/blocking_counter.cc",
4173        "third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc",
4174        "third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc",
4175        "third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc",
4176        "third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc",
4177        "third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc",
4178        "third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc",
4179        "third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc",
4180        "third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc",
4181        "third_party/abseil-cpp/absl/synchronization/mutex.cc",
4182        "third_party/abseil-cpp/absl/synchronization/notification.cc",
4183    ],
4184    defaults: [
4185        "angle_common_auto_cflags",
4186        "angle_common_library_cflags",
4187        "third_party_abseil_cpp_absl_base_atomic_hook",
4188        "third_party_abseil_cpp_absl_base_base",
4189        "third_party_abseil_cpp_absl_base_base_internal",
4190        "third_party_abseil_cpp_absl_base_config",
4191        "third_party_abseil_cpp_absl_base_core_headers",
4192        "third_party_abseil_cpp_absl_base_dynamic_annotations",
4193        "third_party_abseil_cpp_absl_base_malloc_internal",
4194        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4195        "third_party_abseil_cpp_absl_debugging_stacktrace",
4196        "third_party_abseil_cpp_absl_debugging_symbolize",
4197        "third_party_abseil_cpp_absl_synchronization_graphcycles_internal",
4198        "third_party_abseil_cpp_absl_synchronization_kernel_timeout_internal",
4199        "third_party_abseil_cpp_absl_time_time",
4200    ],
4201    local_include_dirs: [
4202        "",
4203        "third_party/abseil-cpp/",
4204    ],
4205    cflags: [
4206        "-DABSL_ALLOCATOR_NOTHROW=1",
4207        "-Wno-c++11-narrowing",
4208        "-Wno-gcc-compat",
4209        "-Wno-misleading-indentation",
4210        "-Wno-unreachable-code-break",
4211        "-Wno-unused-but-set-variable",
4212        "-Wno-unused-variable",
4213    ],
4214    sdk_version: "28",
4215    stl: "libc++_static",
4216    arch: {
4217        arm64: {
4218            cflags: [
4219                "-D__ARM_NEON__=1",
4220            ],
4221        },
4222    },
4223}
4224
4225cc_defaults {
4226    name: "third_party_abseil_cpp_absl_strings_cordz_handle",
4227    srcs: [
4228        "third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc",
4229    ],
4230    defaults: [
4231        "angle_common_auto_cflags",
4232        "angle_common_library_cflags",
4233        "third_party_abseil_cpp_absl_base_config",
4234        "third_party_abseil_cpp_absl_base_no_destructor",
4235        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4236        "third_party_abseil_cpp_absl_synchronization_synchronization",
4237    ],
4238    local_include_dirs: [
4239        "",
4240        "third_party/abseil-cpp/",
4241    ],
4242    cflags: [
4243        "-DABSL_ALLOCATOR_NOTHROW=1",
4244        "-Wno-c++11-narrowing",
4245        "-Wno-gcc-compat",
4246        "-Wno-misleading-indentation",
4247        "-Wno-unreachable-code-break",
4248        "-Wno-unused-but-set-variable",
4249        "-Wno-unused-variable",
4250    ],
4251    sdk_version: "28",
4252    stl: "libc++_static",
4253    arch: {
4254        arm64: {
4255            cflags: [
4256                "-D__ARM_NEON__=1",
4257            ],
4258        },
4259    },
4260}
4261
4262cc_defaults {
4263    name: "third_party_abseil_cpp_absl_debugging_debugging_internal",
4264    srcs: [
4265        "third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc",
4266        "third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc",
4267        "third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc",
4268    ],
4269    defaults: [
4270        "angle_common_auto_cflags",
4271        "angle_common_library_cflags",
4272        "third_party_abseil_cpp_absl_base_config",
4273        "third_party_abseil_cpp_absl_base_core_headers",
4274        "third_party_abseil_cpp_absl_base_dynamic_annotations",
4275        "third_party_abseil_cpp_absl_base_errno_saver",
4276        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4277    ],
4278    local_include_dirs: [
4279        "",
4280        "third_party/abseil-cpp/",
4281    ],
4282    cflags: [
4283        "-DABSL_ALLOCATOR_NOTHROW=1",
4284        "-Wno-c++11-narrowing",
4285        "-Wno-gcc-compat",
4286        "-Wno-misleading-indentation",
4287        "-Wno-unreachable-code-break",
4288        "-Wno-unused-but-set-variable",
4289        "-Wno-unused-variable",
4290    ],
4291    sdk_version: "28",
4292    stl: "libc++_static",
4293    arch: {
4294        arm64: {
4295            cflags: [
4296                "-D__ARM_NEON__=1",
4297            ],
4298        },
4299    },
4300}
4301
4302cc_defaults {
4303    name: "third_party_abseil_cpp_absl_debugging_stacktrace",
4304    srcs: [
4305        "third_party/abseil-cpp/absl/debugging/stacktrace.cc",
4306    ],
4307    defaults: [
4308        "angle_common_auto_cflags",
4309        "angle_common_library_cflags",
4310        "third_party_abseil_cpp_absl_base_config",
4311        "third_party_abseil_cpp_absl_base_core_headers",
4312        "third_party_abseil_cpp_absl_base_dynamic_annotations",
4313        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4314        "third_party_abseil_cpp_absl_debugging_debugging_internal",
4315    ],
4316    local_include_dirs: [
4317        "",
4318        "third_party/abseil-cpp/",
4319    ],
4320    cflags: [
4321        "-DABSL_ALLOCATOR_NOTHROW=1",
4322        "-Wno-c++11-narrowing",
4323        "-Wno-gcc-compat",
4324        "-Wno-misleading-indentation",
4325        "-Wno-unreachable-code-break",
4326        "-Wno-unused-but-set-variable",
4327        "-Wno-unused-variable",
4328    ],
4329    sdk_version: "28",
4330    stl: "libc++_static",
4331    arch: {
4332        arm64: {
4333            cflags: [
4334                "-D__ARM_NEON__=1",
4335            ],
4336        },
4337    },
4338}
4339
4340cc_defaults {
4341    name: "third_party_abseil_cpp_absl_strings_cordz_info",
4342    srcs: [
4343        "third_party/abseil-cpp/absl/strings/internal/cordz_info.cc",
4344    ],
4345    defaults: [
4346        "angle_common_auto_cflags",
4347        "angle_common_library_cflags",
4348        "third_party_abseil_cpp_absl_base_base",
4349        "third_party_abseil_cpp_absl_base_config",
4350        "third_party_abseil_cpp_absl_base_core_headers",
4351        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4352        "third_party_abseil_cpp_absl_container_inlined_vector",
4353        "third_party_abseil_cpp_absl_debugging_stacktrace",
4354        "third_party_abseil_cpp_absl_strings_cord_internal",
4355        "third_party_abseil_cpp_absl_strings_cordz_functions",
4356        "third_party_abseil_cpp_absl_strings_cordz_handle",
4357        "third_party_abseil_cpp_absl_strings_cordz_statistics",
4358        "third_party_abseil_cpp_absl_strings_cordz_update_tracker",
4359        "third_party_abseil_cpp_absl_synchronization_synchronization",
4360        "third_party_abseil_cpp_absl_time_time",
4361        "third_party_abseil_cpp_absl_types_span",
4362    ],
4363    local_include_dirs: [
4364        "",
4365        "third_party/abseil-cpp/",
4366    ],
4367    cflags: [
4368        "-DABSL_ALLOCATOR_NOTHROW=1",
4369        "-Wno-c++11-narrowing",
4370        "-Wno-gcc-compat",
4371        "-Wno-misleading-indentation",
4372        "-Wno-unreachable-code-break",
4373        "-Wno-unused-but-set-variable",
4374        "-Wno-unused-variable",
4375    ],
4376    sdk_version: "28",
4377    stl: "libc++_static",
4378    arch: {
4379        arm64: {
4380            cflags: [
4381                "-D__ARM_NEON__=1",
4382            ],
4383        },
4384    },
4385}
4386
4387cc_defaults {
4388    name: "third_party_abseil_cpp_absl_profiling_exponential_biased",
4389    srcs: [
4390        "third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc",
4391    ],
4392    defaults: [
4393        "angle_common_auto_cflags",
4394        "angle_common_library_cflags",
4395        "third_party_abseil_cpp_absl_base_config",
4396        "third_party_abseil_cpp_absl_base_core_headers",
4397    ],
4398    local_include_dirs: [
4399        "",
4400        "third_party/abseil-cpp/",
4401    ],
4402    cflags: [
4403        "-DABSL_ALLOCATOR_NOTHROW=1",
4404        "-Wno-c++11-narrowing",
4405        "-Wno-gcc-compat",
4406        "-Wno-misleading-indentation",
4407        "-Wno-unreachable-code-break",
4408        "-Wno-unused-but-set-variable",
4409        "-Wno-unused-variable",
4410    ],
4411    sdk_version: "28",
4412    stl: "libc++_static",
4413    arch: {
4414        arm64: {
4415            cflags: [
4416                "-D__ARM_NEON__=1",
4417            ],
4418        },
4419    },
4420}
4421
4422cc_defaults {
4423    name: "third_party_abseil_cpp_absl_strings_cordz_functions",
4424    srcs: [
4425        "third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc",
4426    ],
4427    defaults: [
4428        "angle_common_auto_cflags",
4429        "angle_common_library_cflags",
4430        "third_party_abseil_cpp_absl_base_config",
4431        "third_party_abseil_cpp_absl_base_core_headers",
4432        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4433        "third_party_abseil_cpp_absl_profiling_exponential_biased",
4434    ],
4435    local_include_dirs: [
4436        "",
4437        "third_party/abseil-cpp/",
4438    ],
4439    cflags: [
4440        "-DABSL_ALLOCATOR_NOTHROW=1",
4441        "-Wno-c++11-narrowing",
4442        "-Wno-gcc-compat",
4443        "-Wno-misleading-indentation",
4444        "-Wno-unreachable-code-break",
4445        "-Wno-unused-but-set-variable",
4446        "-Wno-unused-variable",
4447    ],
4448    sdk_version: "28",
4449    stl: "libc++_static",
4450    arch: {
4451        arm64: {
4452            cflags: [
4453                "-D__ARM_NEON__=1",
4454            ],
4455        },
4456    },
4457}
4458
4459cc_defaults {
4460    name: "third_party_abseil_cpp_absl_debugging_demangle_internal",
4461    srcs: [
4462        "third_party/abseil-cpp/absl/debugging/internal/demangle.cc",
4463        "third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc",
4464    ],
4465    defaults: [
4466        "angle_common_auto_cflags",
4467        "angle_common_library_cflags",
4468        "third_party_abseil_cpp_absl_base_base",
4469        "third_party_abseil_cpp_absl_base_config",
4470        "third_party_abseil_cpp_absl_base_core_headers",
4471    ],
4472    local_include_dirs: [
4473        "",
4474        "third_party/abseil-cpp/",
4475    ],
4476    cflags: [
4477        "-DABSL_ALLOCATOR_NOTHROW=1",
4478        "-Wno-c++11-narrowing",
4479        "-Wno-gcc-compat",
4480        "-Wno-misleading-indentation",
4481        "-Wno-unreachable-code-break",
4482        "-Wno-unused-but-set-variable",
4483        "-Wno-unused-variable",
4484    ],
4485    sdk_version: "28",
4486    stl: "libc++_static",
4487    arch: {
4488        arm64: {
4489            cflags: [
4490                "-D__ARM_NEON__=1",
4491            ],
4492        },
4493    },
4494}
4495
4496cc_defaults {
4497    name: "third_party_abseil_cpp_absl_container_layout",
4498    defaults: [
4499        "angle_common_auto_cflags",
4500        "angle_common_library_cflags",
4501        "third_party_abseil_cpp_absl_base_config",
4502        "third_party_abseil_cpp_absl_base_core_headers",
4503        "third_party_abseil_cpp_absl_debugging_demangle_internal",
4504        "third_party_abseil_cpp_absl_meta_type_traits",
4505        "third_party_abseil_cpp_absl_strings_strings",
4506        "third_party_abseil_cpp_absl_types_span",
4507        "third_party_abseil_cpp_absl_utility_utility",
4508    ],
4509    local_include_dirs: [
4510        "",
4511        "third_party/abseil-cpp/",
4512    ],
4513    cflags: [
4514        "-DABSL_ALLOCATOR_NOTHROW=1",
4515        "-Wno-c++11-narrowing",
4516        "-Wno-gcc-compat",
4517        "-Wno-misleading-indentation",
4518        "-Wno-unreachable-code-break",
4519        "-Wno-unused-but-set-variable",
4520        "-Wno-unused-variable",
4521    ],
4522    sdk_version: "28",
4523    stl: "libc++_static",
4524    arch: {
4525        arm64: {
4526            cflags: [
4527                "-D__ARM_NEON__=1",
4528            ],
4529        },
4530    },
4531}
4532
4533cc_defaults {
4534    name: "third_party_abseil_cpp_absl_strings_cord_internal",
4535    srcs: [
4536        "third_party/abseil-cpp/absl/strings/internal/cord_internal.cc",
4537        "third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc",
4538        "third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc",
4539        "third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc",
4540        "third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc",
4541        "third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc",
4542    ],
4543    defaults: [
4544        "angle_common_auto_cflags",
4545        "angle_common_library_cflags",
4546        "third_party_abseil_cpp_absl_base_base_internal",
4547        "third_party_abseil_cpp_absl_base_config",
4548        "third_party_abseil_cpp_absl_base_core_headers",
4549        "third_party_abseil_cpp_absl_base_endian",
4550        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4551        "third_party_abseil_cpp_absl_base_throw_delegate",
4552        "third_party_abseil_cpp_absl_container_compressed_tuple",
4553        "third_party_abseil_cpp_absl_container_container_memory",
4554        "third_party_abseil_cpp_absl_container_inlined_vector",
4555        "third_party_abseil_cpp_absl_container_layout",
4556        "third_party_abseil_cpp_absl_crc_crc_cord_state",
4557        "third_party_abseil_cpp_absl_functional_function_ref",
4558        "third_party_abseil_cpp_absl_meta_type_traits",
4559        "third_party_abseil_cpp_absl_strings_string_view",
4560        "third_party_abseil_cpp_absl_strings_strings",
4561        "third_party_abseil_cpp_absl_types_span",
4562    ],
4563    local_include_dirs: [
4564        "",
4565        "third_party/abseil-cpp/",
4566    ],
4567    cflags: [
4568        "-DABSL_ALLOCATOR_NOTHROW=1",
4569        "-Wno-c++11-narrowing",
4570        "-Wno-gcc-compat",
4571        "-Wno-misleading-indentation",
4572        "-Wno-unreachable-code-break",
4573        "-Wno-unused-but-set-variable",
4574        "-Wno-unused-variable",
4575    ],
4576    sdk_version: "28",
4577    stl: "libc++_static",
4578    arch: {
4579        arm64: {
4580            cflags: [
4581                "-D__ARM_NEON__=1",
4582            ],
4583        },
4584    },
4585}
4586
4587cc_defaults {
4588    name: "third_party_abseil_cpp_absl_base_no_destructor",
4589    defaults: [
4590        "angle_common_auto_cflags",
4591        "angle_common_library_cflags",
4592        "third_party_abseil_cpp_absl_base_config",
4593        "third_party_abseil_cpp_absl_base_nullability",
4594    ],
4595    local_include_dirs: [
4596        "",
4597        "third_party/abseil-cpp/",
4598    ],
4599    cflags: [
4600        "-DABSL_ALLOCATOR_NOTHROW=1",
4601        "-Wno-c++11-narrowing",
4602        "-Wno-gcc-compat",
4603        "-Wno-misleading-indentation",
4604        "-Wno-unreachable-code-break",
4605        "-Wno-unused-but-set-variable",
4606        "-Wno-unused-variable",
4607    ],
4608    sdk_version: "28",
4609    stl: "libc++_static",
4610    arch: {
4611        arm64: {
4612            cflags: [
4613                "-D__ARM_NEON__=1",
4614            ],
4615        },
4616    },
4617}
4618
4619cc_defaults {
4620    name: "third_party_abseil_cpp_absl_crc_crc_cord_state",
4621    srcs: [
4622        "third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc",
4623    ],
4624    defaults: [
4625        "angle_common_auto_cflags",
4626        "angle_common_library_cflags",
4627        "third_party_abseil_cpp_absl_base_config",
4628        "third_party_abseil_cpp_absl_base_no_destructor",
4629        "third_party_abseil_cpp_absl_crc_crc32c",
4630        "third_party_abseil_cpp_absl_numeric_bits",
4631    ],
4632    local_include_dirs: [
4633        "",
4634        "third_party/abseil-cpp/",
4635    ],
4636    cflags: [
4637        "-DABSL_ALLOCATOR_NOTHROW=1",
4638        "-Wno-c++11-narrowing",
4639        "-Wno-gcc-compat",
4640        "-Wno-misleading-indentation",
4641        "-Wno-unreachable-code-break",
4642        "-Wno-unused-but-set-variable",
4643        "-Wno-unused-variable",
4644    ],
4645    sdk_version: "28",
4646    stl: "libc++_static",
4647    arch: {
4648        arm64: {
4649            cflags: [
4650                "-D__ARM_NEON__=1",
4651            ],
4652        },
4653    },
4654}
4655
4656cc_defaults {
4657    name: "third_party_abseil_cpp_absl_strings_internal",
4658    srcs: [
4659        "third_party/abseil-cpp/absl/strings/internal/escaping.cc",
4660        "third_party/abseil-cpp/absl/strings/internal/ostringstream.cc",
4661        "third_party/abseil-cpp/absl/strings/internal/utf8.cc",
4662    ],
4663    defaults: [
4664        "angle_common_auto_cflags",
4665        "angle_common_library_cflags",
4666        "third_party_abseil_cpp_absl_base_config",
4667        "third_party_abseil_cpp_absl_base_core_headers",
4668        "third_party_abseil_cpp_absl_base_endian",
4669        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4670        "third_party_abseil_cpp_absl_meta_type_traits",
4671    ],
4672    local_include_dirs: [
4673        "",
4674        "third_party/abseil-cpp/",
4675    ],
4676    cflags: [
4677        "-DABSL_ALLOCATOR_NOTHROW=1",
4678        "-Wno-c++11-narrowing",
4679        "-Wno-gcc-compat",
4680        "-Wno-misleading-indentation",
4681        "-Wno-unreachable-code-break",
4682        "-Wno-unused-but-set-variable",
4683        "-Wno-unused-variable",
4684    ],
4685    sdk_version: "28",
4686    stl: "libc++_static",
4687    arch: {
4688        arm64: {
4689            cflags: [
4690                "-D__ARM_NEON__=1",
4691            ],
4692        },
4693    },
4694}
4695
4696cc_defaults {
4697    name: "third_party_abseil_cpp_absl_strings_charset",
4698    defaults: [
4699        "angle_common_auto_cflags",
4700        "angle_common_library_cflags",
4701        "third_party_abseil_cpp_absl_base_core_headers",
4702        "third_party_abseil_cpp_absl_strings_string_view",
4703    ],
4704    local_include_dirs: [
4705        "",
4706        "third_party/abseil-cpp/",
4707    ],
4708    cflags: [
4709        "-DABSL_ALLOCATOR_NOTHROW=1",
4710        "-Wno-c++11-narrowing",
4711        "-Wno-gcc-compat",
4712        "-Wno-misleading-indentation",
4713        "-Wno-unreachable-code-break",
4714        "-Wno-unused-but-set-variable",
4715        "-Wno-unused-variable",
4716    ],
4717    sdk_version: "28",
4718    stl: "libc++_static",
4719    arch: {
4720        arm64: {
4721            cflags: [
4722                "-D__ARM_NEON__=1",
4723            ],
4724        },
4725    },
4726}
4727
4728cc_defaults {
4729    name: "third_party_abseil_cpp_absl_strings_strings",
4730    srcs: [
4731        "third_party/abseil-cpp/absl/strings/ascii.cc",
4732        "third_party/abseil-cpp/absl/strings/charconv.cc",
4733        "third_party/abseil-cpp/absl/strings/escaping.cc",
4734        "third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc",
4735        "third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc",
4736        "third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc",
4737        "third_party/abseil-cpp/absl/strings/internal/memutil.cc",
4738        "third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc",
4739        "third_party/abseil-cpp/absl/strings/match.cc",
4740        "third_party/abseil-cpp/absl/strings/numbers.cc",
4741        "third_party/abseil-cpp/absl/strings/str_cat.cc",
4742        "third_party/abseil-cpp/absl/strings/str_replace.cc",
4743        "third_party/abseil-cpp/absl/strings/str_split.cc",
4744        "third_party/abseil-cpp/absl/strings/substitute.cc",
4745    ],
4746    defaults: [
4747        "angle_common_auto_cflags",
4748        "angle_common_library_cflags",
4749        "third_party_abseil_cpp_absl_base_base",
4750        "third_party_abseil_cpp_absl_base_config",
4751        "third_party_abseil_cpp_absl_base_core_headers",
4752        "third_party_abseil_cpp_absl_base_endian",
4753        "third_party_abseil_cpp_absl_base_nullability",
4754        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4755        "third_party_abseil_cpp_absl_base_throw_delegate",
4756        "third_party_abseil_cpp_absl_memory_memory",
4757        "third_party_abseil_cpp_absl_meta_type_traits",
4758        "third_party_abseil_cpp_absl_numeric_bits",
4759        "third_party_abseil_cpp_absl_numeric_int128",
4760        "third_party_abseil_cpp_absl_strings_charset",
4761        "third_party_abseil_cpp_absl_strings_internal",
4762        "third_party_abseil_cpp_absl_strings_string_view",
4763    ],
4764    local_include_dirs: [
4765        "",
4766        "third_party/abseil-cpp/",
4767    ],
4768    cflags: [
4769        "-DABSL_ALLOCATOR_NOTHROW=1",
4770        "-Wno-c++11-narrowing",
4771        "-Wno-gcc-compat",
4772        "-Wno-misleading-indentation",
4773        "-Wno-unreachable-code-break",
4774        "-Wno-unused-but-set-variable",
4775        "-Wno-unused-variable",
4776    ],
4777    sdk_version: "28",
4778    stl: "libc++_static",
4779    arch: {
4780        arm64: {
4781            cflags: [
4782                "-D__ARM_NEON__=1",
4783            ],
4784        },
4785    },
4786}
4787
4788cc_defaults {
4789    name: "third_party_abseil_cpp_absl_numeric_representation",
4790    defaults: [
4791        "angle_common_auto_cflags",
4792        "angle_common_library_cflags",
4793        "third_party_abseil_cpp_absl_base_config",
4794    ],
4795    local_include_dirs: [
4796        "",
4797        "third_party/abseil-cpp/",
4798    ],
4799    cflags: [
4800        "-DABSL_ALLOCATOR_NOTHROW=1",
4801        "-Wno-c++11-narrowing",
4802        "-Wno-gcc-compat",
4803        "-Wno-misleading-indentation",
4804        "-Wno-unreachable-code-break",
4805        "-Wno-unused-but-set-variable",
4806        "-Wno-unused-variable",
4807    ],
4808    sdk_version: "28",
4809    stl: "libc++_static",
4810    arch: {
4811        arm64: {
4812            cflags: [
4813                "-D__ARM_NEON__=1",
4814            ],
4815        },
4816    },
4817}
4818
4819cc_defaults {
4820    name: "third_party_abseil_cpp_absl_strings_str_format_internal",
4821    srcs: [
4822        "third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc",
4823        "third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc",
4824        "third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc",
4825        "third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc",
4826        "third_party/abseil-cpp/absl/strings/internal/str_format/output.cc",
4827        "third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc",
4828    ],
4829    defaults: [
4830        "angle_common_auto_cflags",
4831        "angle_common_library_cflags",
4832        "third_party_abseil_cpp_absl_base_config",
4833        "third_party_abseil_cpp_absl_base_core_headers",
4834        "third_party_abseil_cpp_absl_container_fixed_array",
4835        "third_party_abseil_cpp_absl_container_inlined_vector",
4836        "third_party_abseil_cpp_absl_functional_function_ref",
4837        "third_party_abseil_cpp_absl_meta_type_traits",
4838        "third_party_abseil_cpp_absl_numeric_bits",
4839        "third_party_abseil_cpp_absl_numeric_int128",
4840        "third_party_abseil_cpp_absl_numeric_representation",
4841        "third_party_abseil_cpp_absl_strings_string_view",
4842        "third_party_abseil_cpp_absl_strings_strings",
4843        "third_party_abseil_cpp_absl_types_optional",
4844        "third_party_abseil_cpp_absl_types_span",
4845        "third_party_abseil_cpp_absl_utility_utility",
4846    ],
4847    local_include_dirs: [
4848        "",
4849        "third_party/abseil-cpp/",
4850    ],
4851    cflags: [
4852        "-DABSL_ALLOCATOR_NOTHROW=1",
4853        "-Wno-c++11-narrowing",
4854        "-Wno-gcc-compat",
4855        "-Wno-misleading-indentation",
4856        "-Wno-unreachable-code-break",
4857        "-Wno-unused-but-set-variable",
4858        "-Wno-unused-variable",
4859    ],
4860    sdk_version: "28",
4861    stl: "libc++_static",
4862    arch: {
4863        arm64: {
4864            cflags: [
4865                "-D__ARM_NEON__=1",
4866            ],
4867        },
4868    },
4869}
4870
4871cc_defaults {
4872    name: "third_party_abseil_cpp_absl_strings_str_format",
4873    defaults: [
4874        "angle_common_auto_cflags",
4875        "angle_common_library_cflags",
4876        "third_party_abseil_cpp_absl_base_config",
4877        "third_party_abseil_cpp_absl_base_core_headers",
4878        "third_party_abseil_cpp_absl_base_nullability",
4879        "third_party_abseil_cpp_absl_strings_str_format_internal",
4880        "third_party_abseil_cpp_absl_strings_string_view",
4881        "third_party_abseil_cpp_absl_types_span",
4882    ],
4883    local_include_dirs: [
4884        "",
4885        "third_party/abseil-cpp/",
4886    ],
4887    cflags: [
4888        "-DABSL_ALLOCATOR_NOTHROW=1",
4889        "-Wno-c++11-narrowing",
4890        "-Wno-gcc-compat",
4891        "-Wno-misleading-indentation",
4892        "-Wno-unreachable-code-break",
4893        "-Wno-unused-but-set-variable",
4894        "-Wno-unused-variable",
4895    ],
4896    sdk_version: "28",
4897    stl: "libc++_static",
4898    arch: {
4899        arm64: {
4900            cflags: [
4901                "-D__ARM_NEON__=1",
4902            ],
4903        },
4904    },
4905}
4906
4907cc_defaults {
4908    name: "third_party_abseil_cpp_absl_crc_non_temporal_arm_intrinsics",
4909    defaults: [
4910        "angle_common_auto_cflags",
4911        "angle_common_library_cflags",
4912        "third_party_abseil_cpp_absl_base_config",
4913    ],
4914    local_include_dirs: [
4915        "",
4916        "third_party/abseil-cpp/",
4917    ],
4918    cflags: [
4919        "-DABSL_ALLOCATOR_NOTHROW=1",
4920        "-Wno-c++11-narrowing",
4921        "-Wno-gcc-compat",
4922        "-Wno-misleading-indentation",
4923        "-Wno-unreachable-code-break",
4924        "-Wno-unused-but-set-variable",
4925        "-Wno-unused-variable",
4926    ],
4927    sdk_version: "28",
4928    stl: "libc++_static",
4929    arch: {
4930        arm64: {
4931            cflags: [
4932                "-D__ARM_NEON__=1",
4933            ],
4934        },
4935    },
4936}
4937
4938cc_defaults {
4939    name: "third_party_abseil_cpp_absl_crc_non_temporal_memcpy",
4940    defaults: [
4941        "angle_common_auto_cflags",
4942        "angle_common_library_cflags",
4943        "third_party_abseil_cpp_absl_base_config",
4944        "third_party_abseil_cpp_absl_base_core_headers",
4945        "third_party_abseil_cpp_absl_crc_non_temporal_arm_intrinsics",
4946    ],
4947    local_include_dirs: [
4948        "",
4949        "third_party/abseil-cpp/",
4950    ],
4951    cflags: [
4952        "-DABSL_ALLOCATOR_NOTHROW=1",
4953        "-Wno-c++11-narrowing",
4954        "-Wno-gcc-compat",
4955        "-Wno-misleading-indentation",
4956        "-Wno-unreachable-code-break",
4957        "-Wno-unused-but-set-variable",
4958        "-Wno-unused-variable",
4959    ],
4960    sdk_version: "28",
4961    stl: "libc++_static",
4962    arch: {
4963        arm64: {
4964            cflags: [
4965                "-D__ARM_NEON__=1",
4966            ],
4967        },
4968    },
4969}
4970
4971cc_defaults {
4972    name: "third_party_abseil_cpp_absl_crc_crc_internal",
4973    srcs: [
4974        "third_party/abseil-cpp/absl/crc/internal/crc.cc",
4975        "third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc",
4976    ],
4977    defaults: [
4978        "angle_common_auto_cflags",
4979        "angle_common_library_cflags",
4980        "third_party_abseil_cpp_absl_base_config",
4981        "third_party_abseil_cpp_absl_base_core_headers",
4982        "third_party_abseil_cpp_absl_base_endian",
4983        "third_party_abseil_cpp_absl_base_prefetch",
4984        "third_party_abseil_cpp_absl_base_raw_logging_internal",
4985        "third_party_abseil_cpp_absl_crc_cpu_detect",
4986        "third_party_abseil_cpp_absl_memory_memory",
4987        "third_party_abseil_cpp_absl_numeric_bits",
4988    ],
4989    local_include_dirs: [
4990        "",
4991        "third_party/abseil-cpp/",
4992    ],
4993    cflags: [
4994        "-DABSL_ALLOCATOR_NOTHROW=1",
4995        "-Wno-c++11-narrowing",
4996        "-Wno-gcc-compat",
4997        "-Wno-misleading-indentation",
4998        "-Wno-unreachable-code-break",
4999        "-Wno-unused-but-set-variable",
5000        "-Wno-unused-variable",
5001    ],
5002    sdk_version: "28",
5003    stl: "libc++_static",
5004    arch: {
5005        arm64: {
5006            cflags: [
5007                "-D__ARM_NEON__=1",
5008            ],
5009        },
5010    },
5011}
5012
5013cc_defaults {
5014    name: "third_party_abseil_cpp_absl_crc_cpu_detect",
5015    srcs: [
5016        "third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc",
5017    ],
5018    defaults: [
5019        "angle_common_auto_cflags",
5020        "angle_common_library_cflags",
5021        "third_party_abseil_cpp_absl_base_base",
5022        "third_party_abseil_cpp_absl_base_config",
5023    ],
5024    local_include_dirs: [
5025        "",
5026        "third_party/abseil-cpp/",
5027    ],
5028    cflags: [
5029        "-DABSL_ALLOCATOR_NOTHROW=1",
5030        "-Wno-c++11-narrowing",
5031        "-Wno-gcc-compat",
5032        "-Wno-misleading-indentation",
5033        "-Wno-unreachable-code-break",
5034        "-Wno-unused-but-set-variable",
5035        "-Wno-unused-variable",
5036    ],
5037    sdk_version: "28",
5038    stl: "libc++_static",
5039    arch: {
5040        arm64: {
5041            cflags: [
5042                "-D__ARM_NEON__=1",
5043            ],
5044        },
5045    },
5046}
5047
5048cc_defaults {
5049    name: "third_party_abseil_cpp_absl_crc_crc32c",
5050    srcs: [
5051        "third_party/abseil-cpp/absl/crc/crc32c.cc",
5052        "third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc",
5053        "third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc",
5054        "third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc",
5055    ],
5056    defaults: [
5057        "angle_common_auto_cflags",
5058        "angle_common_library_cflags",
5059        "third_party_abseil_cpp_absl_base_config",
5060        "third_party_abseil_cpp_absl_base_core_headers",
5061        "third_party_abseil_cpp_absl_base_endian",
5062        "third_party_abseil_cpp_absl_base_prefetch",
5063        "third_party_abseil_cpp_absl_crc_cpu_detect",
5064        "third_party_abseil_cpp_absl_crc_crc_internal",
5065        "third_party_abseil_cpp_absl_crc_non_temporal_memcpy",
5066        "third_party_abseil_cpp_absl_strings_str_format",
5067        "third_party_abseil_cpp_absl_strings_string_view",
5068    ],
5069    local_include_dirs: [
5070        "",
5071        "third_party/abseil-cpp/",
5072    ],
5073    cflags: [
5074        "-DABSL_ALLOCATOR_NOTHROW=1",
5075        "-Wno-c++11-narrowing",
5076        "-Wno-gcc-compat",
5077        "-Wno-misleading-indentation",
5078        "-Wno-unreachable-code-break",
5079        "-Wno-unused-but-set-variable",
5080        "-Wno-unused-variable",
5081    ],
5082    sdk_version: "28",
5083    stl: "libc++_static",
5084    arch: {
5085        arm64: {
5086            cflags: [
5087                "-D__ARM_NEON__=1",
5088            ],
5089        },
5090    },
5091}
5092
5093cc_defaults {
5094    name: "third_party_abseil_cpp_absl_types_span",
5095    defaults: [
5096        "angle_common_auto_cflags",
5097        "angle_common_library_cflags",
5098        "third_party_abseil_cpp_absl_algorithm_algorithm",
5099        "third_party_abseil_cpp_absl_base_core_headers",
5100        "third_party_abseil_cpp_absl_base_nullability",
5101        "third_party_abseil_cpp_absl_base_throw_delegate",
5102        "third_party_abseil_cpp_absl_meta_type_traits",
5103    ],
5104    local_include_dirs: [
5105        "",
5106        "third_party/abseil-cpp/",
5107    ],
5108    cflags: [
5109        "-DABSL_ALLOCATOR_NOTHROW=1",
5110        "-Wno-c++11-narrowing",
5111        "-Wno-gcc-compat",
5112        "-Wno-misleading-indentation",
5113        "-Wno-unreachable-code-break",
5114        "-Wno-unused-but-set-variable",
5115        "-Wno-unused-variable",
5116    ],
5117    sdk_version: "28",
5118    stl: "libc++_static",
5119    arch: {
5120        arm64: {
5121            cflags: [
5122                "-D__ARM_NEON__=1",
5123            ],
5124        },
5125    },
5126}
5127
5128cc_defaults {
5129    name: "third_party_abseil_cpp_absl_container_inlined_vector_internal",
5130    defaults: [
5131        "angle_common_auto_cflags",
5132        "angle_common_library_cflags",
5133        "third_party_abseil_cpp_absl_base_base_internal",
5134        "third_party_abseil_cpp_absl_base_config",
5135        "third_party_abseil_cpp_absl_base_core_headers",
5136        "third_party_abseil_cpp_absl_container_compressed_tuple",
5137        "third_party_abseil_cpp_absl_memory_memory",
5138        "third_party_abseil_cpp_absl_meta_type_traits",
5139        "third_party_abseil_cpp_absl_types_span",
5140    ],
5141    local_include_dirs: [
5142        "",
5143        "third_party/abseil-cpp/",
5144    ],
5145    cflags: [
5146        "-DABSL_ALLOCATOR_NOTHROW=1",
5147        "-Wno-c++11-narrowing",
5148        "-Wno-gcc-compat",
5149        "-Wno-misleading-indentation",
5150        "-Wno-unreachable-code-break",
5151        "-Wno-unused-but-set-variable",
5152        "-Wno-unused-variable",
5153    ],
5154    sdk_version: "28",
5155    stl: "libc++_static",
5156    arch: {
5157        arm64: {
5158            cflags: [
5159                "-D__ARM_NEON__=1",
5160            ],
5161        },
5162    },
5163}
5164
5165cc_defaults {
5166    name: "third_party_abseil_cpp_absl_container_inlined_vector",
5167    defaults: [
5168        "angle_common_auto_cflags",
5169        "angle_common_library_cflags",
5170        "third_party_abseil_cpp_absl_algorithm_algorithm",
5171        "third_party_abseil_cpp_absl_base_core_headers",
5172        "third_party_abseil_cpp_absl_base_throw_delegate",
5173        "third_party_abseil_cpp_absl_container_inlined_vector_internal",
5174        "third_party_abseil_cpp_absl_memory_memory",
5175        "third_party_abseil_cpp_absl_meta_type_traits",
5176    ],
5177    local_include_dirs: [
5178        "",
5179        "third_party/abseil-cpp/",
5180    ],
5181    cflags: [
5182        "-DABSL_ALLOCATOR_NOTHROW=1",
5183        "-Wno-c++11-narrowing",
5184        "-Wno-gcc-compat",
5185        "-Wno-misleading-indentation",
5186        "-Wno-unreachable-code-break",
5187        "-Wno-unused-but-set-variable",
5188        "-Wno-unused-variable",
5189    ],
5190    sdk_version: "28",
5191    stl: "libc++_static",
5192    arch: {
5193        arm64: {
5194            cflags: [
5195                "-D__ARM_NEON__=1",
5196            ],
5197        },
5198    },
5199}
5200
5201cc_defaults {
5202    name: "third_party_abseil_cpp_absl_strings_cord",
5203    srcs: [
5204        "third_party/abseil-cpp/absl/strings/cord.cc",
5205        "third_party/abseil-cpp/absl/strings/cord_analysis.cc",
5206        "third_party/abseil-cpp/absl/strings/cord_buffer.cc",
5207    ],
5208    defaults: [
5209        "angle_common_auto_cflags",
5210        "angle_common_library_cflags",
5211        "third_party_abseil_cpp_absl_base_base",
5212        "third_party_abseil_cpp_absl_base_config",
5213        "third_party_abseil_cpp_absl_base_core_headers",
5214        "third_party_abseil_cpp_absl_base_endian",
5215        "third_party_abseil_cpp_absl_base_nullability",
5216        "third_party_abseil_cpp_absl_base_raw_logging_internal",
5217        "third_party_abseil_cpp_absl_container_inlined_vector",
5218        "third_party_abseil_cpp_absl_crc_crc32c",
5219        "third_party_abseil_cpp_absl_crc_crc_cord_state",
5220        "third_party_abseil_cpp_absl_functional_function_ref",
5221        "third_party_abseil_cpp_absl_meta_type_traits",
5222        "third_party_abseil_cpp_absl_numeric_bits",
5223        "third_party_abseil_cpp_absl_strings_cord_internal",
5224        "third_party_abseil_cpp_absl_strings_cordz_functions",
5225        "third_party_abseil_cpp_absl_strings_cordz_info",
5226        "third_party_abseil_cpp_absl_strings_cordz_statistics",
5227        "third_party_abseil_cpp_absl_strings_cordz_update_scope",
5228        "third_party_abseil_cpp_absl_strings_cordz_update_tracker",
5229        "third_party_abseil_cpp_absl_strings_internal",
5230        "third_party_abseil_cpp_absl_strings_string_view",
5231        "third_party_abseil_cpp_absl_strings_strings",
5232        "third_party_abseil_cpp_absl_types_optional",
5233        "third_party_abseil_cpp_absl_types_span",
5234    ],
5235    local_include_dirs: [
5236        "",
5237        "third_party/abseil-cpp/",
5238    ],
5239    cflags: [
5240        "-DABSL_ALLOCATOR_NOTHROW=1",
5241        "-Wno-c++11-narrowing",
5242        "-Wno-gcc-compat",
5243        "-Wno-misleading-indentation",
5244        "-Wno-unreachable-code-break",
5245        "-Wno-unused-but-set-variable",
5246        "-Wno-unused-variable",
5247    ],
5248    sdk_version: "28",
5249    stl: "libc++_static",
5250    arch: {
5251        arm64: {
5252            cflags: [
5253                "-D__ARM_NEON__=1",
5254            ],
5255        },
5256    },
5257}
5258
5259cc_defaults {
5260    name: "third_party_abseil_cpp_absl_types_bad_variant_access",
5261    srcs: [
5262        "third_party/abseil-cpp/absl/types/bad_variant_access.cc",
5263    ],
5264    defaults: [
5265        "angle_common_auto_cflags",
5266        "angle_common_library_cflags",
5267        "third_party_abseil_cpp_absl_base_config",
5268        "third_party_abseil_cpp_absl_base_raw_logging_internal",
5269    ],
5270    local_include_dirs: [
5271        "",
5272        "third_party/abseil-cpp/",
5273    ],
5274    cflags: [
5275        "-DABSL_ALLOCATOR_NOTHROW=1",
5276        "-Wno-c++11-narrowing",
5277        "-Wno-gcc-compat",
5278        "-Wno-misleading-indentation",
5279        "-Wno-unreachable-code-break",
5280        "-Wno-unused-but-set-variable",
5281        "-Wno-unused-variable",
5282    ],
5283    sdk_version: "28",
5284    stl: "libc++_static",
5285    arch: {
5286        arm64: {
5287            cflags: [
5288                "-D__ARM_NEON__=1",
5289            ],
5290        },
5291    },
5292}
5293
5294cc_defaults {
5295    name: "third_party_abseil_cpp_absl_types_variant",
5296    defaults: [
5297        "angle_common_auto_cflags",
5298        "angle_common_library_cflags",
5299        "third_party_abseil_cpp_absl_base_base_internal",
5300        "third_party_abseil_cpp_absl_base_config",
5301        "third_party_abseil_cpp_absl_base_core_headers",
5302        "third_party_abseil_cpp_absl_meta_type_traits",
5303        "third_party_abseil_cpp_absl_types_bad_variant_access",
5304        "third_party_abseil_cpp_absl_utility_utility",
5305    ],
5306    local_include_dirs: [
5307        "",
5308        "third_party/abseil-cpp/",
5309    ],
5310    cflags: [
5311        "-DABSL_ALLOCATOR_NOTHROW=1",
5312        "-Wno-c++11-narrowing",
5313        "-Wno-gcc-compat",
5314        "-Wno-misleading-indentation",
5315        "-Wno-unreachable-code-break",
5316        "-Wno-unused-but-set-variable",
5317        "-Wno-unused-variable",
5318    ],
5319    sdk_version: "28",
5320    stl: "libc++_static",
5321    arch: {
5322        arm64: {
5323            cflags: [
5324                "-D__ARM_NEON__=1",
5325            ],
5326        },
5327    },
5328}
5329
5330cc_defaults {
5331    name: "third_party_abseil_cpp_absl_strings_string_view",
5332    srcs: [
5333        "third_party/abseil-cpp/absl/strings/string_view.cc",
5334    ],
5335    defaults: [
5336        "angle_common_auto_cflags",
5337        "angle_common_library_cflags",
5338        "third_party_abseil_cpp_absl_base_base",
5339        "third_party_abseil_cpp_absl_base_config",
5340        "third_party_abseil_cpp_absl_base_core_headers",
5341        "third_party_abseil_cpp_absl_base_nullability",
5342        "third_party_abseil_cpp_absl_base_throw_delegate",
5343    ],
5344    local_include_dirs: [
5345        "",
5346        "third_party/abseil-cpp/",
5347    ],
5348    cflags: [
5349        "-DABSL_ALLOCATOR_NOTHROW=1",
5350        "-Wno-c++11-narrowing",
5351        "-Wno-gcc-compat",
5352        "-Wno-misleading-indentation",
5353        "-Wno-unreachable-code-break",
5354        "-Wno-unused-but-set-variable",
5355        "-Wno-unused-variable",
5356    ],
5357    sdk_version: "28",
5358    stl: "libc++_static",
5359    arch: {
5360        arm64: {
5361            cflags: [
5362                "-D__ARM_NEON__=1",
5363            ],
5364        },
5365    },
5366}
5367
5368cc_defaults {
5369    name: "third_party_abseil_cpp_absl_types_compare",
5370    defaults: [
5371        "angle_common_auto_cflags",
5372        "angle_common_library_cflags",
5373        "third_party_abseil_cpp_absl_base_config",
5374        "third_party_abseil_cpp_absl_base_core_headers",
5375        "third_party_abseil_cpp_absl_meta_type_traits",
5376    ],
5377    local_include_dirs: [
5378        "",
5379        "third_party/abseil-cpp/",
5380    ],
5381    cflags: [
5382        "-DABSL_ALLOCATOR_NOTHROW=1",
5383        "-Wno-c++11-narrowing",
5384        "-Wno-gcc-compat",
5385        "-Wno-misleading-indentation",
5386        "-Wno-unreachable-code-break",
5387        "-Wno-unused-but-set-variable",
5388        "-Wno-unused-variable",
5389    ],
5390    sdk_version: "28",
5391    stl: "libc++_static",
5392    arch: {
5393        arm64: {
5394            cflags: [
5395                "-D__ARM_NEON__=1",
5396            ],
5397        },
5398    },
5399}
5400
5401cc_defaults {
5402    name: "third_party_abseil_cpp_absl_numeric_bits",
5403    defaults: [
5404        "angle_common_auto_cflags",
5405        "angle_common_library_cflags",
5406        "third_party_abseil_cpp_absl_base_config",
5407        "third_party_abseil_cpp_absl_base_core_headers",
5408    ],
5409    local_include_dirs: [
5410        "",
5411        "third_party/abseil-cpp/",
5412    ],
5413    cflags: [
5414        "-DABSL_ALLOCATOR_NOTHROW=1",
5415        "-Wno-c++11-narrowing",
5416        "-Wno-gcc-compat",
5417        "-Wno-misleading-indentation",
5418        "-Wno-unreachable-code-break",
5419        "-Wno-unused-but-set-variable",
5420        "-Wno-unused-variable",
5421    ],
5422    sdk_version: "28",
5423    stl: "libc++_static",
5424    arch: {
5425        arm64: {
5426            cflags: [
5427                "-D__ARM_NEON__=1",
5428            ],
5429        },
5430    },
5431}
5432
5433cc_defaults {
5434    name: "third_party_abseil_cpp_absl_numeric_int128",
5435    srcs: [
5436        "third_party/abseil-cpp/absl/numeric/int128.cc",
5437    ],
5438    defaults: [
5439        "angle_common_auto_cflags",
5440        "angle_common_library_cflags",
5441        "third_party_abseil_cpp_absl_base_config",
5442        "third_party_abseil_cpp_absl_base_core_headers",
5443        "third_party_abseil_cpp_absl_numeric_bits",
5444        "third_party_abseil_cpp_absl_types_compare",
5445    ],
5446    local_include_dirs: [
5447        "",
5448        "third_party/abseil-cpp/",
5449    ],
5450    cflags: [
5451        "-DABSL_ALLOCATOR_NOTHROW=1",
5452        "-Wno-c++11-narrowing",
5453        "-Wno-gcc-compat",
5454        "-Wno-misleading-indentation",
5455        "-Wno-unreachable-code-break",
5456        "-Wno-unused-but-set-variable",
5457        "-Wno-unused-variable",
5458    ],
5459    sdk_version: "28",
5460    stl: "libc++_static",
5461    arch: {
5462        arm64: {
5463            cflags: [
5464                "-D__ARM_NEON__=1",
5465            ],
5466        },
5467    },
5468}
5469
5470cc_defaults {
5471    name: "third_party_abseil_cpp_absl_base_prefetch",
5472    defaults: [
5473        "angle_common_auto_cflags",
5474        "angle_common_library_cflags",
5475        "third_party_abseil_cpp_absl_base_config",
5476        "third_party_abseil_cpp_absl_base_core_headers",
5477    ],
5478    local_include_dirs: [
5479        "",
5480        "third_party/abseil-cpp/",
5481    ],
5482    cflags: [
5483        "-DABSL_ALLOCATOR_NOTHROW=1",
5484        "-Wno-c++11-narrowing",
5485        "-Wno-gcc-compat",
5486        "-Wno-misleading-indentation",
5487        "-Wno-unreachable-code-break",
5488        "-Wno-unused-but-set-variable",
5489        "-Wno-unused-variable",
5490    ],
5491    sdk_version: "28",
5492    stl: "libc++_static",
5493    arch: {
5494        arm64: {
5495            cflags: [
5496                "-D__ARM_NEON__=1",
5497            ],
5498        },
5499    },
5500}
5501
5502cc_defaults {
5503    name: "third_party_abseil_cpp_absl_hash_low_level_hash",
5504    srcs: [
5505        "third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc",
5506    ],
5507    defaults: [
5508        "angle_common_auto_cflags",
5509        "angle_common_library_cflags",
5510        "third_party_abseil_cpp_absl_base_config",
5511        "third_party_abseil_cpp_absl_base_endian",
5512        "third_party_abseil_cpp_absl_base_prefetch",
5513        "third_party_abseil_cpp_absl_numeric_int128",
5514    ],
5515    local_include_dirs: [
5516        "",
5517        "third_party/abseil-cpp/",
5518    ],
5519    cflags: [
5520        "-DABSL_ALLOCATOR_NOTHROW=1",
5521        "-Wno-c++11-narrowing",
5522        "-Wno-gcc-compat",
5523        "-Wno-misleading-indentation",
5524        "-Wno-unreachable-code-break",
5525        "-Wno-unused-but-set-variable",
5526        "-Wno-unused-variable",
5527    ],
5528    sdk_version: "28",
5529    stl: "libc++_static",
5530    arch: {
5531        arm64: {
5532            cflags: [
5533                "-D__ARM_NEON__=1",
5534            ],
5535        },
5536    },
5537}
5538
5539cc_defaults {
5540    name: "third_party_abseil_cpp_absl_hash_city",
5541    srcs: [
5542        "third_party/abseil-cpp/absl/hash/internal/city.cc",
5543    ],
5544    defaults: [
5545        "angle_common_auto_cflags",
5546        "angle_common_library_cflags",
5547        "third_party_abseil_cpp_absl_base_config",
5548        "third_party_abseil_cpp_absl_base_core_headers",
5549        "third_party_abseil_cpp_absl_base_endian",
5550    ],
5551    local_include_dirs: [
5552        "",
5553        "third_party/abseil-cpp/",
5554    ],
5555    cflags: [
5556        "-DABSL_ALLOCATOR_NOTHROW=1",
5557        "-Wno-c++11-narrowing",
5558        "-Wno-gcc-compat",
5559        "-Wno-misleading-indentation",
5560        "-Wno-unreachable-code-break",
5561        "-Wno-unused-but-set-variable",
5562        "-Wno-unused-variable",
5563    ],
5564    sdk_version: "28",
5565    stl: "libc++_static",
5566    arch: {
5567        arm64: {
5568            cflags: [
5569                "-D__ARM_NEON__=1",
5570            ],
5571        },
5572    },
5573}
5574
5575cc_defaults {
5576    name: "third_party_abseil_cpp_absl_functional_any_invocable",
5577    defaults: [
5578        "angle_common_auto_cflags",
5579        "angle_common_library_cflags",
5580        "third_party_abseil_cpp_absl_base_base_internal",
5581        "third_party_abseil_cpp_absl_base_config",
5582        "third_party_abseil_cpp_absl_base_core_headers",
5583        "third_party_abseil_cpp_absl_meta_type_traits",
5584        "third_party_abseil_cpp_absl_utility_utility",
5585    ],
5586    local_include_dirs: [
5587        "",
5588        "third_party/abseil-cpp/",
5589    ],
5590    cflags: [
5591        "-DABSL_ALLOCATOR_NOTHROW=1",
5592        "-Wno-c++11-narrowing",
5593        "-Wno-gcc-compat",
5594        "-Wno-misleading-indentation",
5595        "-Wno-unreachable-code-break",
5596        "-Wno-unused-but-set-variable",
5597        "-Wno-unused-variable",
5598    ],
5599    sdk_version: "28",
5600    stl: "libc++_static",
5601    arch: {
5602        arm64: {
5603            cflags: [
5604                "-D__ARM_NEON__=1",
5605            ],
5606        },
5607    },
5608}
5609
5610cc_defaults {
5611    name: "third_party_abseil_cpp_absl_functional_function_ref",
5612    defaults: [
5613        "angle_common_auto_cflags",
5614        "angle_common_library_cflags",
5615        "third_party_abseil_cpp_absl_base_base_internal",
5616        "third_party_abseil_cpp_absl_base_core_headers",
5617        "third_party_abseil_cpp_absl_functional_any_invocable",
5618        "third_party_abseil_cpp_absl_meta_type_traits",
5619    ],
5620    local_include_dirs: [
5621        "",
5622        "third_party/abseil-cpp/",
5623    ],
5624    cflags: [
5625        "-DABSL_ALLOCATOR_NOTHROW=1",
5626        "-Wno-c++11-narrowing",
5627        "-Wno-gcc-compat",
5628        "-Wno-misleading-indentation",
5629        "-Wno-unreachable-code-break",
5630        "-Wno-unused-but-set-variable",
5631        "-Wno-unused-variable",
5632    ],
5633    sdk_version: "28",
5634    stl: "libc++_static",
5635    arch: {
5636        arm64: {
5637            cflags: [
5638                "-D__ARM_NEON__=1",
5639            ],
5640        },
5641    },
5642}
5643
5644cc_defaults {
5645    name: "third_party_abseil_cpp_absl_container_compressed_tuple",
5646    defaults: [
5647        "angle_common_auto_cflags",
5648        "angle_common_library_cflags",
5649        "third_party_abseil_cpp_absl_utility_utility",
5650    ],
5651    local_include_dirs: [
5652        "",
5653        "third_party/abseil-cpp/",
5654    ],
5655    cflags: [
5656        "-DABSL_ALLOCATOR_NOTHROW=1",
5657        "-Wno-c++11-narrowing",
5658        "-Wno-gcc-compat",
5659        "-Wno-misleading-indentation",
5660        "-Wno-unreachable-code-break",
5661        "-Wno-unused-but-set-variable",
5662        "-Wno-unused-variable",
5663    ],
5664    sdk_version: "28",
5665    stl: "libc++_static",
5666    arch: {
5667        arm64: {
5668            cflags: [
5669                "-D__ARM_NEON__=1",
5670            ],
5671        },
5672    },
5673}
5674
5675cc_defaults {
5676    name: "third_party_abseil_cpp_absl_base_throw_delegate",
5677    srcs: [
5678        "third_party/abseil-cpp/absl/base/internal/throw_delegate.cc",
5679    ],
5680    defaults: [
5681        "angle_common_auto_cflags",
5682        "angle_common_library_cflags",
5683        "third_party_abseil_cpp_absl_base_config",
5684        "third_party_abseil_cpp_absl_base_raw_logging_internal",
5685    ],
5686    local_include_dirs: [
5687        "",
5688        "third_party/abseil-cpp/",
5689    ],
5690    cflags: [
5691        "-DABSL_ALLOCATOR_NOTHROW=1",
5692        "-Wno-c++11-narrowing",
5693        "-Wno-gcc-compat",
5694        "-Wno-misleading-indentation",
5695        "-Wno-unreachable-code-break",
5696        "-Wno-unused-but-set-variable",
5697        "-Wno-unused-variable",
5698    ],
5699    sdk_version: "28",
5700    stl: "libc++_static",
5701    arch: {
5702        arm64: {
5703            cflags: [
5704                "-D__ARM_NEON__=1",
5705            ],
5706        },
5707    },
5708}
5709
5710cc_defaults {
5711    name: "third_party_abseil_cpp_absl_container_fixed_array",
5712    defaults: [
5713        "angle_common_auto_cflags",
5714        "angle_common_library_cflags",
5715        "third_party_abseil_cpp_absl_algorithm_algorithm",
5716        "third_party_abseil_cpp_absl_base_config",
5717        "third_party_abseil_cpp_absl_base_core_headers",
5718        "third_party_abseil_cpp_absl_base_dynamic_annotations",
5719        "third_party_abseil_cpp_absl_base_throw_delegate",
5720        "third_party_abseil_cpp_absl_container_compressed_tuple",
5721        "third_party_abseil_cpp_absl_memory_memory",
5722    ],
5723    local_include_dirs: [
5724        "",
5725        "third_party/abseil-cpp/",
5726    ],
5727    cflags: [
5728        "-DABSL_ALLOCATOR_NOTHROW=1",
5729        "-Wno-c++11-narrowing",
5730        "-Wno-gcc-compat",
5731        "-Wno-misleading-indentation",
5732        "-Wno-unreachable-code-break",
5733        "-Wno-unused-but-set-variable",
5734        "-Wno-unused-variable",
5735    ],
5736    sdk_version: "28",
5737    stl: "libc++_static",
5738    arch: {
5739        arm64: {
5740            cflags: [
5741                "-D__ARM_NEON__=1",
5742            ],
5743        },
5744    },
5745}
5746
5747cc_defaults {
5748    name: "third_party_abseil_cpp_absl_base_spinlock_wait",
5749    srcs: [
5750        "third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc",
5751    ],
5752    defaults: [
5753        "angle_common_auto_cflags",
5754        "angle_common_library_cflags",
5755        "third_party_abseil_cpp_absl_base_base_internal",
5756        "third_party_abseil_cpp_absl_base_core_headers",
5757        "third_party_abseil_cpp_absl_base_errno_saver",
5758    ],
5759    local_include_dirs: [
5760        "",
5761        "third_party/abseil-cpp/",
5762    ],
5763    cflags: [
5764        "-DABSL_ALLOCATOR_NOTHROW=1",
5765        "-Wno-c++11-narrowing",
5766        "-Wno-gcc-compat",
5767        "-Wno-misleading-indentation",
5768        "-Wno-unreachable-code-break",
5769        "-Wno-unused-but-set-variable",
5770        "-Wno-unused-variable",
5771    ],
5772    sdk_version: "28",
5773    stl: "libc++_static",
5774    arch: {
5775        arm64: {
5776            cflags: [
5777                "-D__ARM_NEON__=1",
5778            ],
5779        },
5780    },
5781}
5782
5783cc_defaults {
5784    name: "third_party_abseil_cpp_absl_base_dynamic_annotations",
5785    defaults: [
5786        "angle_common_auto_cflags",
5787        "angle_common_library_cflags",
5788        "third_party_abseil_cpp_absl_base_config",
5789        "third_party_abseil_cpp_absl_base_core_headers",
5790    ],
5791    local_include_dirs: [
5792        "",
5793        "third_party/abseil-cpp/",
5794    ],
5795    cflags: [
5796        "-DABSL_ALLOCATOR_NOTHROW=1",
5797        "-Wno-c++11-narrowing",
5798        "-Wno-gcc-compat",
5799        "-Wno-misleading-indentation",
5800        "-Wno-unreachable-code-break",
5801        "-Wno-unused-but-set-variable",
5802        "-Wno-unused-variable",
5803    ],
5804    sdk_version: "28",
5805    stl: "libc++_static",
5806    arch: {
5807        arm64: {
5808            cflags: [
5809                "-D__ARM_NEON__=1",
5810            ],
5811        },
5812    },
5813}
5814
5815cc_defaults {
5816    name: "third_party_abseil_cpp_absl_base_cycleclock_internal",
5817    defaults: [
5818        "angle_common_auto_cflags",
5819        "angle_common_library_cflags",
5820        "third_party_abseil_cpp_absl_base_base_internal",
5821        "third_party_abseil_cpp_absl_base_config",
5822    ],
5823    local_include_dirs: [
5824        "",
5825        "third_party/abseil-cpp/",
5826    ],
5827    cflags: [
5828        "-DABSL_ALLOCATOR_NOTHROW=1",
5829        "-Wno-c++11-narrowing",
5830        "-Wno-gcc-compat",
5831        "-Wno-misleading-indentation",
5832        "-Wno-unreachable-code-break",
5833        "-Wno-unused-but-set-variable",
5834        "-Wno-unused-variable",
5835    ],
5836    sdk_version: "28",
5837    stl: "libc++_static",
5838    arch: {
5839        arm64: {
5840            cflags: [
5841                "-D__ARM_NEON__=1",
5842            ],
5843        },
5844    },
5845}
5846
5847cc_defaults {
5848    name: "third_party_abseil_cpp_absl_base_base",
5849    srcs: [
5850        "third_party/abseil-cpp/absl/base/internal/cycleclock.cc",
5851        "third_party/abseil-cpp/absl/base/internal/spinlock.cc",
5852        "third_party/abseil-cpp/absl/base/internal/sysinfo.cc",
5853        "third_party/abseil-cpp/absl/base/internal/thread_identity.cc",
5854        "third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc",
5855    ],
5856    defaults: [
5857        "angle_common_auto_cflags",
5858        "angle_common_library_cflags",
5859        "third_party_abseil_cpp_absl_base_atomic_hook",
5860        "third_party_abseil_cpp_absl_base_base_internal",
5861        "third_party_abseil_cpp_absl_base_config",
5862        "third_party_abseil_cpp_absl_base_core_headers",
5863        "third_party_abseil_cpp_absl_base_cycleclock_internal",
5864        "third_party_abseil_cpp_absl_base_dynamic_annotations",
5865        "third_party_abseil_cpp_absl_base_log_severity",
5866        "third_party_abseil_cpp_absl_base_nullability",
5867        "third_party_abseil_cpp_absl_base_raw_logging_internal",
5868        "third_party_abseil_cpp_absl_base_spinlock_wait",
5869        "third_party_abseil_cpp_absl_meta_type_traits",
5870    ],
5871    local_include_dirs: [
5872        "",
5873        "third_party/abseil-cpp/",
5874    ],
5875    cflags: [
5876        "-DABSL_ALLOCATOR_NOTHROW=1",
5877        "-Wno-c++11-narrowing",
5878        "-Wno-gcc-compat",
5879        "-Wno-misleading-indentation",
5880        "-Wno-unreachable-code-break",
5881        "-Wno-unused-but-set-variable",
5882        "-Wno-unused-variable",
5883    ],
5884    sdk_version: "28",
5885    stl: "libc++_static",
5886    arch: {
5887        arm64: {
5888            cflags: [
5889                "-D__ARM_NEON__=1",
5890            ],
5891        },
5892    },
5893}
5894
5895cc_defaults {
5896    name: "third_party_abseil_cpp_absl_base_endian",
5897    defaults: [
5898        "angle_common_auto_cflags",
5899        "angle_common_library_cflags",
5900        "third_party_abseil_cpp_absl_base_base",
5901        "third_party_abseil_cpp_absl_base_config",
5902        "third_party_abseil_cpp_absl_base_core_headers",
5903        "third_party_abseil_cpp_absl_base_nullability",
5904    ],
5905    local_include_dirs: [
5906        "",
5907        "third_party/abseil-cpp/",
5908    ],
5909    cflags: [
5910        "-DABSL_ALLOCATOR_NOTHROW=1",
5911        "-Wno-c++11-narrowing",
5912        "-Wno-gcc-compat",
5913        "-Wno-misleading-indentation",
5914        "-Wno-unreachable-code-break",
5915        "-Wno-unused-but-set-variable",
5916        "-Wno-unused-variable",
5917    ],
5918    sdk_version: "28",
5919    stl: "libc++_static",
5920    arch: {
5921        arm64: {
5922            cflags: [
5923                "-D__ARM_NEON__=1",
5924            ],
5925        },
5926    },
5927}
5928
5929cc_defaults {
5930    name: "third_party_abseil_cpp_absl_hash_hash",
5931    srcs: [
5932        "third_party/abseil-cpp/absl/hash/internal/hash.cc",
5933    ],
5934    defaults: [
5935        "angle_common_auto_cflags",
5936        "angle_common_library_cflags",
5937        "third_party_abseil_cpp_absl_base_config",
5938        "third_party_abseil_cpp_absl_base_core_headers",
5939        "third_party_abseil_cpp_absl_base_endian",
5940        "third_party_abseil_cpp_absl_container_fixed_array",
5941        "third_party_abseil_cpp_absl_functional_function_ref",
5942        "third_party_abseil_cpp_absl_hash_city",
5943        "third_party_abseil_cpp_absl_hash_low_level_hash",
5944        "third_party_abseil_cpp_absl_meta_type_traits",
5945        "third_party_abseil_cpp_absl_numeric_bits",
5946        "third_party_abseil_cpp_absl_numeric_int128",
5947        "third_party_abseil_cpp_absl_strings_string_view",
5948        "third_party_abseil_cpp_absl_types_optional",
5949        "third_party_abseil_cpp_absl_types_variant",
5950        "third_party_abseil_cpp_absl_utility_utility",
5951    ],
5952    local_include_dirs: [
5953        "",
5954        "third_party/abseil-cpp/",
5955    ],
5956    cflags: [
5957        "-DABSL_ALLOCATOR_NOTHROW=1",
5958        "-Wno-c++11-narrowing",
5959        "-Wno-gcc-compat",
5960        "-Wno-misleading-indentation",
5961        "-Wno-unreachable-code-break",
5962        "-Wno-unused-but-set-variable",
5963        "-Wno-unused-variable",
5964    ],
5965    sdk_version: "28",
5966    stl: "libc++_static",
5967    arch: {
5968        arm64: {
5969            cflags: [
5970                "-D__ARM_NEON__=1",
5971            ],
5972        },
5973    },
5974}
5975
5976cc_defaults {
5977    name: "third_party_abseil_cpp_absl_base_log_severity",
5978    srcs: [
5979        "third_party/abseil-cpp/absl/base/log_severity.cc",
5980    ],
5981    defaults: [
5982        "angle_common_auto_cflags",
5983        "angle_common_library_cflags",
5984        "third_party_abseil_cpp_absl_base_config",
5985        "third_party_abseil_cpp_absl_base_core_headers",
5986    ],
5987    local_include_dirs: [
5988        "",
5989        "third_party/abseil-cpp/",
5990    ],
5991    cflags: [
5992        "-DABSL_ALLOCATOR_NOTHROW=1",
5993        "-Wno-c++11-narrowing",
5994        "-Wno-gcc-compat",
5995        "-Wno-misleading-indentation",
5996        "-Wno-unreachable-code-break",
5997        "-Wno-unused-but-set-variable",
5998        "-Wno-unused-variable",
5999    ],
6000    sdk_version: "28",
6001    stl: "libc++_static",
6002    arch: {
6003        arm64: {
6004            cflags: [
6005                "-D__ARM_NEON__=1",
6006            ],
6007        },
6008    },
6009}
6010
6011cc_defaults {
6012    name: "third_party_abseil_cpp_absl_base_errno_saver",
6013    defaults: [
6014        "angle_common_auto_cflags",
6015        "angle_common_library_cflags",
6016        "third_party_abseil_cpp_absl_base_config",
6017    ],
6018    local_include_dirs: [
6019        "",
6020        "third_party/abseil-cpp/",
6021    ],
6022    cflags: [
6023        "-DABSL_ALLOCATOR_NOTHROW=1",
6024        "-Wno-c++11-narrowing",
6025        "-Wno-gcc-compat",
6026        "-Wno-misleading-indentation",
6027        "-Wno-unreachable-code-break",
6028        "-Wno-unused-but-set-variable",
6029        "-Wno-unused-variable",
6030    ],
6031    sdk_version: "28",
6032    stl: "libc++_static",
6033    arch: {
6034        arm64: {
6035            cflags: [
6036                "-D__ARM_NEON__=1",
6037            ],
6038        },
6039    },
6040}
6041
6042cc_defaults {
6043    name: "third_party_abseil_cpp_absl_base_atomic_hook",
6044    defaults: [
6045        "angle_common_auto_cflags",
6046        "angle_common_library_cflags",
6047        "third_party_abseil_cpp_absl_base_config",
6048        "third_party_abseil_cpp_absl_base_core_headers",
6049    ],
6050    local_include_dirs: [
6051        "",
6052        "third_party/abseil-cpp/",
6053    ],
6054    cflags: [
6055        "-DABSL_ALLOCATOR_NOTHROW=1",
6056        "-Wno-c++11-narrowing",
6057        "-Wno-gcc-compat",
6058        "-Wno-misleading-indentation",
6059        "-Wno-unreachable-code-break",
6060        "-Wno-unused-but-set-variable",
6061        "-Wno-unused-variable",
6062    ],
6063    sdk_version: "28",
6064    stl: "libc++_static",
6065    arch: {
6066        arm64: {
6067            cflags: [
6068                "-D__ARM_NEON__=1",
6069            ],
6070        },
6071    },
6072}
6073
6074cc_defaults {
6075    name: "third_party_abseil_cpp_absl_base_raw_logging_internal",
6076    srcs: [
6077        "third_party/abseil-cpp/absl/base/internal/raw_logging.cc",
6078    ],
6079    defaults: [
6080        "angle_common_auto_cflags",
6081        "angle_common_library_cflags",
6082        "third_party_abseil_cpp_absl_base_atomic_hook",
6083        "third_party_abseil_cpp_absl_base_config",
6084        "third_party_abseil_cpp_absl_base_core_headers",
6085        "third_party_abseil_cpp_absl_base_errno_saver",
6086        "third_party_abseil_cpp_absl_base_log_severity",
6087    ],
6088    local_include_dirs: [
6089        "",
6090        "third_party/abseil-cpp/",
6091    ],
6092    cflags: [
6093        "-DABSL_ALLOCATOR_NOTHROW=1",
6094        "-Wno-c++11-narrowing",
6095        "-Wno-gcc-compat",
6096        "-Wno-misleading-indentation",
6097        "-Wno-unreachable-code-break",
6098        "-Wno-unused-but-set-variable",
6099        "-Wno-unused-variable",
6100    ],
6101    sdk_version: "28",
6102    stl: "libc++_static",
6103    arch: {
6104        arm64: {
6105            cflags: [
6106                "-D__ARM_NEON__=1",
6107            ],
6108        },
6109    },
6110}
6111
6112cc_defaults {
6113    name: "third_party_abseil_cpp_absl_types_bad_optional_access",
6114    srcs: [
6115        "third_party/abseil-cpp/absl/types/bad_optional_access.cc",
6116    ],
6117    defaults: [
6118        "angle_common_auto_cflags",
6119        "angle_common_library_cflags",
6120        "third_party_abseil_cpp_absl_base_config",
6121        "third_party_abseil_cpp_absl_base_raw_logging_internal",
6122    ],
6123    local_include_dirs: [
6124        "",
6125        "third_party/abseil-cpp/",
6126    ],
6127    cflags: [
6128        "-DABSL_ALLOCATOR_NOTHROW=1",
6129        "-Wno-c++11-narrowing",
6130        "-Wno-gcc-compat",
6131        "-Wno-misleading-indentation",
6132        "-Wno-unreachable-code-break",
6133        "-Wno-unused-but-set-variable",
6134        "-Wno-unused-variable",
6135    ],
6136    sdk_version: "28",
6137    stl: "libc++_static",
6138    arch: {
6139        arm64: {
6140            cflags: [
6141                "-D__ARM_NEON__=1",
6142            ],
6143        },
6144    },
6145}
6146
6147cc_defaults {
6148    name: "third_party_abseil_cpp_absl_types_optional",
6149    defaults: [
6150        "angle_common_auto_cflags",
6151        "angle_common_library_cflags",
6152        "third_party_abseil_cpp_absl_base_base_internal",
6153        "third_party_abseil_cpp_absl_base_config",
6154        "third_party_abseil_cpp_absl_base_core_headers",
6155        "third_party_abseil_cpp_absl_base_nullability",
6156        "third_party_abseil_cpp_absl_memory_memory",
6157        "third_party_abseil_cpp_absl_meta_type_traits",
6158        "third_party_abseil_cpp_absl_types_bad_optional_access",
6159        "third_party_abseil_cpp_absl_utility_utility",
6160    ],
6161    local_include_dirs: [
6162        "",
6163        "third_party/abseil-cpp/",
6164    ],
6165    cflags: [
6166        "-DABSL_ALLOCATOR_NOTHROW=1",
6167        "-Wno-c++11-narrowing",
6168        "-Wno-gcc-compat",
6169        "-Wno-misleading-indentation",
6170        "-Wno-unreachable-code-break",
6171        "-Wno-unused-but-set-variable",
6172        "-Wno-unused-variable",
6173    ],
6174    sdk_version: "28",
6175    stl: "libc++_static",
6176    arch: {
6177        arm64: {
6178            cflags: [
6179                "-D__ARM_NEON__=1",
6180            ],
6181        },
6182    },
6183}
6184
6185cc_defaults {
6186    name: "third_party_abseil_cpp_absl_container_common",
6187    defaults: [
6188        "angle_common_auto_cflags",
6189        "angle_common_library_cflags",
6190        "third_party_abseil_cpp_absl_meta_type_traits",
6191        "third_party_abseil_cpp_absl_types_optional",
6192    ],
6193    local_include_dirs: [
6194        "",
6195        "third_party/abseil-cpp/",
6196    ],
6197    cflags: [
6198        "-DABSL_ALLOCATOR_NOTHROW=1",
6199        "-Wno-c++11-narrowing",
6200        "-Wno-gcc-compat",
6201        "-Wno-misleading-indentation",
6202        "-Wno-unreachable-code-break",
6203        "-Wno-unused-but-set-variable",
6204        "-Wno-unused-variable",
6205    ],
6206    sdk_version: "28",
6207    stl: "libc++_static",
6208    arch: {
6209        arm64: {
6210            cflags: [
6211                "-D__ARM_NEON__=1",
6212            ],
6213        },
6214    },
6215}
6216
6217cc_defaults {
6218    name: "third_party_abseil_cpp_absl_container_hash_function_defaults",
6219    defaults: [
6220        "angle_common_auto_cflags",
6221        "angle_common_library_cflags",
6222        "third_party_abseil_cpp_absl_base_config",
6223        "third_party_abseil_cpp_absl_container_common",
6224        "third_party_abseil_cpp_absl_hash_hash",
6225        "third_party_abseil_cpp_absl_meta_type_traits",
6226        "third_party_abseil_cpp_absl_strings_cord",
6227        "third_party_abseil_cpp_absl_strings_string_view",
6228        "third_party_abseil_cpp_absl_strings_strings",
6229    ],
6230    local_include_dirs: [
6231        "",
6232        "third_party/abseil-cpp/",
6233    ],
6234    cflags: [
6235        "-DABSL_ALLOCATOR_NOTHROW=1",
6236        "-Wno-c++11-narrowing",
6237        "-Wno-gcc-compat",
6238        "-Wno-misleading-indentation",
6239        "-Wno-unreachable-code-break",
6240        "-Wno-unused-but-set-variable",
6241        "-Wno-unused-variable",
6242    ],
6243    sdk_version: "28",
6244    stl: "libc++_static",
6245    arch: {
6246        arm64: {
6247            cflags: [
6248                "-D__ARM_NEON__=1",
6249            ],
6250        },
6251    },
6252}
6253
6254cc_defaults {
6255    name: "third_party_abseil_cpp_absl_container_hash_container_defaults",
6256    defaults: [
6257        "angle_common_auto_cflags",
6258        "angle_common_library_cflags",
6259        "third_party_abseil_cpp_absl_base_config",
6260        "third_party_abseil_cpp_absl_container_hash_function_defaults",
6261    ],
6262    local_include_dirs: [
6263        "",
6264        "third_party/abseil-cpp/",
6265    ],
6266    cflags: [
6267        "-DABSL_ALLOCATOR_NOTHROW=1",
6268        "-Wno-c++11-narrowing",
6269        "-Wno-gcc-compat",
6270        "-Wno-misleading-indentation",
6271        "-Wno-unreachable-code-break",
6272        "-Wno-unused-but-set-variable",
6273        "-Wno-unused-variable",
6274    ],
6275    sdk_version: "28",
6276    stl: "libc++_static",
6277    arch: {
6278        arm64: {
6279            cflags: [
6280                "-D__ARM_NEON__=1",
6281            ],
6282        },
6283    },
6284}
6285
6286cc_defaults {
6287    name: "third_party_abseil_cpp_absl_base_base_internal",
6288    defaults: [
6289        "angle_common_auto_cflags",
6290        "angle_common_library_cflags",
6291        "third_party_abseil_cpp_absl_base_config",
6292        "third_party_abseil_cpp_absl_meta_type_traits",
6293    ],
6294    local_include_dirs: [
6295        "",
6296        "third_party/abseil-cpp/",
6297    ],
6298    cflags: [
6299        "-DABSL_ALLOCATOR_NOTHROW=1",
6300        "-Wno-c++11-narrowing",
6301        "-Wno-gcc-compat",
6302        "-Wno-misleading-indentation",
6303        "-Wno-unreachable-code-break",
6304        "-Wno-unused-but-set-variable",
6305        "-Wno-unused-variable",
6306    ],
6307    sdk_version: "28",
6308    stl: "libc++_static",
6309    arch: {
6310        arm64: {
6311            cflags: [
6312                "-D__ARM_NEON__=1",
6313            ],
6314        },
6315    },
6316}
6317
6318cc_defaults {
6319    name: "third_party_abseil_cpp_absl_utility_utility",
6320    defaults: [
6321        "angle_common_auto_cflags",
6322        "angle_common_library_cflags",
6323        "third_party_abseil_cpp_absl_base_base_internal",
6324        "third_party_abseil_cpp_absl_base_config",
6325        "third_party_abseil_cpp_absl_meta_type_traits",
6326    ],
6327    local_include_dirs: [
6328        "",
6329        "third_party/abseil-cpp/",
6330    ],
6331    cflags: [
6332        "-DABSL_ALLOCATOR_NOTHROW=1",
6333        "-Wno-c++11-narrowing",
6334        "-Wno-gcc-compat",
6335        "-Wno-misleading-indentation",
6336        "-Wno-unreachable-code-break",
6337        "-Wno-unused-but-set-variable",
6338        "-Wno-unused-variable",
6339    ],
6340    sdk_version: "28",
6341    stl: "libc++_static",
6342    arch: {
6343        arm64: {
6344            cflags: [
6345                "-D__ARM_NEON__=1",
6346            ],
6347        },
6348    },
6349}
6350
6351cc_defaults {
6352    name: "third_party_abseil_cpp_absl_memory_memory",
6353    defaults: [
6354        "angle_common_auto_cflags",
6355        "angle_common_library_cflags",
6356        "third_party_abseil_cpp_absl_base_core_headers",
6357        "third_party_abseil_cpp_absl_meta_type_traits",
6358    ],
6359    local_include_dirs: [
6360        "",
6361        "third_party/abseil-cpp/",
6362    ],
6363    cflags: [
6364        "-DABSL_ALLOCATOR_NOTHROW=1",
6365        "-Wno-c++11-narrowing",
6366        "-Wno-gcc-compat",
6367        "-Wno-misleading-indentation",
6368        "-Wno-unreachable-code-break",
6369        "-Wno-unused-but-set-variable",
6370        "-Wno-unused-variable",
6371    ],
6372    sdk_version: "28",
6373    stl: "libc++_static",
6374    arch: {
6375        arm64: {
6376            cflags: [
6377                "-D__ARM_NEON__=1",
6378            ],
6379        },
6380    },
6381}
6382
6383cc_defaults {
6384    name: "third_party_abseil_cpp_absl_container_container_memory",
6385    defaults: [
6386        "angle_common_auto_cflags",
6387        "angle_common_library_cflags",
6388        "third_party_abseil_cpp_absl_base_config",
6389        "third_party_abseil_cpp_absl_memory_memory",
6390        "third_party_abseil_cpp_absl_meta_type_traits",
6391        "third_party_abseil_cpp_absl_utility_utility",
6392    ],
6393    local_include_dirs: [
6394        "",
6395        "third_party/abseil-cpp/",
6396    ],
6397    cflags: [
6398        "-DABSL_ALLOCATOR_NOTHROW=1",
6399        "-Wno-c++11-narrowing",
6400        "-Wno-gcc-compat",
6401        "-Wno-misleading-indentation",
6402        "-Wno-unreachable-code-break",
6403        "-Wno-unused-but-set-variable",
6404        "-Wno-unused-variable",
6405    ],
6406    sdk_version: "28",
6407    stl: "libc++_static",
6408    arch: {
6409        arm64: {
6410            cflags: [
6411                "-D__ARM_NEON__=1",
6412            ],
6413        },
6414    },
6415}
6416
6417cc_defaults {
6418    name: "third_party_abseil_cpp_absl_meta_type_traits",
6419    defaults: [
6420        "angle_common_auto_cflags",
6421        "angle_common_library_cflags",
6422        "third_party_abseil_cpp_absl_base_config",
6423        "third_party_abseil_cpp_absl_base_core_headers",
6424    ],
6425    local_include_dirs: [
6426        "",
6427        "third_party/abseil-cpp/",
6428    ],
6429    cflags: [
6430        "-DABSL_ALLOCATOR_NOTHROW=1",
6431        "-Wno-c++11-narrowing",
6432        "-Wno-gcc-compat",
6433        "-Wno-misleading-indentation",
6434        "-Wno-unreachable-code-break",
6435        "-Wno-unused-but-set-variable",
6436        "-Wno-unused-variable",
6437    ],
6438    sdk_version: "28",
6439    stl: "libc++_static",
6440    arch: {
6441        arm64: {
6442            cflags: [
6443                "-D__ARM_NEON__=1",
6444            ],
6445        },
6446    },
6447}
6448
6449cc_defaults {
6450    name: "third_party_abseil_cpp_absl_base_nullability",
6451    defaults: [
6452        "angle_common_auto_cflags",
6453        "angle_common_library_cflags",
6454        "third_party_abseil_cpp_absl_base_core_headers",
6455        "third_party_abseil_cpp_absl_meta_type_traits",
6456    ],
6457    local_include_dirs: [
6458        "",
6459        "third_party/abseil-cpp/",
6460    ],
6461    cflags: [
6462        "-DABSL_ALLOCATOR_NOTHROW=1",
6463        "-Wno-c++11-narrowing",
6464        "-Wno-gcc-compat",
6465        "-Wno-misleading-indentation",
6466        "-Wno-unreachable-code-break",
6467        "-Wno-unused-but-set-variable",
6468        "-Wno-unused-variable",
6469    ],
6470    sdk_version: "28",
6471    stl: "libc++_static",
6472    arch: {
6473        arm64: {
6474            cflags: [
6475                "-D__ARM_NEON__=1",
6476            ],
6477        },
6478    },
6479}
6480
6481cc_defaults {
6482    name: "third_party_abseil_cpp_absl_base_core_headers",
6483    defaults: [
6484        "angle_common_auto_cflags",
6485        "angle_common_library_cflags",
6486        "third_party_abseil_cpp_absl_base_config",
6487    ],
6488    local_include_dirs: [
6489        "",
6490        "third_party/abseil-cpp/",
6491    ],
6492    cflags: [
6493        "-DABSL_ALLOCATOR_NOTHROW=1",
6494        "-Wno-c++11-narrowing",
6495        "-Wno-gcc-compat",
6496        "-Wno-misleading-indentation",
6497        "-Wno-unreachable-code-break",
6498        "-Wno-unused-but-set-variable",
6499        "-Wno-unused-variable",
6500    ],
6501    sdk_version: "28",
6502    stl: "libc++_static",
6503    arch: {
6504        arm64: {
6505            cflags: [
6506                "-D__ARM_NEON__=1",
6507            ],
6508        },
6509    },
6510}
6511
6512cc_defaults {
6513    name: "third_party_abseil_cpp_absl_base_config",
6514    defaults: [
6515        "angle_common_auto_cflags",
6516        "angle_common_library_cflags",
6517    ],
6518    local_include_dirs: [
6519        "",
6520        "third_party/abseil-cpp/",
6521    ],
6522    cflags: [
6523        "-DABSL_ALLOCATOR_NOTHROW=1",
6524        "-Wno-c++11-narrowing",
6525        "-Wno-gcc-compat",
6526        "-Wno-misleading-indentation",
6527        "-Wno-unreachable-code-break",
6528        "-Wno-unused-but-set-variable",
6529        "-Wno-unused-variable",
6530    ],
6531    sdk_version: "28",
6532    stl: "libc++_static",
6533    arch: {
6534        arm64: {
6535            cflags: [
6536                "-D__ARM_NEON__=1",
6537            ],
6538        },
6539    },
6540}
6541
6542cc_defaults {
6543    name: "third_party_abseil_cpp_absl_algorithm_algorithm",
6544    defaults: [
6545        "angle_common_auto_cflags",
6546        "angle_common_library_cflags",
6547        "third_party_abseil_cpp_absl_base_config",
6548    ],
6549    local_include_dirs: [
6550        "",
6551        "third_party/abseil-cpp/",
6552    ],
6553    cflags: [
6554        "-DABSL_ALLOCATOR_NOTHROW=1",
6555        "-Wno-c++11-narrowing",
6556        "-Wno-gcc-compat",
6557        "-Wno-misleading-indentation",
6558        "-Wno-unreachable-code-break",
6559        "-Wno-unused-but-set-variable",
6560        "-Wno-unused-variable",
6561    ],
6562    sdk_version: "28",
6563    stl: "libc++_static",
6564    arch: {
6565        arm64: {
6566            cflags: [
6567                "-D__ARM_NEON__=1",
6568            ],
6569        },
6570    },
6571}
6572
6573cc_defaults {
6574    name: "third_party_abseil_cpp_absl_algorithm_container",
6575    defaults: [
6576        "angle_common_auto_cflags",
6577        "angle_common_library_cflags",
6578        "third_party_abseil_cpp_absl_algorithm_algorithm",
6579        "third_party_abseil_cpp_absl_base_core_headers",
6580        "third_party_abseil_cpp_absl_base_nullability",
6581        "third_party_abseil_cpp_absl_meta_type_traits",
6582    ],
6583    local_include_dirs: [
6584        "",
6585        "third_party/abseil-cpp/",
6586    ],
6587    cflags: [
6588        "-DABSL_ALLOCATOR_NOTHROW=1",
6589        "-Wno-c++11-narrowing",
6590        "-Wno-gcc-compat",
6591        "-Wno-misleading-indentation",
6592        "-Wno-unreachable-code-break",
6593        "-Wno-unused-but-set-variable",
6594        "-Wno-unused-variable",
6595    ],
6596    sdk_version: "28",
6597    stl: "libc++_static",
6598    arch: {
6599        arm64: {
6600            cflags: [
6601                "-D__ARM_NEON__=1",
6602            ],
6603        },
6604    },
6605}
6606
6607cc_defaults {
6608    name: "third_party_abseil_cpp_absl_container_flat_hash_map",
6609    defaults: [
6610        "angle_common_auto_cflags",
6611        "angle_common_library_cflags",
6612        "third_party_abseil_cpp_absl_algorithm_container",
6613        "third_party_abseil_cpp_absl_base_core_headers",
6614        "third_party_abseil_cpp_absl_container_container_memory",
6615        "third_party_abseil_cpp_absl_container_hash_container_defaults",
6616        "third_party_abseil_cpp_absl_container_raw_hash_map",
6617        "third_party_abseil_cpp_absl_memory_memory",
6618    ],
6619    local_include_dirs: [
6620        "",
6621        "third_party/abseil-cpp/",
6622    ],
6623    cflags: [
6624        "-DABSL_ALLOCATOR_NOTHROW=1",
6625        "-Wno-c++11-narrowing",
6626        "-Wno-gcc-compat",
6627        "-Wno-misleading-indentation",
6628        "-Wno-unreachable-code-break",
6629        "-Wno-unused-but-set-variable",
6630        "-Wno-unused-variable",
6631    ],
6632    sdk_version: "28",
6633    stl: "libc++_static",
6634    arch: {
6635        arm64: {
6636            cflags: [
6637                "-D__ARM_NEON__=1",
6638            ],
6639        },
6640    },
6641}
6642
6643cc_defaults {
6644    name: "angle_abseil",
6645    defaults: [
6646        "angle_common_library_cflags",
6647        "third_party_abseil_cpp_absl_container_flat_hash_map",
6648        "third_party_abseil_cpp_absl_container_flat_hash_set",
6649    ],
6650    sdk_version: "28",
6651    stl: "libc++_static",
6652}
6653
6654cc_library_static {
6655    name: "angle_common",
6656    srcs: [
6657        "src/common/Float16ToFloat32.cpp",
6658        "src/common/MemoryBuffer.cpp",
6659        "src/common/PackedEGLEnums_autogen.cpp",
6660        "src/common/PackedEnums.cpp",
6661        "src/common/PackedGLEnums_autogen.cpp",
6662        "src/common/PoolAlloc.cpp",
6663        "src/common/RingBufferAllocator.cpp",
6664        "src/common/SimpleMutex.cpp",
6665        "src/common/WorkerThread.cpp",
6666        "src/common/aligned_memory.cpp",
6667        "src/common/android_util.cpp",
6668        "src/common/angleutils.cpp",
6669        "src/common/backtrace_utils_noop.cpp",
6670        "src/common/base/anglebase/sha1.cc",
6671        "src/common/debug.cpp",
6672        "src/common/entry_points_enum_autogen.cpp",
6673        "src/common/event_tracer.cpp",
6674        "src/common/mathutil.cpp",
6675        "src/common/matrix_utils.cpp",
6676        "src/common/platform_helpers.cpp",
6677        "src/common/string_utils.cpp",
6678        "src/common/system_utils.cpp",
6679        "src/common/system_utils_linux.cpp",
6680        "src/common/system_utils_posix.cpp",
6681        "src/common/tls.cpp",
6682        "src/common/uniform_type_info_autogen.cpp",
6683        "src/common/utilities.cpp",
6684    ],
6685    shared_libs: [
6686        "liblog",
6687        "libnativewindow",
6688    ],
6689    defaults: [
6690        "angle_abseil",
6691        "angle_common_auto_cflags",
6692        "angle_common_library_cflags",
6693        "angle_includes",
6694        "angle_xxhash",
6695    ],
6696    local_include_dirs: [
6697        "include/",
6698        "src/",
6699        "src/common/base/",
6700        "src/common/third_party/xxhash/",
6701        "third_party/abseil-cpp/",
6702    ],
6703    cflags: [
6704        "-DABSL_ALLOCATOR_NOTHROW=1",
6705        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
6706        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
6707        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
6708        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
6709        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
6710        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
6711        "-DANGLE_USE_ABSEIL",
6712        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
6713        "-D_FORTIFY_SOURCE=2",
6714        "-D__STDC_CONSTANT_MACROS",
6715        "-D__STDC_FORMAT_MACROS",
6716        "-Wno-gcc-compat",
6717        "-Wno-unreachable-code-break",
6718    ],
6719    sdk_version: "28",
6720    stl: "libc++_static",
6721    arch: {
6722        arm64: {
6723            cflags: [
6724                "-D__ARM_NEON__=1",
6725            ],
6726        },
6727    },
6728}
6729
6730cc_defaults {
6731    name: "angle_libANGLE_headers",
6732    srcs: [
6733        "src/libANGLE/entry_points_utils.cpp",
6734    ],
6735    static_libs: [
6736        "angle_common",
6737    ],
6738    shared_libs: [
6739        "liblog",
6740        "libnativewindow",
6741    ],
6742    defaults: [
6743        "angle_common_auto_cflags",
6744        "angle_common_library_cflags",
6745        "angle_translator_headers",
6746    ],
6747    local_include_dirs: [
6748        "include/",
6749        "src/",
6750        "src/common/base/",
6751        "src/common/third_party/xxhash/",
6752        "third_party/abseil-cpp/",
6753    ],
6754    cflags: [
6755        "-DABSL_ALLOCATOR_NOTHROW=1",
6756        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
6757        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
6758        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
6759        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
6760        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
6761        "-DANGLE_USE_ABSEIL",
6762        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
6763        "-DLIBANGLE_IMPLEMENTATION",
6764        "-D_FORTIFY_SOURCE=2",
6765        "-D__STDC_CONSTANT_MACROS",
6766        "-D__STDC_FORMAT_MACROS",
6767        "-Wno-gcc-compat",
6768        "-Wno-unreachable-code-break",
6769    ],
6770    sdk_version: "28",
6771    stl: "libc++_static",
6772    arch: {
6773        arm64: {
6774            cflags: [
6775                "-D__ARM_NEON__=1",
6776            ],
6777        },
6778    },
6779}
6780
6781cc_defaults {
6782    name: "angle_frame_capture_mock",
6783    srcs: [
6784        "src/libANGLE/capture/FrameCapture_mock.cpp",
6785        "src/libANGLE/capture/serialize_mock.cpp",
6786    ],
6787    static_libs: [
6788        "angle_common",
6789    ],
6790    shared_libs: [
6791        "liblog",
6792        "libnativewindow",
6793    ],
6794    defaults: [
6795        "angle_common_auto_cflags",
6796        "angle_common_library_cflags",
6797        "angle_libANGLE_headers",
6798    ],
6799    local_include_dirs: [
6800        "include/",
6801        "src/",
6802        "src/common/base/",
6803        "src/common/third_party/xxhash/",
6804        "third_party/abseil-cpp/",
6805    ],
6806    cflags: [
6807        "-DABSL_ALLOCATOR_NOTHROW=1",
6808        "-DANGLE_CAPTURE_ENABLED=0",
6809        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
6810        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
6811        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
6812        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
6813        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
6814        "-DANGLE_USE_ABSEIL",
6815        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
6816        "-DLIBANGLE_IMPLEMENTATION",
6817        "-D_FORTIFY_SOURCE=2",
6818        "-D__STDC_CONSTANT_MACROS",
6819        "-D__STDC_FORMAT_MACROS",
6820        "-Wno-gcc-compat",
6821        "-Wno-unreachable-code-break",
6822    ],
6823    sdk_version: "28",
6824    stl: "libc++_static",
6825    arch: {
6826        arm64: {
6827            cflags: [
6828                "-D__ARM_NEON__=1",
6829            ],
6830        },
6831    },
6832}
6833
6834cc_defaults {
6835    name: "angle_libANGLE",
6836    static_libs: [
6837        "angle_common",
6838        "angle_common_shader_state",
6839        "angle_gpu_info_util",
6840        "angle_image_util",
6841        "angle_preprocessor",
6842        "angle_translator",
6843        "cpufeatures",
6844        "third_party_spirv_tools_src_spvtools",
6845        "third_party_spirv_tools_src_spvtools_val",
6846        "zlib_google_compression_utils_portable",
6847    ],
6848    shared_libs: [
6849        "liblog",
6850        "libnativewindow",
6851    ],
6852    defaults: [
6853        "angle_common_auto_cflags",
6854        "angle_common_library_cflags",
6855        "angle_frame_capture_mock",
6856        "angle_libANGLE_no_vulkan",
6857        "src_libANGLE_renderer_vulkan_angle_vulkan_backend",
6858    ],
6859    generated_headers: [
6860        "angle_commit_id",
6861        "angle_program_version_id",
6862        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
6863        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
6864        "third_party_spirv_tools_src_spvtools_generators_inc",
6865        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
6866        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
6867        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
6868        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
6869        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
6870        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
6871        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
6872        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
6873        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
6874        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
6875        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
6876        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
6877        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
6878        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
6879    ],
6880    local_include_dirs: [
6881        "include/",
6882        "src/",
6883        "src/common/base/",
6884        "src/common/third_party/xxhash/",
6885        "src/third_party/volk/",
6886        "third_party/abseil-cpp/",
6887        "third_party/vulkan-headers/src/include/",
6888    ],
6889    cflags: [
6890        "-DABSL_ALLOCATOR_NOTHROW=1",
6891        "-DANGLE_CAPTURE_ENABLED=0",
6892        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
6893        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
6894        "-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
6895        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
6896        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
6897        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
6898        "-DANGLE_ENABLE_VULKAN",
6899        "-DANGLE_ENABLE_VULKAN_SHARED_RING_BUFFER_CMD_ALLOC=false",
6900        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
6901        "-DANGLE_SHARED_LIBVULKAN=1",
6902        "-DANGLE_USE_ABSEIL",
6903        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
6904        "-DANGLE_USE_CUSTOM_VULKAN_OUTSIDE_RENDER_PASS_CMD_BUFFERS=1",
6905        "-DANGLE_USE_CUSTOM_VULKAN_RENDER_PASS_CMD_BUFFERS=1",
6906        "-DLIBANGLE_IMPLEMENTATION",
6907        "-DVK_USE_PLATFORM_ANDROID_KHR",
6908        "-D_FORTIFY_SOURCE=2",
6909        "-D__STDC_CONSTANT_MACROS",
6910        "-D__STDC_FORMAT_MACROS",
6911        "-Wno-gcc-compat",
6912        "-Wno-redundant-parens",
6913        "-Wno-unreachable-code-break",
6914    ],
6915    sdk_version: "28",
6916    stl: "libc++_static",
6917    arch: {
6918        arm64: {
6919            cflags: [
6920                "-D__ARM_NEON__=1",
6921            ],
6922        },
6923    },
6924}
6925
6926cc_defaults {
6927    name: "angle_includes",
6928    defaults: [
6929        "angle_common_auto_cflags",
6930        "angle_common_library_cflags",
6931    ],
6932    local_include_dirs: [
6933        "include/",
6934        "src/",
6935    ],
6936    cflags: [
6937        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
6938        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
6939        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
6940        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
6941        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
6942        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
6943        "-D_FORTIFY_SOURCE=2",
6944        "-D__STDC_CONSTANT_MACROS",
6945        "-D__STDC_FORMAT_MACROS",
6946    ],
6947    sdk_version: "28",
6948    stl: "libc++_static",
6949    arch: {
6950        arm64: {
6951            cflags: [
6952                "-D__ARM_NEON__=1",
6953            ],
6954        },
6955    },
6956}
6957
6958cc_library_shared {
6959    name: "libGLESv2_angle",
6960    srcs: [
6961        "src/libGLESv2/egl_ext_stubs.cpp",
6962        "src/libGLESv2/egl_stubs.cpp",
6963        "src/libGLESv2/entry_points_egl_autogen.cpp",
6964        "src/libGLESv2/entry_points_egl_ext_autogen.cpp",
6965        "src/libGLESv2/entry_points_gles_1_0_autogen.cpp",
6966        "src/libGLESv2/entry_points_gles_2_0_autogen.cpp",
6967        "src/libGLESv2/entry_points_gles_3_0_autogen.cpp",
6968        "src/libGLESv2/entry_points_gles_3_1_autogen.cpp",
6969        "src/libGLESv2/entry_points_gles_3_2_autogen.cpp",
6970        "src/libGLESv2/entry_points_gles_ext_autogen.cpp",
6971        "src/libGLESv2/global_state.cpp",
6972        "src/libGLESv2/libGLESv2_autogen.cpp",
6973        "src/libGLESv2/proc_table_egl_autogen.cpp",
6974    ],
6975    static_libs: [
6976        "angle_common",
6977        "angle_common_shader_state",
6978        "angle_gpu_info_util",
6979        "angle_image_util",
6980        "angle_preprocessor",
6981        "angle_translator",
6982        "cpufeatures",
6983        "third_party_spirv_tools_src_spvtools",
6984        "third_party_spirv_tools_src_spvtools_val",
6985        "zlib_google_compression_utils_portable",
6986    ],
6987    shared_libs: [
6988        "libdl",
6989        "liblog",
6990        "libm",
6991        "libnativewindow",
6992    ],
6993    defaults: [
6994        "angle_common_auto_cflags",
6995        "angle_common_library_cflags",
6996        "angle_includes",
6997        "angle_libANGLE",
6998        "angle_vendor_cc_defaults",
6999    ],
7000    generated_headers: [
7001        "angle_commit_id",
7002        "angle_program_version_id",
7003        "third_party_spirv_tools_src_spvtools_core_enums_unified1",
7004        "third_party_spirv_tools_src_spvtools_core_tables_unified1",
7005        "third_party_spirv_tools_src_spvtools_generators_inc",
7006        "third_party_spirv_tools_src_spvtools_glsl_tables_glsl1-0",
7007        "third_party_spirv_tools_src_spvtools_language_header_cldebuginfo100",
7008        "third_party_spirv_tools_src_spvtools_language_header_debuginfo",
7009        "third_party_spirv_tools_src_spvtools_language_header_vkdebuginfo100",
7010        "third_party_spirv_tools_src_spvtools_opencl_tables_opencl1-0",
7011        "third_party_spirv_tools_src_spvtools_vendor_tables_debuginfo",
7012        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.clspvreflection",
7013        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.shader.debuginfo.100",
7014        "third_party_spirv_tools_src_spvtools_vendor_tables_nonsemantic.vkspreflection",
7015        "third_party_spirv_tools_src_spvtools_vendor_tables_opencl.debuginfo.100",
7016        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-gcn-shader",
7017        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-ballot",
7018        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
7019        "third_party_spirv_tools_src_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
7020    ],
7021    local_include_dirs: [
7022        "include/",
7023        "src/",
7024        "src/common/base/",
7025        "src/common/third_party/xxhash/",
7026        "src/third_party/volk/",
7027        "third_party/abseil-cpp/",
7028        "third_party/vulkan-headers/src/include/",
7029    ],
7030    cflags: [
7031        "-DABSL_ALLOCATOR_NOTHROW=1",
7032        "-DANGLE_CAPTURE_ENABLED=0",
7033        "-DANGLE_ENABLE_CONTEXT_MUTEX=1",
7034        "-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
7035        "-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
7036        "-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
7037        "-DANGLE_ENABLE_GLOBAL_MUTEX_RECURSION=1",
7038        "-DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1",
7039        "-DANGLE_ENABLE_VULKAN",
7040        "-DANGLE_ENABLE_VULKAN_SHARED_RING_BUFFER_CMD_ALLOC=false",
7041        "-DANGLE_EXPOSE_NON_CONFORMANT_EXTENSIONS_AND_VERSIONS",
7042        "-DANGLE_SHARED_LIBVULKAN=1",
7043        "-DANGLE_USE_ABSEIL",
7044        "-DANGLE_USE_ANDROID_TLS_SLOT=1",
7045        "-DANGLE_USE_CUSTOM_VULKAN_OUTSIDE_RENDER_PASS_CMD_BUFFERS=1",
7046        "-DANGLE_USE_CUSTOM_VULKAN_RENDER_PASS_CMD_BUFFERS=1",
7047        "-DEGL_EGLEXT_PROTOTYPES",
7048        "-DEGL_EGL_PROTOTYPES=1",
7049        "-DGL_API=__attribute__((visibility(\"default\")))",
7050        "-DGL_APICALL=__attribute__((visibility(\"default\")))",
7051        "-DGL_GLES_PROTOTYPES=1",
7052        "-DGL_GLEXT_PROTOTYPES",
7053        "-DLIBANGLE_IMPLEMENTATION",
7054        "-DLIBGLESV2_IMPLEMENTATION",
7055        "-DVK_USE_PLATFORM_ANDROID_KHR",
7056        "-D_FORTIFY_SOURCE=2",
7057        "-D__STDC_CONSTANT_MACROS",
7058        "-D__STDC_FORMAT_MACROS",
7059        "-Wno-gcc-compat",
7060        "-Wno-redundant-parens",
7061        "-Wno-unreachable-code-break",
7062    ],
7063    sdk_version: "28",
7064    stl: "libc++_static",
7065    arch: {
7066        arm64: {
7067            cflags: [
7068                "-D__ARM_NEON__=1",
7069            ],
7070        },
7071    },
7072}
7073
7074package {
7075    default_applicable_licenses: [
7076        "external_angle_license",
7077    ],
7078}
7079
7080// Added automatically by a large-scale-change that took the approach of
7081// 'apply every license found to every target'. While this makes sure we respect
7082// every license restriction, it may not be entirely correct.
7083//
7084// e.g. GPL in an MIT project might only apply to the contrib/ directory.
7085//
7086// Please consider splitting the single license below into multiple licenses,
7087// taking care not to lose any license_kind information, and overriding the
7088// default license using the 'licenses: [...]' property on targets as needed.
7089//
7090// For unused files, consider creating a 'fileGroup' with "//visibility:private"
7091// to attach the license to, and including a comment whether the files may be
7092// used in the current project.
7093// See: http://go/android-license-faq
7094
7095license {
7096    name: "external_angle_license",
7097    visibility: [
7098        ":__subpackages__",
7099    ],
7100    license_kinds: [
7101        "SPDX-license-identifier-Apache-2.0",
7102        "SPDX-license-identifier-BSD",
7103        "SPDX-license-identifier-GPL",
7104        "SPDX-license-identifier-GPL-2.0",
7105        "SPDX-license-identifier-GPL-3.0",
7106        "SPDX-license-identifier-LGPL",
7107        "SPDX-license-identifier-MIT",
7108        "SPDX-license-identifier-Zlib",
7109        "legacy_unencumbered",
7110    ],
7111    license_text: [
7112        "LICENSE",
7113        "src/common/third_party/xxhash/LICENSE",
7114        "src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/LICENSE",
7115        "src/tests/test_utils/third_party/LICENSE",
7116        "src/third_party/libXNVCtrl/LICENSE",
7117        "src/third_party/volk/LICENSE.md",
7118        "third_party/abseil-cpp/LICENSE",
7119        "third_party/android_system_sdk/LICENSE",
7120        "third_party/bazel/LICENSE",
7121        "third_party/colorama/LICENSE",
7122        "third_party/glslang/LICENSE",
7123        "third_party/glslang/src/LICENSE.txt",
7124        "third_party/proguard/LICENSE",
7125        "third_party/r8/LICENSE",
7126        "third_party/spirv-headers/LICENSE",
7127        "third_party/spirv-headers/src/LICENSE",
7128        "third_party/spirv-tools/LICENSE",
7129        "third_party/spirv-tools/src/LICENSE",
7130        "third_party/spirv-tools/src/utils/vscode/src/lsp/LICENSE",
7131        "third_party/turbine/LICENSE",
7132        "third_party/vulkan-headers/LICENSE.txt",
7133        "third_party/vulkan-headers/src/LICENSE.md",
7134        "third_party/vulkan_memory_allocator/LICENSE.txt",
7135        "tools/flex-bison/third_party/m4sugar/LICENSE",
7136        "tools/flex-bison/third_party/skeletons/LICENSE",
7137        "util/windows/third_party/StackWalker/LICENSE",
7138    ],
7139}
7140
7141filegroup {
7142    name: "ANGLE_srcs",
7143    srcs: [
7144        "src/android_system_settings/src/com/android/angle/MainActivity.java",
7145        "src/android_system_settings/src/com/android/angle/common/AngleRuleHelper.java",
7146        "src/android_system_settings/src/com/android/angle/common/GlobalSettings.java",
7147        "src/android_system_settings/src/com/android/angle/common/MainFragment.java",
7148        "src/android_system_settings/src/com/android/angle/common/Receiver.java",
7149        "src/android_system_settings/src/com/android/angle/common/SearchProvider.java",
7150    ],
7151}
7152
7153prebuilt_etc {
7154    name: "android.software.angle.xml",
7155    src: "android/android.software.angle.xml",
7156    product_specific: true,
7157    sub_dir: "permissions",
7158}
7159
7160java_defaults {
7161    name: "ANGLE_java_defaults",
7162    sdk_version: "system_current",
7163    target_sdk_version: "33",
7164    min_sdk_version: "28",
7165    compile_multilib: "both",
7166    use_embedded_native_libs: true,
7167    jni_libs: [
7168        "libEGL_angle",
7169        "libGLESv1_CM_angle",
7170        "libGLESv2_angle",
7171    ],
7172    aaptflags: [
7173        "--extra-packages com.android.angle.common",
7174        "-0 .json",
7175    ],
7176    srcs: [
7177        ":ANGLE_srcs",
7178    ],
7179    privileged: true,
7180    product_specific: true,
7181    owner: "google",
7182    required: [
7183        "android.software.angle.xml",
7184    ],
7185}
7186
7187android_library {
7188    name: "ANGLE_library",
7189    sdk_version: "system_current",
7190    target_sdk_version: "33",
7191    min_sdk_version: "28",
7192    resource_dirs: [
7193        "src/android_system_settings/res",
7194    ],
7195    asset_dirs: [
7196        "src/android_system_settings/assets",
7197    ],
7198    aaptflags: [
7199        "-0 .json",
7200    ],
7201    manifest: "src/android_system_settings/src/com/android/angle/AndroidManifest.xml",
7202    static_libs: [
7203        "androidx.preference_preference",
7204    ],
7205}
7206
7207android_app {
7208    name: "ANGLE",
7209    defaults: [
7210        "ANGLE_java_defaults",
7211    ],
7212    manifest: "src/android_system_settings/src/com/android/angle/AndroidManifest.xml",
7213    static_libs: [
7214        "ANGLE_library",
7215    ],
7216    optimize: {
7217        enabled: true,
7218        shrink: true,
7219        proguard_compatibility: false,
7220    },
7221    asset_dirs: [
7222        "src/android_system_settings/assets",
7223    ],
7224}
7225
7226java_defaults {
7227    name: "ANGLE_java_settings_defaults",
7228    sdk_version: "system_current",
7229    target_sdk_version: "33",
7230    min_sdk_version: "28",
7231    compile_multilib: "both",
7232    use_embedded_native_libs: true,
7233    aaptflags: [
7234        "--extra-packages com.android.angle.common",
7235        "-0 .json",
7236    ],
7237    srcs: [
7238        ":ANGLE_srcs",
7239    ],
7240    privileged: true,
7241    product_specific: true,
7242    owner: "google",
7243    required: [
7244        "android.software.angle.xml",
7245    ],
7246}
7247
7248android_app {
7249    name: "ANGLE_settings",
7250    defaults: [
7251        "ANGLE_java_settings_defaults",
7252    ],
7253    manifest: "src/android_system_settings/src/com/android/angle/AndroidManifest.xml",
7254    static_libs: [
7255        "ANGLE_library",
7256    ],
7257    optimize: {
7258        enabled: true,
7259        shrink: true,
7260        proguard_compatibility: false,
7261    },
7262    asset_dirs: [
7263        "src/android_system_settings/assets",
7264    ],
7265}
7266