1*03ce13f7SAndroid Build Coastguard Workerload( 2*03ce13f7SAndroid Build Coastguard Worker ":build_defs.bzl", 3*03ce13f7SAndroid Build Coastguard Worker "CLDEBUGINFO100_GRAMMAR_JSON_FILE", 4*03ce13f7SAndroid Build Coastguard Worker "COMMON_COPTS", 5*03ce13f7SAndroid Build Coastguard Worker "DEBUGINFO_GRAMMAR_JSON_FILE", 6*03ce13f7SAndroid Build Coastguard Worker "SHDEBUGINFO100_GRAMMAR_JSON_FILE", 7*03ce13f7SAndroid Build Coastguard Worker "TEST_COPTS", 8*03ce13f7SAndroid Build Coastguard Worker "generate_core_tables", 9*03ce13f7SAndroid Build Coastguard Worker "generate_enum_string_mapping", 10*03ce13f7SAndroid Build Coastguard Worker "generate_extinst_lang_headers", 11*03ce13f7SAndroid Build Coastguard Worker "generate_glsl_tables", 12*03ce13f7SAndroid Build Coastguard Worker "generate_opencl_tables", 13*03ce13f7SAndroid Build Coastguard Worker "generate_vendor_tables", 14*03ce13f7SAndroid Build Coastguard Worker "incompatible_with", 15*03ce13f7SAndroid Build Coastguard Worker) 16*03ce13f7SAndroid Build Coastguard Worker 17*03ce13f7SAndroid Build Coastguard Workerpackage( 18*03ce13f7SAndroid Build Coastguard Worker default_visibility = ["//visibility:private"], 19*03ce13f7SAndroid Build Coastguard Worker features = [ 20*03ce13f7SAndroid Build Coastguard Worker "layering_check", 21*03ce13f7SAndroid Build Coastguard Worker ], 22*03ce13f7SAndroid Build Coastguard Worker) 23*03ce13f7SAndroid Build Coastguard Worker 24*03ce13f7SAndroid Build Coastguard Workerlicenses(["notice"]) 25*03ce13f7SAndroid Build Coastguard Worker 26*03ce13f7SAndroid Build Coastguard Workerexports_files([ 27*03ce13f7SAndroid Build Coastguard Worker "CHANGES", 28*03ce13f7SAndroid Build Coastguard Worker "LICENSE", 29*03ce13f7SAndroid Build Coastguard Worker]) 30*03ce13f7SAndroid Build Coastguard Worker 31*03ce13f7SAndroid Build Coastguard Workerpy_binary( 32*03ce13f7SAndroid Build Coastguard Worker name = "generate_grammar_tables", 33*03ce13f7SAndroid Build Coastguard Worker srcs = ["utils/generate_grammar_tables.py"], 34*03ce13f7SAndroid Build Coastguard Worker) 35*03ce13f7SAndroid Build Coastguard Worker 36*03ce13f7SAndroid Build Coastguard Workerpy_binary( 37*03ce13f7SAndroid Build Coastguard Worker name = "generate_language_headers", 38*03ce13f7SAndroid Build Coastguard Worker srcs = ["utils/generate_language_headers.py"], 39*03ce13f7SAndroid Build Coastguard Worker) 40*03ce13f7SAndroid Build Coastguard Worker 41*03ce13f7SAndroid Build Coastguard Workergenerate_core_tables(version = "unified1") 42*03ce13f7SAndroid Build Coastguard Worker 43*03ce13f7SAndroid Build Coastguard Workergenerate_enum_string_mapping(version = "unified1") 44*03ce13f7SAndroid Build Coastguard Worker 45*03ce13f7SAndroid Build Coastguard Workergenerate_opencl_tables(version = "unified1") 46*03ce13f7SAndroid Build Coastguard Worker 47*03ce13f7SAndroid Build Coastguard Workergenerate_glsl_tables(version = "unified1") 48*03ce13f7SAndroid Build Coastguard Worker 49*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "spv-amd-shader-explicit-vertex-parameter") 50*03ce13f7SAndroid Build Coastguard Worker 51*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "spv-amd-shader-trinary-minmax") 52*03ce13f7SAndroid Build Coastguard Worker 53*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "spv-amd-gcn-shader") 54*03ce13f7SAndroid Build Coastguard Worker 55*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "spv-amd-shader-ballot") 56*03ce13f7SAndroid Build Coastguard Worker 57*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "debuginfo") 58*03ce13f7SAndroid Build Coastguard Worker 59*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "nonsemantic.clspvreflection") 60*03ce13f7SAndroid Build Coastguard Worker 61*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables(extension = "nonsemantic.vkspreflection") 62*03ce13f7SAndroid Build Coastguard Worker 63*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables( 64*03ce13f7SAndroid Build Coastguard Worker extension = "opencl.debuginfo.100", 65*03ce13f7SAndroid Build Coastguard Worker operand_kind_prefix = "CLDEBUG100_", 66*03ce13f7SAndroid Build Coastguard Worker) 67*03ce13f7SAndroid Build Coastguard Worker 68*03ce13f7SAndroid Build Coastguard Workergenerate_vendor_tables( 69*03ce13f7SAndroid Build Coastguard Worker extension = "nonsemantic.shader.debuginfo.100", 70*03ce13f7SAndroid Build Coastguard Worker operand_kind_prefix = "SHDEBUG100_", 71*03ce13f7SAndroid Build Coastguard Worker) 72*03ce13f7SAndroid Build Coastguard Worker 73*03ce13f7SAndroid Build Coastguard Workergenerate_extinst_lang_headers( 74*03ce13f7SAndroid Build Coastguard Worker name = "DebugInfo", 75*03ce13f7SAndroid Build Coastguard Worker grammar = DEBUGINFO_GRAMMAR_JSON_FILE, 76*03ce13f7SAndroid Build Coastguard Worker) 77*03ce13f7SAndroid Build Coastguard Worker 78*03ce13f7SAndroid Build Coastguard Workergenerate_extinst_lang_headers( 79*03ce13f7SAndroid Build Coastguard Worker name = "OpenCLDebugInfo100", 80*03ce13f7SAndroid Build Coastguard Worker grammar = CLDEBUGINFO100_GRAMMAR_JSON_FILE, 81*03ce13f7SAndroid Build Coastguard Worker) 82*03ce13f7SAndroid Build Coastguard Worker 83*03ce13f7SAndroid Build Coastguard Workergenerate_extinst_lang_headers( 84*03ce13f7SAndroid Build Coastguard Worker name = "NonSemanticShaderDebugInfo100", 85*03ce13f7SAndroid Build Coastguard Worker grammar = SHDEBUGINFO100_GRAMMAR_JSON_FILE, 86*03ce13f7SAndroid Build Coastguard Worker) 87*03ce13f7SAndroid Build Coastguard Worker 88*03ce13f7SAndroid Build Coastguard Workerpy_binary( 89*03ce13f7SAndroid Build Coastguard Worker name = "generate_registry_tables", 90*03ce13f7SAndroid Build Coastguard Worker srcs = ["utils/generate_registry_tables.py"], 91*03ce13f7SAndroid Build Coastguard Worker) 92*03ce13f7SAndroid Build Coastguard Worker 93*03ce13f7SAndroid Build Coastguard Workergenrule( 94*03ce13f7SAndroid Build Coastguard Worker name = "generators_inc", 95*03ce13f7SAndroid Build Coastguard Worker srcs = ["@spirv_headers//:spirv_xml_registry"], 96*03ce13f7SAndroid Build Coastguard Worker outs = ["generators.inc"], 97*03ce13f7SAndroid Build Coastguard Worker cmd = "$(location :generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)", 98*03ce13f7SAndroid Build Coastguard Worker cmd_bat = "$(location :generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)", 99*03ce13f7SAndroid Build Coastguard Worker tools = [":generate_registry_tables"], 100*03ce13f7SAndroid Build Coastguard Worker) 101*03ce13f7SAndroid Build Coastguard Worker 102*03ce13f7SAndroid Build Coastguard Workerpy_binary( 103*03ce13f7SAndroid Build Coastguard Worker name = "update_build_version", 104*03ce13f7SAndroid Build Coastguard Worker srcs = ["utils/update_build_version.py"], 105*03ce13f7SAndroid Build Coastguard Worker) 106*03ce13f7SAndroid Build Coastguard Worker 107*03ce13f7SAndroid Build Coastguard Workergenrule( 108*03ce13f7SAndroid Build Coastguard Worker name = "build_version_inc", 109*03ce13f7SAndroid Build Coastguard Worker srcs = ["CHANGES"], 110*03ce13f7SAndroid Build Coastguard Worker outs = ["build-version.inc"], 111*03ce13f7SAndroid Build Coastguard Worker cmd = "SOURCE_DATE_EPOCH=0 $(location :update_build_version) $(location CHANGES) $(location build-version.inc)", 112*03ce13f7SAndroid Build Coastguard Worker cmd_bat = "set SOURCE_DATE_EPOCH=0 && $(location :update_build_version) $(location CHANGES) $(location build-version.inc)", 113*03ce13f7SAndroid Build Coastguard Worker local = True, 114*03ce13f7SAndroid Build Coastguard Worker tools = [":update_build_version"], 115*03ce13f7SAndroid Build Coastguard Worker) 116*03ce13f7SAndroid Build Coastguard Worker 117*03ce13f7SAndroid Build Coastguard Worker# Libraries 118*03ce13f7SAndroid Build Coastguard Worker 119*03ce13f7SAndroid Build Coastguard Workercc_library( 120*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools", 121*03ce13f7SAndroid Build Coastguard Worker hdrs = [ 122*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/libspirv.h", 123*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/libspirv.hpp", 124*03ce13f7SAndroid Build Coastguard Worker ], 125*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 126*03ce13f7SAndroid Build Coastguard Worker includes = ["include"], 127*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 128*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 129*03ce13f7SAndroid Build Coastguard Worker deps = [ 130*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 131*03ce13f7SAndroid Build Coastguard Worker ], 132*03ce13f7SAndroid Build Coastguard Worker) 133*03ce13f7SAndroid Build Coastguard Worker 134*03ce13f7SAndroid Build Coastguard Workercc_library( 135*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_internal", 136*03ce13f7SAndroid Build Coastguard Worker srcs = glob([ 137*03ce13f7SAndroid Build Coastguard Worker "source/*.cpp", 138*03ce13f7SAndroid Build Coastguard Worker "source/util/*.cpp", 139*03ce13f7SAndroid Build Coastguard Worker "source/val/*.cpp", 140*03ce13f7SAndroid Build Coastguard Worker ]) + [ 141*03ce13f7SAndroid Build Coastguard Worker ":build_version_inc", 142*03ce13f7SAndroid Build Coastguard Worker ":gen_core_tables_unified1", 143*03ce13f7SAndroid Build Coastguard Worker ":gen_enum_string_mapping", 144*03ce13f7SAndroid Build Coastguard Worker ":gen_extinst_lang_headers_DebugInfo", 145*03ce13f7SAndroid Build Coastguard Worker ":gen_extinst_lang_headers_NonSemanticShaderDebugInfo100", 146*03ce13f7SAndroid Build Coastguard Worker ":gen_extinst_lang_headers_OpenCLDebugInfo100", 147*03ce13f7SAndroid Build Coastguard Worker ":gen_glsl_tables_unified1", 148*03ce13f7SAndroid Build Coastguard Worker ":gen_opencl_tables_unified1", 149*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_debuginfo", 150*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_nonsemantic_clspvreflection", 151*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_nonsemantic_vkspreflection", 152*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_nonsemantic_shader_debuginfo_100", 153*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_opencl_debuginfo_100", 154*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_spv_amd_gcn_shader", 155*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_spv_amd_shader_ballot", 156*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_spv_amd_shader_explicit_vertex_parameter", 157*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_spv_amd_shader_trinary_minmax", 158*03ce13f7SAndroid Build Coastguard Worker ":generators_inc", 159*03ce13f7SAndroid Build Coastguard Worker ], 160*03ce13f7SAndroid Build Coastguard Worker hdrs = [ 161*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/libspirv.h", 162*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/libspirv.hpp", 163*03ce13f7SAndroid Build Coastguard Worker ":gen_extinst_lang_headers_DebugInfo", 164*03ce13f7SAndroid Build Coastguard Worker ":gen_extinst_lang_headers_NonSemanticShaderDebugInfo100", 165*03ce13f7SAndroid Build Coastguard Worker ":gen_extinst_lang_headers_OpenCLDebugInfo100", 166*03ce13f7SAndroid Build Coastguard Worker ] + glob([ 167*03ce13f7SAndroid Build Coastguard Worker "source/*.h", 168*03ce13f7SAndroid Build Coastguard Worker "source/util/*.h", 169*03ce13f7SAndroid Build Coastguard Worker "source/val/*.h", 170*03ce13f7SAndroid Build Coastguard Worker ]), 171*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 172*03ce13f7SAndroid Build Coastguard Worker includes = ["include"], 173*03ce13f7SAndroid Build Coastguard Worker deps = [ 174*03ce13f7SAndroid Build Coastguard Worker "@spirv_headers//:spirv_common_headers", 175*03ce13f7SAndroid Build Coastguard Worker "@spirv_headers//:spirv_cpp11_headers", 176*03ce13f7SAndroid Build Coastguard Worker ], 177*03ce13f7SAndroid Build Coastguard Worker) 178*03ce13f7SAndroid Build Coastguard Worker 179*03ce13f7SAndroid Build Coastguard Workercc_library( 180*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_opt", 181*03ce13f7SAndroid Build Coastguard Worker hdrs = [ 182*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/instrument.hpp", 183*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/optimizer.hpp", 184*03ce13f7SAndroid Build Coastguard Worker ], 185*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 186*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 187*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 188*03ce13f7SAndroid Build Coastguard Worker deps = [ 189*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools", 190*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 191*03ce13f7SAndroid Build Coastguard Worker ], 192*03ce13f7SAndroid Build Coastguard Worker) 193*03ce13f7SAndroid Build Coastguard Worker 194*03ce13f7SAndroid Build Coastguard Workercc_library( 195*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_opt_internal", 196*03ce13f7SAndroid Build Coastguard Worker srcs = glob(["source/opt/*.cpp"]) + [ 197*03ce13f7SAndroid Build Coastguard Worker ":gen_vendor_tables_spv_amd_shader_ballot", 198*03ce13f7SAndroid Build Coastguard Worker ], 199*03ce13f7SAndroid Build Coastguard Worker hdrs = glob(["source/opt/*.h"]) + [ 200*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/instrument.hpp", 201*03ce13f7SAndroid Build Coastguard Worker "include/spirv-tools/optimizer.hpp", 202*03ce13f7SAndroid Build Coastguard Worker ], 203*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 204*03ce13f7SAndroid Build Coastguard Worker deps = [ 205*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 206*03ce13f7SAndroid Build Coastguard Worker "@spirv_headers//:spirv_common_headers", 207*03ce13f7SAndroid Build Coastguard Worker ], 208*03ce13f7SAndroid Build Coastguard Worker) 209*03ce13f7SAndroid Build Coastguard Worker 210*03ce13f7SAndroid Build Coastguard Workercc_library( 211*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_reduce", 212*03ce13f7SAndroid Build Coastguard Worker srcs = glob(["source/reduce/*.cpp"]), 213*03ce13f7SAndroid Build Coastguard Worker hdrs = glob(["source/reduce/*.h"]), 214*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 215*03ce13f7SAndroid Build Coastguard Worker deps = [ 216*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 217*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 218*03ce13f7SAndroid Build Coastguard Worker ], 219*03ce13f7SAndroid Build Coastguard Worker) 220*03ce13f7SAndroid Build Coastguard Worker 221*03ce13f7SAndroid Build Coastguard Workercc_library( 222*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_link", 223*03ce13f7SAndroid Build Coastguard Worker srcs = glob(["source/link/*.cpp"]), 224*03ce13f7SAndroid Build Coastguard Worker hdrs = ["include/spirv-tools/linker.hpp"], 225*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 226*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 227*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 228*03ce13f7SAndroid Build Coastguard Worker deps = [ 229*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 230*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 231*03ce13f7SAndroid Build Coastguard Worker ], 232*03ce13f7SAndroid Build Coastguard Worker) 233*03ce13f7SAndroid Build Coastguard Worker 234*03ce13f7SAndroid Build Coastguard Workercc_library( 235*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_lint_internal", 236*03ce13f7SAndroid Build Coastguard Worker srcs = glob([ 237*03ce13f7SAndroid Build Coastguard Worker "source/lint/*.cpp", 238*03ce13f7SAndroid Build Coastguard Worker "source/lint/*.h", 239*03ce13f7SAndroid Build Coastguard Worker ]), 240*03ce13f7SAndroid Build Coastguard Worker hdrs = ["include/spirv-tools/linter.hpp"] + glob([ 241*03ce13f7SAndroid Build Coastguard Worker "source/lint/*.h", 242*03ce13f7SAndroid Build Coastguard Worker ]), 243*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 244*03ce13f7SAndroid Build Coastguard Worker includes = ["include"], 245*03ce13f7SAndroid Build Coastguard Worker deps = [ 246*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 247*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 248*03ce13f7SAndroid Build Coastguard Worker ], 249*03ce13f7SAndroid Build Coastguard Worker) 250*03ce13f7SAndroid Build Coastguard Worker 251*03ce13f7SAndroid Build Coastguard Workercc_library( 252*03ce13f7SAndroid Build Coastguard Worker name = "spirv_tools_lint", 253*03ce13f7SAndroid Build Coastguard Worker hdrs = ["include/spirv-tools/linter.hpp"], 254*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 255*03ce13f7SAndroid Build Coastguard Worker includes = ["include"], 256*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 257*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 258*03ce13f7SAndroid Build Coastguard Worker deps = [ 259*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools", 260*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_lint_internal", 261*03ce13f7SAndroid Build Coastguard Worker ], 262*03ce13f7SAndroid Build Coastguard Worker) 263*03ce13f7SAndroid Build Coastguard Worker 264*03ce13f7SAndroid Build Coastguard Workercc_library( 265*03ce13f7SAndroid Build Coastguard Worker name = "tools_util", 266*03ce13f7SAndroid Build Coastguard Worker srcs = glob(["tools/util/*.cpp"]), 267*03ce13f7SAndroid Build Coastguard Worker hdrs = glob(["tools/util/*.h"]), 268*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 269*03ce13f7SAndroid Build Coastguard Worker deps = [":spirv_tools"], 270*03ce13f7SAndroid Build Coastguard Worker) 271*03ce13f7SAndroid Build Coastguard Worker 272*03ce13f7SAndroid Build Coastguard Workercc_library( 273*03ce13f7SAndroid Build Coastguard Worker name = "tools_io", 274*03ce13f7SAndroid Build Coastguard Worker hdrs = ["tools/io.h"], 275*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 276*03ce13f7SAndroid Build Coastguard Worker) 277*03ce13f7SAndroid Build Coastguard Worker 278*03ce13f7SAndroid Build Coastguard Worker# Tools 279*03ce13f7SAndroid Build Coastguard Worker 280*03ce13f7SAndroid Build Coastguard Workercc_binary( 281*03ce13f7SAndroid Build Coastguard Worker name = "spirv-as", 282*03ce13f7SAndroid Build Coastguard Worker srcs = [ 283*03ce13f7SAndroid Build Coastguard Worker "tools/as/as.cpp", 284*03ce13f7SAndroid Build Coastguard Worker ], 285*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 286*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 287*03ce13f7SAndroid Build Coastguard Worker deps = [ 288*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 289*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 290*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 291*03ce13f7SAndroid Build Coastguard Worker ], 292*03ce13f7SAndroid Build Coastguard Worker) 293*03ce13f7SAndroid Build Coastguard Worker 294*03ce13f7SAndroid Build Coastguard Workercc_binary( 295*03ce13f7SAndroid Build Coastguard Worker name = "spirv-dis", 296*03ce13f7SAndroid Build Coastguard Worker srcs = [ 297*03ce13f7SAndroid Build Coastguard Worker "tools/dis/dis.cpp", 298*03ce13f7SAndroid Build Coastguard Worker ], 299*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 300*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 301*03ce13f7SAndroid Build Coastguard Worker deps = [ 302*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools", 303*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 304*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 305*03ce13f7SAndroid Build Coastguard Worker ], 306*03ce13f7SAndroid Build Coastguard Worker) 307*03ce13f7SAndroid Build Coastguard Worker 308*03ce13f7SAndroid Build Coastguard Workercc_binary( 309*03ce13f7SAndroid Build Coastguard Worker name = "spirv-objdump", 310*03ce13f7SAndroid Build Coastguard Worker srcs = [ 311*03ce13f7SAndroid Build Coastguard Worker "tools/objdump/extract_source.cpp", 312*03ce13f7SAndroid Build Coastguard Worker "tools/objdump/extract_source.h", 313*03ce13f7SAndroid Build Coastguard Worker "tools/objdump/objdump.cpp", 314*03ce13f7SAndroid Build Coastguard Worker ], 315*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 316*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 317*03ce13f7SAndroid Build Coastguard Worker deps = [ 318*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 319*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 320*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 321*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 322*03ce13f7SAndroid Build Coastguard Worker "@spirv_headers//:spirv_cpp_headers", 323*03ce13f7SAndroid Build Coastguard Worker ], 324*03ce13f7SAndroid Build Coastguard Worker) 325*03ce13f7SAndroid Build Coastguard Worker 326*03ce13f7SAndroid Build Coastguard Workercc_binary( 327*03ce13f7SAndroid Build Coastguard Worker name = "spirv-val", 328*03ce13f7SAndroid Build Coastguard Worker srcs = [ 329*03ce13f7SAndroid Build Coastguard Worker "tools/val/val.cpp", 330*03ce13f7SAndroid Build Coastguard Worker ], 331*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 332*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 333*03ce13f7SAndroid Build Coastguard Worker deps = [ 334*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 335*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 336*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 337*03ce13f7SAndroid Build Coastguard Worker ], 338*03ce13f7SAndroid Build Coastguard Worker) 339*03ce13f7SAndroid Build Coastguard Worker 340*03ce13f7SAndroid Build Coastguard Workercc_binary( 341*03ce13f7SAndroid Build Coastguard Worker name = "spirv-opt", 342*03ce13f7SAndroid Build Coastguard Worker srcs = [ 343*03ce13f7SAndroid Build Coastguard Worker "tools/opt/opt.cpp", 344*03ce13f7SAndroid Build Coastguard Worker ], 345*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 346*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 347*03ce13f7SAndroid Build Coastguard Worker deps = [ 348*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 349*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 350*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 351*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 352*03ce13f7SAndroid Build Coastguard Worker ], 353*03ce13f7SAndroid Build Coastguard Worker) 354*03ce13f7SAndroid Build Coastguard Worker 355*03ce13f7SAndroid Build Coastguard Workercc_binary( 356*03ce13f7SAndroid Build Coastguard Worker name = "spirv-reduce", 357*03ce13f7SAndroid Build Coastguard Worker srcs = [ 358*03ce13f7SAndroid Build Coastguard Worker "tools/reduce/reduce.cpp", 359*03ce13f7SAndroid Build Coastguard Worker ], 360*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 361*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 362*03ce13f7SAndroid Build Coastguard Worker deps = [ 363*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 364*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 365*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_reduce", 366*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 367*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 368*03ce13f7SAndroid Build Coastguard Worker ], 369*03ce13f7SAndroid Build Coastguard Worker) 370*03ce13f7SAndroid Build Coastguard Worker 371*03ce13f7SAndroid Build Coastguard Workercc_binary( 372*03ce13f7SAndroid Build Coastguard Worker name = "spirv-link", 373*03ce13f7SAndroid Build Coastguard Worker srcs = [ 374*03ce13f7SAndroid Build Coastguard Worker "tools/link/linker.cpp", 375*03ce13f7SAndroid Build Coastguard Worker ], 376*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 377*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 378*03ce13f7SAndroid Build Coastguard Worker deps = [ 379*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 380*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_link", 381*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 382*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 383*03ce13f7SAndroid Build Coastguard Worker ], 384*03ce13f7SAndroid Build Coastguard Worker) 385*03ce13f7SAndroid Build Coastguard Worker 386*03ce13f7SAndroid Build Coastguard Workercc_binary( 387*03ce13f7SAndroid Build Coastguard Worker name = "spirv-lint", 388*03ce13f7SAndroid Build Coastguard Worker srcs = [ 389*03ce13f7SAndroid Build Coastguard Worker "tools/lint/lint.cpp", 390*03ce13f7SAndroid Build Coastguard Worker ], 391*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 392*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 393*03ce13f7SAndroid Build Coastguard Worker deps = [ 394*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_lint", 395*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 396*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 397*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 398*03ce13f7SAndroid Build Coastguard Worker ], 399*03ce13f7SAndroid Build Coastguard Worker) 400*03ce13f7SAndroid Build Coastguard Worker 401*03ce13f7SAndroid Build Coastguard Workercc_binary( 402*03ce13f7SAndroid Build Coastguard Worker name = "spirv-cfg", 403*03ce13f7SAndroid Build Coastguard Worker srcs = [ 404*03ce13f7SAndroid Build Coastguard Worker "tools/cfg/bin_to_dot.cpp", 405*03ce13f7SAndroid Build Coastguard Worker "tools/cfg/bin_to_dot.h", 406*03ce13f7SAndroid Build Coastguard Worker "tools/cfg/cfg.cpp", 407*03ce13f7SAndroid Build Coastguard Worker ], 408*03ce13f7SAndroid Build Coastguard Worker copts = COMMON_COPTS, 409*03ce13f7SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 410*03ce13f7SAndroid Build Coastguard Worker deps = [ 411*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 412*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 413*03ce13f7SAndroid Build Coastguard Worker ":tools_util", 414*03ce13f7SAndroid Build Coastguard Worker ], 415*03ce13f7SAndroid Build Coastguard Worker) 416*03ce13f7SAndroid Build Coastguard Worker 417*03ce13f7SAndroid Build Coastguard Worker# Unit tests 418*03ce13f7SAndroid Build Coastguard Worker 419*03ce13f7SAndroid Build Coastguard Workercc_library( 420*03ce13f7SAndroid Build Coastguard Worker name = "test_lib", 421*03ce13f7SAndroid Build Coastguard Worker testonly = 1, 422*03ce13f7SAndroid Build Coastguard Worker srcs = [ 423*03ce13f7SAndroid Build Coastguard Worker "test/unit_spirv.cpp", 424*03ce13f7SAndroid Build Coastguard Worker ], 425*03ce13f7SAndroid Build Coastguard Worker hdrs = [ 426*03ce13f7SAndroid Build Coastguard Worker "test/test_fixture.h", 427*03ce13f7SAndroid Build Coastguard Worker "test/unit_spirv.h", 428*03ce13f7SAndroid Build Coastguard Worker ], 429*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 430*03ce13f7SAndroid Build Coastguard Worker deps = [ 431*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 432*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 433*03ce13f7SAndroid Build Coastguard Worker ], 434*03ce13f7SAndroid Build Coastguard Worker) 435*03ce13f7SAndroid Build Coastguard Worker 436*03ce13f7SAndroid Build Coastguard Worker# PCH (precompiled header) tests only work when using CMake and MSVC on Windows, 437*03ce13f7SAndroid Build Coastguard Worker# so they will be skipped in the Bazel builds. 438*03ce13f7SAndroid Build Coastguard Worker 439*03ce13f7SAndroid Build Coastguard Worker[cc_test( 440*03ce13f7SAndroid Build Coastguard Worker name = "base_{testcase}_test".format(testcase = f[len("test/"):-len("_test.cpp")]), 441*03ce13f7SAndroid Build Coastguard Worker size = "small", 442*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 443*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS + ["-DTESTING"], 444*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 445*03ce13f7SAndroid Build Coastguard Worker target_compatible_with = { 446*03ce13f7SAndroid Build Coastguard Worker "test/timer_test.cpp": incompatible_with(["@bazel_tools//src/conditions:windows"]), 447*03ce13f7SAndroid Build Coastguard Worker }.get(f, []), 448*03ce13f7SAndroid Build Coastguard Worker deps = [ 449*03ce13f7SAndroid Build Coastguard Worker "tools_util", 450*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 451*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 452*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 453*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 454*03ce13f7SAndroid Build Coastguard Worker ], 455*03ce13f7SAndroid Build Coastguard Worker) for f in glob( 456*03ce13f7SAndroid Build Coastguard Worker [ 457*03ce13f7SAndroid Build Coastguard Worker "test/*_test.cpp", 458*03ce13f7SAndroid Build Coastguard Worker "test/tools/*_test.cpp", 459*03ce13f7SAndroid Build Coastguard Worker ], 460*03ce13f7SAndroid Build Coastguard Worker exclude = [ 461*03ce13f7SAndroid Build Coastguard Worker "test/cpp_interface_test.cpp", 462*03ce13f7SAndroid Build Coastguard Worker "test/pch_test.cpp", 463*03ce13f7SAndroid Build Coastguard Worker ], 464*03ce13f7SAndroid Build Coastguard Worker)] 465*03ce13f7SAndroid Build Coastguard Worker 466*03ce13f7SAndroid Build Coastguard Workercc_test( 467*03ce13f7SAndroid Build Coastguard Worker name = "base_cpp_interface_test", 468*03ce13f7SAndroid Build Coastguard Worker size = "small", 469*03ce13f7SAndroid Build Coastguard Worker srcs = ["test/cpp_interface_test.cpp"], 470*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 471*03ce13f7SAndroid Build Coastguard Worker deps = [ 472*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 473*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 474*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 475*03ce13f7SAndroid Build Coastguard Worker "@spirv_headers//:spirv_cpp11_headers", 476*03ce13f7SAndroid Build Coastguard Worker ], 477*03ce13f7SAndroid Build Coastguard Worker) 478*03ce13f7SAndroid Build Coastguard Worker 479*03ce13f7SAndroid Build Coastguard Workercc_test( 480*03ce13f7SAndroid Build Coastguard Worker name = "base_ilist_test", 481*03ce13f7SAndroid Build Coastguard Worker size = "small", 482*03ce13f7SAndroid Build Coastguard Worker srcs = ["test/util/ilist_test.cpp"], 483*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 484*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 485*03ce13f7SAndroid Build Coastguard Worker deps = [ 486*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 487*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 488*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 489*03ce13f7SAndroid Build Coastguard Worker ], 490*03ce13f7SAndroid Build Coastguard Worker) 491*03ce13f7SAndroid Build Coastguard Worker 492*03ce13f7SAndroid Build Coastguard Workercc_library( 493*03ce13f7SAndroid Build Coastguard Worker name = "link_test_lib", 494*03ce13f7SAndroid Build Coastguard Worker testonly = 1, 495*03ce13f7SAndroid Build Coastguard Worker hdrs = ["test/link/linker_fixture.h"], 496*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 497*03ce13f7SAndroid Build Coastguard Worker deps = [ 498*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 499*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_link", 500*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 501*03ce13f7SAndroid Build Coastguard Worker "@com_google_effcee//:effcee", 502*03ce13f7SAndroid Build Coastguard Worker "@com_googlesource_code_re2//:re2", 503*03ce13f7SAndroid Build Coastguard Worker ], 504*03ce13f7SAndroid Build Coastguard Worker) 505*03ce13f7SAndroid Build Coastguard Worker 506*03ce13f7SAndroid Build Coastguard Worker[cc_test( 507*03ce13f7SAndroid Build Coastguard Worker name = "link_{testcase}_test".format(testcase = f[len("test/link/"):-len("_test.cpp")]), 508*03ce13f7SAndroid Build Coastguard Worker size = "small", 509*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 510*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 511*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 512*03ce13f7SAndroid Build Coastguard Worker deps = [ 513*03ce13f7SAndroid Build Coastguard Worker ":link_test_lib", 514*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 515*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 516*03ce13f7SAndroid Build Coastguard Worker ], 517*03ce13f7SAndroid Build Coastguard Worker) for f in glob( 518*03ce13f7SAndroid Build Coastguard Worker ["test/link/*_test.cpp"], 519*03ce13f7SAndroid Build Coastguard Worker)] 520*03ce13f7SAndroid Build Coastguard Worker 521*03ce13f7SAndroid Build Coastguard Worker[cc_test( 522*03ce13f7SAndroid Build Coastguard Worker name = "lint_{testcase}_test".format(testcase = f[len("test/lint/"):-len("_test.cpp")]), 523*03ce13f7SAndroid Build Coastguard Worker size = "small", 524*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 525*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 526*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 527*03ce13f7SAndroid Build Coastguard Worker deps = [ 528*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools", 529*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_lint_internal", 530*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 531*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 532*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 533*03ce13f7SAndroid Build Coastguard Worker ], 534*03ce13f7SAndroid Build Coastguard Worker) for f in glob( 535*03ce13f7SAndroid Build Coastguard Worker ["test/lint/*_test.cpp"], 536*03ce13f7SAndroid Build Coastguard Worker)] 537*03ce13f7SAndroid Build Coastguard Worker 538*03ce13f7SAndroid Build Coastguard Workercc_library( 539*03ce13f7SAndroid Build Coastguard Worker name = "opt_test_lib", 540*03ce13f7SAndroid Build Coastguard Worker testonly = 1, 541*03ce13f7SAndroid Build Coastguard Worker srcs = [ 542*03ce13f7SAndroid Build Coastguard Worker "test/opt/pass_utils.cpp", 543*03ce13f7SAndroid Build Coastguard Worker ], 544*03ce13f7SAndroid Build Coastguard Worker hdrs = [ 545*03ce13f7SAndroid Build Coastguard Worker "test/opt/assembly_builder.h", 546*03ce13f7SAndroid Build Coastguard Worker "test/opt/function_utils.h", 547*03ce13f7SAndroid Build Coastguard Worker "test/opt/module_utils.h", 548*03ce13f7SAndroid Build Coastguard Worker "test/opt/pass_fixture.h", 549*03ce13f7SAndroid Build Coastguard Worker "test/opt/pass_utils.h", 550*03ce13f7SAndroid Build Coastguard Worker ], 551*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 552*03ce13f7SAndroid Build Coastguard Worker deps = [ 553*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 554*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 555*03ce13f7SAndroid Build Coastguard Worker "@com_google_effcee//:effcee", 556*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 557*03ce13f7SAndroid Build Coastguard Worker ], 558*03ce13f7SAndroid Build Coastguard Worker) 559*03ce13f7SAndroid Build Coastguard Worker 560*03ce13f7SAndroid Build Coastguard Worker[cc_test( 561*03ce13f7SAndroid Build Coastguard Worker name = "opt_{testcase}_test".format(testcase = f[len("test/opt/"):-len("_test.cpp")]), 562*03ce13f7SAndroid Build Coastguard Worker size = "small", 563*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 564*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 565*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 566*03ce13f7SAndroid Build Coastguard Worker deps = [ 567*03ce13f7SAndroid Build Coastguard Worker ":opt_test_lib", 568*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 569*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 570*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 571*03ce13f7SAndroid Build Coastguard Worker "@com_google_effcee//:effcee", 572*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 573*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 574*03ce13f7SAndroid Build Coastguard Worker ], 575*03ce13f7SAndroid Build Coastguard Worker) for f in glob(["test/opt/*_test.cpp"])] 576*03ce13f7SAndroid Build Coastguard Worker 577*03ce13f7SAndroid Build Coastguard Worker[cc_test( 578*03ce13f7SAndroid Build Coastguard Worker name = "opt_dom_tree_{testcase}_test".format(testcase = f[len("test/opt/dominator_tree/"):-len(".cpp")]), 579*03ce13f7SAndroid Build Coastguard Worker size = "small", 580*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 581*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 582*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 583*03ce13f7SAndroid Build Coastguard Worker deps = [ 584*03ce13f7SAndroid Build Coastguard Worker ":opt_test_lib", 585*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 586*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 587*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 588*03ce13f7SAndroid Build Coastguard Worker ], 589*03ce13f7SAndroid Build Coastguard Worker) for f in glob( 590*03ce13f7SAndroid Build Coastguard Worker ["test/opt/dominator_tree/*.cpp"], 591*03ce13f7SAndroid Build Coastguard Worker exclude = ["test/opt/dominator_tree/pch_test_opt_dom.cpp"], 592*03ce13f7SAndroid Build Coastguard Worker)] 593*03ce13f7SAndroid Build Coastguard Worker 594*03ce13f7SAndroid Build Coastguard Worker[cc_test( 595*03ce13f7SAndroid Build Coastguard Worker name = "opt_loop_{testcase}_test".format(testcase = f[len("test/opt/loop_optimizations/"):-len(".cpp")]), 596*03ce13f7SAndroid Build Coastguard Worker size = "small", 597*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 598*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 599*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 600*03ce13f7SAndroid Build Coastguard Worker deps = [ 601*03ce13f7SAndroid Build Coastguard Worker ":opt_test_lib", 602*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools", 603*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 604*03ce13f7SAndroid Build Coastguard Worker "@com_google_effcee//:effcee", 605*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 606*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 607*03ce13f7SAndroid Build Coastguard Worker ], 608*03ce13f7SAndroid Build Coastguard Worker) for f in glob( 609*03ce13f7SAndroid Build Coastguard Worker ["test/opt/loop_optimizations/*.cpp"], 610*03ce13f7SAndroid Build Coastguard Worker exclude = ["test/opt/loop_optimizations/pch_test_opt_loop.cpp"], 611*03ce13f7SAndroid Build Coastguard Worker)] 612*03ce13f7SAndroid Build Coastguard Worker 613*03ce13f7SAndroid Build Coastguard Workercc_library( 614*03ce13f7SAndroid Build Coastguard Worker name = "reduce_test_lib", 615*03ce13f7SAndroid Build Coastguard Worker testonly = 1, 616*03ce13f7SAndroid Build Coastguard Worker srcs = [ 617*03ce13f7SAndroid Build Coastguard Worker "test/reduce/reduce_test_util.cpp", 618*03ce13f7SAndroid Build Coastguard Worker ], 619*03ce13f7SAndroid Build Coastguard Worker hdrs = ["test/reduce/reduce_test_util.h"], 620*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 621*03ce13f7SAndroid Build Coastguard Worker deps = [ 622*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools", 623*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 624*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_reduce", 625*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 626*03ce13f7SAndroid Build Coastguard Worker ":tools_io", 627*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 628*03ce13f7SAndroid Build Coastguard Worker ], 629*03ce13f7SAndroid Build Coastguard Worker) 630*03ce13f7SAndroid Build Coastguard Worker 631*03ce13f7SAndroid Build Coastguard Worker[cc_test( 632*03ce13f7SAndroid Build Coastguard Worker name = "reduce_{testcase}_test".format(testcase = f[len("test/reduce/"):-len("_test.cpp")]), 633*03ce13f7SAndroid Build Coastguard Worker size = "small", 634*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 635*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 636*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 637*03ce13f7SAndroid Build Coastguard Worker deps = [ 638*03ce13f7SAndroid Build Coastguard Worker ":reduce_test_lib", 639*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 640*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_opt_internal", 641*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_reduce", 642*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 643*03ce13f7SAndroid Build Coastguard Worker ], 644*03ce13f7SAndroid Build Coastguard Worker) for f in glob(["test/reduce/*_test.cpp"])] 645*03ce13f7SAndroid Build Coastguard Worker 646*03ce13f7SAndroid Build Coastguard Worker[cc_test( 647*03ce13f7SAndroid Build Coastguard Worker name = "util_{testcase}_test".format(testcase = f[len("test/util/"):-len("_test.cpp")]), 648*03ce13f7SAndroid Build Coastguard Worker size = "small", 649*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 650*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 651*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 652*03ce13f7SAndroid Build Coastguard Worker deps = [ 653*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 654*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 655*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 656*03ce13f7SAndroid Build Coastguard Worker ], 657*03ce13f7SAndroid Build Coastguard Worker) for f in glob(["test/util/*_test.cpp"])] 658*03ce13f7SAndroid Build Coastguard Worker 659*03ce13f7SAndroid Build Coastguard Workercc_library( 660*03ce13f7SAndroid Build Coastguard Worker name = "val_test_lib", 661*03ce13f7SAndroid Build Coastguard Worker testonly = 1, 662*03ce13f7SAndroid Build Coastguard Worker srcs = [ 663*03ce13f7SAndroid Build Coastguard Worker "test/val/val_code_generator.cpp", 664*03ce13f7SAndroid Build Coastguard Worker ], 665*03ce13f7SAndroid Build Coastguard Worker hdrs = [ 666*03ce13f7SAndroid Build Coastguard Worker "test/val/val_code_generator.h", 667*03ce13f7SAndroid Build Coastguard Worker "test/val/val_fixtures.h", 668*03ce13f7SAndroid Build Coastguard Worker ], 669*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 670*03ce13f7SAndroid Build Coastguard Worker deps = [ 671*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 672*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 673*03ce13f7SAndroid Build Coastguard Worker ], 674*03ce13f7SAndroid Build Coastguard Worker) 675*03ce13f7SAndroid Build Coastguard Worker 676*03ce13f7SAndroid Build Coastguard Worker[cc_test( 677*03ce13f7SAndroid Build Coastguard Worker name = "val_{testcase}_test".format(testcase = f[len("test/val/val_"):-len("_test.cpp")]), 678*03ce13f7SAndroid Build Coastguard Worker size = "small", 679*03ce13f7SAndroid Build Coastguard Worker srcs = [f], 680*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS, 681*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 682*03ce13f7SAndroid Build Coastguard Worker deps = [ 683*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 684*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 685*03ce13f7SAndroid Build Coastguard Worker ":val_test_lib", 686*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 687*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 688*03ce13f7SAndroid Build Coastguard Worker ], 689*03ce13f7SAndroid Build Coastguard Worker) for f in glob( 690*03ce13f7SAndroid Build Coastguard Worker ["test/val/val_*_test.cpp"], 691*03ce13f7SAndroid Build Coastguard Worker exclude = [ 692*03ce13f7SAndroid Build Coastguard Worker "test/val/val_capability_test.cpp", 693*03ce13f7SAndroid Build Coastguard Worker "test/val/val_limits_test.cpp", 694*03ce13f7SAndroid Build Coastguard Worker ], 695*03ce13f7SAndroid Build Coastguard Worker)] 696*03ce13f7SAndroid Build Coastguard Worker 697*03ce13f7SAndroid Build Coastguard Workercc_test( 698*03ce13f7SAndroid Build Coastguard Worker name = "val_capability_test", 699*03ce13f7SAndroid Build Coastguard Worker size = "large", 700*03ce13f7SAndroid Build Coastguard Worker timeout = "long", 701*03ce13f7SAndroid Build Coastguard Worker srcs = ["test/val/val_capability_test.cpp"], 702*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS + ["-O3"], 703*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 704*03ce13f7SAndroid Build Coastguard Worker deps = [ 705*03ce13f7SAndroid Build Coastguard Worker ":spirv_tools_internal", 706*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 707*03ce13f7SAndroid Build Coastguard Worker ":val_test_lib", 708*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 709*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 710*03ce13f7SAndroid Build Coastguard Worker ], 711*03ce13f7SAndroid Build Coastguard Worker) 712*03ce13f7SAndroid Build Coastguard Worker 713*03ce13f7SAndroid Build Coastguard Workercc_test( 714*03ce13f7SAndroid Build Coastguard Worker name = "val_limits_test", 715*03ce13f7SAndroid Build Coastguard Worker size = "large", 716*03ce13f7SAndroid Build Coastguard Worker timeout = "long", 717*03ce13f7SAndroid Build Coastguard Worker srcs = ["test/val/val_limits_test.cpp"], 718*03ce13f7SAndroid Build Coastguard Worker copts = TEST_COPTS + [ 719*03ce13f7SAndroid Build Coastguard Worker "-O3", 720*03ce13f7SAndroid Build Coastguard Worker ], 721*03ce13f7SAndroid Build Coastguard Worker linkstatic = 1, 722*03ce13f7SAndroid Build Coastguard Worker deps = [ 723*03ce13f7SAndroid Build Coastguard Worker ":test_lib", 724*03ce13f7SAndroid Build Coastguard Worker ":val_test_lib", 725*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest", 726*03ce13f7SAndroid Build Coastguard Worker "@googletest//:gtest_main", 727*03ce13f7SAndroid Build Coastguard Worker ], 728*03ce13f7SAndroid Build Coastguard Worker) 729