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 Workerload(":lib_defs.bzl", "define_libs") 4*523fa7a6SAndroid Build Coastguard Worker 5*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets(is_fbcode=False): 6*523fa7a6SAndroid Build Coastguard Worker """Defines targets that should be shared between fbcode and xplat. 7*523fa7a6SAndroid Build Coastguard Worker 8*523fa7a6SAndroid Build Coastguard Worker The directory containing this targets.bzl file should also contain both 9*523fa7a6SAndroid Build Coastguard Worker TARGETS and BUCK files that call this function. 10*523fa7a6SAndroid Build Coastguard Worker """ 11*523fa7a6SAndroid Build Coastguard Worker 12*523fa7a6SAndroid Build Coastguard Worker define_libs(is_fbcode) 13*523fa7a6SAndroid Build Coastguard Worker 14*523fa7a6SAndroid Build Coastguard Worker runtime.export_file( 15*523fa7a6SAndroid Build Coastguard Worker name = "optimized.yaml", 16*523fa7a6SAndroid Build Coastguard Worker visibility = [ 17*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 18*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 19*523fa7a6SAndroid Build Coastguard Worker ], 20*523fa7a6SAndroid Build Coastguard Worker ) 21*523fa7a6SAndroid Build Coastguard Worker 22*523fa7a6SAndroid Build Coastguard Worker runtime.export_file( 23*523fa7a6SAndroid Build Coastguard Worker name = "optimized-oss.yaml", 24*523fa7a6SAndroid Build Coastguard Worker visibility = [ 25*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 26*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 27*523fa7a6SAndroid Build Coastguard Worker ], 28*523fa7a6SAndroid Build Coastguard Worker ) 29*523fa7a6SAndroid Build Coastguard Worker 30*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 31*523fa7a6SAndroid Build Coastguard Worker name = "optimized_operators", 32*523fa7a6SAndroid Build Coastguard Worker srcs = [], 33*523fa7a6SAndroid Build Coastguard Worker visibility = [ 34*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 35*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 36*523fa7a6SAndroid Build Coastguard Worker ], 37*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 38*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/optimized/cpu:cpu_optimized", 39*523fa7a6SAndroid Build Coastguard Worker ], 40*523fa7a6SAndroid Build Coastguard Worker ) 41*523fa7a6SAndroid Build Coastguard Worker 42*523fa7a6SAndroid Build Coastguard Worker et_operator_library( 43*523fa7a6SAndroid Build Coastguard Worker name = "optimized_oplist", 44*523fa7a6SAndroid Build Coastguard Worker ops_schema_yaml_target = ":optimized.yaml", 45*523fa7a6SAndroid Build Coastguard Worker visibility = [ 46*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 47*523fa7a6SAndroid Build Coastguard Worker ], 48*523fa7a6SAndroid Build Coastguard Worker ) 49*523fa7a6SAndroid Build Coastguard Worker 50*523fa7a6SAndroid Build Coastguard Worker # Used mainly for operator testing. In practice, a generated lib specific 51*523fa7a6SAndroid Build Coastguard Worker # to a project should be created that contains only the required operators 52*523fa7a6SAndroid Build Coastguard Worker # for a particular model. 53*523fa7a6SAndroid Build Coastguard Worker executorch_generated_lib( 54*523fa7a6SAndroid Build Coastguard Worker name = "generated_lib", 55*523fa7a6SAndroid Build Coastguard Worker deps = [ 56*523fa7a6SAndroid Build Coastguard Worker ":optimized_oplist", 57*523fa7a6SAndroid Build Coastguard Worker ":optimized_operators", 58*523fa7a6SAndroid Build Coastguard Worker ], 59*523fa7a6SAndroid Build Coastguard Worker functions_yaml_target = ":optimized.yaml", 60*523fa7a6SAndroid Build Coastguard Worker define_static_targets = True, 61*523fa7a6SAndroid Build Coastguard Worker visibility = [ 62*523fa7a6SAndroid Build Coastguard Worker "//executorch/...", 63*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 64*523fa7a6SAndroid Build Coastguard Worker ], 65*523fa7a6SAndroid Build Coastguard Worker ) 66