Use @platforms in Bazel rules.
This is the recommended way for detecting platforms:
https://docs.bazel.build/versions/main/platforms.html
Fixes cross-compilation with bazel-zig-cc.
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Change-Id: Ifc7d2b502e01feb9cbad51127ca3ec90a54c6e90
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/51265
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/util/BUILD.toplevel b/util/BUILD.toplevel
index 462a24f..390dcd4 100644
--- a/util/BUILD.toplevel
+++ b/util/BUILD.toplevel
@@ -36,52 +36,34 @@
config_setting(
name = "linux_aarch64",
- values = {"cpu": "aarch64"},
+ constraint_values = [
+ "@platforms//os:linux",
+ "@platforms//cpu:aarch64",
+ ],
)
config_setting(
name = "linux_x86_64",
- values = {"cpu": "k8"},
+ constraint_values = [
+ "@platforms//os:linux",
+ "@platforms//cpu:x86_64",
+ ],
)
config_setting(
name = "linux_ppc64le",
- values = {"cpu": "ppc"},
+ constraint_values = [
+ "@platforms//os:linux",
+ "@platforms//cpu:ppc",
+ ],
)
config_setting(
- name = "mac_x86_64",
- values = {"cpu": "darwin"},
-)
-
-config_setting(
- name = "windows_x86_64",
- values = {"cpu": "x64_windows"},
-)
-
-config_setting(
- name = "android_legacy",
- values = {"crosstool_top": "//external:android/crosstool"},
-)
-
-config_setting(
- name = "android_stlport",
- values = {"crosstool_top": "@androidndk//:toolchain-stlport"},
-)
-
-config_setting(
- name = "android_libcpp",
- values = {"crosstool_top": "@androidndk//:toolchain-libcpp"},
-)
-
-config_setting(
- name = "android_gnu_libstdcpp",
- values = {"crosstool_top": "@androidndk//:toolchain-gnu-libstdcpp"},
-)
-
-config_setting(
- name = "android_default",
- values = {"crosstool_top": "@androidndk//:default_crosstool"},
+ name = "macos_x86_64",
+ constraint_values = [
+ "@platforms//os:macos",
+ "@platforms//cpu:x86_64",
+ ],
)
posix_copts = [
@@ -113,11 +95,9 @@
]
boringssl_copts = select({
- ":linux_aarch64": linux_copts,
- ":linux_ppc64le": linux_copts,
- ":linux_x86_64": linux_copts,
- ":mac_x86_64": posix_copts,
- ":windows_x86_64": [
+ "@platforms//os:linux": linux_copts,
+ "@platforms//os:macos": posix_copts,
+ "@platforms//os:windows": [
"-DWIN32_LEAN_AND_MEAN",
"-DOPENSSL_NO_ASM",
],
@@ -128,7 +108,7 @@
":linux_aarch64": crypto_sources_linux_aarch64,
":linux_ppc64le": crypto_sources_linux_ppc64le,
":linux_x86_64": crypto_sources_linux_x86_64,
- ":mac_x86_64": crypto_sources_mac_x86_64,
+ ":macos_x86_64": crypto_sources_mac_x86_64,
"//conditions:default": [],
})
@@ -141,10 +121,8 @@
]
boringssl_copts_c11 = boringssl_copts + select({
- ":linux_aarch64": posix_copts_c11,
- ":linux_ppc64le": posix_copts_c11,
- ":linux_x86_64": posix_copts_c11,
- ":mac_x86_64": posix_copts_c11,
+ "@platforms//os:linux": posix_copts_c11,
+ "@platforms//os:macos": posix_copts_c11,
"//conditions:default": [],
})
@@ -155,10 +133,8 @@
]
boringssl_copts_cxx = boringssl_copts + select({
- ":linux_aarch64": posix_copts_cxx,
- ":linux_ppc64le": posix_copts_cxx,
- ":linux_x86_64": posix_copts_cxx,
- ":mac_x86_64": posix_copts_cxx,
+ "@platforms//os:linux": posix_copts_cxx,
+ "@platforms//os:macos": posix_copts_cxx,
"//conditions:default": [],
})
@@ -171,13 +147,9 @@
linkopts = select({
# Android supports pthreads, but does not provide a libpthread
# to link against.
- ":android_legacy": [],
- ":android_stlport": [],
- ":android_libcpp": [],
- ":android_gnu_libstdcpp": [],
- ":android_default": [],
- ":mac_x86_64": [],
- ":windows_x86_64": ["-defaultlib:advapi32.lib"],
+ "@platforms//os:android": [],
+ "@platforms//os:macos": [],
+ "@platforms//os:windows": ["-defaultlib:advapi32.lib"],
"//conditions:default": ["-lpthread"],
}),
visibility = ["//visibility:public"],