Skip to content

Commit 7df6299

Browse files
committed
wip
1 parent e5ffb57 commit 7df6299

File tree

8 files changed

+232
-53
lines changed

8 files changed

+232
-53
lines changed

.github/workflows/ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ jobs:
288288
- name: x86_64-gnu-aux
289289
os: ubuntu-20.04-4core-16gb
290290
env: {}
291+
- name: x86_64-gnu-experimental
292+
os: ubuntu-20.04-16core-64gb
293+
env: {}
291294
- name: x86_64-gnu-debug
292295
os: ubuntu-20.04-8core-32gb
293296
env: {}

src/bootstrap/mk/Makefile.in

+9
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,15 @@ check-aux:
5252
src/tools/cargo \
5353
src/tools/cargotest \
5454
$(BOOTSTRAP_ARGS)
55+
check-fuchsia:
56+
mkdir -p $(RUST_INSTALL_DIR)/etc
57+
$(Q)$(BOOTSTRAP) install --stage 1 \
58+
compiler/rustc \
59+
library/std
60+
$(Q)$(BOOTSTRAP) test --stage 2 \
61+
src/tools/cargotest \
62+
--test-args=fuchsia \
63+
$(BOOTSTRAP_ARGS)
5564
dist:
5665
$(Q)$(BOOTSTRAP) dist $(BOOTSTRAP_ARGS)
5766
distcheck:

