• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// GENERATED FILE - DO NOT EDIT.
2// Generated by scripts/generate_android_bp.py
3//
4// Copyright 2020 The ANGLE Project Authors. All rights reserved.
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7//
8
9cc_defaults {
10    name: "angle_jsoncpp",
11    stl: "libc++_static",
12    local_include_dirs: [
13        "",
14        "third_party/jsoncpp/generated/",
15        "third_party/jsoncpp/source/include/",
16        "third_party/jsoncpp/source/src/lib_json/",
17    ],
18    srcs: [
19        "third_party/jsoncpp/source/src/lib_json/json_reader.cpp",
20        "third_party/jsoncpp/source/src/lib_json/json_value.cpp",
21        "third_party/jsoncpp/source/src/lib_json/json_writer.cpp",
22    ],
23    sdk_version: "28",
24    cflags: [
25        "-DANDROID",
26        "-DANDROID_NDK_VERSION_ROLL=r20_1",
27        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
28        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
29        "-DHAVE_SYS_UIO_H",
30        "-DJSON_USE_EXCEPTION=0",
31        "-DJSON_USE_NULLREF=0",
32        "-DNDEBUG",
33        "-DNVALGRIND",
34        "-D_FORTIFY_SOURCE=2",
35        "-D_GNU_SOURCE",
36        "-D__STDC_CONSTANT_MACROS",
37        "-D__STDC_FORMAT_MACROS",
38        "-Wno-bitwise-conditional-parentheses",
39        "-Wno-builtin-assume-aligned-alignment",
40        "-Wno-builtin-macro-redefined",
41        "-Wno-c++11-narrowing",
42        "-Wno-deprecated-copy",
43        "-Wno-deprecated-declarations",
44        "-Wno-final-dtor-non-final-class",
45        "-Wno-ignored-pragma-optimize",
46        "-Wno-implicit-fallthrough",
47        "-Wno-implicit-int-float-conversion",
48        "-Wno-missing-field-initializers",
49        "-Wno-non-c-typedef-for-linkage",
50        "-Wno-undefined-var-template",
51        "-Wno-unknown-warning-option",
52        "-Wno-unneeded-internal-declaration",
53        "-Wno-unused-parameter",
54    ],
55}
56cc_library_shared {
57    generated_headers: [
58        "angle_commit_id",
59    ],
60    name: "libfeature_support_angle",
61    stl: "libc++_static",
62    static_libs: [
63        "angle_common",
64        "angle_gpu_info_util",
65    ],
66    shared_libs: [
67        "libdl",
68        "liblog",
69        "libm",
70    ],
71    local_include_dirs: [
72        "",
73        "include/",
74        "src/",
75        "src/common/third_party/base/",
76        "third_party/jsoncpp/generated/",
77        "third_party/jsoncpp/source/include/",
78    ],
79    srcs: [
80        "src/feature_support_util/feature_support_util.cpp",
81    ],
82    sdk_version: "28",
83    cflags: [
84        "-DANDROID",
85        "-DANDROID_NDK_VERSION_ROLL=r20_1",
86        "-DANGLE_ENABLE_OPENGL",
87        "-DANGLE_ENABLE_OPENGL_NULL",
88        "-DANGLE_ENABLE_VULKAN",
89        "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1",
90        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
91        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
92        "-DHAVE_SYS_UIO_H",
93        "-DLIBFEATURE_SUPPORT_IMPLEMENTATION",
94        "-DNDEBUG",
95        "-DNVALGRIND",
96        "-D_FORTIFY_SOURCE=2",
97        "-D_GNU_SOURCE",
98        "-D__STDC_CONSTANT_MACROS",
99        "-D__STDC_FORMAT_MACROS",
100        "-Wno-bitwise-conditional-parentheses",
101        "-Wno-builtin-assume-aligned-alignment",
102        "-Wno-builtin-macro-redefined",
103        "-Wno-c++11-narrowing",
104        "-Wno-deprecated-copy",
105        "-Wno-deprecated-declarations",
106        "-Wno-final-dtor-non-final-class",
107        "-Wno-ignored-pragma-optimize",
108        "-Wno-implicit-fallthrough",
109        "-Wno-implicit-int-float-conversion",
110        "-Wno-missing-field-initializers",
111        "-Wno-non-c-typedef-for-linkage",
112        "-Wno-undefined-var-template",
113        "-Wno-unknown-warning-option",
114        "-Wno-unneeded-internal-declaration",
115        "-Wno-unused-parameter",
116    ],
117    defaults: [
118        "angle_jsoncpp",
119    ],
120    arch: {
121        arm64: {
122            cflags: [
123                "-DANGLE_IS_64_BIT_CPU",
124            ],
125        },
126        x86_64: {
127            cflags: [
128                "-DANGLE_IS_64_BIT_CPU",
129            ],
130        },
131        x86: {
132            cflags: [
133                "-DANGLE_IS_32_BIT_CPU",
134            ],
135        },
136        arm: {
137            cflags: [
138                "-DANGLE_IS_32_BIT_CPU",
139            ],
140        },
141    },
142}
143cc_defaults {
144    name: "angle_libEGL_egl_loader",
145    stl: "libc++_static",
146    local_include_dirs: [
147        "include/",
148        "src/",
149    ],
150    srcs: [
151        "src/libEGL/egl_loader_autogen.cpp",
152    ],
153    sdk_version: "28",
154    cflags: [
155        "-DANDROID",
156        "-DANDROID_NDK_VERSION_ROLL=r20_1",
157        "-DANGLE_USE_EGL_LOADER",
158        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
159        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
160        "-DEGL_EGLEXT_PROTOTYPES",
161        "-DEGL_EGL_PROTOTYPES=1",
162        "-DGL_GLES_PROTOTYPES=1",
163        "-DGL_GLEXT_PROTOTYPES",
164        "-DHAVE_SYS_UIO_H",
165        "-DNDEBUG",
166        "-DNVALGRIND",
167        "-D_FORTIFY_SOURCE=2",
168        "-D_GNU_SOURCE",
169        "-D__STDC_CONSTANT_MACROS",
170        "-D__STDC_FORMAT_MACROS",
171        "-Wno-bitwise-conditional-parentheses",
172        "-Wno-builtin-assume-aligned-alignment",
173        "-Wno-builtin-macro-redefined",
174        "-Wno-c++11-narrowing",
175        "-Wno-deprecated-copy",
176        "-Wno-final-dtor-non-final-class",
177        "-Wno-ignored-pragma-optimize",
178        "-Wno-implicit-fallthrough",
179        "-Wno-implicit-int-float-conversion",
180        "-Wno-missing-field-initializers",
181        "-Wno-non-c-typedef-for-linkage",
182        "-Wno-undefined-var-template",
183        "-Wno-unknown-warning-option",
184        "-Wno-unneeded-internal-declaration",
185        "-Wno-unused-parameter",
186    ],
187    defaults: [
188        "angle_includes",
189    ],
190    arch: {
191        arm64: {
192            cflags: [
193                "-DANGLE_IS_64_BIT_CPU",
194            ],
195        },
196        x86_64: {
197            cflags: [
198                "-DANGLE_IS_64_BIT_CPU",
199            ],
200        },
201        x86: {
202            cflags: [
203                "-DANGLE_IS_32_BIT_CPU",
204            ],
205        },
206        arm: {
207            cflags: [
208                "-DANGLE_IS_32_BIT_CPU",
209            ],
210        },
211    },
212}
213cc_library_shared {
214    generated_headers: [
215        "angle_commit_id",
216        "angle_spvtools_core_enums_unified1",
217        "angle_spvtools_core_tables_unified1",
218        "angle_spvtools_generators_inc",
219        "angle_spvtools_glsl_tables_glsl1-0",
220        "angle_spvtools_language_header_cldebuginfo100",
221        "angle_spvtools_language_header_debuginfo",
222        "angle_spvtools_opencl_tables_opencl1-0",
223        "angle_spvtools_vendor_tables_debuginfo",
224        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
225        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
226        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
227        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
228        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
229    ],
230    name: "libEGL_angle",
231    stl: "libc++_static",
232    static_libs: [
233        "angle_common",
234        "angle_gpu_info_util",
235        "angle_image_util",
236        "angle_preprocessor",
237        "angle_spvtools",
238        "angle_spvtools_opt",
239        "angle_spvtools_val",
240        "angle_translator",
241    ],
242    shared_libs: [
243        "libGLESv2_angle",
244        "libdl",
245        "liblog",
246        "libm",
247    ],
248    local_include_dirs: [
249        "",
250        "include/",
251        "src/",
252        "src/common/third_party/base/",
253    ],
254    srcs: [
255        "src/libEGL/libEGL.cpp",
256    ],
257    sdk_version: "28",
258    cflags: [
259        "-DANDROID",
260        "-DANDROID_NDK_VERSION_ROLL=r20_1",
261        "-DANGLE_EGL_LIBRARY_NAME=\"libEGL_angle\"",
262        "-DANGLE_GLESV2_LIBRARY_NAME=\"libGLESv2_angle\"",
263        "-DANGLE_USE_EGL_LOADER",
264        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
265        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
266        "-DEGLAPI=__attribute__((visibility(\"default\")))",
267        "-DEGL_EGLEXT_PROTOTYPES",
268        "-DEGL_EGL_PROTOTYPES=1",
269        "-DGL_GLES_PROTOTYPES=1",
270        "-DGL_GLEXT_PROTOTYPES",
271        "-DHAVE_SYS_UIO_H",
272        "-DLIBEGL_IMPLEMENTATION",
273        "-DNDEBUG",
274        "-DNVALGRIND",
275        "-D_FORTIFY_SOURCE=2",
276        "-D_GNU_SOURCE",
277        "-D__STDC_CONSTANT_MACROS",
278        "-D__STDC_FORMAT_MACROS",
279        "-Wno-bitwise-conditional-parentheses",
280        "-Wno-builtin-assume-aligned-alignment",
281        "-Wno-builtin-macro-redefined",
282        "-Wno-c++11-narrowing",
283        "-Wno-deprecated-copy",
284        "-Wno-final-dtor-non-final-class",
285        "-Wno-ignored-pragma-optimize",
286        "-Wno-implicit-fallthrough",
287        "-Wno-implicit-int-float-conversion",
288        "-Wno-missing-field-initializers",
289        "-Wno-non-c-typedef-for-linkage",
290        "-Wno-undefined-var-template",
291        "-Wno-unknown-warning-option",
292        "-Wno-unneeded-internal-declaration",
293        "-Wno-unused-parameter",
294    ],
295    defaults: [
296        "angle_includes",
297        "angle_libEGL_egl_loader",
298        "angle_system_utils",
299        "angle_version",
300    ],
301    arch: {
302        arm64: {
303            cflags: [
304                "-DANGLE_IS_64_BIT_CPU",
305            ],
306        },
307        x86_64: {
308            cflags: [
309                "-DANGLE_IS_64_BIT_CPU",
310            ],
311        },
312        x86: {
313            cflags: [
314                "-DANGLE_IS_32_BIT_CPU",
315            ],
316        },
317        arm: {
318            cflags: [
319                "-DANGLE_IS_32_BIT_CPU",
320            ],
321        },
322    },
323}
324cc_library_shared {
325    generated_headers: [
326        "angle_commit_id",
327        "angle_spvtools_core_enums_unified1",
328        "angle_spvtools_core_tables_unified1",
329        "angle_spvtools_generators_inc",
330        "angle_spvtools_glsl_tables_glsl1-0",
331        "angle_spvtools_language_header_cldebuginfo100",
332        "angle_spvtools_language_header_debuginfo",
333        "angle_spvtools_opencl_tables_opencl1-0",
334        "angle_spvtools_vendor_tables_debuginfo",
335        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
336        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
337        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
338        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
339        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
340    ],
341    name: "libGLESv1_CM_angle",
342    stl: "libc++_static",
343    static_libs: [
344        "angle_common",
345        "angle_gpu_info_util",
346        "angle_image_util",
347        "angle_preprocessor",
348        "angle_spvtools",
349        "angle_spvtools_opt",
350        "angle_spvtools_val",
351        "angle_translator",
352    ],
353    shared_libs: [
354        "libGLESv2_angle",
355        "libdl",
356        "libm",
357    ],
358    local_include_dirs: [
359        "",
360        "include/",
361        "src/",
362    ],
363    srcs: [
364        "src/libGLESv1_CM/libGLESv1_CM.cpp",
365    ],
366    sdk_version: "28",
367    cflags: [
368        "-DANDROID",
369        "-DANDROID_NDK_VERSION_ROLL=r20_1",
370        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
371        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
372        "-DEGL_EGLEXT_PROTOTYPES",
373        "-DEGL_EGL_PROTOTYPES=1",
374        "-DGL_API=__attribute__((visibility(\"default\")))",
375        "-DGL_APICALL=__attribute__((visibility(\"default\")))",
376        "-DGL_GLES_PROTOTYPES=1",
377        "-DGL_GLEXT_PROTOTYPES",
378        "-DHAVE_SYS_UIO_H",
379        "-DNDEBUG",
380        "-DNVALGRIND",
381        "-D_FORTIFY_SOURCE=2",
382        "-D_GNU_SOURCE",
383        "-D__STDC_CONSTANT_MACROS",
384        "-D__STDC_FORMAT_MACROS",
385        "-Wno-bitwise-conditional-parentheses",
386        "-Wno-builtin-assume-aligned-alignment",
387        "-Wno-builtin-macro-redefined",
388        "-Wno-c++11-narrowing",
389        "-Wno-deprecated-copy",
390        "-Wno-final-dtor-non-final-class",
391        "-Wno-ignored-pragma-optimize",
392        "-Wno-implicit-fallthrough",
393        "-Wno-implicit-int-float-conversion",
394        "-Wno-missing-field-initializers",
395        "-Wno-non-c-typedef-for-linkage",
396        "-Wno-undefined-var-template",
397        "-Wno-unknown-warning-option",
398        "-Wno-unneeded-internal-declaration",
399        "-Wno-unused-parameter",
400    ],
401    defaults: [
402        "angle_includes",
403    ],
404    arch: {
405        arm64: {
406            cflags: [
407                "-DANGLE_IS_64_BIT_CPU",
408            ],
409        },
410        x86_64: {
411            cflags: [
412                "-DANGLE_IS_64_BIT_CPU",
413            ],
414        },
415        x86: {
416            cflags: [
417                "-DANGLE_IS_32_BIT_CPU",
418            ],
419        },
420        arm: {
421            cflags: [
422                "-DANGLE_IS_32_BIT_CPU",
423            ],
424        },
425    },
426}
427cc_defaults {
428    name: "angle_vulkan_entry_points",
429    stl: "libc++_static",
430    shared_libs: [
431        "libvulkan",
432    ],
433    sdk_version: "28",
434    cflags: [
435        "-Wno-unknown-warning-option",
436    ],
437    defaults: [
438        "angle_volk",
439    ],
440}
441cc_defaults {
442    name: "angle_volk",
443    stl: "libc++_static",
444    local_include_dirs: [
445        "",
446        "src/third_party/volk/",
447        "third_party/vulkan-headers/src/include/",
448    ],
449    srcs: [
450        "src/third_party/volk/volk.c",
451    ],
452    sdk_version: "28",
453    cflags: [
454        "-DANDROID",
455        "-DANDROID_NDK_VERSION_ROLL=r20_1",
456        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
457        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
458        "-DHAVE_SYS_UIO_H",
459        "-DNDEBUG",
460        "-DNVALGRIND",
461        "-DVK_USE_PLATFORM_ANDROID_KHR",
462        "-D_FORTIFY_SOURCE=2",
463        "-D_GNU_SOURCE",
464        "-D__STDC_CONSTANT_MACROS",
465        "-D__STDC_FORMAT_MACROS",
466        "-Wno-bitwise-conditional-parentheses",
467        "-Wno-builtin-assume-aligned-alignment",
468        "-Wno-builtin-macro-redefined",
469        "-Wno-c++11-narrowing",
470        "-Wno-deprecated-copy",
471        "-Wno-final-dtor-non-final-class",
472        "-Wno-ignored-pragma-optimize",
473        "-Wno-implicit-fallthrough",
474        "-Wno-implicit-int-float-conversion",
475        "-Wno-missing-field-initializers",
476        "-Wno-non-c-typedef-for-linkage",
477        "-Wno-undefined-var-template",
478        "-Wno-unknown-warning-option",
479        "-Wno-unneeded-internal-declaration",
480        "-Wno-unused-parameter",
481    ],
482    defaults: [
483        "angle_vulkan_headers",
484    ],
485}
486cc_defaults {
487    name: "angle_vulkan_memory_allocator",
488    stl: "libc++_static",
489    local_include_dirs: [
490        "",
491        "src/third_party/volk/",
492        "third_party/VulkanMemoryAllocator/src/",
493        "third_party/vulkan-headers/src/include/",
494    ],
495    sdk_version: "28",
496    cflags: [
497        "-DANDROID",
498        "-DANDROID_NDK_VERSION_ROLL=r20_1",
499        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
500        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
501        "-DHAVE_SYS_UIO_H",
502        "-DNDEBUG",
503        "-DNVALGRIND",
504        "-DVK_USE_PLATFORM_ANDROID_KHR",
505        "-DVMA_IMPLEMENTATION",
506        "-D_FORTIFY_SOURCE=2",
507        "-D_GNU_SOURCE",
508        "-D__STDC_CONSTANT_MACROS",
509        "-D__STDC_FORMAT_MACROS",
510        "-Wno-bitwise-conditional-parentheses",
511        "-Wno-builtin-assume-aligned-alignment",
512        "-Wno-builtin-macro-redefined",
513        "-Wno-c++11-narrowing",
514        "-Wno-deprecated-copy",
515        "-Wno-final-dtor-non-final-class",
516        "-Wno-ignored-pragma-optimize",
517        "-Wno-implicit-fallthrough",
518        "-Wno-implicit-int-float-conversion",
519        "-Wno-missing-field-initializers",
520        "-Wno-non-c-typedef-for-linkage",
521        "-Wno-undefined-var-template",
522        "-Wno-unknown-warning-option",
523        "-Wno-unneeded-internal-declaration",
524        "-Wno-unused-parameter",
525        "-Wno-unused-variable",
526    ],
527    defaults: [
528        "angle_volk",
529    ],
530}
531cc_defaults {
532    name: "angle_vk_mem_alloc_wrapper",
533    stl: "libc++_static",
534    local_include_dirs: [
535        "include/",
536        "src/",
537        "src/third_party/volk/",
538        "third_party/VulkanMemoryAllocator/src/",
539        "third_party/vulkan-headers/src/include/",
540    ],
541    srcs: [
542        "src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp",
543    ],
544    sdk_version: "28",
545    cflags: [
546        "-DANDROID",
547        "-DANDROID_NDK_VERSION_ROLL=r20_1",
548        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
549        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
550        "-DHAVE_SYS_UIO_H",
551        "-DNDEBUG",
552        "-DNVALGRIND",
553        "-DVK_USE_PLATFORM_ANDROID_KHR",
554        "-DVMA_IMPLEMENTATION",
555        "-D_FORTIFY_SOURCE=2",
556        "-D_GNU_SOURCE",
557        "-D__STDC_CONSTANT_MACROS",
558        "-D__STDC_FORMAT_MACROS",
559        "-Wno-bitwise-conditional-parentheses",
560        "-Wno-builtin-assume-aligned-alignment",
561        "-Wno-builtin-macro-redefined",
562        "-Wno-c++11-narrowing",
563        "-Wno-deprecated-copy",
564        "-Wno-extra-semi-stmt",
565        "-Wno-final-dtor-non-final-class",
566        "-Wno-ignored-pragma-optimize",
567        "-Wno-implicit-fallthrough",
568        "-Wno-implicit-int-float-conversion",
569        "-Wno-missing-field-initializers",
570        "-Wno-non-c-typedef-for-linkage",
571        "-Wno-undefined-var-template",
572        "-Wno-unknown-warning-option",
573        "-Wno-unneeded-internal-declaration",
574        "-Wno-unused-parameter",
575        "-Wno-unused-variable",
576    ],
577    defaults: [
578        "angle_vulkan_memory_allocator",
579    ],
580    arch: {
581        arm64: {
582            cflags: [
583                "-DANGLE_IS_64_BIT_CPU",
584            ],
585        },
586        x86_64: {
587            cflags: [
588                "-DANGLE_IS_64_BIT_CPU",
589            ],
590        },
591        x86: {
592            cflags: [
593                "-DANGLE_IS_32_BIT_CPU",
594            ],
595        },
596        arm: {
597            cflags: [
598                "-DANGLE_IS_32_BIT_CPU",
599            ],
600        },
601    },
602}
603cc_library_static {
604    generated_headers: [
605        "angle_spvtools_core_enums_unified1",
606        "angle_spvtools_core_tables_unified1",
607        "angle_spvtools_generators_inc",
608        "angle_spvtools_glsl_tables_glsl1-0",
609        "angle_spvtools_language_header_cldebuginfo100",
610        "angle_spvtools_language_header_debuginfo",
611        "angle_spvtools_opencl_tables_opencl1-0",
612        "angle_spvtools_vendor_tables_debuginfo",
613        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
614        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
615        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
616        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
617        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
618    ],
619    name: "angle_spvtools_val",
620    stl: "libc++_static",
621    static_libs: [
622        "angle_spvtools",
623    ],
624    local_include_dirs: [
625        "",
626        "third_party/spirv-headers/src/include/",
627        "third_party/spirv-tools/src/",
628        "third_party/spirv-tools/src/include/",
629    ],
630    srcs: [
631        "third_party/spirv-tools/src/source/val/basic_block.cpp",
632        "third_party/spirv-tools/src/source/val/construct.cpp",
633        "third_party/spirv-tools/src/source/val/function.cpp",
634        "third_party/spirv-tools/src/source/val/instruction.cpp",
635        "third_party/spirv-tools/src/source/val/validate.cpp",
636        "third_party/spirv-tools/src/source/val/validate_adjacency.cpp",
637        "third_party/spirv-tools/src/source/val/validate_annotation.cpp",
638        "third_party/spirv-tools/src/source/val/validate_arithmetics.cpp",
639        "third_party/spirv-tools/src/source/val/validate_atomics.cpp",
640        "third_party/spirv-tools/src/source/val/validate_barriers.cpp",
641        "third_party/spirv-tools/src/source/val/validate_bitwise.cpp",
642        "third_party/spirv-tools/src/source/val/validate_builtins.cpp",
643        "third_party/spirv-tools/src/source/val/validate_capability.cpp",
644        "third_party/spirv-tools/src/source/val/validate_cfg.cpp",
645        "third_party/spirv-tools/src/source/val/validate_composites.cpp",
646        "third_party/spirv-tools/src/source/val/validate_constants.cpp",
647        "third_party/spirv-tools/src/source/val/validate_conversion.cpp",
648        "third_party/spirv-tools/src/source/val/validate_debug.cpp",
649        "third_party/spirv-tools/src/source/val/validate_decorations.cpp",
650        "third_party/spirv-tools/src/source/val/validate_derivatives.cpp",
651        "third_party/spirv-tools/src/source/val/validate_execution_limitations.cpp",
652        "third_party/spirv-tools/src/source/val/validate_extensions.cpp",
653        "third_party/spirv-tools/src/source/val/validate_function.cpp",
654        "third_party/spirv-tools/src/source/val/validate_id.cpp",
655        "third_party/spirv-tools/src/source/val/validate_image.cpp",
656        "third_party/spirv-tools/src/source/val/validate_instruction.cpp",
657        "third_party/spirv-tools/src/source/val/validate_interfaces.cpp",
658        "third_party/spirv-tools/src/source/val/validate_layout.cpp",
659        "third_party/spirv-tools/src/source/val/validate_literals.cpp",
660        "third_party/spirv-tools/src/source/val/validate_logicals.cpp",
661        "third_party/spirv-tools/src/source/val/validate_memory.cpp",
662        "third_party/spirv-tools/src/source/val/validate_memory_semantics.cpp",
663        "third_party/spirv-tools/src/source/val/validate_misc.cpp",
664        "third_party/spirv-tools/src/source/val/validate_mode_setting.cpp",
665        "third_party/spirv-tools/src/source/val/validate_non_uniform.cpp",
666        "third_party/spirv-tools/src/source/val/validate_primitives.cpp",
667        "third_party/spirv-tools/src/source/val/validate_scopes.cpp",
668        "third_party/spirv-tools/src/source/val/validate_small_type_uses.cpp",
669        "third_party/spirv-tools/src/source/val/validate_type.cpp",
670        "third_party/spirv-tools/src/source/val/validation_state.cpp",
671    ],
672    sdk_version: "28",
673    cflags: [
674        "-DANDROID",
675        "-DANDROID_NDK_VERSION_ROLL=r20_1",
676        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
677        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
678        "-DHAVE_SYS_UIO_H",
679        "-DNDEBUG",
680        "-DNVALGRIND",
681        "-D_FORTIFY_SOURCE=2",
682        "-D_GNU_SOURCE",
683        "-D__STDC_CONSTANT_MACROS",
684        "-D__STDC_FORMAT_MACROS",
685        "-Wno-bitwise-conditional-parentheses",
686        "-Wno-builtin-assume-aligned-alignment",
687        "-Wno-builtin-macro-redefined",
688        "-Wno-c++11-narrowing",
689        "-Wno-deprecated-copy",
690        "-Wno-final-dtor-non-final-class",
691        "-Wno-ignored-pragma-optimize",
692        "-Wno-implicit-fallthrough",
693        "-Wno-implicit-int-float-conversion",
694        "-Wno-missing-field-initializers",
695        "-Wno-newline-eof",
696        "-Wno-non-c-typedef-for-linkage",
697        "-Wno-undefined-var-template",
698        "-Wno-unknown-warning-option",
699        "-Wno-unneeded-internal-declaration",
700        "-Wno-unused-parameter",
701    ],
702    defaults: [
703        "angle_spvtools_headers",
704    ],
705}
706cc_genrule {
707    name: "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
708    tool_files: [
709        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
710    ],
711    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-tools/src/source/extinst.spv-amd-shader-trinary-minmax.grammar.json) --vendor-insts-output $(location spv-amd-shader-trinary-minmax.insts.inc) --vendor-operand-kind-prefix ...nil...",
712    srcs: [
713        "third_party/spirv-tools/src/source/extinst.spv-amd-shader-trinary-minmax.grammar.json",
714    ],
715    sdk_version: "28",
716    out: [
717        "spv-amd-shader-trinary-minmax.insts.inc",
718    ],
719}
720cc_genrule {
721    name: "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
722    tool_files: [
723        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
724    ],
725    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-tools/src/source/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...",
726    srcs: [
727        "third_party/spirv-tools/src/source/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json",
728    ],
729    sdk_version: "28",
730    out: [
731        "spv-amd-shader-explicit-vertex-parameter.insts.inc",
732    ],
733}
734cc_genrule {
735    name: "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
736    tool_files: [
737        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
738    ],
739    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-tools/src/source/extinst.spv-amd-shader-ballot.grammar.json) --vendor-insts-output $(location spv-amd-shader-ballot.insts.inc) --vendor-operand-kind-prefix ...nil...",
740    srcs: [
741        "third_party/spirv-tools/src/source/extinst.spv-amd-shader-ballot.grammar.json",
742    ],
743    sdk_version: "28",
744    out: [
745        "spv-amd-shader-ballot.insts.inc",
746    ],
747}
748cc_genrule {
749    name: "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
750    tool_files: [
751        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
752    ],
753    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-tools/src/source/extinst.spv-amd-gcn-shader.grammar.json) --vendor-insts-output $(location spv-amd-gcn-shader.insts.inc) --vendor-operand-kind-prefix ...nil...",
754    srcs: [
755        "third_party/spirv-tools/src/source/extinst.spv-amd-gcn-shader.grammar.json",
756    ],
757    sdk_version: "28",
758    out: [
759        "spv-amd-gcn-shader.insts.inc",
760    ],
761}
762cc_genrule {
763    name: "angle_spvtools_vendor_tables_opencl.debuginfo.100",
764    tool_files: [
765        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
766    ],
767    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json) --vendor-insts-output $(location opencl.debuginfo.100.insts.inc) --vendor-operand-kind-prefix CLDEBUG100_",
768    srcs: [
769        "third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json",
770    ],
771    sdk_version: "28",
772    out: [
773        "opencl.debuginfo.100.insts.inc",
774    ],
775}
776cc_genrule {
777    name: "angle_spvtools_vendor_tables_debuginfo",
778    tool_files: [
779        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
780    ],
781    cmd: "$(location) --extinst-vendor-grammar $(location third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json) --vendor-insts-output $(location debuginfo.insts.inc) --vendor-operand-kind-prefix ...nil...",
782    srcs: [
783        "third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json",
784    ],
785    sdk_version: "28",
786    out: [
787        "debuginfo.insts.inc",
788    ],
789}
790cc_genrule {
791    name: "angle_spvtools_opencl_tables_opencl1-0",
792    tool_files: [
793        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
794    ],
795    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-tools/src/source/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-tools/src/source/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)",
796    srcs: [
797        "third_party/spirv-headers/src/include/spirv/1.0/extinst.opencl.std.100.grammar.json",
798        "third_party/spirv-headers/src/include/spirv/1.0/spirv.core.grammar.json",
799        "third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json",
800        "third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json",
801    ],
802    sdk_version: "28",
803    out: [
804        "opencl.std.insts.inc",
805    ],
806}
807cc_genrule {
808    name: "angle_spvtools_language_header_debuginfo",
809    tool_files: [
810        "third_party/spirv-tools/src/utils/generate_language_headers.py",
811    ],
812    cmd: "$(location) --extinst-grammar $(location third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json) --extinst-output-path $(location DebugInfo.h)",
813    srcs: [
814        "third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json",
815    ],
816    sdk_version: "28",
817    out: [
818        "DebugInfo.h",
819    ],
820}
821cc_genrule {
822    name: "angle_spvtools_language_header_cldebuginfo100",
823    tool_files: [
824        "third_party/spirv-tools/src/utils/generate_language_headers.py",
825    ],
826    cmd: "$(location) --extinst-grammar $(location third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json) --extinst-output-path $(location OpenCLDebugInfo100.h)",
827    srcs: [
828        "third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json",
829    ],
830    sdk_version: "28",
831    out: [
832        "OpenCLDebugInfo100.h",
833    ],
834}
835cc_defaults {
836    name: "angle_spvtools_headers",
837    stl: "libc++_static",
838    local_include_dirs: [
839        "",
840        "third_party/spirv-tools/src/include/",
841    ],
842    sdk_version: "28",
843    cflags: [
844        "-DANDROID",
845        "-DANDROID_NDK_VERSION_ROLL=r20_1",
846        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
847        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
848        "-DHAVE_SYS_UIO_H",
849        "-DNDEBUG",
850        "-DNVALGRIND",
851        "-D_FORTIFY_SOURCE=2",
852        "-D_GNU_SOURCE",
853        "-D__STDC_CONSTANT_MACROS",
854        "-D__STDC_FORMAT_MACROS",
855        "-Wno-bitwise-conditional-parentheses",
856        "-Wno-builtin-assume-aligned-alignment",
857        "-Wno-builtin-macro-redefined",
858        "-Wno-c++11-narrowing",
859        "-Wno-deprecated-copy",
860        "-Wno-final-dtor-non-final-class",
861        "-Wno-ignored-pragma-optimize",
862        "-Wno-implicit-fallthrough",
863        "-Wno-implicit-int-float-conversion",
864        "-Wno-missing-field-initializers",
865        "-Wno-non-c-typedef-for-linkage",
866        "-Wno-undefined-var-template",
867        "-Wno-unknown-warning-option",
868        "-Wno-unneeded-internal-declaration",
869        "-Wno-unused-parameter",
870    ],
871}
872cc_genrule {
873    name: "angle_spvtools_glsl_tables_glsl1-0",
874    tool_files: [
875        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
876    ],
877    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-tools/src/source/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-tools/src/source/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)",
878    srcs: [
879        "third_party/spirv-headers/src/include/spirv/1.0/extinst.glsl.std.450.grammar.json",
880        "third_party/spirv-headers/src/include/spirv/1.0/spirv.core.grammar.json",
881        "third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json",
882        "third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json",
883    ],
884    sdk_version: "28",
885    out: [
886        "glsl.std.450.insts.inc",
887    ],
888}
889cc_genrule {
890    name: "angle_spvtools_generators_inc",
891    tool_files: [
892        "third_party/spirv-tools/src/utils/generate_registry_tables.py",
893    ],
894    cmd: "$(location) --xml $(location third_party/spirv-headers/src/include/spirv/spir-v.xml) --generator $(location generators.inc)",
895    srcs: [
896        "third_party/spirv-headers/src/include/spirv/spir-v.xml",
897    ],
898    sdk_version: "28",
899    out: [
900        "generators.inc",
901    ],
902}
903cc_genrule {
904    name: "angle_spvtools_core_tables_unified1",
905    tool_files: [
906        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
907    ],
908    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-tools/src/source/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json) --operand-kinds-output $(location operand.kinds-unified1.inc)",
909    srcs: [
910        "third_party/spirv-headers/src/include/spirv/unified1/spirv.core.grammar.json",
911        "third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json",
912        "third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json",
913    ],
914    sdk_version: "28",
915    out: [
916        "core.insts-unified1.inc",
917        "operand.kinds-unified1.inc",
918    ],
919}
920cc_genrule {
921    name: "angle_spvtools_core_enums_unified1",
922    tool_files: [
923        "third_party/spirv-tools/src/utils/generate_grammar_tables.py",
924    ],
925    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-tools/src/source/extinst.debuginfo.grammar.json) --extinst-cldebuginfo100-grammar $(location third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json) --extension-enum-output $(location extension_enum.inc) --enum-string-mapping-output $(location enum_string_mapping.inc)",
926    srcs: [
927        "third_party/spirv-headers/src/include/spirv/unified1/spirv.core.grammar.json",
928        "third_party/spirv-tools/src/source/extinst.debuginfo.grammar.json",
929        "third_party/spirv-tools/src/source/extinst.opencl.debuginfo.100.grammar.json",
930    ],
931    sdk_version: "28",
932    out: [
933        "enum_string_mapping.inc",
934        "extension_enum.inc",
935    ],
936}
937cc_defaults {
938    name: "angle_spv_headers",
939    stl: "libc++_static",
940    local_include_dirs: [
941        "",
942        "third_party/spirv-headers/src/include/",
943    ],
944    sdk_version: "28",
945    cflags: [
946        "-DANDROID",
947        "-DANDROID_NDK_VERSION_ROLL=r20_1",
948        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
949        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
950        "-DHAVE_SYS_UIO_H",
951        "-DNDEBUG",
952        "-DNVALGRIND",
953        "-D_FORTIFY_SOURCE=2",
954        "-D_GNU_SOURCE",
955        "-D__STDC_CONSTANT_MACROS",
956        "-D__STDC_FORMAT_MACROS",
957        "-Wno-bitwise-conditional-parentheses",
958        "-Wno-builtin-assume-aligned-alignment",
959        "-Wno-builtin-macro-redefined",
960        "-Wno-c++11-narrowing",
961        "-Wno-deprecated-copy",
962        "-Wno-final-dtor-non-final-class",
963        "-Wno-ignored-pragma-optimize",
964        "-Wno-implicit-fallthrough",
965        "-Wno-implicit-int-float-conversion",
966        "-Wno-missing-field-initializers",
967        "-Wno-non-c-typedef-for-linkage",
968        "-Wno-undefined-var-template",
969        "-Wno-unknown-warning-option",
970        "-Wno-unneeded-internal-declaration",
971        "-Wno-unused-parameter",
972    ],
973}
974cc_library_static {
975    generated_headers: [
976        "angle_spvtools_core_enums_unified1",
977        "angle_spvtools_core_tables_unified1",
978        "angle_spvtools_generators_inc",
979        "angle_spvtools_glsl_tables_glsl1-0",
980        "angle_spvtools_language_header_cldebuginfo100",
981        "angle_spvtools_language_header_debuginfo",
982        "angle_spvtools_opencl_tables_opencl1-0",
983        "angle_spvtools_vendor_tables_debuginfo",
984        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
985        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
986        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
987        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
988        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
989    ],
990    name: "angle_spvtools",
991    stl: "libc++_static",
992    local_include_dirs: [
993        "",
994        "third_party/spirv-headers/src/include/",
995        "third_party/spirv-tools/src/",
996        "third_party/spirv-tools/src/include/",
997    ],
998    srcs: [
999        "third_party/spirv-tools/src/source/assembly_grammar.cpp",
1000        "third_party/spirv-tools/src/source/binary.cpp",
1001        "third_party/spirv-tools/src/source/diagnostic.cpp",
1002        "third_party/spirv-tools/src/source/disassemble.cpp",
1003        "third_party/spirv-tools/src/source/enum_string_mapping.cpp",
1004        "third_party/spirv-tools/src/source/ext_inst.cpp",
1005        "third_party/spirv-tools/src/source/extensions.cpp",
1006        "third_party/spirv-tools/src/source/libspirv.cpp",
1007        "third_party/spirv-tools/src/source/name_mapper.cpp",
1008        "third_party/spirv-tools/src/source/opcode.cpp",
1009        "third_party/spirv-tools/src/source/operand.cpp",
1010        "third_party/spirv-tools/src/source/parsed_operand.cpp",
1011        "third_party/spirv-tools/src/source/print.cpp",
1012        "third_party/spirv-tools/src/source/spirv_endian.cpp",
1013        "third_party/spirv-tools/src/source/spirv_optimizer_options.cpp",
1014        "third_party/spirv-tools/src/source/spirv_target_env.cpp",
1015        "third_party/spirv-tools/src/source/spirv_validator_options.cpp",
1016        "third_party/spirv-tools/src/source/table.cpp",
1017        "third_party/spirv-tools/src/source/text.cpp",
1018        "third_party/spirv-tools/src/source/text_handler.cpp",
1019        "third_party/spirv-tools/src/source/util/bit_vector.cpp",
1020        "third_party/spirv-tools/src/source/util/parse_number.cpp",
1021        "third_party/spirv-tools/src/source/util/string_utils.cpp",
1022        "third_party/spirv-tools/src/source/util/timer.cpp",
1023    ],
1024    sdk_version: "28",
1025    cflags: [
1026        "-DANDROID",
1027        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1028        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1029        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1030        "-DHAVE_SYS_UIO_H",
1031        "-DNDEBUG",
1032        "-DNVALGRIND",
1033        "-D_FORTIFY_SOURCE=2",
1034        "-D_GNU_SOURCE",
1035        "-D__STDC_CONSTANT_MACROS",
1036        "-D__STDC_FORMAT_MACROS",
1037        "-Wno-bitwise-conditional-parentheses",
1038        "-Wno-builtin-assume-aligned-alignment",
1039        "-Wno-builtin-macro-redefined",
1040        "-Wno-c++11-narrowing",
1041        "-Wno-deprecated-copy",
1042        "-Wno-final-dtor-non-final-class",
1043        "-Wno-ignored-pragma-optimize",
1044        "-Wno-implicit-fallthrough",
1045        "-Wno-implicit-int-float-conversion",
1046        "-Wno-missing-field-initializers",
1047        "-Wno-newline-eof",
1048        "-Wno-non-c-typedef-for-linkage",
1049        "-Wno-undefined-var-template",
1050        "-Wno-unknown-warning-option",
1051        "-Wno-unneeded-internal-declaration",
1052        "-Wno-unused-parameter",
1053    ],
1054    defaults: [
1055        "angle_spv_headers",
1056        "angle_spvtools_headers",
1057    ],
1058}
1059cc_library_static {
1060    generated_headers: [
1061        "angle_spvtools_core_enums_unified1",
1062        "angle_spvtools_core_tables_unified1",
1063        "angle_spvtools_generators_inc",
1064        "angle_spvtools_glsl_tables_glsl1-0",
1065        "angle_spvtools_language_header_cldebuginfo100",
1066        "angle_spvtools_language_header_debuginfo",
1067        "angle_spvtools_opencl_tables_opencl1-0",
1068        "angle_spvtools_vendor_tables_debuginfo",
1069        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
1070        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
1071        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
1072        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1073        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1074    ],
1075    name: "angle_spvtools_opt",
1076    stl: "libc++_static",
1077    static_libs: [
1078        "angle_spvtools",
1079    ],
1080    local_include_dirs: [
1081        "",
1082        "third_party/spirv-headers/src/include/",
1083        "third_party/spirv-tools/src/",
1084        "third_party/spirv-tools/src/include/",
1085    ],
1086    srcs: [
1087        "third_party/spirv-tools/src/source/opt/aggressive_dead_code_elim_pass.cpp",
1088        "third_party/spirv-tools/src/source/opt/amd_ext_to_khr.cpp",
1089        "third_party/spirv-tools/src/source/opt/basic_block.cpp",
1090        "third_party/spirv-tools/src/source/opt/block_merge_pass.cpp",
1091        "third_party/spirv-tools/src/source/opt/block_merge_util.cpp",
1092        "third_party/spirv-tools/src/source/opt/build_module.cpp",
1093        "third_party/spirv-tools/src/source/opt/ccp_pass.cpp",
1094        "third_party/spirv-tools/src/source/opt/cfg.cpp",
1095        "third_party/spirv-tools/src/source/opt/cfg_cleanup_pass.cpp",
1096        "third_party/spirv-tools/src/source/opt/code_sink.cpp",
1097        "third_party/spirv-tools/src/source/opt/combine_access_chains.cpp",
1098        "third_party/spirv-tools/src/source/opt/compact_ids_pass.cpp",
1099        "third_party/spirv-tools/src/source/opt/composite.cpp",
1100        "third_party/spirv-tools/src/source/opt/const_folding_rules.cpp",
1101        "third_party/spirv-tools/src/source/opt/constants.cpp",
1102        "third_party/spirv-tools/src/source/opt/convert_to_half_pass.cpp",
1103        "third_party/spirv-tools/src/source/opt/copy_prop_arrays.cpp",
1104        "third_party/spirv-tools/src/source/opt/dead_branch_elim_pass.cpp",
1105        "third_party/spirv-tools/src/source/opt/dead_insert_elim_pass.cpp",
1106        "third_party/spirv-tools/src/source/opt/dead_variable_elimination.cpp",
1107        "third_party/spirv-tools/src/source/opt/decompose_initialized_variables_pass.cpp",
1108        "third_party/spirv-tools/src/source/opt/decoration_manager.cpp",
1109        "third_party/spirv-tools/src/source/opt/def_use_manager.cpp",
1110        "third_party/spirv-tools/src/source/opt/desc_sroa.cpp",
1111        "third_party/spirv-tools/src/source/opt/dominator_analysis.cpp",
1112        "third_party/spirv-tools/src/source/opt/dominator_tree.cpp",
1113        "third_party/spirv-tools/src/source/opt/eliminate_dead_constant_pass.cpp",
1114        "third_party/spirv-tools/src/source/opt/eliminate_dead_functions_pass.cpp",
1115        "third_party/spirv-tools/src/source/opt/eliminate_dead_functions_util.cpp",
1116        "third_party/spirv-tools/src/source/opt/eliminate_dead_members_pass.cpp",
1117        "third_party/spirv-tools/src/source/opt/feature_manager.cpp",
1118        "third_party/spirv-tools/src/source/opt/fix_storage_class.cpp",
1119        "third_party/spirv-tools/src/source/opt/flatten_decoration_pass.cpp",
1120        "third_party/spirv-tools/src/source/opt/fold.cpp",
1121        "third_party/spirv-tools/src/source/opt/fold_spec_constant_op_and_composite_pass.cpp",
1122        "third_party/spirv-tools/src/source/opt/folding_rules.cpp",
1123        "third_party/spirv-tools/src/source/opt/freeze_spec_constant_value_pass.cpp",
1124        "third_party/spirv-tools/src/source/opt/function.cpp",
1125        "third_party/spirv-tools/src/source/opt/generate_webgpu_initializers_pass.cpp",
1126        "third_party/spirv-tools/src/source/opt/graphics_robust_access_pass.cpp",
1127        "third_party/spirv-tools/src/source/opt/if_conversion.cpp",
1128        "third_party/spirv-tools/src/source/opt/inline_exhaustive_pass.cpp",
1129        "third_party/spirv-tools/src/source/opt/inline_opaque_pass.cpp",
1130        "third_party/spirv-tools/src/source/opt/inline_pass.cpp",
1131        "third_party/spirv-tools/src/source/opt/inst_bindless_check_pass.cpp",
1132        "third_party/spirv-tools/src/source/opt/inst_buff_addr_check_pass.cpp",
1133        "third_party/spirv-tools/src/source/opt/inst_debug_printf_pass.cpp",
1134        "third_party/spirv-tools/src/source/opt/instruction.cpp",
1135        "third_party/spirv-tools/src/source/opt/instruction_list.cpp",
1136        "third_party/spirv-tools/src/source/opt/instrument_pass.cpp",
1137        "third_party/spirv-tools/src/source/opt/ir_context.cpp",
1138        "third_party/spirv-tools/src/source/opt/ir_loader.cpp",
1139        "third_party/spirv-tools/src/source/opt/legalize_vector_shuffle_pass.cpp",
1140        "third_party/spirv-tools/src/source/opt/licm_pass.cpp",
1141        "third_party/spirv-tools/src/source/opt/local_access_chain_convert_pass.cpp",
1142        "third_party/spirv-tools/src/source/opt/local_redundancy_elimination.cpp",
1143        "third_party/spirv-tools/src/source/opt/local_single_block_elim_pass.cpp",
1144        "third_party/spirv-tools/src/source/opt/local_single_store_elim_pass.cpp",
1145        "third_party/spirv-tools/src/source/opt/loop_dependence.cpp",
1146        "third_party/spirv-tools/src/source/opt/loop_dependence_helpers.cpp",
1147        "third_party/spirv-tools/src/source/opt/loop_descriptor.cpp",
1148        "third_party/spirv-tools/src/source/opt/loop_fission.cpp",
1149        "third_party/spirv-tools/src/source/opt/loop_fusion.cpp",
1150        "third_party/spirv-tools/src/source/opt/loop_fusion_pass.cpp",
1151        "third_party/spirv-tools/src/source/opt/loop_peeling.cpp",
1152        "third_party/spirv-tools/src/source/opt/loop_unroller.cpp",
1153        "third_party/spirv-tools/src/source/opt/loop_unswitch_pass.cpp",
1154        "third_party/spirv-tools/src/source/opt/loop_utils.cpp",
1155        "third_party/spirv-tools/src/source/opt/mem_pass.cpp",
1156        "third_party/spirv-tools/src/source/opt/merge_return_pass.cpp",
1157        "third_party/spirv-tools/src/source/opt/module.cpp",
1158        "third_party/spirv-tools/src/source/opt/optimizer.cpp",
1159        "third_party/spirv-tools/src/source/opt/pass.cpp",
1160        "third_party/spirv-tools/src/source/opt/pass_manager.cpp",
1161        "third_party/spirv-tools/src/source/opt/private_to_local_pass.cpp",
1162        "third_party/spirv-tools/src/source/opt/process_lines_pass.cpp",
1163        "third_party/spirv-tools/src/source/opt/propagator.cpp",
1164        "third_party/spirv-tools/src/source/opt/reduce_load_size.cpp",
1165        "third_party/spirv-tools/src/source/opt/redundancy_elimination.cpp",
1166        "third_party/spirv-tools/src/source/opt/register_pressure.cpp",
1167        "third_party/spirv-tools/src/source/opt/relax_float_ops_pass.cpp",
1168        "third_party/spirv-tools/src/source/opt/remove_duplicates_pass.cpp",
1169        "third_party/spirv-tools/src/source/opt/replace_invalid_opc.cpp",
1170        "third_party/spirv-tools/src/source/opt/scalar_analysis.cpp",
1171        "third_party/spirv-tools/src/source/opt/scalar_analysis_simplification.cpp",
1172        "third_party/spirv-tools/src/source/opt/scalar_replacement_pass.cpp",
1173        "third_party/spirv-tools/src/source/opt/set_spec_constant_default_value_pass.cpp",
1174        "third_party/spirv-tools/src/source/opt/simplification_pass.cpp",
1175        "third_party/spirv-tools/src/source/opt/split_invalid_unreachable_pass.cpp",
1176        "third_party/spirv-tools/src/source/opt/ssa_rewrite_pass.cpp",
1177        "third_party/spirv-tools/src/source/opt/strength_reduction_pass.cpp",
1178        "third_party/spirv-tools/src/source/opt/strip_atomic_counter_memory_pass.cpp",
1179        "third_party/spirv-tools/src/source/opt/strip_debug_info_pass.cpp",
1180        "third_party/spirv-tools/src/source/opt/strip_reflect_info_pass.cpp",
1181        "third_party/spirv-tools/src/source/opt/struct_cfg_analysis.cpp",
1182        "third_party/spirv-tools/src/source/opt/type_manager.cpp",
1183        "third_party/spirv-tools/src/source/opt/types.cpp",
1184        "third_party/spirv-tools/src/source/opt/unify_const_pass.cpp",
1185        "third_party/spirv-tools/src/source/opt/upgrade_memory_model.cpp",
1186        "third_party/spirv-tools/src/source/opt/value_number_table.cpp",
1187        "third_party/spirv-tools/src/source/opt/vector_dce.cpp",
1188        "third_party/spirv-tools/src/source/opt/workaround1209.cpp",
1189        "third_party/spirv-tools/src/source/opt/wrap_opkill.cpp",
1190    ],
1191    sdk_version: "28",
1192    cflags: [
1193        "-DANDROID",
1194        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1195        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1196        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1197        "-DHAVE_SYS_UIO_H",
1198        "-DNDEBUG",
1199        "-DNVALGRIND",
1200        "-D_FORTIFY_SOURCE=2",
1201        "-D_GNU_SOURCE",
1202        "-D__STDC_CONSTANT_MACROS",
1203        "-D__STDC_FORMAT_MACROS",
1204        "-Wno-bitwise-conditional-parentheses",
1205        "-Wno-builtin-assume-aligned-alignment",
1206        "-Wno-builtin-macro-redefined",
1207        "-Wno-c++11-narrowing",
1208        "-Wno-deprecated-copy",
1209        "-Wno-final-dtor-non-final-class",
1210        "-Wno-ignored-pragma-optimize",
1211        "-Wno-implicit-fallthrough",
1212        "-Wno-implicit-int-float-conversion",
1213        "-Wno-missing-field-initializers",
1214        "-Wno-newline-eof",
1215        "-Wno-non-c-typedef-for-linkage",
1216        "-Wno-undefined-var-template",
1217        "-Wno-unknown-warning-option",
1218        "-Wno-unneeded-internal-declaration",
1219        "-Wno-unused-parameter",
1220    ],
1221    defaults: [
1222        "angle_spvtools_headers",
1223    ],
1224}
1225cc_defaults {
1226    generated_headers: [
1227        "angle_spvtools_core_enums_unified1",
1228        "angle_spvtools_core_tables_unified1",
1229        "angle_spvtools_generators_inc",
1230        "angle_spvtools_glsl_tables_glsl1-0",
1231        "angle_spvtools_language_header_cldebuginfo100",
1232        "angle_spvtools_language_header_debuginfo",
1233        "angle_spvtools_opencl_tables_opencl1-0",
1234        "angle_spvtools_vendor_tables_debuginfo",
1235        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
1236        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
1237        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
1238        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1239        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1240    ],
1241    name: "angle_glslang_sources",
1242    stl: "libc++_static",
1243    static_libs: [
1244        "angle_spvtools",
1245        "angle_spvtools_opt",
1246        "angle_spvtools_val",
1247    ],
1248    local_include_dirs: [
1249        "",
1250        "third_party/glslang/src/",
1251        "third_party/spirv-tools/src/include/",
1252    ],
1253    srcs: [
1254        "third_party/glslang/src/OGLCompilersDLL/InitializeDll.cpp",
1255        "third_party/glslang/src/SPIRV/GlslangToSpv.cpp",
1256        "third_party/glslang/src/SPIRV/InReadableOrder.cpp",
1257        "third_party/glslang/src/SPIRV/Logger.cpp",
1258        "third_party/glslang/src/SPIRV/SPVRemapper.cpp",
1259        "third_party/glslang/src/SPIRV/SpvBuilder.cpp",
1260        "third_party/glslang/src/SPIRV/SpvPostProcess.cpp",
1261        "third_party/glslang/src/SPIRV/SpvTools.cpp",
1262        "third_party/glslang/src/SPIRV/disassemble.cpp",
1263        "third_party/glslang/src/SPIRV/doc.cpp",
1264        "third_party/glslang/src/glslang/GenericCodeGen/CodeGen.cpp",
1265        "third_party/glslang/src/glslang/GenericCodeGen/Link.cpp",
1266        "third_party/glslang/src/glslang/MachineIndependent/Constant.cpp",
1267        "third_party/glslang/src/glslang/MachineIndependent/InfoSink.cpp",
1268        "third_party/glslang/src/glslang/MachineIndependent/Initialize.cpp",
1269        "third_party/glslang/src/glslang/MachineIndependent/IntermTraverse.cpp",
1270        "third_party/glslang/src/glslang/MachineIndependent/Intermediate.cpp",
1271        "third_party/glslang/src/glslang/MachineIndependent/ParseContextBase.cpp",
1272        "third_party/glslang/src/glslang/MachineIndependent/ParseHelper.cpp",
1273        "third_party/glslang/src/glslang/MachineIndependent/PoolAlloc.cpp",
1274        "third_party/glslang/src/glslang/MachineIndependent/RemoveTree.cpp",
1275        "third_party/glslang/src/glslang/MachineIndependent/Scan.cpp",
1276        "third_party/glslang/src/glslang/MachineIndependent/ShaderLang.cpp",
1277        "third_party/glslang/src/glslang/MachineIndependent/SymbolTable.cpp",
1278        "third_party/glslang/src/glslang/MachineIndependent/Versions.cpp",
1279        "third_party/glslang/src/glslang/MachineIndependent/attribute.cpp",
1280        "third_party/glslang/src/glslang/MachineIndependent/glslang_tab.cpp",
1281        "third_party/glslang/src/glslang/MachineIndependent/intermOut.cpp",
1282        "third_party/glslang/src/glslang/MachineIndependent/iomapper.cpp",
1283        "third_party/glslang/src/glslang/MachineIndependent/limits.cpp",
1284        "third_party/glslang/src/glslang/MachineIndependent/linkValidate.cpp",
1285        "third_party/glslang/src/glslang/MachineIndependent/parseConst.cpp",
1286        "third_party/glslang/src/glslang/MachineIndependent/preprocessor/Pp.cpp",
1287        "third_party/glslang/src/glslang/MachineIndependent/preprocessor/PpAtom.cpp",
1288        "third_party/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.cpp",
1289        "third_party/glslang/src/glslang/MachineIndependent/preprocessor/PpScanner.cpp",
1290        "third_party/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.cpp",
1291        "third_party/glslang/src/glslang/MachineIndependent/propagateNoContraction.cpp",
1292        "third_party/glslang/src/glslang/MachineIndependent/reflection.cpp",
1293        "third_party/glslang/src/glslang/OSDependent/Unix/ossource.cpp",
1294        "third_party/glslang/src/hlsl/hlslAttributes.cpp",
1295        "third_party/glslang/src/hlsl/hlslGrammar.cpp",
1296        "third_party/glslang/src/hlsl/hlslOpMap.cpp",
1297        "third_party/glslang/src/hlsl/hlslParseHelper.cpp",
1298        "third_party/glslang/src/hlsl/hlslParseables.cpp",
1299        "third_party/glslang/src/hlsl/hlslScanContext.cpp",
1300        "third_party/glslang/src/hlsl/hlslTokenStream.cpp",
1301    ],
1302    sdk_version: "28",
1303    cflags: [
1304        "-DANDROID",
1305        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1306        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1307        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1308        "-DENABLE_HLSL=1",
1309        "-DENABLE_OPT=1",
1310        "-DGLSLANG_OSINCLUDE_UNIX",
1311        "-DHAVE_SYS_UIO_H",
1312        "-DNDEBUG",
1313        "-DNVALGRIND",
1314        "-D_GNU_SOURCE",
1315        "-Wno-bitwise-conditional-parentheses",
1316        "-Wno-builtin-assume-aligned-alignment",
1317        "-Wno-builtin-macro-redefined",
1318        "-Wno-c++11-narrowing",
1319        "-Wno-deprecated-copy",
1320        "-Wno-extra-semi",
1321        "-Wno-final-dtor-non-final-class",
1322        "-Wno-ignored-pragma-optimize",
1323        "-Wno-ignored-qualifiers",
1324        "-Wno-implicit-fallthrough",
1325        "-Wno-implicit-int-float-conversion",
1326        "-Wno-inconsistent-missing-override",
1327        "-Wno-misleading-indentation",
1328        "-Wno-missing-field-initializers",
1329        "-Wno-newline-eof",
1330        "-Wno-non-c-typedef-for-linkage",
1331        "-Wno-sign-compare",
1332        "-Wno-undefined-var-template",
1333        "-Wno-unknown-warning-option",
1334        "-Wno-unneeded-internal-declaration",
1335        "-Wno-unused-parameter",
1336        "-Wno-unused-variable",
1337    ],
1338}
1339cc_defaults {
1340    generated_headers: [
1341        "angle_spvtools_core_enums_unified1",
1342        "angle_spvtools_core_tables_unified1",
1343        "angle_spvtools_generators_inc",
1344        "angle_spvtools_glsl_tables_glsl1-0",
1345        "angle_spvtools_language_header_cldebuginfo100",
1346        "angle_spvtools_language_header_debuginfo",
1347        "angle_spvtools_opencl_tables_opencl1-0",
1348        "angle_spvtools_vendor_tables_debuginfo",
1349        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
1350        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
1351        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
1352        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1353        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1354    ],
1355    name: "angle_glslang_default_resource_limits_sources",
1356    stl: "libc++_static",
1357    static_libs: [
1358        "angle_spvtools",
1359        "angle_spvtools_opt",
1360        "angle_spvtools_val",
1361    ],
1362    local_include_dirs: [
1363        "",
1364        "third_party/glslang/src/",
1365    ],
1366    srcs: [
1367        "third_party/glslang/src/StandAlone/ResourceLimits.cpp",
1368    ],
1369    sdk_version: "28",
1370    cflags: [
1371        "-DANDROID",
1372        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1373        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1374        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1375        "-DENABLE_HLSL=1",
1376        "-DHAVE_SYS_UIO_H",
1377        "-DNDEBUG",
1378        "-DNVALGRIND",
1379        "-D_GNU_SOURCE",
1380        "-Wno-bitwise-conditional-parentheses",
1381        "-Wno-builtin-assume-aligned-alignment",
1382        "-Wno-builtin-macro-redefined",
1383        "-Wno-c++11-narrowing",
1384        "-Wno-deprecated-copy",
1385        "-Wno-final-dtor-non-final-class",
1386        "-Wno-ignored-pragma-optimize",
1387        "-Wno-implicit-fallthrough",
1388        "-Wno-implicit-int-float-conversion",
1389        "-Wno-misleading-indentation",
1390        "-Wno-missing-field-initializers",
1391        "-Wno-non-c-typedef-for-linkage",
1392        "-Wno-undefined-var-template",
1393        "-Wno-unknown-warning-option",
1394        "-Wno-unneeded-internal-declaration",
1395        "-Wno-unused-parameter",
1396        "-Wno-unused-variable",
1397    ],
1398    defaults: [
1399        "angle_glslang_sources",
1400    ],
1401}
1402cc_defaults {
1403    generated_headers: [
1404        "angle_commit_id",
1405        "angle_spvtools_core_enums_unified1",
1406        "angle_spvtools_core_tables_unified1",
1407        "angle_spvtools_generators_inc",
1408        "angle_spvtools_glsl_tables_glsl1-0",
1409        "angle_spvtools_language_header_cldebuginfo100",
1410        "angle_spvtools_language_header_debuginfo",
1411        "angle_spvtools_opencl_tables_opencl1-0",
1412        "angle_spvtools_vendor_tables_debuginfo",
1413        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
1414        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
1415        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
1416        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1417        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1418    ],
1419    name: "angle_glslang_wrapper",
1420    stl: "libc++_static",
1421    static_libs: [
1422        "angle_common",
1423        "angle_spvtools",
1424        "angle_spvtools_opt",
1425        "angle_spvtools_val",
1426    ],
1427    shared_libs: [
1428        "liblog",
1429        "libnativewindow",
1430    ],
1431    local_include_dirs: [
1432        "",
1433        "include/",
1434        "src/",
1435        "src/common/third_party/base/",
1436        "third_party/glslang/src/",
1437        "third_party/spirv-headers/src/include/",
1438        "third_party/spirv-tools/src/include/",
1439    ],
1440    srcs: [
1441        "src/libANGLE/renderer/glslang_wrapper_utils.cpp",
1442    ],
1443    sdk_version: "28",
1444    cflags: [
1445        "-DANDROID",
1446        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1447        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1448        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1449        "-DENABLE_HLSL=1",
1450        "-DHAVE_SYS_UIO_H",
1451        "-DLIBANGLE_IMPLEMENTATION",
1452        "-DNDEBUG",
1453        "-DNVALGRIND",
1454        "-D_FORTIFY_SOURCE=2",
1455        "-D_GNU_SOURCE",
1456        "-D__STDC_CONSTANT_MACROS",
1457        "-D__STDC_FORMAT_MACROS",
1458        "-Wno-bitwise-conditional-parentheses",
1459        "-Wno-builtin-assume-aligned-alignment",
1460        "-Wno-builtin-macro-redefined",
1461        "-Wno-c++11-narrowing",
1462        "-Wno-deprecated-copy",
1463        "-Wno-final-dtor-non-final-class",
1464        "-Wno-ignored-pragma-optimize",
1465        "-Wno-implicit-fallthrough",
1466        "-Wno-implicit-int-float-conversion",
1467        "-Wno-missing-field-initializers",
1468        "-Wno-non-c-typedef-for-linkage",
1469        "-Wno-undefined-var-template",
1470        "-Wno-unknown-warning-option",
1471        "-Wno-unneeded-internal-declaration",
1472        "-Wno-unused-parameter",
1473    ],
1474    defaults: [
1475        "angle_glslang_default_resource_limits_sources",
1476        "angle_glslang_sources",
1477        "angle_libANGLE_headers",
1478        "angle_spv_headers",
1479        "angle_spvtools_headers",
1480    ],
1481    arch: {
1482        arm64: {
1483            cflags: [
1484                "-DANGLE_IS_64_BIT_CPU",
1485            ],
1486        },
1487        x86_64: {
1488            cflags: [
1489                "-DANGLE_IS_64_BIT_CPU",
1490            ],
1491        },
1492        x86: {
1493            cflags: [
1494                "-DANGLE_IS_32_BIT_CPU",
1495            ],
1496        },
1497        arm: {
1498            cflags: [
1499                "-DANGLE_IS_32_BIT_CPU",
1500            ],
1501        },
1502    },
1503}
1504cc_defaults {
1505    generated_headers: [
1506        "angle_commit_id",
1507        "angle_spvtools_core_enums_unified1",
1508        "angle_spvtools_core_tables_unified1",
1509        "angle_spvtools_generators_inc",
1510        "angle_spvtools_glsl_tables_glsl1-0",
1511        "angle_spvtools_language_header_cldebuginfo100",
1512        "angle_spvtools_language_header_debuginfo",
1513        "angle_spvtools_opencl_tables_opencl1-0",
1514        "angle_spvtools_vendor_tables_debuginfo",
1515        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
1516        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
1517        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
1518        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
1519        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
1520    ],
1521    name: "angle_vulkan_backend",
1522    stl: "libc++_static",
1523    static_libs: [
1524        "angle_common",
1525        "angle_gpu_info_util",
1526        "angle_image_util",
1527        "angle_spvtools",
1528        "angle_spvtools_opt",
1529        "angle_spvtools_val",
1530    ],
1531    shared_libs: [
1532        "liblog",
1533        "libnativewindow",
1534        "libvulkan",
1535    ],
1536    local_include_dirs: [
1537        "",
1538        "include/",
1539        "src/",
1540        "src/common/third_party/base/",
1541        "src/third_party/volk/",
1542        "third_party/spirv-tools/src/include/",
1543        "third_party/vulkan-headers/src/include/",
1544    ],
1545    srcs: [
1546        "src/libANGLE/renderer/vulkan/BufferVk.cpp",
1547        "src/libANGLE/renderer/vulkan/CompilerVk.cpp",
1548        "src/libANGLE/renderer/vulkan/ContextVk.cpp",
1549        "src/libANGLE/renderer/vulkan/DeviceVk.cpp",
1550        "src/libANGLE/renderer/vulkan/DisplayVk.cpp",
1551        "src/libANGLE/renderer/vulkan/FenceNVVk.cpp",
1552        "src/libANGLE/renderer/vulkan/FramebufferVk.cpp",
1553        "src/libANGLE/renderer/vulkan/GlslangWrapperVk.cpp",
1554        "src/libANGLE/renderer/vulkan/ImageVk.cpp",
1555        "src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp",
1556        "src/libANGLE/renderer/vulkan/OverlayVk.cpp",
1557        "src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp",
1558        "src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp",
1559        "src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp",
1560        "src/libANGLE/renderer/vulkan/ProgramVk.cpp",
1561        "src/libANGLE/renderer/vulkan/QueryVk.cpp",
1562        "src/libANGLE/renderer/vulkan/RenderTargetVk.cpp",
1563        "src/libANGLE/renderer/vulkan/RenderbufferVk.cpp",
1564        "src/libANGLE/renderer/vulkan/RendererVk.cpp",
1565        "src/libANGLE/renderer/vulkan/ResourceVk.cpp",
1566        "src/libANGLE/renderer/vulkan/SamplerVk.cpp",
1567        "src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp",
1568        "src/libANGLE/renderer/vulkan/SemaphoreVk.cpp",
1569        "src/libANGLE/renderer/vulkan/ShaderVk.cpp",
1570        "src/libANGLE/renderer/vulkan/SurfaceVk.cpp",
1571        "src/libANGLE/renderer/vulkan/SyncVk.cpp",
1572        "src/libANGLE/renderer/vulkan/TextureVk.cpp",
1573        "src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp",
1574        "src/libANGLE/renderer/vulkan/UtilsVk.cpp",
1575        "src/libANGLE/renderer/vulkan/VertexArrayVk.cpp",
1576        "src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.cpp",
1577        "src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp",
1578        "src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.cpp",
1579        "src/libANGLE/renderer/vulkan/vk_cache_utils.cpp",
1580        "src/libANGLE/renderer/vulkan/vk_caps_utils.cpp",
1581        "src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp",
1582        "src/libANGLE/renderer/vulkan/vk_format_utils.cpp",
1583        "src/libANGLE/renderer/vulkan/vk_helpers.cpp",
1584        "src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp",
1585        "src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp",
1586        "src/libANGLE/renderer/vulkan/vk_utils.cpp",
1587    ],
1588    sdk_version: "28",
1589    cflags: [
1590        "-DANDROID",
1591        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1592        "-DANGLE_ENABLE_OPENGL",
1593        "-DANGLE_ENABLE_OPENGL_NULL",
1594        "-DANGLE_ENABLE_VULKAN",
1595        "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1",
1596        "-DANGLE_VK_LAYERS_DIR=\"angledata\"",
1597        "-DANGLE_VK_MOCK_ICD_JSON=\"angledata/VkICD_mock_icd.json\"",
1598        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1599        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1600        "-DHAVE_SYS_UIO_H",
1601        "-DLIBANGLE_IMPLEMENTATION",
1602        "-DNDEBUG",
1603        "-DNVALGRIND",
1604        "-DVK_USE_PLATFORM_ANDROID_KHR",
1605        "-D_FORTIFY_SOURCE=2",
1606        "-D_GNU_SOURCE",
1607        "-D__STDC_CONSTANT_MACROS",
1608        "-D__STDC_FORMAT_MACROS",
1609        "-Wno-bitwise-conditional-parentheses",
1610        "-Wno-builtin-assume-aligned-alignment",
1611        "-Wno-builtin-macro-redefined",
1612        "-Wno-c++11-narrowing",
1613        "-Wno-deprecated-copy",
1614        "-Wno-final-dtor-non-final-class",
1615        "-Wno-ignored-pragma-optimize",
1616        "-Wno-implicit-fallthrough",
1617        "-Wno-implicit-int-float-conversion",
1618        "-Wno-missing-field-initializers",
1619        "-Wno-non-c-typedef-for-linkage",
1620        "-Wno-undefined-var-template",
1621        "-Wno-unknown-warning-option",
1622        "-Wno-unneeded-internal-declaration",
1623        "-Wno-unused-parameter",
1624    ],
1625    defaults: [
1626        "angle_glslang_wrapper",
1627        "angle_libANGLE_headers",
1628        "angle_vk_mem_alloc_wrapper",
1629        "angle_vulkan_entry_points",
1630        "angle_vulkan_headers",
1631    ],
1632    arch: {
1633        arm64: {
1634            cflags: [
1635                "-DANGLE_IS_64_BIT_CPU",
1636            ],
1637        },
1638        x86_64: {
1639            cflags: [
1640                "-DANGLE_IS_64_BIT_CPU",
1641            ],
1642        },
1643        x86: {
1644            cflags: [
1645                "-DANGLE_IS_32_BIT_CPU",
1646            ],
1647        },
1648        arm: {
1649            cflags: [
1650                "-DANGLE_IS_32_BIT_CPU",
1651            ],
1652        },
1653    },
1654}
1655cc_library_static {
1656    generated_headers: [
1657        "angle_commit_id",
1658    ],
1659    name: "angle_preprocessor",
1660    stl: "libc++_static",
1661    static_libs: [
1662        "angle_common",
1663    ],
1664    shared_libs: [
1665        "liblog",
1666    ],
1667    local_include_dirs: [
1668        "",
1669        "include/",
1670        "src/",
1671        "src/common/third_party/base/",
1672    ],
1673    srcs: [
1674        "src/compiler/preprocessor/DiagnosticsBase.cpp",
1675        "src/compiler/preprocessor/DirectiveHandlerBase.cpp",
1676        "src/compiler/preprocessor/DirectiveParser.cpp",
1677        "src/compiler/preprocessor/Input.cpp",
1678        "src/compiler/preprocessor/Lexer.cpp",
1679        "src/compiler/preprocessor/Macro.cpp",
1680        "src/compiler/preprocessor/MacroExpander.cpp",
1681        "src/compiler/preprocessor/Preprocessor.cpp",
1682        "src/compiler/preprocessor/Token.cpp",
1683        "src/compiler/preprocessor/preprocessor_lex_autogen.cpp",
1684        "src/compiler/preprocessor/preprocessor_tab_autogen.cpp",
1685    ],
1686    sdk_version: "28",
1687    cflags: [
1688        "-DANDROID",
1689        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1690        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1691        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1692        "-DHAVE_SYS_UIO_H",
1693        "-DNDEBUG",
1694        "-DNVALGRIND",
1695        "-D_FORTIFY_SOURCE=2",
1696        "-D_GNU_SOURCE",
1697        "-D__STDC_CONSTANT_MACROS",
1698        "-D__STDC_FORMAT_MACROS",
1699        "-Wno-bitwise-conditional-parentheses",
1700        "-Wno-builtin-assume-aligned-alignment",
1701        "-Wno-builtin-macro-redefined",
1702        "-Wno-c++11-narrowing",
1703        "-Wno-deprecated-copy",
1704        "-Wno-final-dtor-non-final-class",
1705        "-Wno-ignored-pragma-optimize",
1706        "-Wno-implicit-fallthrough",
1707        "-Wno-implicit-int-float-conversion",
1708        "-Wno-missing-field-initializers",
1709        "-Wno-non-c-typedef-for-linkage",
1710        "-Wno-undefined-var-template",
1711        "-Wno-unknown-warning-option",
1712        "-Wno-unneeded-internal-declaration",
1713        "-Wno-unused-parameter",
1714    ],
1715    defaults: [
1716        "angle_translator_headers",
1717    ],
1718    arch: {
1719        arm64: {
1720            cflags: [
1721                "-DANGLE_IS_64_BIT_CPU",
1722            ],
1723        },
1724        x86_64: {
1725            cflags: [
1726                "-DANGLE_IS_64_BIT_CPU",
1727            ],
1728        },
1729        x86: {
1730            cflags: [
1731                "-DANGLE_IS_32_BIT_CPU",
1732            ],
1733        },
1734        arm: {
1735            cflags: [
1736                "-DANGLE_IS_32_BIT_CPU",
1737            ],
1738        },
1739    },
1740}
1741cc_library_static {
1742    generated_headers: [
1743        "angle_commit_id",
1744    ],
1745    name: "angle_translator",
1746    stl: "libc++_static",
1747    static_libs: [
1748        "angle_common",
1749        "angle_preprocessor",
1750    ],
1751    shared_libs: [
1752        "liblog",
1753    ],
1754    local_include_dirs: [
1755        "",
1756        "include/",
1757        "src/",
1758        "src/common/third_party/base/",
1759    ],
1760    srcs: [
1761        "src/compiler/translator/BuiltInFunctionEmulator.cpp",
1762        "src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp",
1763        "src/compiler/translator/BuiltinsWorkaroundGLSL.cpp",
1764        "src/compiler/translator/CallDAG.cpp",
1765        "src/compiler/translator/CodeGen.cpp",
1766        "src/compiler/translator/CollectVariables.cpp",
1767        "src/compiler/translator/Compiler.cpp",
1768        "src/compiler/translator/ConstantUnion.cpp",
1769        "src/compiler/translator/Declarator.cpp",
1770        "src/compiler/translator/Diagnostics.cpp",
1771        "src/compiler/translator/DirectiveHandler.cpp",
1772        "src/compiler/translator/ExtensionBehavior.cpp",
1773        "src/compiler/translator/ExtensionGLSL.cpp",
1774        "src/compiler/translator/FlagStd140Structs.cpp",
1775        "src/compiler/translator/FunctionLookup.cpp",
1776        "src/compiler/translator/HashNames.cpp",
1777        "src/compiler/translator/ImmutableStringBuilder.cpp",
1778        "src/compiler/translator/ImmutableString_ESSL_autogen.cpp",
1779        "src/compiler/translator/InfoSink.cpp",
1780        "src/compiler/translator/Initialize.cpp",
1781        "src/compiler/translator/InitializeDll.cpp",
1782        "src/compiler/translator/IntermNode.cpp",
1783        "src/compiler/translator/IsASTDepthBelowLimit.cpp",
1784        "src/compiler/translator/Operator.cpp",
1785        "src/compiler/translator/OutputESSL.cpp",
1786        "src/compiler/translator/OutputGLSL.cpp",
1787        "src/compiler/translator/OutputGLSLBase.cpp",
1788        "src/compiler/translator/OutputTree.cpp",
1789        "src/compiler/translator/OutputVulkanGLSL.cpp",
1790        "src/compiler/translator/ParseContext.cpp",
1791        "src/compiler/translator/PoolAlloc.cpp",
1792        "src/compiler/translator/QualifierTypes.cpp",
1793        "src/compiler/translator/ShaderLang.cpp",
1794        "src/compiler/translator/ShaderVars.cpp",
1795        "src/compiler/translator/Symbol.cpp",
1796        "src/compiler/translator/SymbolTable.cpp",
1797        "src/compiler/translator/SymbolTable_ESSL_autogen.cpp",
1798        "src/compiler/translator/SymbolUniqueId.cpp",
1799        "src/compiler/translator/TranslatorESSL.cpp",
1800        "src/compiler/translator/TranslatorGLSL.cpp",
1801        "src/compiler/translator/TranslatorVulkan.cpp",
1802        "src/compiler/translator/Types.cpp",
1803        "src/compiler/translator/ValidateAST.cpp",
1804        "src/compiler/translator/ValidateGlobalInitializer.cpp",
1805        "src/compiler/translator/ValidateLimitations.cpp",
1806        "src/compiler/translator/ValidateMaxParameters.cpp",
1807        "src/compiler/translator/ValidateOutputs.cpp",
1808        "src/compiler/translator/ValidateSwitch.cpp",
1809        "src/compiler/translator/ValidateVaryingLocations.cpp",
1810        "src/compiler/translator/VariablePacker.cpp",
1811        "src/compiler/translator/VersionGLSL.cpp",
1812        "src/compiler/translator/blocklayout.cpp",
1813        "src/compiler/translator/glslang_lex_autogen.cpp",
1814        "src/compiler/translator/glslang_tab_autogen.cpp",
1815        "src/compiler/translator/tree_ops/AddAndTrueToLoopCondition.cpp",
1816        "src/compiler/translator/tree_ops/BreakVariableAliasingInInnerLoops.cpp",
1817        "src/compiler/translator/tree_ops/ClampFragDepth.cpp",
1818        "src/compiler/translator/tree_ops/ClampPointSize.cpp",
1819        "src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp",
1820        "src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp",
1821        "src/compiler/translator/tree_ops/EarlyFragmentTestsOptimization.cpp",
1822        "src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp",
1823        "src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp",
1824        "src/compiler/translator/tree_ops/EmulatePrecision.cpp",
1825        "src/compiler/translator/tree_ops/ExpandIntegerPowExpressions.cpp",
1826        "src/compiler/translator/tree_ops/FoldExpressions.cpp",
1827        "src/compiler/translator/tree_ops/InitializeVariables.cpp",
1828        "src/compiler/translator/tree_ops/NameEmbeddedUniformStructs.cpp",
1829        "src/compiler/translator/tree_ops/PruneEmptyCases.cpp",
1830        "src/compiler/translator/tree_ops/PruneNoOps.cpp",
1831        "src/compiler/translator/tree_ops/RecordConstantPrecision.cpp",
1832        "src/compiler/translator/tree_ops/RegenerateStructNames.cpp",
1833        "src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp",
1834        "src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp",
1835        "src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp",
1836        "src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp",
1837        "src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp",
1838        "src/compiler/translator/tree_ops/RemovePow.cpp",
1839        "src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp",
1840        "src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp",
1841        "src/compiler/translator/tree_ops/RewriteAtomicFunctionExpressions.cpp",
1842        "src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp",
1843        "src/compiler/translator/tree_ops/RewriteDfdy.cpp",
1844        "src/compiler/translator/tree_ops/RewriteDoWhile.cpp",
1845        "src/compiler/translator/tree_ops/RewriteExpressionsWithShaderStorageBlock.cpp",
1846        "src/compiler/translator/tree_ops/RewriteRepeatedAssignToSwizzled.cpp",
1847        "src/compiler/translator/tree_ops/RewriteRowMajorMatrices.cpp",
1848        "src/compiler/translator/tree_ops/RewriteStructSamplers.cpp",
1849        "src/compiler/translator/tree_ops/RewriteStructSamplersOld.cpp",
1850        "src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp",
1851        "src/compiler/translator/tree_ops/RewriteUnaryMinusOperatorFloat.cpp",
1852        "src/compiler/translator/tree_ops/RewriteUnaryMinusOperatorInt.cpp",
1853        "src/compiler/translator/tree_ops/ScalarizeVecAndMatConstructorArgs.cpp",
1854        "src/compiler/translator/tree_ops/SeparateDeclarations.cpp",
1855        "src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp",
1856        "src/compiler/translator/tree_ops/SplitSequenceOperator.cpp",
1857        "src/compiler/translator/tree_ops/UnfoldShortCircuitAST.cpp",
1858        "src/compiler/translator/tree_ops/UseInterfaceBlockFields.cpp",
1859        "src/compiler/translator/tree_ops/VectorizeVectorScalarArithmetic.cpp",
1860        "src/compiler/translator/tree_util/FindFunction.cpp",
1861        "src/compiler/translator/tree_util/FindMain.cpp",
1862        "src/compiler/translator/tree_util/FindSymbolNode.cpp",
1863        "src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp",
1864        "src/compiler/translator/tree_util/IntermNode_util.cpp",
1865        "src/compiler/translator/tree_util/IntermTraverse.cpp",
1866        "src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp",
1867        "src/compiler/translator/tree_util/ReplaceVariable.cpp",
1868        "src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp",
1869        "src/compiler/translator/util.cpp",
1870        "src/third_party/compiler/ArrayBoundsClamper.cpp",
1871    ],
1872    sdk_version: "28",
1873    cflags: [
1874        "-DANDROID",
1875        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1876        "-DANGLE_ENABLE_ESSL",
1877        "-DANGLE_ENABLE_GLSL",
1878        "-DANGLE_ENABLE_VULKAN",
1879        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1880        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1881        "-DHAVE_SYS_UIO_H",
1882        "-DNDEBUG",
1883        "-DNVALGRIND",
1884        "-D_FORTIFY_SOURCE=2",
1885        "-D_GNU_SOURCE",
1886        "-D__STDC_CONSTANT_MACROS",
1887        "-D__STDC_FORMAT_MACROS",
1888        "-Wno-bitwise-conditional-parentheses",
1889        "-Wno-builtin-assume-aligned-alignment",
1890        "-Wno-builtin-macro-redefined",
1891        "-Wno-c++11-narrowing",
1892        "-Wno-deprecated-copy",
1893        "-Wno-final-dtor-non-final-class",
1894        "-Wno-ignored-pragma-optimize",
1895        "-Wno-implicit-fallthrough",
1896        "-Wno-implicit-int-float-conversion",
1897        "-Wno-missing-field-initializers",
1898        "-Wno-non-c-typedef-for-linkage",
1899        "-Wno-undefined-var-template",
1900        "-Wno-unknown-warning-option",
1901        "-Wno-unneeded-internal-declaration",
1902        "-Wno-unused-parameter",
1903    ],
1904    defaults: [
1905        "angle_includes",
1906        "angle_translator_headers",
1907    ],
1908    arch: {
1909        arm64: {
1910            cflags: [
1911                "-DANGLE_IS_64_BIT_CPU",
1912            ],
1913        },
1914        x86_64: {
1915            cflags: [
1916                "-DANGLE_IS_64_BIT_CPU",
1917            ],
1918        },
1919        x86: {
1920            cflags: [
1921                "-DANGLE_IS_32_BIT_CPU",
1922            ],
1923        },
1924        arm: {
1925            cflags: [
1926                "-DANGLE_IS_32_BIT_CPU",
1927            ],
1928        },
1929    },
1930}
1931cc_defaults {
1932    name: "angle_translator_headers",
1933    stl: "libc++_static",
1934    local_include_dirs: [
1935        "include/",
1936        "src/",
1937    ],
1938    sdk_version: "28",
1939    cflags: [
1940        "-DANDROID",
1941        "-DANDROID_NDK_VERSION_ROLL=r20_1",
1942        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
1943        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
1944        "-DHAVE_SYS_UIO_H",
1945        "-DNDEBUG",
1946        "-DNVALGRIND",
1947        "-D_FORTIFY_SOURCE=2",
1948        "-D_GNU_SOURCE",
1949        "-D__STDC_CONSTANT_MACROS",
1950        "-D__STDC_FORMAT_MACROS",
1951        "-Wno-bitwise-conditional-parentheses",
1952        "-Wno-builtin-assume-aligned-alignment",
1953        "-Wno-builtin-macro-redefined",
1954        "-Wno-c++11-narrowing",
1955        "-Wno-deprecated-copy",
1956        "-Wno-final-dtor-non-final-class",
1957        "-Wno-ignored-pragma-optimize",
1958        "-Wno-implicit-fallthrough",
1959        "-Wno-implicit-int-float-conversion",
1960        "-Wno-missing-field-initializers",
1961        "-Wno-non-c-typedef-for-linkage",
1962        "-Wno-undefined-var-template",
1963        "-Wno-unknown-warning-option",
1964        "-Wno-unneeded-internal-declaration",
1965        "-Wno-unused-parameter",
1966    ],
1967    defaults: [
1968        "angle_includes",
1969    ],
1970    arch: {
1971        arm64: {
1972            cflags: [
1973                "-DANGLE_IS_64_BIT_CPU",
1974            ],
1975        },
1976        x86_64: {
1977            cflags: [
1978                "-DANGLE_IS_64_BIT_CPU",
1979            ],
1980        },
1981        x86: {
1982            cflags: [
1983                "-DANGLE_IS_32_BIT_CPU",
1984            ],
1985        },
1986        arm: {
1987            cflags: [
1988                "-DANGLE_IS_32_BIT_CPU",
1989            ],
1990        },
1991    },
1992}
1993cc_defaults {
1994    generated_headers: [
1995        "angle_commit_id",
1996    ],
1997    name: "angle_libANGLE_headers",
1998    stl: "libc++_static",
1999    static_libs: [
2000        "angle_common",
2001    ],
2002    shared_libs: [
2003        "liblog",
2004        "libnativewindow",
2005    ],
2006    local_include_dirs: [
2007        "",
2008        "include/",
2009        "src/",
2010        "src/common/third_party/base/",
2011    ],
2012    srcs: [
2013        "src/libANGLE/Overlay.cpp",
2014        "src/libANGLE/OverlayWidgets.cpp",
2015        "src/libANGLE/Overlay_autogen.cpp",
2016        "src/libANGLE/Overlay_font_autogen.cpp",
2017    ],
2018    sdk_version: "28",
2019    cflags: [
2020        "-DANDROID",
2021        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2022        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2023        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2024        "-DHAVE_SYS_UIO_H",
2025        "-DLIBANGLE_IMPLEMENTATION",
2026        "-DNDEBUG",
2027        "-DNVALGRIND",
2028        "-D_FORTIFY_SOURCE=2",
2029        "-D_GNU_SOURCE",
2030        "-D__STDC_CONSTANT_MACROS",
2031        "-D__STDC_FORMAT_MACROS",
2032        "-Wno-bitwise-conditional-parentheses",
2033        "-Wno-builtin-assume-aligned-alignment",
2034        "-Wno-builtin-macro-redefined",
2035        "-Wno-c++11-narrowing",
2036        "-Wno-deprecated-copy",
2037        "-Wno-final-dtor-non-final-class",
2038        "-Wno-ignored-pragma-optimize",
2039        "-Wno-implicit-fallthrough",
2040        "-Wno-implicit-int-float-conversion",
2041        "-Wno-missing-field-initializers",
2042        "-Wno-non-c-typedef-for-linkage",
2043        "-Wno-undefined-var-template",
2044        "-Wno-unknown-warning-option",
2045        "-Wno-unneeded-internal-declaration",
2046        "-Wno-unused-parameter",
2047    ],
2048    defaults: [
2049        "angle_translator_headers",
2050    ],
2051    arch: {
2052        arm64: {
2053            cflags: [
2054                "-DANGLE_IS_64_BIT_CPU",
2055            ],
2056        },
2057        x86_64: {
2058            cflags: [
2059                "-DANGLE_IS_64_BIT_CPU",
2060            ],
2061        },
2062        x86: {
2063            cflags: [
2064                "-DANGLE_IS_32_BIT_CPU",
2065            ],
2066        },
2067        arm: {
2068            cflags: [
2069                "-DANGLE_IS_32_BIT_CPU",
2070            ],
2071        },
2072    },
2073}
2074cc_defaults {
2075    generated_headers: [
2076        "angle_commit_id",
2077    ],
2078    name: "angle_image_util_headers",
2079    stl: "libc++_static",
2080    static_libs: [
2081        "angle_common",
2082    ],
2083    shared_libs: [
2084        "liblog",
2085    ],
2086    local_include_dirs: [
2087        "",
2088        "include/",
2089        "src/",
2090        "src/common/third_party/base/",
2091    ],
2092    sdk_version: "28",
2093    cflags: [
2094        "-DANDROID",
2095        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2096        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2097        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2098        "-DHAVE_SYS_UIO_H",
2099        "-DNDEBUG",
2100        "-DNVALGRIND",
2101        "-D_FORTIFY_SOURCE=2",
2102        "-D_GNU_SOURCE",
2103        "-D__STDC_CONSTANT_MACROS",
2104        "-D__STDC_FORMAT_MACROS",
2105        "-Wno-bitwise-conditional-parentheses",
2106        "-Wno-builtin-assume-aligned-alignment",
2107        "-Wno-builtin-macro-redefined",
2108        "-Wno-c++11-narrowing",
2109        "-Wno-deprecated-copy",
2110        "-Wno-final-dtor-non-final-class",
2111        "-Wno-ignored-pragma-optimize",
2112        "-Wno-implicit-fallthrough",
2113        "-Wno-implicit-int-float-conversion",
2114        "-Wno-missing-field-initializers",
2115        "-Wno-non-c-typedef-for-linkage",
2116        "-Wno-undefined-var-template",
2117        "-Wno-unknown-warning-option",
2118        "-Wno-unneeded-internal-declaration",
2119        "-Wno-unused-parameter",
2120    ],
2121    arch: {
2122        arm64: {
2123            cflags: [
2124                "-DANGLE_IS_64_BIT_CPU",
2125            ],
2126        },
2127        x86_64: {
2128            cflags: [
2129                "-DANGLE_IS_64_BIT_CPU",
2130            ],
2131        },
2132        x86: {
2133            cflags: [
2134                "-DANGLE_IS_32_BIT_CPU",
2135            ],
2136        },
2137        arm: {
2138            cflags: [
2139                "-DANGLE_IS_32_BIT_CPU",
2140            ],
2141        },
2142    },
2143}
2144cc_library_static {
2145    generated_headers: [
2146        "angle_commit_id",
2147    ],
2148    name: "angle_image_util",
2149    stl: "libc++_static",
2150    static_libs: [
2151        "angle_common",
2152    ],
2153    shared_libs: [
2154        "liblog",
2155    ],
2156    local_include_dirs: [
2157        "",
2158        "include/",
2159        "src/",
2160        "src/common/third_party/base/",
2161    ],
2162    srcs: [
2163        "src/image_util/copyimage.cpp",
2164        "src/image_util/imageformats.cpp",
2165        "src/image_util/loadimage.cpp",
2166        "src/image_util/loadimage_etc.cpp",
2167    ],
2168    sdk_version: "28",
2169    cflags: [
2170        "-DANDROID",
2171        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2172        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2173        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2174        "-DHAVE_SYS_UIO_H",
2175        "-DNDEBUG",
2176        "-DNVALGRIND",
2177        "-D_FORTIFY_SOURCE=2",
2178        "-D_GNU_SOURCE",
2179        "-D__STDC_CONSTANT_MACROS",
2180        "-D__STDC_FORMAT_MACROS",
2181        "-Wno-bitwise-conditional-parentheses",
2182        "-Wno-builtin-assume-aligned-alignment",
2183        "-Wno-builtin-macro-redefined",
2184        "-Wno-c++11-narrowing",
2185        "-Wno-deprecated-copy",
2186        "-Wno-final-dtor-non-final-class",
2187        "-Wno-ignored-pragma-optimize",
2188        "-Wno-implicit-fallthrough",
2189        "-Wno-implicit-int-float-conversion",
2190        "-Wno-missing-field-initializers",
2191        "-Wno-non-c-typedef-for-linkage",
2192        "-Wno-undefined-var-template",
2193        "-Wno-unknown-warning-option",
2194        "-Wno-unneeded-internal-declaration",
2195        "-Wno-unused-parameter",
2196    ],
2197    defaults: [
2198        "angle_image_util_headers",
2199    ],
2200    arch: {
2201        arm64: {
2202            cflags: [
2203                "-DANGLE_IS_64_BIT_CPU",
2204            ],
2205        },
2206        x86_64: {
2207            cflags: [
2208                "-DANGLE_IS_64_BIT_CPU",
2209            ],
2210        },
2211        x86: {
2212            cflags: [
2213                "-DANGLE_IS_32_BIT_CPU",
2214            ],
2215        },
2216        arm: {
2217            cflags: [
2218                "-DANGLE_IS_32_BIT_CPU",
2219            ],
2220        },
2221    },
2222}
2223cc_defaults {
2224    name: "angle_vulkan_headers",
2225    stl: "libc++_static",
2226    local_include_dirs: [
2227        "",
2228        "third_party/vulkan-headers/src/include/",
2229    ],
2230    sdk_version: "28",
2231    cflags: [
2232        "-DANDROID",
2233        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2234        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2235        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2236        "-DHAVE_SYS_UIO_H",
2237        "-DNDEBUG",
2238        "-DNVALGRIND",
2239        "-DVK_USE_PLATFORM_ANDROID_KHR",
2240        "-D_FORTIFY_SOURCE=2",
2241        "-D_GNU_SOURCE",
2242        "-D__STDC_CONSTANT_MACROS",
2243        "-D__STDC_FORMAT_MACROS",
2244        "-Wno-bitwise-conditional-parentheses",
2245        "-Wno-builtin-assume-aligned-alignment",
2246        "-Wno-builtin-macro-redefined",
2247        "-Wno-c++11-narrowing",
2248        "-Wno-deprecated-copy",
2249        "-Wno-final-dtor-non-final-class",
2250        "-Wno-ignored-pragma-optimize",
2251        "-Wno-implicit-fallthrough",
2252        "-Wno-implicit-int-float-conversion",
2253        "-Wno-missing-field-initializers",
2254        "-Wno-non-c-typedef-for-linkage",
2255        "-Wno-undefined-var-template",
2256        "-Wno-unknown-warning-option",
2257        "-Wno-unneeded-internal-declaration",
2258        "-Wno-unused-parameter",
2259    ],
2260}
2261cc_library_static {
2262    generated_headers: [
2263        "angle_commit_id",
2264    ],
2265    name: "angle_gpu_info_util",
2266    stl: "libc++_static",
2267    static_libs: [
2268        "angle_common",
2269    ],
2270    shared_libs: [
2271        "liblog",
2272    ],
2273    local_include_dirs: [
2274        "",
2275        "include/",
2276        "src/",
2277        "src/common/third_party/base/",
2278        "third_party/vulkan-headers/src/include/",
2279    ],
2280    srcs: [
2281        "src/gpu_info_util/SystemInfo.cpp",
2282        "src/gpu_info_util/SystemInfo_android.cpp",
2283        "src/gpu_info_util/SystemInfo_vulkan.cpp",
2284    ],
2285    sdk_version: "28",
2286    cflags: [
2287        "-DANDROID",
2288        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2289        "-DANGLE_ENABLE_OPENGL",
2290        "-DANGLE_ENABLE_OPENGL_NULL",
2291        "-DANGLE_ENABLE_VULKAN",
2292        "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1",
2293        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2294        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2295        "-DHAVE_SYS_UIO_H",
2296        "-DNDEBUG",
2297        "-DNVALGRIND",
2298        "-DVK_USE_PLATFORM_ANDROID_KHR",
2299        "-D_FORTIFY_SOURCE=2",
2300        "-D_GNU_SOURCE",
2301        "-D__STDC_CONSTANT_MACROS",
2302        "-D__STDC_FORMAT_MACROS",
2303        "-Wno-bitwise-conditional-parentheses",
2304        "-Wno-builtin-assume-aligned-alignment",
2305        "-Wno-builtin-macro-redefined",
2306        "-Wno-c++11-narrowing",
2307        "-Wno-deprecated-copy",
2308        "-Wno-final-dtor-non-final-class",
2309        "-Wno-ignored-pragma-optimize",
2310        "-Wno-implicit-fallthrough",
2311        "-Wno-implicit-int-float-conversion",
2312        "-Wno-missing-field-initializers",
2313        "-Wno-non-c-typedef-for-linkage",
2314        "-Wno-undefined-var-template",
2315        "-Wno-unknown-warning-option",
2316        "-Wno-unneeded-internal-declaration",
2317        "-Wno-unused-parameter",
2318    ],
2319    defaults: [
2320        "angle_vulkan_headers",
2321    ],
2322    arch: {
2323        arm64: {
2324            cflags: [
2325                "-DANGLE_IS_64_BIT_CPU",
2326            ],
2327        },
2328        x86_64: {
2329            cflags: [
2330                "-DANGLE_IS_64_BIT_CPU",
2331            ],
2332        },
2333        x86: {
2334            cflags: [
2335                "-DANGLE_IS_32_BIT_CPU",
2336            ],
2337        },
2338        arm: {
2339            cflags: [
2340                "-DANGLE_IS_32_BIT_CPU",
2341            ],
2342        },
2343    },
2344}
2345cc_defaults {
2346    name: "angle_xxhash",
2347    stl: "libc++_static",
2348    local_include_dirs: [
2349        "include/",
2350        "src/",
2351    ],
2352    srcs: [
2353        "src/common/third_party/xxhash/xxhash.c",
2354    ],
2355    sdk_version: "28",
2356    cflags: [
2357        "-DANDROID",
2358        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2359        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2360        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2361        "-DHAVE_SYS_UIO_H",
2362        "-DNDEBUG",
2363        "-DNVALGRIND",
2364        "-D_FORTIFY_SOURCE=2",
2365        "-D_GNU_SOURCE",
2366        "-D__STDC_CONSTANT_MACROS",
2367        "-D__STDC_FORMAT_MACROS",
2368        "-Wno-bitwise-conditional-parentheses",
2369        "-Wno-builtin-assume-aligned-alignment",
2370        "-Wno-builtin-macro-redefined",
2371        "-Wno-c++11-narrowing",
2372        "-Wno-deprecated-copy",
2373        "-Wno-final-dtor-non-final-class",
2374        "-Wno-ignored-pragma-optimize",
2375        "-Wno-implicit-fallthrough",
2376        "-Wno-implicit-int-float-conversion",
2377        "-Wno-missing-field-initializers",
2378        "-Wno-non-c-typedef-for-linkage",
2379        "-Wno-undefined-var-template",
2380        "-Wno-unknown-warning-option",
2381        "-Wno-unneeded-internal-declaration",
2382        "-Wno-unused-parameter",
2383    ],
2384    arch: {
2385        arm64: {
2386            cflags: [
2387                "-DANGLE_IS_64_BIT_CPU",
2388            ],
2389        },
2390        x86_64: {
2391            cflags: [
2392                "-DANGLE_IS_64_BIT_CPU",
2393            ],
2394        },
2395        x86: {
2396            cflags: [
2397                "-DANGLE_IS_32_BIT_CPU",
2398            ],
2399        },
2400        arm: {
2401            cflags: [
2402                "-DANGLE_IS_32_BIT_CPU",
2403            ],
2404        },
2405    },
2406}
2407cc_defaults {
2408    name: "angle_system_utils",
2409    stl: "libc++_static",
2410    local_include_dirs: [
2411        "include/",
2412        "src/",
2413    ],
2414    srcs: [
2415        "src/common/system_utils.cpp",
2416        "src/common/system_utils_linux.cpp",
2417        "src/common/system_utils_posix.cpp",
2418    ],
2419    sdk_version: "28",
2420    cflags: [
2421        "-DANDROID",
2422        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2423        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2424        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2425        "-DHAVE_SYS_UIO_H",
2426        "-DNDEBUG",
2427        "-DNVALGRIND",
2428        "-D_FORTIFY_SOURCE=2",
2429        "-D_GNU_SOURCE",
2430        "-D__STDC_CONSTANT_MACROS",
2431        "-D__STDC_FORMAT_MACROS",
2432        "-Wno-bitwise-conditional-parentheses",
2433        "-Wno-builtin-assume-aligned-alignment",
2434        "-Wno-builtin-macro-redefined",
2435        "-Wno-c++11-narrowing",
2436        "-Wno-deprecated-copy",
2437        "-Wno-final-dtor-non-final-class",
2438        "-Wno-ignored-pragma-optimize",
2439        "-Wno-implicit-fallthrough",
2440        "-Wno-implicit-int-float-conversion",
2441        "-Wno-missing-field-initializers",
2442        "-Wno-non-c-typedef-for-linkage",
2443        "-Wno-undefined-var-template",
2444        "-Wno-unknown-warning-option",
2445        "-Wno-unneeded-internal-declaration",
2446        "-Wno-unused-parameter",
2447    ],
2448    arch: {
2449        arm64: {
2450            cflags: [
2451                "-DANGLE_IS_64_BIT_CPU",
2452            ],
2453        },
2454        x86_64: {
2455            cflags: [
2456                "-DANGLE_IS_64_BIT_CPU",
2457            ],
2458        },
2459        x86: {
2460            cflags: [
2461                "-DANGLE_IS_32_BIT_CPU",
2462            ],
2463        },
2464        arm: {
2465            cflags: [
2466                "-DANGLE_IS_32_BIT_CPU",
2467            ],
2468        },
2469    },
2470}
2471cc_library_static {
2472    generated_headers: [
2473        "angle_commit_id",
2474    ],
2475    name: "angle_common",
2476    stl: "libc++_static",
2477    shared_libs: [
2478        "liblog",
2479    ],
2480    local_include_dirs: [
2481        "",
2482        "include/",
2483        "src/",
2484        "src/common/third_party/base/",
2485    ],
2486    srcs: [
2487        "src/common/Float16ToFloat32.cpp",
2488        "src/common/MemoryBuffer.cpp",
2489        "src/common/PackedEGLEnums_autogen.cpp",
2490        "src/common/PackedEnums.cpp",
2491        "src/common/PackedGLEnums_autogen.cpp",
2492        "src/common/PoolAlloc.cpp",
2493        "src/common/aligned_memory.cpp",
2494        "src/common/android_util.cpp",
2495        "src/common/angleutils.cpp",
2496        "src/common/debug.cpp",
2497        "src/common/event_tracer.cpp",
2498        "src/common/mathutil.cpp",
2499        "src/common/matrix_utils.cpp",
2500        "src/common/string_utils.cpp",
2501        "src/common/third_party/base/anglebase/sha1.cc",
2502        "src/common/third_party/smhasher/src/PMurHash.cpp",
2503        "src/common/tls.cpp",
2504        "src/common/uniform_type_info_autogen.cpp",
2505        "src/common/utilities.cpp",
2506    ],
2507    sdk_version: "28",
2508    cflags: [
2509        "-DANDROID",
2510        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2511        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2512        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2513        "-DHAVE_SYS_UIO_H",
2514        "-DNDEBUG",
2515        "-DNVALGRIND",
2516        "-D_FORTIFY_SOURCE=2",
2517        "-D_GNU_SOURCE",
2518        "-D__STDC_CONSTANT_MACROS",
2519        "-D__STDC_FORMAT_MACROS",
2520        "-Wno-bitwise-conditional-parentheses",
2521        "-Wno-builtin-assume-aligned-alignment",
2522        "-Wno-builtin-macro-redefined",
2523        "-Wno-c++11-narrowing",
2524        "-Wno-deprecated-copy",
2525        "-Wno-final-dtor-non-final-class",
2526        "-Wno-ignored-pragma-optimize",
2527        "-Wno-implicit-fallthrough",
2528        "-Wno-implicit-int-float-conversion",
2529        "-Wno-missing-field-initializers",
2530        "-Wno-non-c-typedef-for-linkage",
2531        "-Wno-undefined-var-template",
2532        "-Wno-unknown-warning-option",
2533        "-Wno-unneeded-internal-declaration",
2534        "-Wno-unused-parameter",
2535    ],
2536    defaults: [
2537        "angle_includes",
2538        "angle_system_utils",
2539        "angle_version",
2540        "angle_xxhash",
2541    ],
2542    arch: {
2543        arm64: {
2544            cflags: [
2545                "-DANGLE_IS_64_BIT_CPU",
2546            ],
2547        },
2548        x86_64: {
2549            cflags: [
2550                "-DANGLE_IS_64_BIT_CPU",
2551            ],
2552        },
2553        x86: {
2554            cflags: [
2555                "-DANGLE_IS_32_BIT_CPU",
2556            ],
2557        },
2558        arm: {
2559            cflags: [
2560                "-DANGLE_IS_32_BIT_CPU",
2561            ],
2562        },
2563    },
2564}
2565cc_defaults {
2566    generated_headers: [
2567        "angle_commit_id",
2568        "angle_spvtools_core_enums_unified1",
2569        "angle_spvtools_core_tables_unified1",
2570        "angle_spvtools_generators_inc",
2571        "angle_spvtools_glsl_tables_glsl1-0",
2572        "angle_spvtools_language_header_cldebuginfo100",
2573        "angle_spvtools_language_header_debuginfo",
2574        "angle_spvtools_opencl_tables_opencl1-0",
2575        "angle_spvtools_vendor_tables_debuginfo",
2576        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
2577        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
2578        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
2579        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
2580        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
2581    ],
2582    name: "angle_libANGLE_base",
2583    stl: "libc++_static",
2584    static_libs: [
2585        "angle_common",
2586        "angle_gpu_info_util",
2587        "angle_image_util",
2588        "angle_preprocessor",
2589        "angle_spvtools",
2590        "angle_spvtools_opt",
2591        "angle_spvtools_val",
2592        "angle_translator",
2593    ],
2594    shared_libs: [
2595        "liblog",
2596        "libnativewindow",
2597        "libvulkan",
2598    ],
2599    local_include_dirs: [
2600        "",
2601        "include/",
2602        "src/",
2603        "src/common/third_party/base/",
2604        "src/third_party/khronos/",
2605    ],
2606    srcs: [
2607        "src/libANGLE/AttributeMap.cpp",
2608        "src/libANGLE/BlobCache.cpp",
2609        "src/libANGLE/Buffer.cpp",
2610        "src/libANGLE/Caps.cpp",
2611        "src/libANGLE/Compiler.cpp",
2612        "src/libANGLE/Config.cpp",
2613        "src/libANGLE/Context.cpp",
2614        "src/libANGLE/Context_gl.cpp",
2615        "src/libANGLE/Context_gles_1_0.cpp",
2616        "src/libANGLE/Debug.cpp",
2617        "src/libANGLE/Device.cpp",
2618        "src/libANGLE/Display.cpp",
2619        "src/libANGLE/EGLSync.cpp",
2620        "src/libANGLE/Error.cpp",
2621        "src/libANGLE/Fence.cpp",
2622        "src/libANGLE/Framebuffer.cpp",
2623        "src/libANGLE/FramebufferAttachment.cpp",
2624        "src/libANGLE/GLES1Renderer.cpp",
2625        "src/libANGLE/GLES1State.cpp",
2626        "src/libANGLE/HandleAllocator.cpp",
2627        "src/libANGLE/Image.cpp",
2628        "src/libANGLE/ImageIndex.cpp",
2629        "src/libANGLE/IndexRangeCache.cpp",
2630        "src/libANGLE/LoggingAnnotator.cpp",
2631        "src/libANGLE/MemoryObject.cpp",
2632        "src/libANGLE/MemoryProgramCache.cpp",
2633        "src/libANGLE/Observer.cpp",
2634        "src/libANGLE/Platform.cpp",
2635        "src/libANGLE/Program.cpp",
2636        "src/libANGLE/ProgramExecutable.cpp",
2637        "src/libANGLE/ProgramLinkedResources.cpp",
2638        "src/libANGLE/ProgramPipeline.cpp",
2639        "src/libANGLE/Query.cpp",
2640        "src/libANGLE/Renderbuffer.cpp",
2641        "src/libANGLE/ResourceManager.cpp",
2642        "src/libANGLE/Sampler.cpp",
2643        "src/libANGLE/Semaphore.cpp",
2644        "src/libANGLE/Shader.cpp",
2645        "src/libANGLE/State.cpp",
2646        "src/libANGLE/Stream.cpp",
2647        "src/libANGLE/Surface.cpp",
2648        "src/libANGLE/Texture.cpp",
2649        "src/libANGLE/Thread.cpp",
2650        "src/libANGLE/TransformFeedback.cpp",
2651        "src/libANGLE/Uniform.cpp",
2652        "src/libANGLE/VaryingPacking.cpp",
2653        "src/libANGLE/VertexArray.cpp",
2654        "src/libANGLE/VertexAttribute.cpp",
2655        "src/libANGLE/WorkerThread.cpp",
2656        "src/libANGLE/angletypes.cpp",
2657        "src/libANGLE/entry_points_enum_autogen.cpp",
2658        "src/libANGLE/es3_copy_conversion_table_autogen.cpp",
2659        "src/libANGLE/format_map_autogen.cpp",
2660        "src/libANGLE/format_map_desktop.cpp",
2661        "src/libANGLE/formatutils.cpp",
2662        "src/libANGLE/queryconversions.cpp",
2663        "src/libANGLE/queryutils.cpp",
2664        "src/libANGLE/renderer/ContextImpl.cpp",
2665        "src/libANGLE/renderer/DeviceImpl.cpp",
2666        "src/libANGLE/renderer/DisplayImpl.cpp",
2667        "src/libANGLE/renderer/Format_table_autogen.cpp",
2668        "src/libANGLE/renderer/ProgramPipelineImpl.cpp",
2669        "src/libANGLE/renderer/QueryImpl.cpp",
2670        "src/libANGLE/renderer/ShaderImpl.cpp",
2671        "src/libANGLE/renderer/SurfaceImpl.cpp",
2672        "src/libANGLE/renderer/TextureImpl.cpp",
2673        "src/libANGLE/renderer/driver_utils.cpp",
2674        "src/libANGLE/renderer/gl/BlitGL.cpp",
2675        "src/libANGLE/renderer/gl/BufferGL.cpp",
2676        "src/libANGLE/renderer/gl/ClearMultiviewGL.cpp",
2677        "src/libANGLE/renderer/gl/CompilerGL.cpp",
2678        "src/libANGLE/renderer/gl/ContextGL.cpp",
2679        "src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp",
2680        "src/libANGLE/renderer/gl/DisplayGL.cpp",
2681        "src/libANGLE/renderer/gl/FenceNVGL.cpp",
2682        "src/libANGLE/renderer/gl/FramebufferGL.cpp",
2683        "src/libANGLE/renderer/gl/FunctionsGL.cpp",
2684        "src/libANGLE/renderer/gl/ImageGL.cpp",
2685        "src/libANGLE/renderer/gl/MemoryObjectGL.cpp",
2686        "src/libANGLE/renderer/gl/ProgramGL.cpp",
2687        "src/libANGLE/renderer/gl/ProgramPipelineGL.cpp",
2688        "src/libANGLE/renderer/gl/QueryGL.cpp",
2689        "src/libANGLE/renderer/gl/RenderbufferGL.cpp",
2690        "src/libANGLE/renderer/gl/RendererGL.cpp",
2691        "src/libANGLE/renderer/gl/SamplerGL.cpp",
2692        "src/libANGLE/renderer/gl/SemaphoreGL.cpp",
2693        "src/libANGLE/renderer/gl/ShaderGL.cpp",
2694        "src/libANGLE/renderer/gl/StateManagerGL.cpp",
2695        "src/libANGLE/renderer/gl/SurfaceGL.cpp",
2696        "src/libANGLE/renderer/gl/SyncGL.cpp",
2697        "src/libANGLE/renderer/gl/TextureGL.cpp",
2698        "src/libANGLE/renderer/gl/TransformFeedbackGL.cpp",
2699        "src/libANGLE/renderer/gl/VertexArrayGL.cpp",
2700        "src/libANGLE/renderer/gl/egl/ContextEGL.cpp",
2701        "src/libANGLE/renderer/gl/egl/DisplayEGL.cpp",
2702        "src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp",
2703        "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp",
2704        "src/libANGLE/renderer/gl/egl/ImageEGL.cpp",
2705        "src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.cpp",
2706        "src/libANGLE/renderer/gl/egl/RendererEGL.cpp",
2707        "src/libANGLE/renderer/gl/egl/SurfaceEGL.cpp",
2708        "src/libANGLE/renderer/gl/egl/SyncEGL.cpp",
2709        "src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.cpp",
2710        "src/libANGLE/renderer/gl/egl/android/DisplayAndroid.cpp",
2711        "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.cpp",
2712        "src/libANGLE/renderer/gl/egl/egl_utils.cpp",
2713        "src/libANGLE/renderer/gl/formatutilsgl.cpp",
2714        "src/libANGLE/renderer/gl/null_functions.cpp",
2715        "src/libANGLE/renderer/gl/renderergl_utils.cpp",
2716        "src/libANGLE/renderer/load_functions_table_autogen.cpp",
2717        "src/libANGLE/renderer/renderer_utils.cpp",
2718        "src/libANGLE/validationEGL.cpp",
2719        "src/libANGLE/validationES.cpp",
2720        "src/libANGLE/validationES1.cpp",
2721        "src/libANGLE/validationES2.cpp",
2722        "src/libANGLE/validationES3.cpp",
2723        "src/libANGLE/validationES31.cpp",
2724        "src/libANGLE/validationES32.cpp",
2725        "src/libANGLE/validationESEXT.cpp",
2726        "src/libANGLE/validationGL1.cpp",
2727        "src/libANGLE/validationGL11.cpp",
2728        "src/libANGLE/validationGL12.cpp",
2729        "src/libANGLE/validationGL13.cpp",
2730        "src/libANGLE/validationGL14.cpp",
2731        "src/libANGLE/validationGL15.cpp",
2732        "src/libANGLE/validationGL2.cpp",
2733        "src/libANGLE/validationGL21.cpp",
2734        "src/libANGLE/validationGL3.cpp",
2735        "src/libANGLE/validationGL31.cpp",
2736        "src/libANGLE/validationGL32.cpp",
2737        "src/libANGLE/validationGL33.cpp",
2738        "src/libANGLE/validationGL4.cpp",
2739        "src/libANGLE/validationGL41.cpp",
2740        "src/libANGLE/validationGL42.cpp",
2741        "src/libANGLE/validationGL43.cpp",
2742        "src/libANGLE/validationGL44.cpp",
2743        "src/libANGLE/validationGL45.cpp",
2744        "src/libANGLE/validationGL46.cpp",
2745    ],
2746    sdk_version: "28",
2747    cflags: [
2748        "-DANDROID",
2749        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2750        "-DANGLE_ENABLE_OPENGL",
2751        "-DANGLE_ENABLE_OPENGL_NULL",
2752        "-DANGLE_ENABLE_VULKAN",
2753        "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1",
2754        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2755        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2756        "-DHAVE_SYS_UIO_H",
2757        "-DLIBANGLE_IMPLEMENTATION",
2758        "-DNDEBUG",
2759        "-DNVALGRIND",
2760        "-D_FORTIFY_SOURCE=2",
2761        "-D_GNU_SOURCE",
2762        "-D__STDC_CONSTANT_MACROS",
2763        "-D__STDC_FORMAT_MACROS",
2764        "-Wno-bitwise-conditional-parentheses",
2765        "-Wno-builtin-assume-aligned-alignment",
2766        "-Wno-builtin-macro-redefined",
2767        "-Wno-c++11-narrowing",
2768        "-Wno-deprecated-copy",
2769        "-Wno-final-dtor-non-final-class",
2770        "-Wno-ignored-pragma-optimize",
2771        "-Wno-implicit-fallthrough",
2772        "-Wno-implicit-int-float-conversion",
2773        "-Wno-missing-field-initializers",
2774        "-Wno-non-c-typedef-for-linkage",
2775        "-Wno-undefined-var-template",
2776        "-Wno-unknown-warning-option",
2777        "-Wno-unneeded-internal-declaration",
2778        "-Wno-unused-parameter",
2779    ],
2780    defaults: [
2781        "angle_includes",
2782        "angle_libANGLE_headers",
2783        "angle_version",
2784        "angle_vulkan_backend",
2785    ],
2786    arch: {
2787        arm64: {
2788            cflags: [
2789                "-DANGLE_IS_64_BIT_CPU",
2790            ],
2791        },
2792        x86_64: {
2793            cflags: [
2794                "-DANGLE_IS_64_BIT_CPU",
2795            ],
2796        },
2797        x86: {
2798            cflags: [
2799                "-DANGLE_IS_32_BIT_CPU",
2800            ],
2801        },
2802        arm: {
2803            cflags: [
2804                "-DANGLE_IS_32_BIT_CPU",
2805            ],
2806        },
2807    },
2808}
2809cc_defaults {
2810    generated_headers: [
2811        "angle_commit_id",
2812        "angle_spvtools_core_enums_unified1",
2813        "angle_spvtools_core_tables_unified1",
2814        "angle_spvtools_generators_inc",
2815        "angle_spvtools_glsl_tables_glsl1-0",
2816        "angle_spvtools_language_header_cldebuginfo100",
2817        "angle_spvtools_language_header_debuginfo",
2818        "angle_spvtools_opencl_tables_opencl1-0",
2819        "angle_spvtools_vendor_tables_debuginfo",
2820        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
2821        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
2822        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
2823        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
2824        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
2825    ],
2826    name: "angle_libANGLE",
2827    stl: "libc++_static",
2828    static_libs: [
2829        "angle_common",
2830        "angle_gpu_info_util",
2831        "angle_image_util",
2832        "angle_preprocessor",
2833        "angle_spvtools",
2834        "angle_spvtools_opt",
2835        "angle_spvtools_val",
2836        "angle_translator",
2837    ],
2838    shared_libs: [
2839        "liblog",
2840        "libnativewindow",
2841        "libvulkan",
2842    ],
2843    local_include_dirs: [
2844        "",
2845        "include/",
2846        "src/",
2847        "src/common/third_party/base/",
2848    ],
2849    srcs: [
2850        "src/libANGLE/FrameCapture_mock.cpp",
2851    ],
2852    sdk_version: "28",
2853    cflags: [
2854        "-DANDROID",
2855        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2856        "-DANGLE_CAPTURE_ENABLED=0",
2857        "-DANGLE_ENABLE_OPENGL",
2858        "-DANGLE_ENABLE_OPENGL_NULL",
2859        "-DANGLE_ENABLE_VULKAN",
2860        "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1",
2861        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2862        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2863        "-DHAVE_SYS_UIO_H",
2864        "-DLIBANGLE_IMPLEMENTATION",
2865        "-DNDEBUG",
2866        "-DNVALGRIND",
2867        "-D_FORTIFY_SOURCE=2",
2868        "-D_GNU_SOURCE",
2869        "-D__STDC_CONSTANT_MACROS",
2870        "-D__STDC_FORMAT_MACROS",
2871        "-Wno-bitwise-conditional-parentheses",
2872        "-Wno-builtin-assume-aligned-alignment",
2873        "-Wno-builtin-macro-redefined",
2874        "-Wno-c++11-narrowing",
2875        "-Wno-deprecated-copy",
2876        "-Wno-final-dtor-non-final-class",
2877        "-Wno-ignored-pragma-optimize",
2878        "-Wno-implicit-fallthrough",
2879        "-Wno-implicit-int-float-conversion",
2880        "-Wno-missing-field-initializers",
2881        "-Wno-non-c-typedef-for-linkage",
2882        "-Wno-undefined-var-template",
2883        "-Wno-unknown-warning-option",
2884        "-Wno-unneeded-internal-declaration",
2885        "-Wno-unused-parameter",
2886    ],
2887    defaults: [
2888        "angle_libANGLE_base",
2889    ],
2890    arch: {
2891        arm64: {
2892            cflags: [
2893                "-DANGLE_IS_64_BIT_CPU",
2894            ],
2895        },
2896        x86_64: {
2897            cflags: [
2898                "-DANGLE_IS_64_BIT_CPU",
2899            ],
2900        },
2901        x86: {
2902            cflags: [
2903                "-DANGLE_IS_32_BIT_CPU",
2904            ],
2905        },
2906        arm: {
2907            cflags: [
2908                "-DANGLE_IS_32_BIT_CPU",
2909            ],
2910        },
2911    },
2912}
2913cc_defaults {
2914    name: "angle_includes",
2915    stl: "libc++_static",
2916    local_include_dirs: [
2917        "include/",
2918        "src/",
2919    ],
2920    sdk_version: "28",
2921    cflags: [
2922        "-DANDROID",
2923        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2924        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2925        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
2926        "-DHAVE_SYS_UIO_H",
2927        "-DNDEBUG",
2928        "-DNVALGRIND",
2929        "-D_FORTIFY_SOURCE=2",
2930        "-D_GNU_SOURCE",
2931        "-D__STDC_CONSTANT_MACROS",
2932        "-D__STDC_FORMAT_MACROS",
2933        "-Wno-bitwise-conditional-parentheses",
2934        "-Wno-builtin-assume-aligned-alignment",
2935        "-Wno-builtin-macro-redefined",
2936        "-Wno-c++11-narrowing",
2937        "-Wno-deprecated-copy",
2938        "-Wno-final-dtor-non-final-class",
2939        "-Wno-ignored-pragma-optimize",
2940        "-Wno-implicit-fallthrough",
2941        "-Wno-implicit-int-float-conversion",
2942        "-Wno-missing-field-initializers",
2943        "-Wno-non-c-typedef-for-linkage",
2944        "-Wno-undefined-var-template",
2945        "-Wno-unknown-warning-option",
2946        "-Wno-unneeded-internal-declaration",
2947        "-Wno-unused-parameter",
2948    ],
2949    arch: {
2950        arm64: {
2951            cflags: [
2952                "-DANGLE_IS_64_BIT_CPU",
2953            ],
2954        },
2955        x86_64: {
2956            cflags: [
2957                "-DANGLE_IS_64_BIT_CPU",
2958            ],
2959        },
2960        x86: {
2961            cflags: [
2962                "-DANGLE_IS_32_BIT_CPU",
2963            ],
2964        },
2965        arm: {
2966            cflags: [
2967                "-DANGLE_IS_32_BIT_CPU",
2968            ],
2969        },
2970    },
2971}
2972cc_genrule {
2973    name: "angle_commit_id",
2974    tool_files: [
2975        "src/commit_id.py",
2976    ],
2977    cmd: "$(location) gen $(location commit.h)",
2978    sdk_version: "28",
2979    out: [
2980        "commit.h",
2981    ],
2982}
2983cc_defaults {
2984    generated_headers: [
2985        "angle_commit_id",
2986    ],
2987    name: "angle_version",
2988    stl: "libc++_static",
2989    local_include_dirs: [
2990        "",
2991        "include/",
2992        "src/",
2993    ],
2994    sdk_version: "28",
2995    cflags: [
2996        "-DANDROID",
2997        "-DANDROID_NDK_VERSION_ROLL=r20_1",
2998        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
2999        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
3000        "-DHAVE_SYS_UIO_H",
3001        "-DNDEBUG",
3002        "-DNVALGRIND",
3003        "-D_FORTIFY_SOURCE=2",
3004        "-D_GNU_SOURCE",
3005        "-D__STDC_CONSTANT_MACROS",
3006        "-D__STDC_FORMAT_MACROS",
3007        "-Wno-bitwise-conditional-parentheses",
3008        "-Wno-builtin-assume-aligned-alignment",
3009        "-Wno-builtin-macro-redefined",
3010        "-Wno-c++11-narrowing",
3011        "-Wno-deprecated-copy",
3012        "-Wno-final-dtor-non-final-class",
3013        "-Wno-ignored-pragma-optimize",
3014        "-Wno-implicit-fallthrough",
3015        "-Wno-implicit-int-float-conversion",
3016        "-Wno-missing-field-initializers",
3017        "-Wno-non-c-typedef-for-linkage",
3018        "-Wno-undefined-var-template",
3019        "-Wno-unknown-warning-option",
3020        "-Wno-unneeded-internal-declaration",
3021        "-Wno-unused-parameter",
3022    ],
3023    arch: {
3024        arm64: {
3025            cflags: [
3026                "-DANGLE_IS_64_BIT_CPU",
3027            ],
3028        },
3029        x86_64: {
3030            cflags: [
3031                "-DANGLE_IS_64_BIT_CPU",
3032            ],
3033        },
3034        x86: {
3035            cflags: [
3036                "-DANGLE_IS_32_BIT_CPU",
3037            ],
3038        },
3039        arm: {
3040            cflags: [
3041                "-DANGLE_IS_32_BIT_CPU",
3042            ],
3043        },
3044    },
3045}
3046cc_library_shared {
3047    generated_headers: [
3048        "angle_commit_id",
3049        "angle_spvtools_core_enums_unified1",
3050        "angle_spvtools_core_tables_unified1",
3051        "angle_spvtools_generators_inc",
3052        "angle_spvtools_glsl_tables_glsl1-0",
3053        "angle_spvtools_language_header_cldebuginfo100",
3054        "angle_spvtools_language_header_debuginfo",
3055        "angle_spvtools_opencl_tables_opencl1-0",
3056        "angle_spvtools_vendor_tables_debuginfo",
3057        "angle_spvtools_vendor_tables_opencl.debuginfo.100",
3058        "angle_spvtools_vendor_tables_spv-amd-gcn-shader",
3059        "angle_spvtools_vendor_tables_spv-amd-shader-ballot",
3060        "angle_spvtools_vendor_tables_spv-amd-shader-explicit-vertex-parameter",
3061        "angle_spvtools_vendor_tables_spv-amd-shader-trinary-minmax",
3062    ],
3063    name: "libGLESv2_angle",
3064    stl: "libc++_static",
3065    static_libs: [
3066        "angle_common",
3067        "angle_gpu_info_util",
3068        "angle_image_util",
3069        "angle_preprocessor",
3070        "angle_spvtools",
3071        "angle_spvtools_opt",
3072        "angle_spvtools_val",
3073        "angle_translator",
3074    ],
3075    shared_libs: [
3076        "libdl",
3077        "liblog",
3078        "libm",
3079        "libnativewindow",
3080        "libvulkan",
3081    ],
3082    local_include_dirs: [
3083        "",
3084        "include/",
3085        "src/",
3086        "src/common/third_party/base/",
3087    ],
3088    srcs: [
3089        "src/libGLESv2/entry_points_egl.cpp",
3090        "src/libGLESv2/entry_points_egl_ext.cpp",
3091        "src/libGLESv2/entry_points_gles_1_0_autogen.cpp",
3092        "src/libGLESv2/entry_points_gles_2_0_autogen.cpp",
3093        "src/libGLESv2/entry_points_gles_3_0_autogen.cpp",
3094        "src/libGLESv2/entry_points_gles_3_1_autogen.cpp",
3095        "src/libGLESv2/entry_points_gles_3_2_autogen.cpp",
3096        "src/libGLESv2/entry_points_gles_ext_autogen.cpp",
3097        "src/libGLESv2/global_state.cpp",
3098        "src/libGLESv2/libGLESv2_autogen.cpp",
3099        "src/libGLESv2/proc_table_egl_autogen.cpp",
3100    ],
3101    sdk_version: "28",
3102    cflags: [
3103        "-DANDROID",
3104        "-DANDROID_NDK_VERSION_ROLL=r20_1",
3105        "-DANGLE_CAPTURE_ENABLED=0",
3106        "-DANGLE_ENABLE_OPENGL",
3107        "-DANGLE_ENABLE_OPENGL_NULL",
3108        "-DANGLE_ENABLE_VULKAN",
3109        "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1",
3110        "-DCR_CLANG_REVISION=\"n344329-9284abd0-6\"",
3111        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
3112        "-DEGL_EGLEXT_PROTOTYPES",
3113        "-DEGL_EGL_PROTOTYPES=1",
3114        "-DGL_API=__attribute__((visibility(\"default\")))",
3115        "-DGL_APICALL=__attribute__((visibility(\"default\")))",
3116        "-DGL_GLES_PROTOTYPES=1",
3117        "-DGL_GLEXT_PROTOTYPES",
3118        "-DHAVE_SYS_UIO_H",
3119        "-DLIBANGLE_IMPLEMENTATION",
3120        "-DLIBGLESV2_IMPLEMENTATION",
3121        "-DNDEBUG",
3122        "-DNVALGRIND",
3123        "-D_FORTIFY_SOURCE=2",
3124        "-D_GNU_SOURCE",
3125        "-D__STDC_CONSTANT_MACROS",
3126        "-D__STDC_FORMAT_MACROS",
3127        "-Wno-bitwise-conditional-parentheses",
3128        "-Wno-builtin-assume-aligned-alignment",
3129        "-Wno-builtin-macro-redefined",
3130        "-Wno-c++11-narrowing",
3131        "-Wno-deprecated-copy",
3132        "-Wno-final-dtor-non-final-class",
3133        "-Wno-ignored-pragma-optimize",
3134        "-Wno-implicit-fallthrough",
3135        "-Wno-implicit-int-float-conversion",
3136        "-Wno-missing-field-initializers",
3137        "-Wno-non-c-typedef-for-linkage",
3138        "-Wno-undefined-var-template",
3139        "-Wno-unknown-warning-option",
3140        "-Wno-unneeded-internal-declaration",
3141        "-Wno-unused-parameter",
3142    ],
3143    defaults: [
3144        "angle_includes",
3145        "angle_libANGLE",
3146        "angle_version",
3147    ],
3148    arch: {
3149        arm64: {
3150            cflags: [
3151                "-DANGLE_IS_64_BIT_CPU",
3152            ],
3153        },
3154        x86_64: {
3155            cflags: [
3156                "-DANGLE_IS_64_BIT_CPU",
3157            ],
3158        },
3159        x86: {
3160            cflags: [
3161                "-DANGLE_IS_32_BIT_CPU",
3162            ],
3163        },
3164        arm: {
3165            cflags: [
3166                "-DANGLE_IS_32_BIT_CPU",
3167            ],
3168        },
3169    },
3170}
3171filegroup {
3172    srcs: [
3173        "src/**/*.java",
3174    ],
3175    name: "ANGLE_srcs",
3176}
3177java_defaults {
3178    jni_libs: [
3179        "libEGL_angle",
3180        "libGLESv1_CM_angle",
3181        "libGLESv2_angle",
3182        "libfeature_support_angle",
3183    ],
3184    srcs: [
3185        ":ANGLE_srcs",
3186    ],
3187    plugins: [
3188        "java_api_finder",
3189    ],
3190    owner: "google",
3191    name: "ANGLE_java_defaults",
3192    use_embedded_native_libs: true,
3193    min_sdk_version: "28",
3194    sdk_version: "system_current",
3195    aaptflags: [
3196        "--extra-packages com.android.angle.common",
3197        "-0 .json",
3198    ],
3199    compile_multilib: "both",
3200    privileged: true,
3201}
3202android_library {
3203    sdk_version: "system_current",
3204    name: "ANGLE_library",
3205    aaptflags: [
3206        "-0 .json",
3207    ],
3208    manifest: "src/android_system_settings/src/com/android/angle/AndroidManifest.xml",
3209    static_libs: [
3210        "androidx.preference_preference",
3211    ],
3212    min_sdk_version: "28",
3213    resource_dirs: [
3214        "src/android_system_settings/res",
3215    ],
3216    asset_dirs: [
3217        "src/android_system_settings/assets",
3218    ],
3219}
3220android_app {
3221    static_libs: [
3222        "ANGLE_library",
3223    ],
3224    required: [
3225        "privapp_whitelist_com.android.angle",
3226    ],
3227    name: "ANGLE",
3228    defaults: [
3229        "ANGLE_java_defaults",
3230    ],
3231    manifest: "src/android_system_settings/src/com/android/angle/AndroidManifest.xml",
3232}
3233