xref: /aosp_15_r20/external/executorch/backends/xnnpack/third-party/cpuinfo_defs.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1def define_cpuinfo_and_clog():
2    # @lint-ignore BUCKLINT: native and fb_native are explicitly forbidden in fbcode.
3    native.cxx_library(
4        name = "cpuinfo",
5        srcs = [
6            "cpuinfo-wrappers/api.c",
7            "cpuinfo-wrappers/arm/android/properties.c",
8            "cpuinfo-wrappers/arm/cache.c",
9            "cpuinfo-wrappers/arm/linux/aarch32-isa.c",
10            "cpuinfo-wrappers/arm/linux/aarch64-isa.c",
11            "cpuinfo-wrappers/arm/linux/chipset.c",
12            "cpuinfo-wrappers/arm/linux/clusters.c",
13            "cpuinfo-wrappers/arm/linux/cpuinfo.c",
14            "cpuinfo-wrappers/arm/linux/hwcap.c",
15            "cpuinfo-wrappers/arm/linux/init.c",
16            "cpuinfo-wrappers/arm/linux/midr.c",
17            "cpuinfo-wrappers/arm/mach/init.c",
18            "cpuinfo-wrappers/arm/uarch.c",
19            "cpuinfo-wrappers/cache.c",
20            "cpuinfo-wrappers/init.c",
21            "cpuinfo-wrappers/linux/cpulist.c",
22            "cpuinfo-wrappers/linux/multiline.c",
23            "cpuinfo-wrappers/linux/processors.c",
24            "cpuinfo-wrappers/linux/smallfile.c",
25            "cpuinfo-wrappers/log.c",
26            "cpuinfo-wrappers/mach/topology.c",
27            "cpuinfo-wrappers/x86/cache/descriptor.c",
28            "cpuinfo-wrappers/x86/cache/deterministic.c",
29            "cpuinfo-wrappers/x86/cache/init.c",
30            "cpuinfo-wrappers/x86/info.c",
31            "cpuinfo-wrappers/x86/init.c",
32            "cpuinfo-wrappers/x86/isa.c",
33            "cpuinfo-wrappers/x86/linux/cpuinfo.c",
34            "cpuinfo-wrappers/x86/linux/init.c",
35            "cpuinfo-wrappers/x86/mach/init.c",
36            "cpuinfo-wrappers/x86/name.c",
37            "cpuinfo-wrappers/x86/topology.c",
38            "cpuinfo-wrappers/x86/uarch.c",
39            "cpuinfo-wrappers/x86/vendor.c",
40            "cpuinfo-wrappers/x86/windows/init.c",
41        ],
42        include_directories = ["cpuinfo/src"],
43        public_include_directories = ["cpuinfo/include"],
44        raw_headers = native.glob([
45            "cpuinfo/src/**/*.h",
46            "cpuinfo/src/**/*.c",
47        ]),
48        preferred_linkage = "static",
49        preprocessor_flags = [
50            "-DCPUINFO_LOG_LEVEL=2",
51            "-D_GNU_SOURCE=1",
52        ],
53        visibility = ["PUBLIC"],
54        deps = [
55            ":clog",
56        ],
57    )
58
59    # @lint-ignore BUCKLINT: native and fb_native are explicitly forbidden in fbcode.
60    native.cxx_library(
61        name = "clog",
62        srcs = [
63            "cpuinfo/deps/clog/src/clog.c",
64        ],
65        raw_headers = native.glob([
66            "cpuinfo/deps/clog/include/*.h",
67        ]),
68        public_include_directories = [
69            "cpuinfo/deps/clog/include/",
70        ],
71        force_static = True,
72        visibility = ["PUBLIC"],
73    )
74