Skip to content

Commit 8b52bb0

Browse files
committed
Swift: build x86_64 on arm64 macOS
This is a temporary workaround. At a later stage we will add * a Swift/LLVM prebuilt package for arm64 * universal binary for the extractor
1 parent 4a02505 commit 8b52bb0

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

swift/rules.bzl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ def _wrap_cc(rule, kwargs):
55
_add_args(kwargs, "copts", [
66
# Required by LLVM/Swift
77
"-fno-rtti",
8-
])
8+
] + select({
9+
# temporary, before we do universal merging and have an arm prebuilt package, we make arm build x86
10+
"@platforms//os:macos": ["-arch=x86_64"],
11+
"//conditions:default": [],
12+
}))
913
_add_args(kwargs, "features", [
1014
# temporary, before we do universal merging
1115
"-universal_binaries",

swift/tools/prebuilt/BUILD.bazel

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
package(default_visibility = ["//swift:__subpackages__"])
22

3+
#TODO we will be introducing universal binaries at a later stage, when we have both architectures prebuilt for macOS
4+
# for the moment, we make arm build an x86_64 binary
5+
_arch_override = {
6+
"darwin_arm64": "darwin_x86_64",
7+
}
8+
39
[
410
alias(
511
name = name,
612
actual = select({
7-
"@bazel_tools//src/conditions:%s" % arch: "@swift_prebuilt_%s//:%s" % (arch, name)
13+
"@bazel_tools//src/conditions:%s" % arch: "@swift_prebuilt_%s//:%s" % (
14+
_arch_override.get(arch, arch),
15+
name,
16+
)
817
for arch in ("linux", "darwin_x86_64", "darwin_arm64")
918
}),
10-
) for name in ("swift-llvm-support", "swift-test-sdk")
19+
)
20+
for name in ("swift-llvm-support", "swift-test-sdk")
1121
]

0 commit comments

Comments
 (0)