xref: /aosp_15_r20/external/executorch/exir/backend/TARGETS (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Worker# Any targets that should be shared between fbcode and xplat must be defined in
2*523fa7a6SAndroid Build Coastguard Worker# targets.bzl. This file can contain fbcode-only targets.
3*523fa7a6SAndroid Build Coastguard Worker
4*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/backends:backends.bzl", "get_all_cpu_aot_and_backend_targets")
5*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
6*523fa7a6SAndroid Build Coastguard Workerload(":targets.bzl", "define_common_targets")
7*523fa7a6SAndroid Build Coastguard Worker
8*523fa7a6SAndroid Build Coastguard Workeroncall("executorch")
9*523fa7a6SAndroid Build Coastguard Worker
10*523fa7a6SAndroid Build Coastguard Workerdefine_common_targets()
11*523fa7a6SAndroid Build Coastguard Worker
12*523fa7a6SAndroid Build Coastguard Worker# Use runtime.python_library instead of the one defined in python_library.bzl,
13*523fa7a6SAndroid Build Coastguard Worker# so we can have access to EXECUTORCH_CLIENTS list.
14*523fa7a6SAndroid Build Coastguard Workerruntime.python_library(
15*523fa7a6SAndroid Build Coastguard Worker    name = "backend_api",
16*523fa7a6SAndroid Build Coastguard Worker    srcs = [
17*523fa7a6SAndroid Build Coastguard Worker        "backend_api.py",
18*523fa7a6SAndroid Build Coastguard Worker    ],
19*523fa7a6SAndroid Build Coastguard Worker    visibility = [
20*523fa7a6SAndroid Build Coastguard Worker        "//executorch/...",
21*523fa7a6SAndroid Build Coastguard Worker        "//executorch/test/...",
22*523fa7a6SAndroid Build Coastguard Worker        "@EXECUTORCH_CLIENTS",
23*523fa7a6SAndroid Build Coastguard Worker    ],
24*523fa7a6SAndroid Build Coastguard Worker    deps = [
25*523fa7a6SAndroid Build Coastguard Worker        ":backend_details",
26*523fa7a6SAndroid Build Coastguard Worker        ":compile_spec_schema",
27*523fa7a6SAndroid Build Coastguard Worker        "//caffe2:torch",
28*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir/backend:utils",
29*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir/backend/canonical_partitioners:duplicate_constant_node_pass",
30*523fa7a6SAndroid Build Coastguard Worker    ],
31*523fa7a6SAndroid Build Coastguard Worker)
32*523fa7a6SAndroid Build Coastguard Worker
33*523fa7a6SAndroid Build Coastguard Workerruntime.python_library(
34*523fa7a6SAndroid Build Coastguard Worker    name = "compile_spec_schema",
35*523fa7a6SAndroid Build Coastguard Worker    srcs = [
36*523fa7a6SAndroid Build Coastguard Worker        "compile_spec_schema.py",
37*523fa7a6SAndroid Build Coastguard Worker    ],
38*523fa7a6SAndroid Build Coastguard Worker    visibility = [
39*523fa7a6SAndroid Build Coastguard Worker        "//executorch/...",
40*523fa7a6SAndroid Build Coastguard Worker        "//executorch/test/...",
41*523fa7a6SAndroid Build Coastguard Worker        "@EXECUTORCH_CLIENTS",
42*523fa7a6SAndroid Build Coastguard Worker    ],
43*523fa7a6SAndroid Build Coastguard Worker)
44*523fa7a6SAndroid Build Coastguard Worker
45*523fa7a6SAndroid Build Coastguard Workerruntime.python_library(
46*523fa7a6SAndroid Build Coastguard Worker    name = "partitioner",
47*523fa7a6SAndroid Build Coastguard Worker    srcs = [
48*523fa7a6SAndroid Build Coastguard Worker        "partitioner.py",
49*523fa7a6SAndroid Build Coastguard Worker    ],
50*523fa7a6SAndroid Build Coastguard Worker    visibility = [
51*523fa7a6SAndroid Build Coastguard Worker        "//executorch/...",
52*523fa7a6SAndroid Build Coastguard Worker        "//executorch/test/...",
53*523fa7a6SAndroid Build Coastguard Worker        "@EXECUTORCH_CLIENTS",
54*523fa7a6SAndroid Build Coastguard Worker    ],
55*523fa7a6SAndroid Build Coastguard Worker    deps = [
56*523fa7a6SAndroid Build Coastguard Worker        ":compile_spec_schema",
57*523fa7a6SAndroid Build Coastguard Worker        "//caffe2:torch",
58*523fa7a6SAndroid Build Coastguard Worker    ],
59*523fa7a6SAndroid Build Coastguard Worker)
60*523fa7a6SAndroid Build Coastguard Worker
61*523fa7a6SAndroid Build Coastguard Workerruntime.python_library(
62*523fa7a6SAndroid Build Coastguard Worker    name = "backend_details",
63*523fa7a6SAndroid Build Coastguard Worker    srcs = [
64*523fa7a6SAndroid Build Coastguard Worker        "backend_details.py",
65*523fa7a6SAndroid Build Coastguard Worker    ],
66*523fa7a6SAndroid Build Coastguard Worker    visibility = [
67*523fa7a6SAndroid Build Coastguard Worker        "//executorch/...",
68*523fa7a6SAndroid Build Coastguard Worker        "//executorch/test/...",
69*523fa7a6SAndroid Build Coastguard Worker        "@EXECUTORCH_CLIENTS",
70*523fa7a6SAndroid Build Coastguard Worker    ],
71*523fa7a6SAndroid Build Coastguard Worker    deps = [
72*523fa7a6SAndroid Build Coastguard Worker        ":compile_spec_schema",
73*523fa7a6SAndroid Build Coastguard Worker        ":partitioner",
74*523fa7a6SAndroid Build Coastguard Worker        "//caffe2:torch",
75*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir:delegate",
76*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir:graph_module",
77*523fa7a6SAndroid Build Coastguard Worker    ],
78*523fa7a6SAndroid Build Coastguard Worker)
79*523fa7a6SAndroid Build Coastguard Worker
80*523fa7a6SAndroid Build Coastguard Worker# backend_lib includes all ahead of time apis and supported backends,
81*523fa7a6SAndroid Build Coastguard Worker# it's supposed to be only used on server side and not for production on device.
82*523fa7a6SAndroid Build Coastguard Workerruntime.python_library(
83*523fa7a6SAndroid Build Coastguard Worker    name = "backend_lib",
84*523fa7a6SAndroid Build Coastguard Worker    visibility = [
85*523fa7a6SAndroid Build Coastguard Worker        "//executorch/...",
86*523fa7a6SAndroid Build Coastguard Worker        "//executorch/test/...",
87*523fa7a6SAndroid Build Coastguard Worker        "@EXECUTORCH_CLIENTS",
88*523fa7a6SAndroid Build Coastguard Worker    ],
89*523fa7a6SAndroid Build Coastguard Worker    deps = [
90*523fa7a6SAndroid Build Coastguard Worker        ":backend_api",
91*523fa7a6SAndroid Build Coastguard Worker        ":backend_details",
92*523fa7a6SAndroid Build Coastguard Worker        ":utils",
93*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib",
94*523fa7a6SAndroid Build Coastguard Worker    ] + get_all_cpu_aot_and_backend_targets(),
95*523fa7a6SAndroid Build Coastguard Worker)
96*523fa7a6SAndroid Build Coastguard Worker
97*523fa7a6SAndroid Build Coastguard Workerruntime.python_library(
98*523fa7a6SAndroid Build Coastguard Worker    name = "utils",
99*523fa7a6SAndroid Build Coastguard Worker    srcs = [
100*523fa7a6SAndroid Build Coastguard Worker        "utils.py",
101*523fa7a6SAndroid Build Coastguard Worker    ],
102*523fa7a6SAndroid Build Coastguard Worker    visibility = [
103*523fa7a6SAndroid Build Coastguard Worker        "//executorch/...",
104*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir/backend/...",
105*523fa7a6SAndroid Build Coastguard Worker        "//executorch/test/...",
106*523fa7a6SAndroid Build Coastguard Worker        "@EXECUTORCH_CLIENTS",
107*523fa7a6SAndroid Build Coastguard Worker    ],
108*523fa7a6SAndroid Build Coastguard Worker    deps = [
109*523fa7a6SAndroid Build Coastguard Worker        "fbsource//third-party/pypi/pandas:pandas",
110*523fa7a6SAndroid Build Coastguard Worker        "//caffe2:torch",
111*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir:lowered_backend_module",
112*523fa7a6SAndroid Build Coastguard Worker        "//executorch/exir/backend/canonical_partitioners:duplicate_constant_node_pass",
113*523fa7a6SAndroid Build Coastguard Worker    ],
114*523fa7a6SAndroid Build Coastguard Worker)
115