xref: /aosp_15_r20/external/executorch/backends/arm/runtime/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2
3def define_common_targets():
4    runtime.cxx_library(
5        name = "vela_bin_stream",
6        srcs = ["VelaBinStream.cpp"],
7        exported_headers = ["VelaBinStream.h"],
8        visibility = ["@EXECUTORCH_CLIENTS"],
9        deps = [
10            "//executorch/runtime/core:core",
11        ],
12    )
13    runtime.cxx_library(
14        name = "arm_backend",
15        srcs = ["ArmBackendEthosU.cpp"],
16        headers = [],
17        compatible_with = ["ovr_config//cpu:arm32-embedded"],
18        # arm_executor_runner.cpp needs to compile with executor as whole
19        # @lint-ignore BUCKLINT: Avoid `link_whole=True` (https://fburl.com/avoid-link-whole)
20        link_whole = True,
21        supports_python_dlopen = True,
22        # Constructor needed for backend registration.
23        compiler_flags = ["-Wno-global-constructors"],
24        visibility = ["@EXECUTORCH_CLIENTS"],
25        deps = [
26            "//executorch/runtime/backend:interface",
27            ":vela_bin_stream",
28            "//executorch/runtime/core:core",
29            "fbsource//third-party/ethos-u-core-driver:core_driver",
30        ],
31    )
32