1*523fa7a6SAndroid Build Coastguard Workerload("@fbcode_macros//build_defs:cpp_python_extension.bzl", "cpp_python_extension") 2*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 3*523fa7a6SAndroid Build Coastguard Worker 4*523fa7a6SAndroid Build Coastguard Workeroncall("executorch") 5*523fa7a6SAndroid Build Coastguard Worker 6*523fa7a6SAndroid Build Coastguard Worker# TODO(T157145817): Update other flatbuffer serializers to use flatc like 7*523fa7a6SAndroid Build Coastguard Worker# _flatbuffer.py does, and remove this. 8*523fa7a6SAndroid Build Coastguard Workercpp_python_extension( 9*523fa7a6SAndroid Build Coastguard Worker name = "_bindings", 10*523fa7a6SAndroid Build Coastguard Worker srcs = [ 11*523fa7a6SAndroid Build Coastguard Worker "bindings.cpp", 12*523fa7a6SAndroid Build Coastguard Worker ], 13*523fa7a6SAndroid Build Coastguard Worker visibility = [ 14*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/fb/qnnpack/...", 15*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/vulkan/...", 16*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/xnnpack/...", 17*523fa7a6SAndroid Build Coastguard Worker "//executorch/devtools/bundled_program/...", 18*523fa7a6SAndroid Build Coastguard Worker "//executorch/devtools/etdump/...", 19*523fa7a6SAndroid Build Coastguard Worker ], 20*523fa7a6SAndroid Build Coastguard Worker deps = [ 21*523fa7a6SAndroid Build Coastguard Worker "fbsource//third-party/flatbuffers:flatc_library", 22*523fa7a6SAndroid Build Coastguard Worker "fbsource//third-party/pybind11:pybind11", 23*523fa7a6SAndroid Build Coastguard Worker ], 24*523fa7a6SAndroid Build Coastguard Worker) 25*523fa7a6SAndroid Build Coastguard Worker 26*523fa7a6SAndroid Build Coastguard Worker# Use runtime.python_library instead of the one defined in python_library.bzl, 27*523fa7a6SAndroid Build Coastguard Worker# so we can have access to EXECUTORCH_CLIENTS list. 28*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 29*523fa7a6SAndroid Build Coastguard Worker name = "lib", 30*523fa7a6SAndroid Build Coastguard Worker srcs = [ 31*523fa7a6SAndroid Build Coastguard Worker "__init__.py", 32*523fa7a6SAndroid Build Coastguard Worker "_cord.py", 33*523fa7a6SAndroid Build Coastguard Worker "_dataclass.py", 34*523fa7a6SAndroid Build Coastguard Worker "_flatbuffer.py", 35*523fa7a6SAndroid Build Coastguard Worker "_program.py", 36*523fa7a6SAndroid Build Coastguard Worker ], 37*523fa7a6SAndroid Build Coastguard Worker resources = { 38*523fa7a6SAndroid Build Coastguard Worker "//executorch/schema:program.fbs": "program.fbs", 39*523fa7a6SAndroid Build Coastguard Worker "//executorch/schema:scalar_type.fbs": "scalar_type.fbs", 40*523fa7a6SAndroid Build Coastguard Worker "fbsource//third-party/flatbuffers:flatc-host": "flatbuffers-flatc", 41*523fa7a6SAndroid Build Coastguard Worker }, 42*523fa7a6SAndroid Build Coastguard Worker # Currently serialization API should only be used in some dedicated targets, 43*523fa7a6SAndroid Build Coastguard Worker # to avoid ODR violation when linking with another Flatbuffers library. 44*523fa7a6SAndroid Build Coastguard Worker # Please ask before changing this. 45*523fa7a6SAndroid Build Coastguard Worker visibility = [ 46*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/...", 47*523fa7a6SAndroid Build Coastguard Worker "//executorch/codegen/...", 48*523fa7a6SAndroid Build Coastguard Worker "//executorch/devtools:lib", 49*523fa7a6SAndroid Build Coastguard Worker "//executorch/devtools/bundled_program/serialize:lib", 50*523fa7a6SAndroid Build Coastguard Worker "//executorch/devtools/bundled_program/tests/...", 51*523fa7a6SAndroid Build Coastguard Worker "//executorch/devtools/experimental/...", 52*523fa7a6SAndroid Build Coastguard Worker "//executorch/examples/async_exec:emit_program_lib", 53*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/...", 54*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/tests/...", 55*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/...", 56*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/pybindings/test:test", 57*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/pybindings/test:test-library", 58*523fa7a6SAndroid Build Coastguard Worker "//executorch/profiler/...", 59*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 60*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 61*523fa7a6SAndroid Build Coastguard Worker ], 62*523fa7a6SAndroid Build Coastguard Worker deps = [ 63*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir:schema", 64*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir:tensor", 65*523fa7a6SAndroid Build Coastguard Worker ], 66*523fa7a6SAndroid Build Coastguard Worker) 67