aboutsummaryrefslogtreecommitdiff
path: root/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'BUILD.bazel')
-rw-r--r--BUILD.bazel65
1 files changed, 57 insertions, 8 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index 116ef6a..6925944 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,7 +1,8 @@
# cpu_features, a cross platform C99 library to get cpu features at runtime.
load("@bazel_skylib//lib:selects.bzl", "selects")
-load("//:bazel/platforms.bzl", "PLATFORM_CPU_ARM", "PLATFORM_CPU_ARM64", "PLATFORM_CPU_MIPS", "PLATFORM_CPU_PPC", "PLATFORM_CPU_X86_64")
+load("//:bazel/platforms.bzl", "PLATFORM_CPU_ARM", "PLATFORM_CPU_ARM64", "PLATFORM_CPU_MIPS", "PLATFORM_CPU_PPC", "PLATFORM_CPU_RISCV32", "PLATFORM_CPU_RISCV64", "PLATFORM_CPU_X86_64")
+load("//:bazel/platforms.bzl", "PLATFORM_OS_MACOS")
package(
default_visibility = ["//visibility:public"],
@@ -170,7 +171,10 @@ cc_library(
name = "hwcaps",
srcs = ["src/hwcaps.c"],
copts = C99_FLAGS,
- defines = ["HAVE_STRONG_GETAUXVAL"],
+ defines = selects.with_or({
+ PLATFORM_OS_MACOS: ["HAVE_DLFCN_H"],
+ "//conditions:default": ["HAVE_STRONG_GETAUXVAL"],
+ }),
includes = INCLUDES,
textual_hdrs = ["include/internal/hwcaps.h"],
deps = [
@@ -213,15 +217,18 @@ cc_library(
"src/impl_x86_windows.c",
],
PLATFORM_CPU_ARM: ["src/impl_arm_linux_or_android.c"],
- PLATFORM_CPU_ARM64: ["src/impl_aarch64_linux_or_android.c"],
+ PLATFORM_CPU_ARM64: [
+ "src/impl_aarch64_linux_or_android.c",
+ "src/impl_aarch64_macos_or_iphone.c",
+ "src/impl_aarch64_windows.c",
+ ],
PLATFORM_CPU_MIPS: ["src/impl_mips_linux_or_android.c"],
PLATFORM_CPU_PPC: ["src/impl_ppc_linux.c"],
+ PLATFORM_CPU_RISCV32: ["src/impl_riscv_linux.c"],
+ PLATFORM_CPU_RISCV64: ["src/impl_riscv_linux.c"],
}),
- copts = C99_FLAGS,
- includes = INCLUDES,
- textual_hdrs = selects.with_or({
+ hdrs = selects.with_or({
PLATFORM_CPU_X86_64: [
- "src/impl_x86__base_implementation.inl",
"include/cpuinfo_x86.h",
"include/internal/cpuid_x86.h",
"include/internal/windows_utils.h",
@@ -230,6 +237,19 @@ cc_library(
PLATFORM_CPU_ARM64: ["include/cpuinfo_aarch64.h"],
PLATFORM_CPU_MIPS: ["include/cpuinfo_mips.h"],
PLATFORM_CPU_PPC: ["include/cpuinfo_ppc.h"],
+ PLATFORM_CPU_RISCV32: ["include/cpuinfo_riscv.h"],
+ PLATFORM_CPU_RISCV64: ["include/cpuinfo_riscv.h"],
+ }),
+ copts = C99_FLAGS,
+ defines = selects.with_or({
+ PLATFORM_OS_MACOS: ["HAVE_SYSCTLBYNAME"],
+ "//conditions:default": [],
+ }),
+ includes = INCLUDES,
+ textual_hdrs = selects.with_or({
+ PLATFORM_CPU_X86_64: ["src/impl_x86__base_implementation.inl"],
+ PLATFORM_CPU_ARM64: ["src/impl_aarch64__base_implementation.inl"],
+ "//conditions:default": [],
}) + [
"src/define_introspection.inl",
"src/define_introspection_and_hwcaps.inl",
@@ -257,9 +277,15 @@ cc_library(
"src/impl_x86_windows.c",
],
PLATFORM_CPU_ARM: ["src/impl_arm_linux_or_android.c"],
- PLATFORM_CPU_ARM64: ["src/impl_aarch64_linux_or_android.c"],
+ PLATFORM_CPU_ARM64: [
+ "src/impl_aarch64_linux_or_android.c",
+ "src/impl_aarch64_macos_or_iphone.c",
+ "src/impl_aarch64_windows.c",
+ ],
PLATFORM_CPU_MIPS: ["src/impl_mips_linux_or_android.c"],
PLATFORM_CPU_PPC: ["src/impl_ppc_linux.c"],
+ PLATFORM_CPU_RISCV32: ["src/impl_riscv_linux.c"],
+ PLATFORM_CPU_RISCV64: ["src/impl_riscv_linux.c"],
}),
hdrs = selects.with_or({
PLATFORM_CPU_X86_64: [
@@ -271,15 +297,21 @@ cc_library(
PLATFORM_CPU_ARM64: ["include/cpuinfo_aarch64.h"],
PLATFORM_CPU_MIPS: ["include/cpuinfo_mips.h"],
PLATFORM_CPU_PPC: ["include/cpuinfo_ppc.h"],
+ PLATFORM_CPU_RISCV32: ["include/cpuinfo_riscv.h"],
+ PLATFORM_CPU_RISCV64: ["include/cpuinfo_riscv.h"],
}),
copts = C99_FLAGS,
defines = selects.with_or({
PLATFORM_CPU_X86_64: ["CPU_FEATURES_MOCK_CPUID_X86"],
"//conditions:default": [],
+ }) + selects.with_or({
+ PLATFORM_OS_MACOS: ["HAVE_SYSCTLBYNAME"],
+ "//conditions:default": [],
}),
includes = INCLUDES,
textual_hdrs = selects.with_or({
PLATFORM_CPU_X86_64: ["src/impl_x86__base_implementation.inl"],
+ PLATFORM_CPU_ARM64: ["src/impl_aarch64__base_implementation.inl"],
"//conditions:default": [],
}) + [
"src/define_introspection.inl",
@@ -304,6 +336,8 @@ cc_test(
PLATFORM_CPU_ARM: ["test/cpuinfo_arm_test.cc"],
PLATFORM_CPU_MIPS: ["test/cpuinfo_mips_test.cc"],
PLATFORM_CPU_PPC: ["test/cpuinfo_ppc_test.cc"],
+ PLATFORM_CPU_RISCV32: ["test/cpuinfo_riscv_test.cc"],
+ PLATFORM_CPU_RISCV64: ["test/cpuinfo_riscv_test.cc"],
PLATFORM_CPU_X86_64: ["test/cpuinfo_x86_test.cc"],
}),
includes = INCLUDES,
@@ -327,3 +361,18 @@ cc_binary(
":cpuinfo",
],
)
+
+cc_library(
+ name = "ndk_compat",
+ srcs = ["ndk_compat/cpu-features.c"],
+ copts = C99_FLAGS,
+ includes = INCLUDES + ["ndk_compat"],
+ textual_hdrs = ["ndk_compat/cpu-features.h"],
+ deps = [
+ ":cpu_features_macros",
+ ":cpuinfo",
+ ":filesystem",
+ ":stack_line_reader",
+ ":string_view",
+ ],
+)