src/bootstrap/src/core/build_steps/compile.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1711,7 +1711,7 @@ impl Step for Assemble {
17111711
let dst_exe = exe("rust-lld", target_compiler.host);
17121712
builder.copy(&lld_install.join("bin").join(&src_exe), &libdir_bin.join(&dst_exe));
17131713
let self_contained_lld_dir = libdir_bin.join("gcc-ld");
1714-
t!(fs::create_dir(&self_contained_lld_dir));
1714+
t!(fs::create_dir_all(&self_contained_lld_dir));
17151715
let lld_wrapper_exe = builder.ensure(crate::core::build_steps::tool::LldWrapper {
17161716
compiler: build_compiler,
17171717
target: target_compiler.host,

src/ci/docker/host-x86_64/dist-various-2/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ RUN env \
8080

8181
WORKDIR /tmp
8282
COPY host-x86_64/dist-various-2/shared.sh /tmp/
83-
COPY host-x86_64/dist-various-2/build-fuchsia-toolchain.sh /tmp/
83+
COPY scripts/build-fuchsia-toolchain.sh /tmp/
8484
RUN /tmp/build-fuchsia-toolchain.sh
8585
COPY host-x86_64/dist-various-2/build-solaris-toolchain.sh /tmp/
8686
RUN /tmp/build-solaris-toolchain.sh x86_64 amd64 solaris-i386 pc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
FROM ubuntu:22.04
2+
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
RUN apt-get update && apt-get install -y --no-install-recommends \
5+
build-essential \
6+
gawk \
7+
g++ \
8+
make \
9+
ninja-build \
10+
file \
11+
curl \
12+
ca-certificates \
13+
python3 \
14+
git \
15+
cmake \
16+
libssl-dev \
17+
sudo \
18+
time \
19+
xz-utils \
20+
pkg-config \
21+
unzip \
22+
&& rm -rf /var/lib/apt/lists/*
23+
24+
ENV \
25+
AR_x86_64_unknown_fuchsia=x86_64-unknown-fuchsia-ar \
26+
CC_x86_64_unknown_fuchsia=x86_64-unknown-fuchsia-clang \
27+
CFLAGS_x86_64_unknown_fuchsia="--target=x86_64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot -I/usr/local/core-linux-amd64-fuchsia-sdk/pkg/fdio/include" \
28+
CXX_x86_64_unknown_fuchsia=x86_64-unknown-fuchsia-clang++ \
29+
CXXFLAGS_x86_64_unknown_fuchsia="--target=x86_64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot -I/usr/local/core-linux-amd64-fuchsia-sdk/pkg/fdio/include" \
30+
LDFLAGS_x86_64_unknown_fuchsia="--target=x86_64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot -L/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/lib" \
31+
AR_x86_64_fuchsia=x86_64-unknown-fuchsia-ar \
32+
CC_x86_64_fuchsia=x86_64-unknown-fuchsia-clang \
33+
CFLAGS_x86_64_fuchsia="--target=x86_64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot -I/usr/local/core-linux-amd64-fuchsia-sdk/pkg/fdio/include" \
34+
CXX_x86_64_fuchsia=x86_64-unknown-fuchsia-clang++ \
35+
CXXFLAGS_x86_64_fuchsia="--target=x86_64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot -I/usr/local/core-linux-amd64-fuchsia-sdk/pkg/fdio/include" \
36+
LDFLAGS_x86_64_fuchsia="--target=x86_64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot -L/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/lib"
37+
# AR_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-ar \
38+
# CC_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-clang \
39+
# CFLAGS_aarch64_unknown_fuchsia="--target=aarch64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot -I/usr/local/core-linux-amd64-fuchsia-sdk/pkg/fdio/include" \
40+
# CXX_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-clang++ \
41+
# CXXFLAGS_aarch64_unknown_fuchsia="--target=aarch64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot -I/usr/local/core-linux-amd64-fuchsia-sdk/pkg/fdio/include" \
42+
# LDFLAGS_aarch64_unknown_fuchsia="--target=aarch64-unknown-fuchsia --sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot -L/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/lib"
43+
44+
WORKDIR /tmp
45+
COPY scripts/build-fuchsia-toolchain.sh /tmp/
46+
RUN /tmp/build-fuchsia-toolchain.sh
47+
48+
# TODO move to canonical triple
49+
# TODO move to canonical triple
50+
ENV CARGO_TARGET_X86_64_UNKNOWN_FUCHSIA_AR /usr/local/bin/llvm-ar
51+
ENV CARGO_TARGET_X86_64_UNKNOWN_FUCHSIA_RUSTFLAGS \
52+
-C link-arg=--sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot \
53+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot/lib \
54+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/lib
55+
ENV CARGO_TARGET_AARCH64_UNKNOWN_FUCHSIA_AR /usr/local/bin/llvm-ar
56+
ENV CARGO_TARGET_AARCH64_UNKNOWN_FUCHSIA_RUSTFLAGS \
57+
-C link-arg=--sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot \
58+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot/lib \
59+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/lib
60+
ENV CARGO_TARGET_X86_64_FUCHSIA_AR /usr/local/bin/llvm-ar
61+
ENV CARGO_TARGET_X86_64_FUCHSIA_RUSTFLAGS \
62+
-C link-arg=--sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot \
63+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/sysroot/lib \
64+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/x64/lib
65+
ENV CARGO_TARGET_AARCH64_FUCHSIA_AR /usr/local/bin/llvm-ar
66+
ENV CARGO_TARGET_AARCH64_FUCHSIA_RUSTFLAGS \
67+
-C link-arg=--sysroot=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot \
68+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/sysroot/lib \
69+
-Lnative=/usr/local/core-linux-amd64-fuchsia-sdk/arch/arm64/lib
70+
71+
ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS -Clink-arg=-static-libstdc++
72+
73+
ENV TARGETS=x86_64-fuchsia
74+
#ENV TARGETS=$TARGETS,aarch64-unknown-fuchsia
75+
#ENV TARGETS=$TARGETS,x86_64-fuchsia
76+
#ENV TARGETS=$TARGETS,aarch64-fuchsia
77+
ENV TARGETS=$TARGETS,x86_64-unknown-linux-gnu
78+
79+
COPY scripts/sccache.sh /scripts/
80+
RUN sh /scripts/sccache.sh
81+
82+
#RUN mkdir -p /tmp/install/etc
83+
ENV RUST_INSTALL_DIR /checkout/obj/install
84+
85+
# --enable-extended --disable-docs
86+
ENV RUST_CONFIGURE_ARGS --prefix=$RUST_INSTALL_DIR --sysconfdir=etc --enable-lld --llvm-libunwind=in-tree --enable-extended --disable-docs
87+
#ENV CARGOFLAGS -Ztarget-applies-to-host
88+
#ENV RUSTC_BOOTSTRAP 1
89+
ENV SCRIPT \
90+
python3 ../x.py install --target $TARGETS compiler/rustc library/std clippy && \
91+
python3 ../x.py test src/tools/cargotest
92+

src/ci/docker/host-x86_64/dist-various-2/build-fuchsia-toolchain.sh renamed to src/ci/docker/scripts/build-fuchsia-toolchain.sh

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,22 @@
11
#!/usr/bin/env bash
2+
hide_output() {
3+
{ set +x; } 2>/dev/null
4+
on_err="
5+
echo ERROR: An error was encountered with the build.
6+
cat /tmp/build.log
7+
exit 1
8+
"
9+
trap "$on_err" ERR
10+
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
11+
PING_LOOP_PID=$!
12+
"$@" &> /tmp/build.log
13+
trap - ERR
14+
kill $PING_LOOP_PID
15+
set -x
16+
}
217

318
set -ex
4-
source shared.sh
19+
#source shared.sh
520

621
FUCHSIA_SDK_URL=https://chrome-infra-packages.appspot.com/dl/fuchsia/sdk/core/linux-amd64
722
FUCHSIA_SDK_ID=4xjxrGUrDbQ6_zJwj6cDN1IbWsWV5aCQXC_zO_Hu0XkC

src/ci/github-actions/ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,9 @@ jobs:
470470
- name: x86_64-gnu-aux
471471
<<: *job-linux-4c
472472

473+
- name: x86_64-gnu-experimental
474+
<<: *job-linux-16c
475+
473476
- name: x86_64-gnu-debug
474477
<<: *job-linux-8c
475478

0 commit comments

Comments
 (0)