xref: /aosp_15_r20/external/executorch/exir/backend/test/demos/rpc/TARGETS (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1load("@fbcode_macros//build_defs:python_unittest.bzl", "python_unittest")
2load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
3load(":targets.bzl", "define_common_targets")
4
5define_common_targets()
6
7runtime.python_library(
8    name = "executor_backend_preprocess",
9    srcs = [
10        "executor_backend_preprocess.py",
11    ],
12    visibility = [
13        "//executorch/exir/backend/test/...",
14    ],
15    deps = [
16        "//caffe2:torch",
17        "//executorch/exir:lib",
18        "//executorch/exir/backend:backend_details",
19        "//executorch/exir/backend:compile_spec_schema",
20        "//nodeapi/py:base",
21    ],
22)
23
24runtime.python_library(
25    name = "executor_backend_partitioner",
26    srcs = [
27        "executor_backend_partitioner.py",
28    ],
29    visibility = [
30        "//executorch/exir/backend/test/...",
31    ],
32    deps = [
33        ":executor_backend_preprocess",
34        "//caffe2:torch",
35        "//executorch/exir:graph_module",
36        "//executorch/exir:lib",
37        "//executorch/exir/backend:partitioner",
38        "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib",
39        "//executorch/exir/backend/test:backend_with_compiler_demo",
40    ],
41)
42
43python_unittest(
44    name = "test_rpc",
45    srcs = [
46        "test_rpc.py",
47    ],
48    preload_deps = [
49        "//executorch/kernels/portable:custom_ops_generated_lib",
50        "//executorch/kernels/quantized:custom_ops_generated_lib",
51        # the executor backend is prebuilt and linked when building the unit test binary. When it's linked, it'll register the backend.
52        # It can also be loaded in PyThon runtime via torch.ops.load_library("//executorch/exir/backend/test/demos/rpc:executor_backend")
53        # However, it's a better practice to build/link everything at earlier stage, instead of during runtime
54        "//executorch/exir/backend/test/demos/rpc:executor_backend_register",
55    ],
56    deps = [
57        ":executor_backend_partitioner",
58        ":executor_backend_preprocess",
59        "//caffe2:torch",
60        "//executorch/exir:lib",
61        "//executorch/exir/backend:backend_api",
62        "//executorch/exir/backend/test:op_partitioner_demo",
63        "//executorch/extension/pybindings:portable_lib",  # @manual
64    ],
65)
66