xref: /aosp_15_r20/external/executorch/backends/qualcomm/runtime/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload(
2*523fa7a6SAndroid Build Coastguard Worker    "@fbsource//tools/build_defs:default_platform_defs.bzl",
3*523fa7a6SAndroid Build Coastguard Worker    "ANDROID",
4*523fa7a6SAndroid Build Coastguard Worker)
5*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
6*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/backends/qualcomm/qnn_version.bzl", "get_qnn_library_verision")
7*523fa7a6SAndroid Build Coastguard Worker
8*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets():
9*523fa7a6SAndroid Build Coastguard Worker    """Defines targets that should be shared between fbcode and xplat.
10*523fa7a6SAndroid Build Coastguard Worker
11*523fa7a6SAndroid Build Coastguard Worker    The directory containing this targets.bzl file should also contain both
12*523fa7a6SAndroid Build Coastguard Worker    TARGETS and BUCK files that call this function.
13*523fa7a6SAndroid Build Coastguard Worker    """
14*523fa7a6SAndroid Build Coastguard Worker
15*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
16*523fa7a6SAndroid Build Coastguard Worker        name = "logging",
17*523fa7a6SAndroid Build Coastguard Worker        srcs = [
18*523fa7a6SAndroid Build Coastguard Worker            "Logging.cpp",
19*523fa7a6SAndroid Build Coastguard Worker        ],
20*523fa7a6SAndroid Build Coastguard Worker        exported_headers = [
21*523fa7a6SAndroid Build Coastguard Worker            "Logging.h",
22*523fa7a6SAndroid Build Coastguard Worker        ],
23*523fa7a6SAndroid Build Coastguard Worker        define_static_target = True,
24*523fa7a6SAndroid Build Coastguard Worker        platforms = [ANDROID],
25*523fa7a6SAndroid Build Coastguard Worker        visibility = ["@EXECUTORCH_CLIENTS"],
26*523fa7a6SAndroid Build Coastguard Worker        deps = [
27*523fa7a6SAndroid Build Coastguard Worker            "fbsource//third-party/qualcomm/qnn/qnn-{0}:api".format(get_qnn_library_verision()),
28*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/backend:interface",
29*523fa7a6SAndroid Build Coastguard Worker        ],
30*523fa7a6SAndroid Build Coastguard Worker        exported_deps = [
31*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/qualcomm:schema",
32*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/qualcomm:qc_binary_info_schema",
33*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/core:core",
34*523fa7a6SAndroid Build Coastguard Worker        ],
35*523fa7a6SAndroid Build Coastguard Worker    )
36*523fa7a6SAndroid Build Coastguard Worker
37*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
38*523fa7a6SAndroid Build Coastguard Worker        name = "runtime",
39*523fa7a6SAndroid Build Coastguard Worker        srcs = glob(
40*523fa7a6SAndroid Build Coastguard Worker            [
41*523fa7a6SAndroid Build Coastguard Worker                "*.cpp",
42*523fa7a6SAndroid Build Coastguard Worker                "backends/*.cpp",
43*523fa7a6SAndroid Build Coastguard Worker                "backends/htpbackend/*.cpp",
44*523fa7a6SAndroid Build Coastguard Worker                "backends/htpbackend/aarch64/*.cpp",
45*523fa7a6SAndroid Build Coastguard Worker            ],
46*523fa7a6SAndroid Build Coastguard Worker            exclude = ["Logging.cpp"],
47*523fa7a6SAndroid Build Coastguard Worker        ),
48*523fa7a6SAndroid Build Coastguard Worker        exported_headers = glob(
49*523fa7a6SAndroid Build Coastguard Worker            [
50*523fa7a6SAndroid Build Coastguard Worker                "*.h",
51*523fa7a6SAndroid Build Coastguard Worker                "backends/*.h",
52*523fa7a6SAndroid Build Coastguard Worker                "backends/htpbackend/*.h",
53*523fa7a6SAndroid Build Coastguard Worker            ],
54*523fa7a6SAndroid Build Coastguard Worker            exclude = ["Logging.h"],
55*523fa7a6SAndroid Build Coastguard Worker        ),
56*523fa7a6SAndroid Build Coastguard Worker        define_static_target = True,
57*523fa7a6SAndroid Build Coastguard Worker        link_whole = True,  # needed for executorch/examples/models/llama:main to register QnnBackend
58*523fa7a6SAndroid Build Coastguard Worker        platforms = [ANDROID],
59*523fa7a6SAndroid Build Coastguard Worker        visibility = ["@EXECUTORCH_CLIENTS"],
60*523fa7a6SAndroid Build Coastguard Worker        resources = {
61*523fa7a6SAndroid Build Coastguard Worker            "qnn_lib": "fbsource//third-party/qualcomm/qnn/qnn-{0}:qnn_offline_compile_libs".format(get_qnn_library_verision()),
62*523fa7a6SAndroid Build Coastguard Worker        },
63*523fa7a6SAndroid Build Coastguard Worker        deps = [
64*523fa7a6SAndroid Build Coastguard Worker            "fbsource//third-party/qualcomm/qnn/qnn-{0}:api".format(get_qnn_library_verision()),
65*523fa7a6SAndroid Build Coastguard Worker            ":logging",
66*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/qualcomm:schema",
67*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/qualcomm:qc_binary_info_schema",
68*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/qualcomm/aot/ir:qcir_utils",
69*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/qualcomm/aot/wrappers:wrappers",
70*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/backend:interface",
71*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/core:core",
72*523fa7a6SAndroid Build Coastguard Worker            "//executorch/extension/tensor:tensor",
73*523fa7a6SAndroid Build Coastguard Worker        ],
74*523fa7a6SAndroid Build Coastguard Worker        exported_deps = [
75*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/core/exec_aten/util:scalar_type_util",
76*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/core:event_tracer",
77*523fa7a6SAndroid Build Coastguard Worker        ],
78*523fa7a6SAndroid Build Coastguard Worker    )
79