• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2load(
3    "@fbsource//xplat/executorch/kernels/optimized:lib_defs.bzl",
4    "get_vec_preprocessor_flags",
5    "get_vec_cxx_preprocessor_flags",
6)
7load("@fbsource//xplat/executorch/kernels/test:util.bzl", "define_supported_features_lib")
8
9def _lib_test_bin(name, extra_deps = [], in_cpu = False):
10    """Defines a cxx_binary() for a single test file.
11    """
12    if not (name.endswith("_test_bin")):
13        fail("'{}' must match the pattern '*_vec_test_bin'")
14
15    src_root = name[:-len("_bin")]
16    lib_root = name[:-len("_test_bin")]
17
18    cpu_path = "/cpu" if in_cpu else ""
19
20    runtime.cxx_binary(
21        name = name,
22        srcs = [
23            "{}.cpp".format(src_root),
24        ],
25        deps = [
26            "//executorch/test/utils:utils",
27            "//executorch/kernels/optimized{}:{}".format(cpu_path, lib_root),
28        ] + extra_deps,
29        cxx_platform_preprocessor_flags = get_vec_cxx_preprocessor_flags(),
30        preprocessor_flags = get_vec_preprocessor_flags(),
31    )
32
33def define_common_targets():
34    """Defines targets that should be shared between fbcode and xplat.
35
36    The directory containing this targets.bzl file should also contain both
37    TARGETS and BUCK files that call this function.
38    """
39    define_supported_features_lib()
40
41    _lib_test_bin("libvec_test_bin")
42    _lib_test_bin("moments_utils_test_bin", in_cpu = True)
43    _lib_test_bin("libblas_test_bin")
44