1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "get_oss_build_kwargs", "runtime") 2*523fa7a6SAndroid Build Coastguard Worker 3*523fa7a6SAndroid Build Coastguard WorkerSIZE_TEST_SOURCES = [ 4*523fa7a6SAndroid Build Coastguard Worker "size_test.cpp", 5*523fa7a6SAndroid Build Coastguard Worker] 6*523fa7a6SAndroid Build Coastguard Worker 7*523fa7a6SAndroid Build Coastguard WorkerSIZE_TEST_DEPS = [ 8*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/executor:program", 9*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/data_loader:file_data_loader", 10*523fa7a6SAndroid Build Coastguard Worker] 11*523fa7a6SAndroid Build Coastguard Worker 12*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets(): 13*523fa7a6SAndroid Build Coastguard Worker """Defines targets that should be shared between fbcode and xplat. 14*523fa7a6SAndroid Build Coastguard Worker 15*523fa7a6SAndroid Build Coastguard Worker The directory containing this targets.bzl file should also contain both 16*523fa7a6SAndroid Build Coastguard Worker TARGETS and BUCK files that call this function. 17*523fa7a6SAndroid Build Coastguard Worker """ 18*523fa7a6SAndroid Build Coastguard Worker 19*523fa7a6SAndroid Build Coastguard Worker # DO NOT MODIFY: This target `size_test_static` is being used on a per-diff 20*523fa7a6SAndroid Build Coastguard Worker # CI job to guard Executorch binary size. It doesn't contain any operators 21*523fa7a6SAndroid Build Coastguard Worker # or kernels thus shouldn't be used to run a model. Adding/removing dependencies 22*523fa7a6SAndroid Build Coastguard Worker # will likely result in inaccurate measure results. 23*523fa7a6SAndroid Build Coastguard Worker # 24*523fa7a6SAndroid Build Coastguard Worker # It's also best to build this with `-c executorch.enable_program_verification=false` 25*523fa7a6SAndroid Build Coastguard Worker # to remove ~30kB of optional flatbuffer verification code from the binary. 26*523fa7a6SAndroid Build Coastguard Worker # Building with `-c executorch.enable_et_log=0` removes ~15kB from the binary. 27*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_binary( 28*523fa7a6SAndroid Build Coastguard Worker name = "size_test", 29*523fa7a6SAndroid Build Coastguard Worker srcs = SIZE_TEST_SOURCES, 30*523fa7a6SAndroid Build Coastguard Worker deps = SIZE_TEST_DEPS, 31*523fa7a6SAndroid Build Coastguard Worker define_static_target = True, 32*523fa7a6SAndroid Build Coastguard Worker **get_oss_build_kwargs() 33*523fa7a6SAndroid Build Coastguard Worker ) 34*523fa7a6SAndroid Build Coastguard Worker 35*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_binary( 36*523fa7a6SAndroid Build Coastguard Worker name = "size_test_all_ops", 37*523fa7a6SAndroid Build Coastguard Worker srcs = SIZE_TEST_SOURCES, 38*523fa7a6SAndroid Build Coastguard Worker deps = SIZE_TEST_DEPS + [ 39*523fa7a6SAndroid Build Coastguard Worker "//executorch/kernels/portable:generated_lib", 40*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/executor/test:test_backend_compiler_lib", 41*523fa7a6SAndroid Build Coastguard Worker ], 42*523fa7a6SAndroid Build Coastguard Worker define_static_target = True, 43*523fa7a6SAndroid Build Coastguard Worker **get_oss_build_kwargs() 44*523fa7a6SAndroid Build Coastguard Worker ) 45*523fa7a6SAndroid Build Coastguard Worker 46*523fa7a6SAndroid Build Coastguard Worker runtime.export_file( 47*523fa7a6SAndroid Build Coastguard Worker name = "size_test.cpp", 48*523fa7a6SAndroid Build Coastguard Worker visibility = [ 49*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 50*523fa7a6SAndroid Build Coastguard Worker ], 51*523fa7a6SAndroid Build Coastguard Worker ) 52