• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cc_library {
2    name: "libexecutorch_runtime",
3    srcs: [
4        "extension/data_loader/file_data_loader.cpp",
5        "extension/data_loader/mmap_data_loader.cpp",
6        "extension/evalue_util/print_evalue.cpp",
7        "extension/module/*.cpp",
8        "extension/runner_util/inputs.cpp",
9        "extension/runner_util/inputs_portable.cpp",
10        "extension/training/module/training_module.cpp",
11        "extension/training/optimizer/sgd.cpp",
12        "extension/tensor/*.cpp",
13        ":executorch_portable_ops_gen_cpp",
14        "kernels/portable/cpu/*.cpp",
15        "kernels/portable/cpu/pattern/*.cpp",
16        "kernels/portable/cpu/util/*.cpp",
17        "kernels/prim_ops/et_copy_index.cpp",
18        "kernels/prim_ops/et_view.cpp",
19        "kernels/prim_ops/register_prim_ops.cpp",
20        "runtime/backend/interface.cpp",
21        "runtime/core/evalue.cpp",
22        "runtime/core/exec_aten/util/tensor_util_portable.cpp",
23        "runtime/core/portable_type/tensor_impl.cpp",
24        "runtime/executor/method.cpp",
25        "runtime/executor/method_meta.cpp",
26        "runtime/executor/program.cpp",
27        "runtime/executor/tensor_parser_exec_aten.cpp",
28        "runtime/executor/tensor_parser_portable.cpp",
29        "runtime/kernel/operator_registry.cpp",
30        "runtime/platform/abort.cpp",
31        "runtime/platform/default/posix.cpp",
32        "runtime/platform/log.cpp",
33        "runtime/platform/profiler.cpp",
34        "runtime/platform/runtime.cpp",
35        "schema/extended_header.cpp",
36    ],
37    header_libs: [
38        "flatbuffer_headers",
39    ],
40    generated_headers: [
41        "executorch_fbs_gen",
42        "executorch_portable_ops_gen_h",
43    ],
44    stl: "libc++_static",
45    cflags: [
46        "-Wno-unused-parameter",
47    ],
48    host_supported: true,
49    apex_available: ["com.android.ondevicepersonalization"],
50    sdk_version: "current",
51    min_sdk_version: "apex_inherit",
52    visibility: ["//packages/modules/OnDevicePersonalization:__subpackages__"],
53}
54
55cc_binary {
56    name: "executor_runner",
57    srcs: ["examples/portable/executor_runner/executor_runner.cpp"],
58    static_libs: [
59        "libgflags",
60    ],
61    whole_static_libs: [
62        "libexecutorch_runtime",
63    ],
64    host_supported: true,
65}
66
67cc_binary {
68    name: "train_runner",
69    srcs: ["extension/training/examples/XOR/train.cpp"],
70    static_libs: [
71        "libgflags",
72    ],
73    whole_static_libs: [
74        "libexecutorch_runtime",
75    ],
76    host_supported: true,
77}
78
79cc_genrule {
80    name: "executorch_fbs_gen",
81    host_supported: true,
82    tools: ["flatc"],
83    srcs: [
84        "schema/program.fbs",
85        "schema/scalar_type.fbs",
86    ],
87    out: [
88        "executorch/schema/program_generated.h",
89        "executorch/schema/scalar_type_generated.h",
90    ],
91    sdk_version: "current",
92    apex_available: ["com.android.ondevicepersonalization"],
93    cmd: "$(location flatc) --cpp --cpp-std c++11 --gen-mutable --scoped-enums --include-prefix executorch/schema/ " +
94        "-o $(genDir)/executorch/schema/ $(in)",
95}
96
97filegroup {
98    name: "executorch_codegen_templates",
99    srcs: [
100        "codegen/templates/*.cpp",
101        "codegen/templates/*.h",
102        "codegen/templates/*.ini",
103    ],
104}
105
106filegroup {
107    name: "executorch_portable_yaml",
108    srcs: [
109        "kernels/portable/functions.yaml",
110    ],
111}
112
113cc_genrule {
114    name: "executorch_portable_ops_gen_cpp",
115    host_supported: true,
116    tools: ["torchgen_executorch"],
117    tool_files: [
118        ":executorch_codegen_templates",
119        ":executorch_portable_yaml",
120        ":torchgen_native_functions",
121        ":torchgen_tags",
122    ],
123    out: [
124        "RegisterCodegenUnboxedKernels_0.cpp",
125    ],
126    sdk_version: "current",
127    apex_available: ["com.android.ondevicepersonalization"],
128    cmd: "mkdir templates; cp $(locations :executorch_codegen_templates) templates;" +
129        "$(location torchgen_executorch) " +
130        "--source-path=. " +
131        "--tags-path=$(location :torchgen_tags) " +
132        "--aten_yaml_path=$(location :torchgen_native_functions) " +
133        "--functions_yaml_path=$(location :executorch_portable_yaml) " +
134        "--install_dir=$(genDir)/",
135}
136
137cc_genrule {
138    name: "executorch_portable_ops_gen_h",
139    host_supported: true,
140    tools: ["torchgen_executorch"],
141    tool_files: [
142        ":executorch_codegen_templates",
143        ":executorch_portable_yaml",
144        ":torchgen_native_functions",
145        ":torchgen_tags",
146    ],
147    out: [
148        "NativeFunctions.h",
149    ],
150    sdk_version: "current",
151    apex_available: ["com.android.ondevicepersonalization"],
152    cmd: "mkdir templates; cp $(locations :executorch_codegen_templates) templates;" +
153        "$(location torchgen_executorch) " +
154        "--source-path=. " +
155        "--tags-path=$(location :torchgen_tags) " +
156        "--aten_yaml_path=$(location :torchgen_native_functions) " +
157        "--functions_yaml_path=$(location :executorch_portable_yaml) " +
158        "--install_dir=$(genDir)/",
159}
160
161java_library_static {
162    name: "executorch_java",
163    sdk_version: "current",
164    min_sdk_version: "33",
165    srcs: [
166        "extension/android/src/main/java/org/pytorch/executorch/annotations/*.java",
167        "extension/android/src/main/java/org/pytorch/executorch/*.java",
168        "java/com/facebook/soloader/nativeloader/*.java",
169    ],
170    apex_available: [
171        "com.android.ondevicepersonalization",
172    ],
173    static_libs: [
174        "libfbjni_java",
175    ],
176    visibility: [
177        "//packages/modules/OnDevicePersonalization:__subpackages__",
178    ],
179}
180
181cc_library_shared {
182    name: "libexecutorch",
183    srcs: [
184        "extension/android/jni/jni_layer.cpp",
185        "extension/android/jni/log.cpp",
186    ],
187    header_libs: [
188        "jni_headers",
189    ],
190    whole_static_libs: [
191        "libexecutorch_runtime",
192    ],
193    static_libs: [
194        "libfbjni",
195    ],
196    shared_libs: [
197        "liblog",
198    ],
199    stl: "libc++_static",
200    apex_available: ["com.android.ondevicepersonalization"],
201    sdk_version: "current",
202    min_sdk_version: "apex_inherit",
203    visibility: [
204        "//packages/modules/OnDevicePersonalization:__subpackages__",
205    ],
206    cflags: [
207        "-fexceptions",
208    ],
209}
210