22
33load ("@bazel_skylib//lib:selects.bzl" , "selects" )
44load ("//: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" )
5- load ("//:bazel/platforms.bzl" , "PLATFORM_OS_MACOS" )
5+ load ("//:bazel/platforms.bzl" , "PLATFORM_OS_MACOS" , "PLATFORM_OS_LINUX" , "PLATFORM_OS_FREEBSD" , "PLATFORM_OS_ANDROID" )
66
77package (
88 default_visibility = ["//visibility:public" ],
@@ -169,11 +169,18 @@ cc_library(
169169
170170cc_library (
171171 name = "hwcaps" ,
172- srcs = ["src/hwcaps.c" ],
172+ srcs = [
173+ "src/hwcaps.c" ,
174+ "src/hwcaps_freebsd.c" ,
175+ "src/hwcaps_linux_or_android.c" ,
176+ ],
173177 copts = C99_FLAGS ,
174178 defines = selects .with_or ({
175179 PLATFORM_OS_MACOS : ["HAVE_DLFCN_H" ],
176- "//conditions:default" : ["HAVE_STRONG_GETAUXVAL" ],
180+ PLATFORM_OS_FREEBSD : ["HAVE_STRONG_ELF_AUX_INFO" ],
181+ PLATFORM_OS_LINUX : ["HAVE_STRONG_GETAUXVAL" ],
182+ PLATFORM_OS_ANDROID : ["HAVE_STRONG_GETAUXVAL" ],
183+ "//conditions:default" : [],
177184 }),
178185 includes = INCLUDES ,
179186 textual_hdrs = ["include/internal/hwcaps.h" ],
@@ -189,6 +196,8 @@ cc_library(
189196 testonly = 1 ,
190197 srcs = [
191198 "src/hwcaps.c" ,
199+ "src/hwcaps_freebsd.c" ,
200+ "src/hwcaps_linux_or_android.c" ,
192201 "test/hwcaps_for_testing.cc" ,
193202 ],
194203 hdrs = [
@@ -218,9 +227,11 @@ cc_library(
218227 ],
219228 PLATFORM_CPU_ARM : ["src/impl_arm_linux_or_android.c" ],
220229 PLATFORM_CPU_ARM64 : [
230+ "src/impl_aarch64_cpuid.c" ,
221231 "src/impl_aarch64_linux_or_android.c" ,
222232 "src/impl_aarch64_macos_or_iphone.c" ,
223233 "src/impl_aarch64_windows.c" ,
234+ "src/impl_aarch64_freebsd.c" ,
224235 ],
225236 PLATFORM_CPU_MIPS : ["src/impl_mips_linux_or_android.c" ],
226237 PLATFORM_CPU_PPC : ["src/impl_ppc_linux.c" ],
@@ -234,7 +245,10 @@ cc_library(
234245 "include/internal/windows_utils.h" ,
235246 ],
236247 PLATFORM_CPU_ARM : ["include/cpuinfo_arm.h" ],
237- PLATFORM_CPU_ARM64 : ["include/cpuinfo_aarch64.h" ],
248+ PLATFORM_CPU_ARM64 : [
249+ "include/cpuinfo_aarch64.h" ,
250+ "include/internal/cpuid_aarch64.h" ,
251+ ],
238252 PLATFORM_CPU_MIPS : ["include/cpuinfo_mips.h" ],
239253 PLATFORM_CPU_PPC : ["include/cpuinfo_ppc.h" ],
240254 PLATFORM_CPU_RISCV32 : ["include/cpuinfo_riscv.h" ],
@@ -278,9 +292,11 @@ cc_library(
278292 ],
279293 PLATFORM_CPU_ARM : ["src/impl_arm_linux_or_android.c" ],
280294 PLATFORM_CPU_ARM64 : [
295+ "src/impl_aarch64_cpuid.c" ,
281296 "src/impl_aarch64_linux_or_android.c" ,
282297 "src/impl_aarch64_macos_or_iphone.c" ,
283298 "src/impl_aarch64_windows.c" ,
299+ "src/impl_aarch64_freebsd.c" ,
284300 ],
285301 PLATFORM_CPU_MIPS : ["src/impl_mips_linux_or_android.c" ],
286302 PLATFORM_CPU_PPC : ["src/impl_ppc_linux.c" ],
@@ -294,7 +310,10 @@ cc_library(
294310 "include/internal/windows_utils.h" ,
295311 ],
296312 PLATFORM_CPU_ARM : ["include/cpuinfo_arm.h" ],
297- PLATFORM_CPU_ARM64 : ["include/cpuinfo_aarch64.h" ],
313+ PLATFORM_CPU_ARM64 : [
314+ "include/cpuinfo_aarch64.h" ,
315+ "include/internal/cpuid_aarch64.h"
316+ ],
298317 PLATFORM_CPU_MIPS : ["include/cpuinfo_mips.h" ],
299318 PLATFORM_CPU_PPC : ["include/cpuinfo_ppc.h" ],
300319 PLATFORM_CPU_RISCV32 : ["include/cpuinfo_riscv.h" ],
0 commit comments