xref: /aosp_15_r20/external/executorch/extension/threadpool/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/backends/xnnpack/third-party:third_party_libs.bzl", "third_party_dep")
2*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
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    _THREADPOOL_SRCS = [
12*523fa7a6SAndroid Build Coastguard Worker        "threadpool.cpp",
13*523fa7a6SAndroid Build Coastguard Worker        "threadpool_guard.cpp",
14*523fa7a6SAndroid Build Coastguard Worker    ] + (["fb/threadpool_use_n_threads.cpp"] if not runtime.is_oss else [])
15*523fa7a6SAndroid Build Coastguard Worker
16*523fa7a6SAndroid Build Coastguard Worker    _THREADPOOL_HEADERS = [
17*523fa7a6SAndroid Build Coastguard Worker        "threadpool.h",
18*523fa7a6SAndroid Build Coastguard Worker        "threadpool_guard.h",
19*523fa7a6SAndroid Build Coastguard Worker    ] + (["fb/threadpool_use_n_threads.h"] if not runtime.is_oss else [])
20*523fa7a6SAndroid Build Coastguard Worker
21*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
22*523fa7a6SAndroid Build Coastguard Worker        name = "threadpool",
23*523fa7a6SAndroid Build Coastguard Worker        srcs = _THREADPOOL_SRCS,
24*523fa7a6SAndroid Build Coastguard Worker        deps = [
25*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/core:core",
26*523fa7a6SAndroid Build Coastguard Worker        ],
27*523fa7a6SAndroid Build Coastguard Worker        exported_headers = _THREADPOOL_HEADERS,
28*523fa7a6SAndroid Build Coastguard Worker        exported_deps = [
29*523fa7a6SAndroid Build Coastguard Worker            third_party_dep("pthreadpool"),
30*523fa7a6SAndroid Build Coastguard Worker            third_party_dep("cpuinfo"),
31*523fa7a6SAndroid Build Coastguard Worker        ],
32*523fa7a6SAndroid Build Coastguard Worker        exported_preprocessor_flags = [
33*523fa7a6SAndroid Build Coastguard Worker            "-DET_USE_THREADPOOL",
34*523fa7a6SAndroid Build Coastguard Worker        ],
35*523fa7a6SAndroid Build Coastguard Worker        visibility = [
36*523fa7a6SAndroid Build Coastguard Worker            "//executorch/...",
37*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
38*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/backend/...",
39*523fa7a6SAndroid Build Coastguard Worker            "//executorch/extension/threadpool/test/...",
40*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
41*523fa7a6SAndroid Build Coastguard Worker        ],
42*523fa7a6SAndroid Build Coastguard Worker    )
43*523fa7a6SAndroid Build Coastguard Worker
44*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
45*523fa7a6SAndroid Build Coastguard Worker        name = "cpuinfo_utils",
46*523fa7a6SAndroid Build Coastguard Worker        srcs = [
47*523fa7a6SAndroid Build Coastguard Worker            "cpuinfo_utils.cpp",
48*523fa7a6SAndroid Build Coastguard Worker        ],
49*523fa7a6SAndroid Build Coastguard Worker        deps = [
50*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/core:core",
51*523fa7a6SAndroid Build Coastguard Worker        ],
52*523fa7a6SAndroid Build Coastguard Worker        exported_headers = [
53*523fa7a6SAndroid Build Coastguard Worker            "cpuinfo_utils.h",
54*523fa7a6SAndroid Build Coastguard Worker        ],
55*523fa7a6SAndroid Build Coastguard Worker        exported_deps = [
56*523fa7a6SAndroid Build Coastguard Worker            third_party_dep("pthreadpool"),
57*523fa7a6SAndroid Build Coastguard Worker            third_party_dep("cpuinfo"),
58*523fa7a6SAndroid Build Coastguard Worker        ],
59*523fa7a6SAndroid Build Coastguard Worker        visibility = [
60*523fa7a6SAndroid Build Coastguard Worker            "//executorch/...",
61*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
62*523fa7a6SAndroid Build Coastguard Worker            "//executorch/runtime/backend/...",
63*523fa7a6SAndroid Build Coastguard Worker            "//executorch/extension/threadpool/test/...",
64*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
65*523fa7a6SAndroid Build Coastguard Worker        ],
66*523fa7a6SAndroid Build Coastguard Worker    )
67