Skip to content

Commit a977445

Browse files
authored
Migrate x86 64 aarch64 linux toolchain (#174)
- Migrate x86 64 aarch64 linux toolchain to be compliant with `bzl_mod` - The `sysroot`s for `clang` toolchain have been changed accordingly to select `None` when both `bzl_mod` and `libcpp` are enabled. Else if `bzl_mod` and not `libcpp`, returns the proper `bzl_mod`-compliant directory, else the non-`bzl_mod`-compliant directory. Tested in: - [x] orion (Bazel 6) - [x] orion (Bazel 7) - [x] orion-engine (Bazel 6) - [x] orion-engine (Bazel 7) - [x] starling-core (Bazel 6, 7, 8) - [x] starling (Bazel 6)
1 parent 049eaca commit a977445

File tree

10 files changed

+30
-14
lines changed

10 files changed

+30
-14
lines changed

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
module(
1212
name = "rules_swiftnav",
13-
version = "0.3.0",
13+
version = "0.4.0",
1414
compatibility_level = 1,
1515
)
1616

MODULE.bazel.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cc/BUILD.bazel

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,15 @@ config_setting(
206206
visibility = ["//visibility:public"],
207207
)
208208

209+
config_setting(
210+
name = "_enable_bzlmod_not_libcpp",
211+
flag_values = {
212+
":enable_bzlmod": "true",
213+
":use_libcpp": "false",
214+
},
215+
visibility = ["//visibility:public"],
216+
)
217+
209218
py_binary(
210219
name = "fix_include_guards",
211220
srcs = [

cc/toolchains/llvm/aarch64-linux/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ cc_toolchain_config(
117117
abi_version = "clang",
118118
builtin_sysroot = select({
119119
"@rules_swiftnav//cc:_use_libcpp": None,
120-
# Remove once bzlmod is enabled by default
121-
"@rules_swiftnav//cc:_enable_bzlmod": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
120+
# When bzlmod is enabled but libcpp is not, use the bzlmod path
121+
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
122122
"//conditions:default": "external/aarch64-sysroot",
123123
}),
124124
compiler = "clang",

cc/toolchains/llvm/x86_64-aarch64-linux/BUILD.bazel

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,12 @@ cc_toolchain_config(
101101
name = "local-x86_64-aarch64-linux",
102102
abi_libc_version = "glibc_unknown",
103103
abi_version = "clang",
104-
builtin_sysroot = "external/aarch64-sysroot",
104+
builtin_sysroot = select({
105+
"@rules_swiftnav//cc:_use_libcpp": None,
106+
# When bzlmod is enabled but libcpp is not, use the bzlmod path
107+
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
108+
"//conditions:default": "external/aarch64-sysroot",
109+
}),
105110
compiler = "clang",
106111
cxx_builtin_include_directories = [
107112
"%sysroot%/usr/include",

cc/toolchains/llvm/x86_64-aarch64-linux/wrappers/wrapper

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ fi
3535

3636
tool_name=$(basename "${BASH_SOURCE[0]}")
3737
toolchain_bindir=external/x86_64-linux-llvm/bin
38+
toolchain_bindir_as_bzlmod="external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-linux-llvm/bin"
3839

3940
if [[ -f "${toolchain_bindir}"/"${tool_name}" ]]; then
4041
# We're running under _execroot_, call the real tool.

cc/toolchains/llvm/x86_64-linux/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ cc_toolchain_config(
117117
abi_version = "clang",
118118
builtin_sysroot = select({
119119
"@rules_swiftnav//cc:_use_libcpp": None,
120-
# Remove once bzlmod is enabled by default
121-
"@rules_swiftnav//cc:_enable_bzlmod": "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-sysroot",
120+
# When bzlmod is enabled but libcpp is not, use the bzlmod path
121+
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-sysroot",
122122
"//conditions:default": "external/x86_64-sysroot",
123123
}),
124124
compiler = "clang",

cc/toolchains/llvm20/aarch64-linux/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ cc_toolchain_config(
117117
abi_version = "clang",
118118
builtin_sysroot = select({
119119
"@rules_swiftnav//cc:_use_libcpp": None,
120-
# Remove once bzlmod is enabled by default
121-
"@rules_swiftnav//cc:_enable_bzlmod": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
120+
# When bzlmod is enabled but libcpp is not, use the bzlmod path
121+
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
122122
"//conditions:default": "external/aarch64-sysroot",
123123
}),
124124
compiler = "clang",

cc/toolchains/llvm20/x86_64-aarch64-linux/BUILD.bazel

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,9 @@ cc_toolchain_config(
102102
abi_libc_version = "glibc_unknown",
103103
abi_version = "clang",
104104
builtin_sysroot = select({
105-
# Remove once bzlmod is enabled by default
106-
"@rules_swiftnav//cc:_enable_bzlmod": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
105+
# _use_libcpp case needs to be implemented properly here!
106+
# When bzlmod is enabled but libcpp is not, use the bzlmod path
107+
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
107108
"//conditions:default": "external/aarch64-sysroot",
108109
}),
109110
compiler = "clang",

cc/toolchains/llvm20/x86_64-linux/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ cc_toolchain_config(
117117
abi_version = "clang",
118118
builtin_sysroot = select({
119119
"@rules_swiftnav//cc:_use_libcpp": None,
120-
# Remove once bzlmod is enabled by default
121-
"@rules_swiftnav//cc:_enable_bzlmod": "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-sysroot",
120+
# When bzlmod is enabled but libcpp is not, use the bzlmod path
121+
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-sysroot",
122122
"//conditions:default": "external/x86_64-sysroot",
123123
}),
124124
compiler = "clang",

0 commit comments

Comments
 (0)