xref: /aosp_15_r20/external/executorch/Android.bp (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workercc_library {
2*523fa7a6SAndroid Build Coastguard Worker    name: "libexecutorch",
3*523fa7a6SAndroid Build Coastguard Worker    srcs: [
4*523fa7a6SAndroid Build Coastguard Worker        "extension/data_loader/file_data_loader.cpp",
5*523fa7a6SAndroid Build Coastguard Worker        "extension/data_loader/mmap_data_loader.cpp",
6*523fa7a6SAndroid Build Coastguard Worker        "extension/evalue_util/print_evalue.cpp",
7*523fa7a6SAndroid Build Coastguard Worker        "extension/runner_util/inputs.cpp",
8*523fa7a6SAndroid Build Coastguard Worker        "extension/runner_util/inputs_portable.cpp",
9*523fa7a6SAndroid Build Coastguard Worker        ":executorch_portable_ops_gen_cpp",
10*523fa7a6SAndroid Build Coastguard Worker        "kernels/portable/cpu/*.cpp",
11*523fa7a6SAndroid Build Coastguard Worker        "kernels/portable/cpu/pattern/*.cpp",
12*523fa7a6SAndroid Build Coastguard Worker        "kernels/portable/cpu/util/*.cpp",
13*523fa7a6SAndroid Build Coastguard Worker        "kernels/prim_ops/et_copy_index.cpp",
14*523fa7a6SAndroid Build Coastguard Worker        "kernels/prim_ops/et_view.cpp",
15*523fa7a6SAndroid Build Coastguard Worker        "kernels/prim_ops/register_prim_ops.cpp",
16*523fa7a6SAndroid Build Coastguard Worker        "runtime/backend/interface.cpp",
17*523fa7a6SAndroid Build Coastguard Worker        "runtime/core/evalue.cpp",
18*523fa7a6SAndroid Build Coastguard Worker        "runtime/core/exec_aten/util/tensor_util_portable.cpp",
19*523fa7a6SAndroid Build Coastguard Worker        "runtime/core/portable_type/tensor_impl.cpp",
20*523fa7a6SAndroid Build Coastguard Worker        "runtime/executor/method.cpp",
21*523fa7a6SAndroid Build Coastguard Worker        "runtime/executor/method_meta.cpp",
22*523fa7a6SAndroid Build Coastguard Worker        "runtime/executor/program.cpp",
23*523fa7a6SAndroid Build Coastguard Worker        "runtime/executor/tensor_parser_exec_aten.cpp",
24*523fa7a6SAndroid Build Coastguard Worker        "runtime/executor/tensor_parser_portable.cpp",
25*523fa7a6SAndroid Build Coastguard Worker        "runtime/kernel/operator_registry.cpp",
26*523fa7a6SAndroid Build Coastguard Worker        "runtime/platform/abort.cpp",
27*523fa7a6SAndroid Build Coastguard Worker        "runtime/platform/default/posix.cpp",
28*523fa7a6SAndroid Build Coastguard Worker        "runtime/platform/log.cpp",
29*523fa7a6SAndroid Build Coastguard Worker        "runtime/platform/profiler.cpp",
30*523fa7a6SAndroid Build Coastguard Worker        "runtime/platform/runtime.cpp",
31*523fa7a6SAndroid Build Coastguard Worker        "schema/extended_header.cpp",
32*523fa7a6SAndroid Build Coastguard Worker    ],
33*523fa7a6SAndroid Build Coastguard Worker    header_libs: [
34*523fa7a6SAndroid Build Coastguard Worker        "flatbuffer_headers",
35*523fa7a6SAndroid Build Coastguard Worker    ],
36*523fa7a6SAndroid Build Coastguard Worker    generated_headers: [
37*523fa7a6SAndroid Build Coastguard Worker        "executorch_fbs_gen",
38*523fa7a6SAndroid Build Coastguard Worker        "executorch_portable_ops_gen_h",
39*523fa7a6SAndroid Build Coastguard Worker    ],
40*523fa7a6SAndroid Build Coastguard Worker    stl: "libc++_static",
41*523fa7a6SAndroid Build Coastguard Worker    cflags: [
42*523fa7a6SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
43*523fa7a6SAndroid Build Coastguard Worker    ],
44*523fa7a6SAndroid Build Coastguard Worker    host_supported: true,
45*523fa7a6SAndroid Build Coastguard Worker    apex_available: ["com.android.ondevicepersonalization"],
46*523fa7a6SAndroid Build Coastguard Worker    sdk_version: "current",
47*523fa7a6SAndroid Build Coastguard Worker    min_sdk_version: "33",
48*523fa7a6SAndroid Build Coastguard Worker    visibility: ["//packages/modules/OnDevicePersonalization:__subpackages__"],
49*523fa7a6SAndroid Build Coastguard Worker}
50*523fa7a6SAndroid Build Coastguard Worker
51*523fa7a6SAndroid Build Coastguard Workercc_binary {
52*523fa7a6SAndroid Build Coastguard Worker    name: "executor_runner",
53*523fa7a6SAndroid Build Coastguard Worker    srcs: ["examples/portable/executor_runner/executor_runner.cpp"],
54*523fa7a6SAndroid Build Coastguard Worker    static_libs: [
55*523fa7a6SAndroid Build Coastguard Worker        "libgflags",
56*523fa7a6SAndroid Build Coastguard Worker    ],
57*523fa7a6SAndroid Build Coastguard Worker    whole_static_libs: [
58*523fa7a6SAndroid Build Coastguard Worker        "libexecutorch",
59*523fa7a6SAndroid Build Coastguard Worker    ],
60*523fa7a6SAndroid Build Coastguard Worker    host_supported: true,
61*523fa7a6SAndroid Build Coastguard Worker}
62*523fa7a6SAndroid Build Coastguard Worker
63*523fa7a6SAndroid Build Coastguard Workercc_genrule {
64*523fa7a6SAndroid Build Coastguard Worker    name: "executorch_fbs_gen",
65*523fa7a6SAndroid Build Coastguard Worker    host_supported: true,
66*523fa7a6SAndroid Build Coastguard Worker    tools: ["flatc"],
67*523fa7a6SAndroid Build Coastguard Worker    srcs: [
68*523fa7a6SAndroid Build Coastguard Worker        "schema/program.fbs",
69*523fa7a6SAndroid Build Coastguard Worker        "schema/scalar_type.fbs",
70*523fa7a6SAndroid Build Coastguard Worker    ],
71*523fa7a6SAndroid Build Coastguard Worker    out: [
72*523fa7a6SAndroid Build Coastguard Worker        "executorch/schema/program_generated.h",
73*523fa7a6SAndroid Build Coastguard Worker        "executorch/schema/scalar_type_generated.h",
74*523fa7a6SAndroid Build Coastguard Worker    ],
75*523fa7a6SAndroid Build Coastguard Worker    sdk_version: "current",
76*523fa7a6SAndroid Build Coastguard Worker    apex_available: ["com.android.ondevicepersonalization"],
77*523fa7a6SAndroid Build Coastguard Worker    cmd: "$(location flatc) --cpp --cpp-std c++11 --gen-mutable --scoped-enums --include-prefix executorch/schema/ " +
78*523fa7a6SAndroid Build Coastguard Worker        "-o $(genDir)/executorch/schema/ $(in)",
79*523fa7a6SAndroid Build Coastguard Worker}
80*523fa7a6SAndroid Build Coastguard Worker
81*523fa7a6SAndroid Build Coastguard Workerfilegroup {
82*523fa7a6SAndroid Build Coastguard Worker    name: "executorch_codegen_templates",
83*523fa7a6SAndroid Build Coastguard Worker    srcs: [
84*523fa7a6SAndroid Build Coastguard Worker        "codegen/templates/*.cpp",
85*523fa7a6SAndroid Build Coastguard Worker        "codegen/templates/*.h",
86*523fa7a6SAndroid Build Coastguard Worker        "codegen/templates/*.ini",
87*523fa7a6SAndroid Build Coastguard Worker    ],
88*523fa7a6SAndroid Build Coastguard Worker}
89*523fa7a6SAndroid Build Coastguard Worker
90*523fa7a6SAndroid Build Coastguard Workerfilegroup {
91*523fa7a6SAndroid Build Coastguard Worker    name: "executorch_portable_yaml",
92*523fa7a6SAndroid Build Coastguard Worker    srcs: [
93*523fa7a6SAndroid Build Coastguard Worker        "kernels/portable/functions.yaml",
94*523fa7a6SAndroid Build Coastguard Worker    ],
95*523fa7a6SAndroid Build Coastguard Worker}
96*523fa7a6SAndroid Build Coastguard Worker
97*523fa7a6SAndroid Build Coastguard Workercc_genrule {
98*523fa7a6SAndroid Build Coastguard Worker    name: "executorch_portable_ops_gen_cpp",
99*523fa7a6SAndroid Build Coastguard Worker    host_supported: true,
100*523fa7a6SAndroid Build Coastguard Worker    tools: ["torchgen_executorch"],
101*523fa7a6SAndroid Build Coastguard Worker    tool_files: [
102*523fa7a6SAndroid Build Coastguard Worker        ":executorch_codegen_templates",
103*523fa7a6SAndroid Build Coastguard Worker        ":executorch_portable_yaml",
104*523fa7a6SAndroid Build Coastguard Worker        ":torchgen_native_functions",
105*523fa7a6SAndroid Build Coastguard Worker        ":torchgen_tags",
106*523fa7a6SAndroid Build Coastguard Worker    ],
107*523fa7a6SAndroid Build Coastguard Worker    out: [
108*523fa7a6SAndroid Build Coastguard Worker        "RegisterCodegenUnboxedKernels_0.cpp",
109*523fa7a6SAndroid Build Coastguard Worker    ],
110*523fa7a6SAndroid Build Coastguard Worker    sdk_version: "current",
111*523fa7a6SAndroid Build Coastguard Worker    apex_available: ["com.android.ondevicepersonalization"],
112*523fa7a6SAndroid Build Coastguard Worker    cmd: "mkdir templates; cp $(locations :executorch_codegen_templates) templates;" +
113*523fa7a6SAndroid Build Coastguard Worker        "$(location torchgen_executorch) " +
114*523fa7a6SAndroid Build Coastguard Worker        "--source-path=. " +
115*523fa7a6SAndroid Build Coastguard Worker        "--tags-path=$(location :torchgen_tags) " +
116*523fa7a6SAndroid Build Coastguard Worker        "--aten_yaml_path=$(location :torchgen_native_functions) " +
117*523fa7a6SAndroid Build Coastguard Worker        "--functions_yaml_path=$(location :executorch_portable_yaml) " +
118*523fa7a6SAndroid Build Coastguard Worker        "--install_dir=$(genDir)/",
119*523fa7a6SAndroid Build Coastguard Worker}
120*523fa7a6SAndroid Build Coastguard Worker
121*523fa7a6SAndroid Build Coastguard Workercc_genrule {
122*523fa7a6SAndroid Build Coastguard Worker    name: "executorch_portable_ops_gen_h",
123*523fa7a6SAndroid Build Coastguard Worker    host_supported: true,
124*523fa7a6SAndroid Build Coastguard Worker    tools: ["torchgen_executorch"],
125*523fa7a6SAndroid Build Coastguard Worker    tool_files: [
126*523fa7a6SAndroid Build Coastguard Worker        ":executorch_codegen_templates",
127*523fa7a6SAndroid Build Coastguard Worker        ":executorch_portable_yaml",
128*523fa7a6SAndroid Build Coastguard Worker        ":torchgen_native_functions",
129*523fa7a6SAndroid Build Coastguard Worker        ":torchgen_tags",
130*523fa7a6SAndroid Build Coastguard Worker    ],
131*523fa7a6SAndroid Build Coastguard Worker    out: [
132*523fa7a6SAndroid Build Coastguard Worker        "NativeFunctions.h",
133*523fa7a6SAndroid Build Coastguard Worker    ],
134*523fa7a6SAndroid Build Coastguard Worker    sdk_version: "current",
135*523fa7a6SAndroid Build Coastguard Worker    apex_available: ["com.android.ondevicepersonalization"],
136*523fa7a6SAndroid Build Coastguard Worker    cmd: "mkdir templates; cp $(locations :executorch_codegen_templates) templates;" +
137*523fa7a6SAndroid Build Coastguard Worker        "$(location torchgen_executorch) " +
138*523fa7a6SAndroid Build Coastguard Worker        "--source-path=. " +
139*523fa7a6SAndroid Build Coastguard Worker        "--tags-path=$(location :torchgen_tags) " +
140*523fa7a6SAndroid Build Coastguard Worker        "--aten_yaml_path=$(location :torchgen_native_functions) " +
141*523fa7a6SAndroid Build Coastguard Worker        "--functions_yaml_path=$(location :executorch_portable_yaml) " +
142*523fa7a6SAndroid Build Coastguard Worker        "--install_dir=$(genDir)/",
143*523fa7a6SAndroid Build Coastguard Worker}
144