1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 2*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/codegen:codegen.bzl", "et_operator_library", "executorch_generated_lib") 3*523fa7a6SAndroid Build Coastguard Worker 4*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets(): 5*523fa7a6SAndroid Build Coastguard Worker """Defines targets that should be shared between fbcode and xplat. 6*523fa7a6SAndroid Build Coastguard Worker 7*523fa7a6SAndroid Build Coastguard Worker The directory containing this targets.bzl file should also contain both 8*523fa7a6SAndroid Build Coastguard Worker TARGETS and BUCK files that call this function. 9*523fa7a6SAndroid Build Coastguard Worker """ 10*523fa7a6SAndroid Build Coastguard Worker 11*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 12*523fa7a6SAndroid Build Coastguard Worker name = "operators", 13*523fa7a6SAndroid Build Coastguard Worker srcs = [], 14*523fa7a6SAndroid Build Coastguard Worker visibility = [ 15*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 16*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 17*523fa7a6SAndroid Build Coastguard Worker ], 18*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 19*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/portable/cpu:cpu", 20*523fa7a6SAndroid Build Coastguard Worker ], 21*523fa7a6SAndroid Build Coastguard Worker ) 22*523fa7a6SAndroid Build Coastguard Worker 23*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 24*523fa7a6SAndroid Build Coastguard Worker name = "operators_aten", 25*523fa7a6SAndroid Build Coastguard Worker srcs = [], 26*523fa7a6SAndroid Build Coastguard Worker visibility = [ 27*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 28*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 29*523fa7a6SAndroid Build Coastguard Worker ], 30*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 31*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/portable/cpu:cpu_aten", 32*523fa7a6SAndroid Build Coastguard Worker ], 33*523fa7a6SAndroid Build Coastguard Worker ) 34*523fa7a6SAndroid Build Coastguard Worker 35*523fa7a6SAndroid Build Coastguard Worker runtime.export_file( 36*523fa7a6SAndroid Build Coastguard Worker name = "functions.yaml", 37*523fa7a6SAndroid Build Coastguard Worker visibility = [ 38*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 39*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 40*523fa7a6SAndroid Build Coastguard Worker ], 41*523fa7a6SAndroid Build Coastguard Worker ) 42*523fa7a6SAndroid Build Coastguard Worker 43*523fa7a6SAndroid Build Coastguard Worker runtime.export_file( 44*523fa7a6SAndroid Build Coastguard Worker name = "custom_ops.yaml", 45*523fa7a6SAndroid Build Coastguard Worker visibility = [ 46*523fa7a6SAndroid Build Coastguard Worker "//executorch/codegen/...", 47*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 48*523fa7a6SAndroid Build Coastguard Worker ], 49*523fa7a6SAndroid Build Coastguard Worker ) 50*523fa7a6SAndroid Build Coastguard Worker 51*523fa7a6SAndroid Build Coastguard Worker et_operator_library( 52*523fa7a6SAndroid Build Coastguard Worker name = "executorch_all_ops", 53*523fa7a6SAndroid Build Coastguard Worker include_all_operators = True, 54*523fa7a6SAndroid Build Coastguard Worker define_static_targets = True, 55*523fa7a6SAndroid Build Coastguard Worker visibility = [ 56*523fa7a6SAndroid Build Coastguard Worker "//executorch/codegen/...", 57*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 58*523fa7a6SAndroid Build Coastguard Worker ], 59*523fa7a6SAndroid Build Coastguard Worker ) 60*523fa7a6SAndroid Build Coastguard Worker 61*523fa7a6SAndroid Build Coastguard Worker et_operator_library( 62*523fa7a6SAndroid Build Coastguard Worker name = "executorch_aten_ops", 63*523fa7a6SAndroid Build Coastguard Worker ops_schema_yaml_target = "//executorch/kernels/portable:functions.yaml", 64*523fa7a6SAndroid Build Coastguard Worker define_static_targets = True, 65*523fa7a6SAndroid Build Coastguard Worker visibility = [ 66*523fa7a6SAndroid Build Coastguard Worker "//executorch/codegen/...", 67*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 68*523fa7a6SAndroid Build Coastguard Worker ], 69*523fa7a6SAndroid Build Coastguard Worker ) 70*523fa7a6SAndroid Build Coastguard Worker 71*523fa7a6SAndroid Build Coastguard Worker et_operator_library( 72*523fa7a6SAndroid Build Coastguard Worker name = "executorch_custom_ops", 73*523fa7a6SAndroid Build Coastguard Worker ops_schema_yaml_target = "//executorch/kernels/portable:custom_ops.yaml", 74*523fa7a6SAndroid Build Coastguard Worker define_static_targets = True, 75*523fa7a6SAndroid Build Coastguard Worker visibility = [ 76*523fa7a6SAndroid Build Coastguard Worker "//executorch/codegen/...", 77*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 78*523fa7a6SAndroid Build Coastguard Worker ], 79*523fa7a6SAndroid Build Coastguard Worker ) 80*523fa7a6SAndroid Build Coastguard Worker 81*523fa7a6SAndroid Build Coastguard Worker generated_lib_common_args = { 82*523fa7a6SAndroid Build Coastguard Worker "custom_ops_aten_kernel_deps": [ 83*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/portable:operators_aten", 84*523fa7a6SAndroid Build Coastguard Worker ], 85*523fa7a6SAndroid Build Coastguard Worker "custom_ops_yaml_target": "//executorch/kernels/portable:custom_ops.yaml", 86*523fa7a6SAndroid Build Coastguard Worker # size_test expects _static targets to be available for these libraries. 87*523fa7a6SAndroid Build Coastguard Worker "define_static_targets": True, 88*523fa7a6SAndroid Build Coastguard Worker "functions_yaml_target": "//executorch/kernels/portable:functions.yaml", 89*523fa7a6SAndroid Build Coastguard Worker "visibility": [ 90*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 91*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 92*523fa7a6SAndroid Build Coastguard Worker ], 93*523fa7a6SAndroid Build Coastguard Worker } 94*523fa7a6SAndroid Build Coastguard Worker 95*523fa7a6SAndroid Build Coastguard Worker executorch_generated_lib( 96*523fa7a6SAndroid Build Coastguard Worker name = "generated_lib", 97*523fa7a6SAndroid Build Coastguard Worker deps = [ 98*523fa7a6SAndroid Build Coastguard Worker ":executorch_aten_ops", 99*523fa7a6SAndroid Build Coastguard Worker ":executorch_custom_ops", 100*523fa7a6SAndroid Build Coastguard Worker ], 101*523fa7a6SAndroid Build Coastguard Worker kernel_deps = ["//executorch/kernels/portable:operators"], 102*523fa7a6SAndroid Build Coastguard Worker **generated_lib_common_args 103*523fa7a6SAndroid Build Coastguard Worker ) 104*523fa7a6SAndroid Build Coastguard Worker 105*523fa7a6SAndroid Build Coastguard Worker executorch_generated_lib( 106*523fa7a6SAndroid Build Coastguard Worker name = "generated_lib_aten", 107*523fa7a6SAndroid Build Coastguard Worker deps = [ 108*523fa7a6SAndroid Build Coastguard Worker ":executorch_aten_ops", 109*523fa7a6SAndroid Build Coastguard Worker ":executorch_custom_ops", 110*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/portable:operators_aten", 111*523fa7a6SAndroid Build Coastguard Worker ], 112*523fa7a6SAndroid Build Coastguard Worker custom_ops_aten_kernel_deps = [ 113*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/portable:operators_aten", 114*523fa7a6SAndroid Build Coastguard Worker ], 115*523fa7a6SAndroid Build Coastguard Worker custom_ops_yaml_target = "//executorch/kernels/portable:custom_ops.yaml", 116*523fa7a6SAndroid Build Coastguard Worker aten_mode = True, 117*523fa7a6SAndroid Build Coastguard Worker visibility = [ 118*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 119*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 120*523fa7a6SAndroid Build Coastguard Worker ], 121*523fa7a6SAndroid Build Coastguard Worker define_static_targets = True, 122*523fa7a6SAndroid Build Coastguard Worker ) 123