Skip to content

Commit

Permalink
Add darwin_arm64 (Apple Silicon) toolchain (#2700)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexeagle committed May 25, 2021
1 parent 50fec94 commit 730e8a5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 4 deletions.
7 changes: 6 additions & 1 deletion internal/node/launcher.sh
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,13 @@ else

case "${machine}" in
# The following paths must match up with _download_node in node_repositories
darwin) readonly node_toolchain="nodejs_darwin_amd64/bin/nodejs/bin/node" ;;
windows) readonly node_toolchain="nodejs_windows_amd64/bin/nodejs/node.exe" ;;
darwin)
case "${unameArch}" in
x86_64*) readonly node_toolchain="nodejs_darwin_amd64/bin/nodejs/bin/node" ;;
*) readonly node_toolchain="nodejs_darwin_arm64/bin/nodejs/bin/node" ;;
esac
;;
*)
case "${unameArch}" in
aarch64*) readonly node_toolchain="nodejs_linux_arm64/bin/nodejs/bin/node" ;;
Expand Down
2 changes: 1 addition & 1 deletion internal/node/test/nodejs_toolchain_test.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ fi

_ATTRS = {
"platform": attr.string(
values = ["linux_amd64", "linux_arm64", "linux_s390x", "darwin_amd64", "windows_amd64"],
values = ["linux_amd64", "linux_arm64", "linux_s390x", "darwin_amd64", "darwin_arm64", "windows_amd64"],
),
}

Expand Down
24 changes: 22 additions & 2 deletions toolchains/node/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ platform(
],
)

platform(
name = "darwin_arm64",
constraint_values = [
"@platforms//os:osx",
"@platforms//cpu:aarch64",
],
)

platform(
name = "linux_amd64",
constraint_values = [
Expand Down Expand Up @@ -80,7 +88,8 @@ toolchain_type(
alias(
name = "toolchain",
actual = select({
"@bazel_tools//src/conditions:darwin": "@nodejs_darwin_amd64_config//:toolchain",
"@bazel_tools//src/conditions:darwin_arm64": "@nodejs_darwin_arm64_config//:toolchain",
"@bazel_tools//src/conditions:darwin_x86_64": "@nodejs_darwin_amd64_config//:toolchain",
"@bazel_tools//src/conditions:linux_aarch64": "@nodejs_linux_arm64_config//:toolchain",
"@bazel_tools//src/conditions:linux_s390x": "@nodejs_linux_s390x_config//:toolchain",
"@bazel_tools//src/conditions:linux_x86_64": "@nodejs_linux_amd64_config//:toolchain",
Expand All @@ -94,7 +103,8 @@ alias(
alias(
name = "node_bin",
actual = select({
"@bazel_tools//src/conditions:darwin": "@nodejs_darwin_amd64//:node_bin",
"@bazel_tools//src/conditions:darwin_arm64": "@nodejs_darwin_arm64//:node_bin",
"@bazel_tools//src/conditions:darwin_x86_64": "@nodejs_darwin_amd64//:node_bin",
"@bazel_tools//src/conditions:linux_aarch64": "@nodejs_linux_arm64//:node_bin",
"@bazel_tools//src/conditions:linux_s390x": "@nodejs_linux_s390x//:node_bin",
"@bazel_tools//src/conditions:linux_x86_64": "@nodejs_linux_amd64//:node_bin",
Expand Down Expand Up @@ -134,6 +144,16 @@ toolchain(
toolchain_type = ":toolchain_type",
)

toolchain(
name = "node_darwin_arm64_toolchain",
target_compatible_with = [
"@platforms//os:osx",
"@platforms//cpu:aarch64",
],
toolchain = "@nodejs_darwin_arm64_config//:toolchain",
toolchain_type = ":toolchain_type",
)

toolchain(
name = "node_windows_amd64_toolchain",
target_compatible_with = [
Expand Down

0 comments on commit 730e8a5

Please sign in to comment.