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