diff options
Diffstat (limited to 'BUILD.bazel')
-rw-r--r-- | BUILD.bazel | 65 |
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", + ], +) |