Skip to content

Commit 7451d08

Browse files
committed
WIP2
1 parent 8472797 commit 7451d08

File tree

4 files changed

+41
-21
lines changed

4 files changed

+41
-21
lines changed

examples/cross_compile/BUILD.bazel

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ load("//tools:infer_test.bzl", "infer_test")
44

55
PLATFORMS = [
66
"aarch64-apple-darwin",
7-
"aarch64-pc-windows-msvc",
8-
"aarch64-unknown-linux-gnu",
7+
"aarch64-unknown-linux-musl",
98
"wasm32-wasip1",
9+
"x86_64-unknown-linux-musl",
10+
11+
# TODO: Windows requires additional libraries at link time for
12+
# cross-compilation. A workaround is needed.
13+
"aarch64-pc-windows-msvc",
1014
"x86_64-pc-windows-msvc",
11-
"x86_64-unknown-linux-gnu",
1215
]
1316

1417
rust_library(
@@ -35,11 +38,11 @@ rust_library(
3538
type = {
3639
"aarch64-apple-darwin": "application/x-mach-binary",
3740
"aarch64-pc-windows-msvc": "application/x-mach-binary",
38-
"aarch64-unknown-linux-gnu": "application/elf-binary",
41+
"aarch64-unknown-linux-musl": "application/x-executable",
3942
"wasm32-wasip1": "application/wasm",
4043
"x86_64-pc-windows-msvc": "application/x-mach-binary",
41-
"x86_64-unknown-linux-gnu": "application/elf-binary",
42-
}.get(platform, "unknown"),
44+
"x86_64-unknown-linux-musl": "application/x-executable",
45+
}.get(platform, platform),
4346
)
4447
for platform in PLATFORMS
4548
]

examples/cross_compile/MODULE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ rust.toolchain(
2222
extra_target_triples = [
2323
"aarch64-apple-darwin",
2424
"aarch64-pc-windows-msvc",
25-
"aarch64-unknown-linux-gnu",
25+
"aarch64-unknown-linux-musl",
2626
"wasm32-unknown-unknown",
2727
"wasm32-wasip1",
2828
"wasm32-wasip2",
2929
"x86_64-apple-darwin",
3030
"x86_64-pc-windows-msvc",
31-
"x86_64-unknown-linux-gnu",
31+
"x86_64-unknown-linux-musl",
3232
],
3333
versions = [RUST_VERSION],
3434
)

examples/cross_compile/platforms/BUILD.bazel

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,22 @@ platform(
1616
],
1717
)
1818

19+
platform(
20+
name = "aarch64-unknown-linux-musl",
21+
constraint_values = [
22+
"@platforms//os:linux",
23+
"@platforms//cpu:aarch64",
24+
],
25+
)
26+
27+
platform(
28+
name = "x86_64-unknown-linux-musl",
29+
constraint_values = [
30+
"@platforms//os:linux",
31+
"@platforms//cpu:aarch64",
32+
],
33+
)
34+
1935
platform(
2036
name = "aarch64-apple-darwin",
2137
constraint_values = [

rust/private/rust_allocator_libraries.bzl

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,22 @@ def make_libstd_and_allocator_ccinfo(
8989

9090
# Include C++ toolchain files as additional inputs for cross-compilation scenarios
9191
additional_inputs = []
92-
if cc_toolchain and cc_toolchain.all_files:
93-
additional_inputs = cc_toolchain.all_files.to_list()
92+
if cc_toolchain:
93+
if cc_toolchain.all_files:
94+
additional_inputs = cc_toolchain.all_files.to_list()
9495

95-
linking_context, _linking_outputs = cc_common.create_linking_context_from_compilation_outputs(
96-
name = label.name,
97-
actions = actions,
98-
feature_configuration = feature_configuration,
99-
cc_toolchain = cc_toolchain,
100-
compilation_outputs = compilation_outputs,
101-
additional_inputs = additional_inputs,
102-
)
96+
linking_context, _linking_outputs = cc_common.create_linking_context_from_compilation_outputs(
97+
name = label.name,
98+
actions = actions,
99+
feature_configuration = feature_configuration,
100+
cc_toolchain = cc_toolchain,
101+
compilation_outputs = compilation_outputs,
102+
additional_inputs = additional_inputs,
103+
)
103104

104-
cc_infos.append(CcInfo(
105-
linking_context = linking_context,
106-
))
105+
cc_infos.append(CcInfo(
106+
linking_context = linking_context,
107+
))
107108

108109
if rust_stdlib_info.std_rlibs:
109110
allocator_library_inputs = []

0 commit comments

Comments
 (0)