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