1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build/runtime_wrapper.bzl", "runtime") 2*523fa7a6SAndroid Build Coastguard Workerload(":flatcc_defs.bzl", "define_flatcc_targets") 3*523fa7a6SAndroid Build Coastguard Workerload(":gflags.bzl", "define_gflags") 4*523fa7a6SAndroid Build Coastguard Workerload(":glob_defs.bzl", "subdir_glob") 5*523fa7a6SAndroid Build Coastguard Workerload(":gtest_defs.bzl", "define_gtest_targets") 6*523fa7a6SAndroid Build Coastguard Workerload(":prebuilt_python_defs.bzl", "add_prebuilt_python_library_targets") 7*523fa7a6SAndroid Build Coastguard Workerload("@prelude//rules.bzl", "prebuilt_cxx_library") 8*523fa7a6SAndroid Build Coastguard Worker 9*523fa7a6SAndroid Build Coastguard Workerdefine_gflags() 10*523fa7a6SAndroid Build Coastguard Worker 11*523fa7a6SAndroid Build Coastguard Workerdefine_gtest_targets() 12*523fa7a6SAndroid Build Coastguard Worker 13*523fa7a6SAndroid Build Coastguard Workerprebuilt_python_library_defs = { 14*523fa7a6SAndroid Build Coastguard Worker "prettytable": { 15*523fa7a6SAndroid Build Coastguard Worker "additional_deps": [":wcwidth"], 16*523fa7a6SAndroid Build Coastguard Worker "out": "prettytable-3.8.0-py3-none-any.whl", 17*523fa7a6SAndroid Build Coastguard Worker "sha1": "22a8347abd5a72e4ea8d5f5bb2956d956148e6fa", 18*523fa7a6SAndroid Build Coastguard Worker "url": "https://files.pythonhosted.org/packages/25/1e/4c284713b092ec384fad4399452f43f6446ad9aabc9c0b3c3c0920cc53b6/prettytable-3.8.0-py3-none-any.whl", 19*523fa7a6SAndroid Build Coastguard Worker }, 20*523fa7a6SAndroid Build Coastguard Worker "pyyaml": { 21*523fa7a6SAndroid Build Coastguard Worker "out": "pyyaml.whl", 22*523fa7a6SAndroid Build Coastguard Worker "sha1": "11aa9c5fe2d890b6a73212beadc7c8a4265ebc39", 23*523fa7a6SAndroid Build Coastguard Worker "url": "https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", 24*523fa7a6SAndroid Build Coastguard Worker }, 25*523fa7a6SAndroid Build Coastguard Worker "typing-extensions": { 26*523fa7a6SAndroid Build Coastguard Worker "out": "typing_extensions-4.2.0-py3-none-any.whl", 27*523fa7a6SAndroid Build Coastguard Worker "sha1": "ff0849420e94f425818bff5d0f25e3cdfaba8601", 28*523fa7a6SAndroid Build Coastguard Worker "url": "https://files.pythonhosted.org/packages/75/e1/932e06004039dd670c9d5e1df0cd606bf46e29a28e65d5bb28e894ea29c9/typing_extensions-4.2.0-py3-none-any.whl", 29*523fa7a6SAndroid Build Coastguard Worker }, 30*523fa7a6SAndroid Build Coastguard Worker "wcwidth": { 31*523fa7a6SAndroid Build Coastguard Worker "out": "wcwidth-0.1.5-py2.py3-none-any.whl", 32*523fa7a6SAndroid Build Coastguard Worker "sha1": "f132a6fdff56d1d8bf572f00ef6985a327784bbd", 33*523fa7a6SAndroid Build Coastguard Worker "url": "https://files.pythonhosted.org/packages/8b/30/f46badba94cedcd5ceb5918a7c5a34f3a1b9e902e045b7d8d39c1db3d99a/wcwidth-0.1.5-py2.py3-none-any.whl", 34*523fa7a6SAndroid Build Coastguard Worker }, 35*523fa7a6SAndroid Build Coastguard Worker} 36*523fa7a6SAndroid Build Coastguard Worker 37*523fa7a6SAndroid Build Coastguard Workeradd_prebuilt_python_library_targets(prebuilt_python_library_defs) 38*523fa7a6SAndroid Build Coastguard Worker 39*523fa7a6SAndroid Build Coastguard Workerruntime.genrule( 40*523fa7a6SAndroid Build Coastguard Worker name = "torchgen_files", 41*523fa7a6SAndroid Build Coastguard Worker outs = { 42*523fa7a6SAndroid Build Coastguard Worker "torchgen": ["torchgen"], 43*523fa7a6SAndroid Build Coastguard Worker }, 44*523fa7a6SAndroid Build Coastguard Worker default_outs = ["."], 45*523fa7a6SAndroid Build Coastguard Worker srcs = ["link_torch.sh"], 46*523fa7a6SAndroid Build Coastguard Worker bash = "bash $SRCS -f torchgen -o ${OUT}", 47*523fa7a6SAndroid Build Coastguard Worker) 48*523fa7a6SAndroid Build Coastguard Worker 49*523fa7a6SAndroid Build Coastguard Workerruntime.genrule( 50*523fa7a6SAndroid Build Coastguard Worker name = "yaml_files", 51*523fa7a6SAndroid Build Coastguard Worker outs = { 52*523fa7a6SAndroid Build Coastguard Worker "tags": ["aten/src/ATen/native/tags.yaml"], 53*523fa7a6SAndroid Build Coastguard Worker "native_functions": ["aten/src/ATen/native/native_functions.yaml"], 54*523fa7a6SAndroid Build Coastguard Worker }, 55*523fa7a6SAndroid Build Coastguard Worker default_outs = ["."], 56*523fa7a6SAndroid Build Coastguard Worker srcs = ["link_torch.sh"], 57*523fa7a6SAndroid Build Coastguard Worker bash = "mkdir -p ${OUT}/aten/src/ATen/native/ && bash $SRCS -f torchgen/packaged/ATen/native/tags.yaml,torchgen/packaged/ATen/native/native_functions.yaml -o ${OUT}/aten/src/ATen/native/", 58*523fa7a6SAndroid Build Coastguard Worker) 59*523fa7a6SAndroid Build Coastguard Worker 60*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 61*523fa7a6SAndroid Build Coastguard Worker name = "torchgen", 62*523fa7a6SAndroid Build Coastguard Worker srcs = [":torchgen_files[torchgen]"] + glob(["**/*.py"]), 63*523fa7a6SAndroid Build Coastguard Worker base_module = "torchgen,torchgen.executorch", 64*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 65*523fa7a6SAndroid Build Coastguard Worker deps = [ 66*523fa7a6SAndroid Build Coastguard Worker "//third-party:pyyaml", 67*523fa7a6SAndroid Build Coastguard Worker "//third-party:typing-extensions", 68*523fa7a6SAndroid Build Coastguard Worker ], 69*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 70*523fa7a6SAndroid Build Coastguard Worker) 71*523fa7a6SAndroid Build Coastguard Worker 72*523fa7a6SAndroid Build Coastguard Workerruntime.python_binary( 73*523fa7a6SAndroid Build Coastguard Worker name = "gen", 74*523fa7a6SAndroid Build Coastguard Worker main_module = "torchgen.gen", 75*523fa7a6SAndroid Build Coastguard Worker visibility = [ 76*523fa7a6SAndroid Build Coastguard Worker "PUBLIC", 77*523fa7a6SAndroid Build Coastguard Worker ], 78*523fa7a6SAndroid Build Coastguard Worker deps = [ 79*523fa7a6SAndroid Build Coastguard Worker ":torchgen", 80*523fa7a6SAndroid Build Coastguard Worker ], 81*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 82*523fa7a6SAndroid Build Coastguard Worker) 83*523fa7a6SAndroid Build Coastguard Worker 84*523fa7a6SAndroid Build Coastguard Workerruntime.python_binary( 85*523fa7a6SAndroid Build Coastguard Worker name = "gen_executorch", 86*523fa7a6SAndroid Build Coastguard Worker main_module = "torchgen.gen_executorch", 87*523fa7a6SAndroid Build Coastguard Worker visibility = [ 88*523fa7a6SAndroid Build Coastguard Worker "PUBLIC", 89*523fa7a6SAndroid Build Coastguard Worker ], 90*523fa7a6SAndroid Build Coastguard Worker deps = [ 91*523fa7a6SAndroid Build Coastguard Worker ":torchgen", 92*523fa7a6SAndroid Build Coastguard Worker ], 93*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 94*523fa7a6SAndroid Build Coastguard Worker) 95*523fa7a6SAndroid Build Coastguard Worker 96*523fa7a6SAndroid Build Coastguard Workerruntime.filegroup( 97*523fa7a6SAndroid Build Coastguard Worker name = "aten_src_path", 98*523fa7a6SAndroid Build Coastguard Worker srcs = [ 99*523fa7a6SAndroid Build Coastguard Worker ":yaml_files[tags]", 100*523fa7a6SAndroid Build Coastguard Worker ":yaml_files[native_functions]", 101*523fa7a6SAndroid Build Coastguard Worker ], 102*523fa7a6SAndroid Build Coastguard Worker visibility = [ 103*523fa7a6SAndroid Build Coastguard Worker "PUBLIC", 104*523fa7a6SAndroid Build Coastguard Worker ], 105*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 106*523fa7a6SAndroid Build Coastguard Worker) 107*523fa7a6SAndroid Build Coastguard Worker 108*523fa7a6SAndroid Build Coastguard Workerruntime.cxx_library( 109*523fa7a6SAndroid Build Coastguard Worker name = "flatbuffers-api", 110*523fa7a6SAndroid Build Coastguard Worker public_include_directories = ["flatbuffers/include"], 111*523fa7a6SAndroid Build Coastguard Worker raw_headers = [ 112*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/base.h", 113*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/flatbuffers.h", 114*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/stl_emulation.h", 115*523fa7a6SAndroid Build Coastguard Worker ], 116*523fa7a6SAndroid Build Coastguard Worker link_style = "static", 117*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 118*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 119*523fa7a6SAndroid Build Coastguard Worker) 120*523fa7a6SAndroid Build Coastguard Worker 121*523fa7a6SAndroid Build Coastguard Workerdefine_flatcc_targets() 122*523fa7a6SAndroid Build Coastguard Worker 123*523fa7a6SAndroid Build Coastguard Workerruntime.cxx_library( 124*523fa7a6SAndroid Build Coastguard Worker name = "flatc_library", 125*523fa7a6SAndroid Build Coastguard Worker srcs = [ 126*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_text.cpp", 127*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_parser.cpp", 128*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/reflection.cpp", 129*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/util.cpp", 130*523fa7a6SAndroid Build Coastguard Worker ], 131*523fa7a6SAndroid Build Coastguard Worker public_include_directories = [ 132*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc", 133*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include", 134*523fa7a6SAndroid Build Coastguard Worker ], 135*523fa7a6SAndroid Build Coastguard Worker raw_headers = [ 136*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/allocator.h", 137*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/array.h", 138*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/base.h", 139*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/buffer.h", 140*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/buffer_ref.h", 141*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/code_generator.h", 142*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/default_allocator.h", 143*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/detached_buffer.h", 144*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/file_manager.h", 145*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/flatbuffer_builder.h", 146*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/flatbuffers.h", 147*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/flex_flat_util.h", 148*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/flexbuffers.h", 149*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/hash.h", 150*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/idl.h", 151*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/minireflect.h", 152*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/reflection.h", 153*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/reflection_generated.h", 154*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/registry.h", 155*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/stl_emulation.h", 156*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/string.h", 157*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/struct.h", 158*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/table.h", 159*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/util.h", 160*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/vector.h", 161*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/vector_downward.h", 162*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/verifier.h", 163*523fa7a6SAndroid Build Coastguard Worker ], 164*523fa7a6SAndroid Build Coastguard Worker link_style = "static", 165*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 166*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 167*523fa7a6SAndroid Build Coastguard Worker) 168*523fa7a6SAndroid Build Coastguard Worker 169*523fa7a6SAndroid Build Coastguard Workerruntime.cxx_binary( 170*523fa7a6SAndroid Build Coastguard Worker name = "flatc", 171*523fa7a6SAndroid Build Coastguard Worker srcs = [ 172*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/cpp_generator.cc", 173*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/go_generator.cc", 174*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/java_generator.cc", 175*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/python_generator.cc", 176*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/swift_generator.cc", 177*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/ts_generator.cc", 178*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/annotated_binary_text_gen.cpp", 179*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/bfbs_gen_lua.cpp", 180*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/bfbs_gen_nim.cpp", 181*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/binary_annotator.cpp", 182*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/code_generators.cpp", 183*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/file_binary_writer.cpp", 184*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/file_name_saving_file_manager.cpp", 185*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/file_writer.cpp", 186*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/flatc.cpp", 187*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/flatc_main.cpp", 188*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_binary.cpp", 189*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_cpp.cpp", 190*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_csharp.cpp", 191*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_dart.cpp", 192*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_fbs.cpp", 193*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_go.cpp", 194*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_grpc.cpp", 195*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_java.cpp", 196*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_json_schema.cpp", 197*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_kotlin.cpp", 198*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_kotlin_kmp.cpp", 199*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_lobster.cpp", 200*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_php.cpp", 201*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_python.cpp", 202*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_rust.cpp", 203*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_swift.cpp", 204*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_text.cpp", 205*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_gen_ts.cpp", 206*523fa7a6SAndroid Build Coastguard Worker ], 207*523fa7a6SAndroid Build Coastguard Worker include_directories = [ 208*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc", 209*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include", 210*523fa7a6SAndroid Build Coastguard Worker ], 211*523fa7a6SAndroid Build Coastguard Worker raw_headers = [ 212*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/cpp_generator.h", 213*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/go_generator.h", 214*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/java_generator.h", 215*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/python_generator.h", 216*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/schema_interface.h", 217*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/swift_generator.h", 218*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/grpc/src/compiler/ts_generator.h", 219*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/include/flatbuffers/code_generators.h", 220*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/annotated_binary_text_gen.h", 221*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/bfbs_gen.h", 222*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/bfbs_gen_lua.h", 223*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/bfbs_gen_nim.h", 224*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/bfbs_namer.h", 225*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/binary_annotator.h", 226*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/idl_namer.h", 227*523fa7a6SAndroid Build Coastguard Worker "flatbuffers/src/namer.h", 228*523fa7a6SAndroid Build Coastguard Worker ], 229*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 230*523fa7a6SAndroid Build Coastguard Worker deps = [":flatc_library"], 231*523fa7a6SAndroid Build Coastguard Worker link_style = "static", 232*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 233*523fa7a6SAndroid Build Coastguard Worker) 234*523fa7a6SAndroid Build Coastguard Worker 235*523fa7a6SAndroid Build Coastguard Workerruntime.genrule( 236*523fa7a6SAndroid Build Coastguard Worker name = "libpython_gen", 237*523fa7a6SAndroid Build Coastguard Worker outs = { 238*523fa7a6SAndroid Build Coastguard Worker "include": ["include"], 239*523fa7a6SAndroid Build Coastguard Worker }, 240*523fa7a6SAndroid Build Coastguard Worker srcs = ["link_python.sh"], 241*523fa7a6SAndroid Build Coastguard Worker bash = select({ 242*523fa7a6SAndroid Build Coastguard Worker "ovr_config//os:macos": "bash $SRCS $OUT libpython.dylib", 243*523fa7a6SAndroid Build Coastguard Worker "DEFAULT": "bash $SRCS $OUT libpython.so", 244*523fa7a6SAndroid Build Coastguard Worker }), 245*523fa7a6SAndroid Build Coastguard Worker) 246*523fa7a6SAndroid Build Coastguard Worker 247*523fa7a6SAndroid Build Coastguard Workerruntime.cxx_library( 248*523fa7a6SAndroid Build Coastguard Worker name = "pybind11", 249*523fa7a6SAndroid Build Coastguard Worker public_include_directories = [ 250*523fa7a6SAndroid Build Coastguard Worker "pybind11/include", 251*523fa7a6SAndroid Build Coastguard Worker ], 252*523fa7a6SAndroid Build Coastguard Worker exported_preprocessor_flags = [ 253*523fa7a6SAndroid Build Coastguard Worker "-I$(location :libpython_gen[include])", # include header directories 254*523fa7a6SAndroid Build Coastguard Worker ], 255*523fa7a6SAndroid Build Coastguard Worker exported_linker_flags = ["-Xlinker", "-undefined", "-Xlinker", "dynamic_lookup"], 256*523fa7a6SAndroid Build Coastguard Worker raw_headers = glob(["pybind11/include/**/*.h"]), 257*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 258*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 259*523fa7a6SAndroid Build Coastguard Worker) 260*523fa7a6SAndroid Build Coastguard Worker 261*523fa7a6SAndroid Build Coastguard Workerruntime.genrule( 262*523fa7a6SAndroid Build Coastguard Worker name = "libtorch_gen", 263*523fa7a6SAndroid Build Coastguard Worker outs = select({ 264*523fa7a6SAndroid Build Coastguard Worker "ovr_config//os:macos": { 265*523fa7a6SAndroid Build Coastguard Worker "libtorch": ["libtorch.dylib"], 266*523fa7a6SAndroid Build Coastguard Worker "libc10": ["libc10.dylib"], 267*523fa7a6SAndroid Build Coastguard Worker "libtorch_cpu": ["libtorch_cpu.dylib"], 268*523fa7a6SAndroid Build Coastguard Worker "libtorch_python": ["libtorch_python.dylib"], 269*523fa7a6SAndroid Build Coastguard Worker "include": ["include"], 270*523fa7a6SAndroid Build Coastguard Worker }, 271*523fa7a6SAndroid Build Coastguard Worker "DEFAULT": { 272*523fa7a6SAndroid Build Coastguard Worker "libtorch": ["libtorch.so"], 273*523fa7a6SAndroid Build Coastguard Worker "libc10": ["libc10.so"], 274*523fa7a6SAndroid Build Coastguard Worker "libtorch_cpu": ["libtorch_cpu.so"], 275*523fa7a6SAndroid Build Coastguard Worker "libtorch_python": ["libtorch_python.so"], 276*523fa7a6SAndroid Build Coastguard Worker "include": ["include"], 277*523fa7a6SAndroid Build Coastguard Worker }, 278*523fa7a6SAndroid Build Coastguard Worker }), 279*523fa7a6SAndroid Build Coastguard Worker default_outs = ["."], 280*523fa7a6SAndroid Build Coastguard Worker srcs = ["link_torch.sh"], 281*523fa7a6SAndroid Build Coastguard Worker bash = select({ 282*523fa7a6SAndroid Build Coastguard Worker "ovr_config//os:macos": "bash $SRCS -f torch/lib/libtorch.dylib,torch/lib/libtorch_cpu.dylib,torch/lib/libtorch_python.dylib,torch/lib/libc10.dylib,torch/include -o ${OUT}", 283*523fa7a6SAndroid Build Coastguard Worker "DEFAULT": "bash $SRCS -f torch/lib/libtorch.so,torch/lib/libtorch_cpu.so,torch/lib/libtorch_python.so,torch/lib/libc10.so,torch/lib/libgomp-a34b3233.so.1,torch/include -o ${OUT}", 284*523fa7a6SAndroid Build Coastguard Worker }), 285*523fa7a6SAndroid Build Coastguard Worker) 286*523fa7a6SAndroid Build Coastguard Worker 287*523fa7a6SAndroid Build Coastguard Workerprebuilt_cxx_library( 288*523fa7a6SAndroid Build Coastguard Worker name = "libc10", 289*523fa7a6SAndroid Build Coastguard Worker shared_lib = ":libtorch_gen[libc10]", 290*523fa7a6SAndroid Build Coastguard Worker) 291*523fa7a6SAndroid Build Coastguard Worker 292*523fa7a6SAndroid Build Coastguard Workerprebuilt_cxx_library( 293*523fa7a6SAndroid Build Coastguard Worker name = "libtorch_cpu", 294*523fa7a6SAndroid Build Coastguard Worker shared_lib = ":libtorch_gen[libtorch_cpu]", 295*523fa7a6SAndroid Build Coastguard Worker) 296*523fa7a6SAndroid Build Coastguard Worker 297*523fa7a6SAndroid Build Coastguard Workerprebuilt_cxx_library( 298*523fa7a6SAndroid Build Coastguard Worker name = "libtorch", 299*523fa7a6SAndroid Build Coastguard Worker shared_lib = ":libtorch_gen[libtorch]", 300*523fa7a6SAndroid Build Coastguard Worker exported_preprocessor_flags = [ 301*523fa7a6SAndroid Build Coastguard Worker "-D_GLIBCXX_USE_CXX11_ABI=0", # `libtorch` is built without CXX11_ABI so any target depends on it need to use the same build config. 302*523fa7a6SAndroid Build Coastguard Worker "-I$(location :libtorch_gen[include])", # include header directories 303*523fa7a6SAndroid Build Coastguard Worker "-I$(location :libtorch_gen[include])/torch/csrc/api/include", # include header directories 304*523fa7a6SAndroid Build Coastguard Worker ], 305*523fa7a6SAndroid Build Coastguard Worker exported_linker_flags = select({ 306*523fa7a6SAndroid Build Coastguard Worker "ovr_config//os:macos": ["-Xlinker", "-rpath", "$(location :libtorch_gen)", "-Xlinker"], 307*523fa7a6SAndroid Build Coastguard Worker "DEFAULT": ["-Wl,-rpath,$(location :libtorch_gen)"], # define rpath to locate shared library 308*523fa7a6SAndroid Build Coastguard Worker }), 309*523fa7a6SAndroid Build Coastguard Worker exported_headers = [":libtorch_gen[include]"], 310*523fa7a6SAndroid Build Coastguard Worker exported_deps = select({ 311*523fa7a6SAndroid Build Coastguard Worker "ovr_config//os:macos": [":libc10", ":libtorch_cpu"], 312*523fa7a6SAndroid Build Coastguard Worker "DEFAULT": [":libc10", ":libtorch_cpu"], 313*523fa7a6SAndroid Build Coastguard Worker }), 314*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 315*523fa7a6SAndroid Build Coastguard Worker) 316*523fa7a6SAndroid Build Coastguard Worker 317*523fa7a6SAndroid Build Coastguard Workerprebuilt_cxx_library( 318*523fa7a6SAndroid Build Coastguard Worker name = "libtorch_python", 319*523fa7a6SAndroid Build Coastguard Worker shared_lib = ":libtorch_gen[libtorch_python]", 320*523fa7a6SAndroid Build Coastguard Worker exported_preprocessor_flags = [ 321*523fa7a6SAndroid Build Coastguard Worker "-D_GLIBCXX_USE_CXX11_ABI=0", # `libtorch` is built without CXX11_ABI so any target depends on it need to use the same build config. 322*523fa7a6SAndroid Build Coastguard Worker "-I$(location :libtorch_gen[include])", # include header directories 323*523fa7a6SAndroid Build Coastguard Worker "-I$(location :libtorch_gen[include])/torch/csrc/api/include", # include header directories 324*523fa7a6SAndroid Build Coastguard Worker ], 325*523fa7a6SAndroid Build Coastguard Worker exported_linker_flags = select({ 326*523fa7a6SAndroid Build Coastguard Worker "ovr_config//os:macos": ["-ldl", "-framework", "CoreFoundation"], # python3-config --cflags 327*523fa7a6SAndroid Build Coastguard Worker "DEFAULT": [], # define rpath to locate shared library 328*523fa7a6SAndroid Build Coastguard Worker }), 329*523fa7a6SAndroid Build Coastguard Worker exported_headers = [":libtorch_gen[include]"], 330*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 331*523fa7a6SAndroid Build Coastguard Worker ":libtorch", 332*523fa7a6SAndroid Build Coastguard Worker ], 333*523fa7a6SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 334*523fa7a6SAndroid Build Coastguard Worker) 335