1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 2*523fa7a6SAndroid Build Coastguard Worker 3*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets(is_fbcode = False): 4*523fa7a6SAndroid Build Coastguard Worker runtime.genrule( 5*523fa7a6SAndroid Build Coastguard Worker name = "gen_vk_delegate_schema", 6*523fa7a6SAndroid Build Coastguard Worker srcs = ["schema.fbs"], 7*523fa7a6SAndroid Build Coastguard Worker # We're only generating a single file, so it seems like we could use 8*523fa7a6SAndroid Build Coastguard Worker # `out`, but `flatc` takes a directory as a parameter, not a single 9*523fa7a6SAndroid Build Coastguard Worker # file. Use `outs` so that `${OUT}` is expanded as the containing 10*523fa7a6SAndroid Build Coastguard Worker # directory instead of the file itself. 11*523fa7a6SAndroid Build Coastguard Worker outs = { 12*523fa7a6SAndroid Build Coastguard Worker "schema_generated.h": ["schema_generated.h"], 13*523fa7a6SAndroid Build Coastguard Worker }, 14*523fa7a6SAndroid Build Coastguard Worker cmd = " ".join([ 15*523fa7a6SAndroid Build Coastguard Worker "$(exe {})".format(runtime.external_dep_location("flatc")), 16*523fa7a6SAndroid Build Coastguard Worker "--cpp", 17*523fa7a6SAndroid Build Coastguard Worker "--cpp-std c++11", 18*523fa7a6SAndroid Build Coastguard Worker "--scoped-enums", 19*523fa7a6SAndroid Build Coastguard Worker "-o ${OUT}", 20*523fa7a6SAndroid Build Coastguard Worker "${SRCS}", 21*523fa7a6SAndroid Build Coastguard Worker ]), 22*523fa7a6SAndroid Build Coastguard Worker default_outs = ["."], 23*523fa7a6SAndroid Build Coastguard Worker ) 24*523fa7a6SAndroid Build Coastguard Worker 25*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 26*523fa7a6SAndroid Build Coastguard Worker name = "vk_delegate_schema", 27*523fa7a6SAndroid Build Coastguard Worker srcs = [], 28*523fa7a6SAndroid Build Coastguard Worker visibility = [ 29*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/vulkan/...", 30*523fa7a6SAndroid Build Coastguard Worker ], 31*523fa7a6SAndroid Build Coastguard Worker exported_headers = { 32*523fa7a6SAndroid Build Coastguard Worker "schema_generated.h": ":gen_vk_delegate_schema[schema_generated.h]", 33*523fa7a6SAndroid Build Coastguard Worker }, 34*523fa7a6SAndroid Build Coastguard Worker exported_external_deps = [ 35*523fa7a6SAndroid Build Coastguard Worker "flatbuffers-api", 36*523fa7a6SAndroid Build Coastguard Worker ], 37*523fa7a6SAndroid Build Coastguard Worker ) 38*523fa7a6SAndroid Build Coastguard Worker 39*523fa7a6SAndroid Build Coastguard Worker if is_fbcode: 40*523fa7a6SAndroid Build Coastguard Worker runtime.python_library( 41*523fa7a6SAndroid Build Coastguard Worker name = "lib", 42*523fa7a6SAndroid Build Coastguard Worker srcs = [ 43*523fa7a6SAndroid Build Coastguard Worker "vulkan_graph_builder.py", 44*523fa7a6SAndroid Build Coastguard Worker "vulkan_graph_schema.py", 45*523fa7a6SAndroid Build Coastguard Worker "vulkan_graph_serialize.py", 46*523fa7a6SAndroid Build Coastguard Worker ], 47*523fa7a6SAndroid Build Coastguard Worker resources = [ 48*523fa7a6SAndroid Build Coastguard Worker "schema.fbs", 49*523fa7a6SAndroid Build Coastguard Worker ], 50*523fa7a6SAndroid Build Coastguard Worker visibility = [ 51*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 52*523fa7a6SAndroid Build Coastguard Worker "//executorch/vulkan/...", 53*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 54*523fa7a6SAndroid Build Coastguard Worker ], 55*523fa7a6SAndroid Build Coastguard Worker deps = [ 56*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir:graph_module", 57*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/_serialize:_bindings", 58*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/_serialize:lib", 59*523fa7a6SAndroid Build Coastguard Worker ], 60*523fa7a6SAndroid Build Coastguard Worker ) 61