xref: /aosp_15_r20/external/executorch/extension/android/jni/BUCK (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//tools/build_defs/android:fb_android_cxx_library.bzl", "fb_android_cxx_library")
2*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/backends/xnnpack/third-party:third_party_libs.bzl", "third_party_dep")
3*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
4*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/codegen:codegen.bzl", "executorch_generated_lib")
5*523fa7a6SAndroid Build Coastguard Worker
6*523fa7a6SAndroid Build Coastguard Workeroncall("executorch")
7*523fa7a6SAndroid Build Coastguard Worker
8*523fa7a6SAndroid Build Coastguard Workerexecutorch_generated_lib(
9*523fa7a6SAndroid Build Coastguard Worker    name = "generated_op_lib_optimized",
10*523fa7a6SAndroid Build Coastguard Worker    custom_ops_aten_kernel_deps = [
11*523fa7a6SAndroid Build Coastguard Worker        "//executorch/kernels/portable:operators_aten",
12*523fa7a6SAndroid Build Coastguard Worker    ],
13*523fa7a6SAndroid Build Coastguard Worker    custom_ops_yaml_target = "//executorch/kernels/portable:custom_ops.yaml",
14*523fa7a6SAndroid Build Coastguard Worker    define_static_targets = True,
15*523fa7a6SAndroid Build Coastguard Worker    fallback_yaml_target = "//executorch/kernels/portable:functions.yaml",
16*523fa7a6SAndroid Build Coastguard Worker    functions_yaml_target = "//executorch/kernels/optimized:optimized.yaml",
17*523fa7a6SAndroid Build Coastguard Worker    visibility = ["PUBLIC"],
18*523fa7a6SAndroid Build Coastguard Worker    deps = [
19*523fa7a6SAndroid Build Coastguard Worker        "//executorch/kernels/optimized:optimized_operators",
20*523fa7a6SAndroid Build Coastguard Worker        "//executorch/kernels/optimized:optimized_oplist",
21*523fa7a6SAndroid Build Coastguard Worker        "//executorch/kernels/portable:executorch_aten_ops",
22*523fa7a6SAndroid Build Coastguard Worker        "//executorch/kernels/portable:executorch_custom_ops",
23*523fa7a6SAndroid Build Coastguard Worker        "//executorch/kernels/portable:operators",
24*523fa7a6SAndroid Build Coastguard Worker    ],
25*523fa7a6SAndroid Build Coastguard Worker)
26*523fa7a6SAndroid Build Coastguard Worker
27*523fa7a6SAndroid Build Coastguard Workerfb_android_cxx_library(
28*523fa7a6SAndroid Build Coastguard Worker    name = "executorch_jni",
29*523fa7a6SAndroid Build Coastguard Worker    srcs = ["jni_layer.cpp", "log.cpp"],
30*523fa7a6SAndroid Build Coastguard Worker    headers = ["jni_layer_constants.h"],
31*523fa7a6SAndroid Build Coastguard Worker    allow_jni_merging = False,
32*523fa7a6SAndroid Build Coastguard Worker    compiler_flags = [
33*523fa7a6SAndroid Build Coastguard Worker        "-frtti",
34*523fa7a6SAndroid Build Coastguard Worker        "-fexceptions",
35*523fa7a6SAndroid Build Coastguard Worker        "-Wno-unused-variable",
36*523fa7a6SAndroid Build Coastguard Worker    ],
37*523fa7a6SAndroid Build Coastguard Worker    soname = "libexecutorch.$(ext)",
38*523fa7a6SAndroid Build Coastguard Worker    visibility = ["PUBLIC"],
39*523fa7a6SAndroid Build Coastguard Worker    deps = [
40*523fa7a6SAndroid Build Coastguard Worker        ":log_provider_static",
41*523fa7a6SAndroid Build Coastguard Worker        "//fbandroid/libraries/fbjni:fbjni",
42*523fa7a6SAndroid Build Coastguard Worker        "//fbandroid/native/fb:fb",
43*523fa7a6SAndroid Build Coastguard Worker        "//third-party/glog:glog",
44*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/module:module_static",
45*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/runner_util:inputs_static",
46*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/tensor:tensor_static",
47*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/threadpool:threadpool_static",
48*523fa7a6SAndroid Build Coastguard Worker        third_party_dep("cpuinfo"),
49*523fa7a6SAndroid Build Coastguard Worker    ],
50*523fa7a6SAndroid Build Coastguard Worker)
51*523fa7a6SAndroid Build Coastguard Worker
52*523fa7a6SAndroid Build Coastguard Workerfb_android_cxx_library(
53*523fa7a6SAndroid Build Coastguard Worker    name = "executorch_jni_full",
54*523fa7a6SAndroid Build Coastguard Worker    srcs = ["jni_layer.cpp", "log.cpp"],
55*523fa7a6SAndroid Build Coastguard Worker    headers = ["jni_layer_constants.h"],
56*523fa7a6SAndroid Build Coastguard Worker    allow_jni_merging = False,
57*523fa7a6SAndroid Build Coastguard Worker    compiler_flags = [
58*523fa7a6SAndroid Build Coastguard Worker        "-frtti",
59*523fa7a6SAndroid Build Coastguard Worker        "-fexceptions",
60*523fa7a6SAndroid Build Coastguard Worker        "-Wno-unused-variable",
61*523fa7a6SAndroid Build Coastguard Worker    ],
62*523fa7a6SAndroid Build Coastguard Worker    soname = "libexecutorch.$(ext)",
63*523fa7a6SAndroid Build Coastguard Worker    visibility = ["PUBLIC"],
64*523fa7a6SAndroid Build Coastguard Worker    deps = [
65*523fa7a6SAndroid Build Coastguard Worker        ":log_provider_static",
66*523fa7a6SAndroid Build Coastguard Worker        ":generated_op_lib_optimized_static",
67*523fa7a6SAndroid Build Coastguard Worker        "//fbandroid/libraries/fbjni:fbjni",
68*523fa7a6SAndroid Build Coastguard Worker        "//fbandroid/native/fb:fb",
69*523fa7a6SAndroid Build Coastguard Worker        "//third-party/glog:glog",
70*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/backends/xnnpack:xnnpack_backend_static",
71*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/module:module_static",
72*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/runner_util:inputs_static",
73*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/tensor:tensor_static",
74*523fa7a6SAndroid Build Coastguard Worker    ],
75*523fa7a6SAndroid Build Coastguard Worker)
76*523fa7a6SAndroid Build Coastguard Worker
77*523fa7a6SAndroid Build Coastguard Workerfb_android_cxx_library(
78*523fa7a6SAndroid Build Coastguard Worker    name = "executorch_llama_jni",
79*523fa7a6SAndroid Build Coastguard Worker    srcs = [
80*523fa7a6SAndroid Build Coastguard Worker        "jni_layer.cpp",
81*523fa7a6SAndroid Build Coastguard Worker        "jni_layer_llama.cpp",
82*523fa7a6SAndroid Build Coastguard Worker    ],
83*523fa7a6SAndroid Build Coastguard Worker    headers = ["jni_layer_constants.h"],
84*523fa7a6SAndroid Build Coastguard Worker    allow_jni_merging = False,
85*523fa7a6SAndroid Build Coastguard Worker    compiler_flags = [
86*523fa7a6SAndroid Build Coastguard Worker        "-frtti",
87*523fa7a6SAndroid Build Coastguard Worker        "-fexceptions",
88*523fa7a6SAndroid Build Coastguard Worker        "-DEXECUTORCH_BUILD_LLAMA_JNI",
89*523fa7a6SAndroid Build Coastguard Worker        "-Wno-format",
90*523fa7a6SAndroid Build Coastguard Worker    ],
91*523fa7a6SAndroid Build Coastguard Worker    soname = "libexecutorch.$(ext)",
92*523fa7a6SAndroid Build Coastguard Worker    visibility = ["PUBLIC"],
93*523fa7a6SAndroid Build Coastguard Worker    deps = [
94*523fa7a6SAndroid Build Coastguard Worker        ":log_provider_static",
95*523fa7a6SAndroid Build Coastguard Worker        "//fbandroid/libraries/fbjni:fbjni",
96*523fa7a6SAndroid Build Coastguard Worker        "//fbandroid/native/fb:fb",
97*523fa7a6SAndroid Build Coastguard Worker        "//third-party/glog:glog",
98*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/backends/xnnpack:xnnpack_backend_static",
99*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/examples/models/llama/runner:runner_static",
100*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/examples/models/llava/runner:runner_static",
101*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/module:module_static",
102*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/runner_util:inputs_static",
103*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/tensor:tensor_static",
104*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/threadpool:cpuinfo_utils_static",
105*523fa7a6SAndroid Build Coastguard Worker        "//xplat/executorch/extension/threadpool:threadpool_static",
106*523fa7a6SAndroid Build Coastguard Worker    ],
107*523fa7a6SAndroid Build Coastguard Worker)
108*523fa7a6SAndroid Build Coastguard Worker
109*523fa7a6SAndroid Build Coastguard Workerruntime.cxx_library(
110*523fa7a6SAndroid Build Coastguard Worker    name = "log_provider",
111*523fa7a6SAndroid Build Coastguard Worker    srcs = ["log.cpp"],
112*523fa7a6SAndroid Build Coastguard Worker    exported_headers = ["log.h"],
113*523fa7a6SAndroid Build Coastguard Worker    compiler_flags = [
114*523fa7a6SAndroid Build Coastguard Worker        "-frtti",
115*523fa7a6SAndroid Build Coastguard Worker        "-fexceptions",
116*523fa7a6SAndroid Build Coastguard Worker        "-Wno-unused-variable",
117*523fa7a6SAndroid Build Coastguard Worker    ],
118*523fa7a6SAndroid Build Coastguard Worker    deps = [
119*523fa7a6SAndroid Build Coastguard Worker        "//executorch/runtime/core:core",
120*523fa7a6SAndroid Build Coastguard Worker    ],
121*523fa7a6SAndroid Build Coastguard Worker    visibility = ["@EXECUTORCH_CLIENTS"],
122*523fa7a6SAndroid Build Coastguard Worker)
123