xref: /aosp_15_r20/external/executorch/test/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
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