1*523fa7a6SAndroid Build Coastguard Worker# Any targets that should be shared between fbcode and xplat must be defined in 2*523fa7a6SAndroid Build Coastguard Worker# targets.bzl. This file can contain fbcode-only targets. 3*523fa7a6SAndroid Build Coastguard Worker 4*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/backends:backends.bzl", "get_all_cpu_aot_and_backend_targets") 5*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 6*523fa7a6SAndroid Build Coastguard Workerload(":targets.bzl", "define_common_targets") 7*523fa7a6SAndroid Build Coastguard Worker 8*523fa7a6SAndroid Build Coastguard Workeroncall("executorch") 9*523fa7a6SAndroid Build Coastguard Worker 10*523fa7a6SAndroid Build Coastguard Workerdefine_common_targets() 11*523fa7a6SAndroid Build Coastguard Worker 12*523fa7a6SAndroid Build Coastguard Worker# Use runtime.python_library instead of the one defined in python_library.bzl, 13*523fa7a6SAndroid Build Coastguard Worker# so we can have access to EXECUTORCH_CLIENTS list. 14*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 15*523fa7a6SAndroid Build Coastguard Worker name = "backend_api", 16*523fa7a6SAndroid Build Coastguard Worker srcs = [ 17*523fa7a6SAndroid Build Coastguard Worker "backend_api.py", 18*523fa7a6SAndroid Build Coastguard Worker ], 19*523fa7a6SAndroid Build Coastguard Worker visibility = [ 20*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 21*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 22*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 23*523fa7a6SAndroid Build Coastguard Worker ], 24*523fa7a6SAndroid Build Coastguard Worker deps = [ 25*523fa7a6SAndroid Build Coastguard Worker ":backend_details", 26*523fa7a6SAndroid Build Coastguard Worker ":compile_spec_schema", 27*523fa7a6SAndroid Build Coastguard Worker "//caffe2:torch", 28*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/backend:utils", 29*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/backend/canonical_partitioners:duplicate_constant_node_pass", 30*523fa7a6SAndroid Build Coastguard Worker ], 31*523fa7a6SAndroid Build Coastguard Worker) 32*523fa7a6SAndroid Build Coastguard Worker 33*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 34*523fa7a6SAndroid Build Coastguard Worker name = "compile_spec_schema", 35*523fa7a6SAndroid Build Coastguard Worker srcs = [ 36*523fa7a6SAndroid Build Coastguard Worker "compile_spec_schema.py", 37*523fa7a6SAndroid Build Coastguard Worker ], 38*523fa7a6SAndroid Build Coastguard Worker visibility = [ 39*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 40*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 41*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 42*523fa7a6SAndroid Build Coastguard Worker ], 43*523fa7a6SAndroid Build Coastguard Worker) 44*523fa7a6SAndroid Build Coastguard Worker 45*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 46*523fa7a6SAndroid Build Coastguard Worker name = "partitioner", 47*523fa7a6SAndroid Build Coastguard Worker srcs = [ 48*523fa7a6SAndroid Build Coastguard Worker "partitioner.py", 49*523fa7a6SAndroid Build Coastguard Worker ], 50*523fa7a6SAndroid Build Coastguard Worker visibility = [ 51*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 52*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 53*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 54*523fa7a6SAndroid Build Coastguard Worker ], 55*523fa7a6SAndroid Build Coastguard Worker deps = [ 56*523fa7a6SAndroid Build Coastguard Worker ":compile_spec_schema", 57*523fa7a6SAndroid Build Coastguard Worker "//caffe2:torch", 58*523fa7a6SAndroid Build Coastguard Worker ], 59*523fa7a6SAndroid Build Coastguard Worker) 60*523fa7a6SAndroid Build Coastguard Worker 61*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 62*523fa7a6SAndroid Build Coastguard Worker name = "backend_details", 63*523fa7a6SAndroid Build Coastguard Worker srcs = [ 64*523fa7a6SAndroid Build Coastguard Worker "backend_details.py", 65*523fa7a6SAndroid Build Coastguard Worker ], 66*523fa7a6SAndroid Build Coastguard Worker visibility = [ 67*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 68*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 69*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 70*523fa7a6SAndroid Build Coastguard Worker ], 71*523fa7a6SAndroid Build Coastguard Worker deps = [ 72*523fa7a6SAndroid Build Coastguard Worker ":compile_spec_schema", 73*523fa7a6SAndroid Build Coastguard Worker ":partitioner", 74*523fa7a6SAndroid Build Coastguard Worker "//caffe2:torch", 75*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir:delegate", 76*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir:graph_module", 77*523fa7a6SAndroid Build Coastguard Worker ], 78*523fa7a6SAndroid Build Coastguard Worker) 79*523fa7a6SAndroid Build Coastguard Worker 80*523fa7a6SAndroid Build Coastguard Worker# backend_lib includes all ahead of time apis and supported backends, 81*523fa7a6SAndroid Build Coastguard Worker# it's supposed to be only used on server side and not for production on device. 82*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 83*523fa7a6SAndroid Build Coastguard Worker name = "backend_lib", 84*523fa7a6SAndroid Build Coastguard Worker visibility = [ 85*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 86*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 87*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 88*523fa7a6SAndroid Build Coastguard Worker ], 89*523fa7a6SAndroid Build Coastguard Worker deps = [ 90*523fa7a6SAndroid Build Coastguard Worker ":backend_api", 91*523fa7a6SAndroid Build Coastguard Worker ":backend_details", 92*523fa7a6SAndroid Build Coastguard Worker ":utils", 93*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 94*523fa7a6SAndroid Build Coastguard Worker ] + get_all_cpu_aot_and_backend_targets(), 95*523fa7a6SAndroid Build Coastguard Worker) 96*523fa7a6SAndroid Build Coastguard Worker 97*523fa7a6SAndroid Build Coastguard Workerruntime.python_library( 98*523fa7a6SAndroid Build Coastguard Worker name = "utils", 99*523fa7a6SAndroid Build Coastguard Worker srcs = [ 100*523fa7a6SAndroid Build Coastguard Worker "utils.py", 101*523fa7a6SAndroid Build Coastguard Worker ], 102*523fa7a6SAndroid Build Coastguard Worker visibility = [ 103*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 104*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/backend/...", 105*523fa7a6SAndroid Build Coastguard Worker "//executorch/test/...", 106*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 107*523fa7a6SAndroid Build Coastguard Worker ], 108*523fa7a6SAndroid Build Coastguard Worker deps = [ 109*523fa7a6SAndroid Build Coastguard Worker "fbsource//third-party/pypi/pandas:pandas", 110*523fa7a6SAndroid Build Coastguard Worker "//caffe2:torch", 111*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir:lowered_backend_module", 112*523fa7a6SAndroid Build Coastguard Worker "//executorch/exir/backend/canonical_partitioners:duplicate_constant_node_pass", 113*523fa7a6SAndroid Build Coastguard Worker ], 114*523fa7a6SAndroid Build Coastguard Worker) 115