xref: /aosp_15_r20/external/executorch/exir/_serialize/TARGETS (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
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