Skip to content

Commit d5925a8

Browse files
committed
build dist for x86_64-pc-solaris and sparcv9-sun-solaris
1 parent c02a4f0 commit d5925a8

File tree

9 files changed

+297
-152
lines changed

9 files changed

+297
-152
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM ubuntu:22.04
2+
3+
# Enable source repositories, which are disabled by default on Ubuntu >= 18.04
4+
RUN sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list
5+
6+
COPY scripts/cross-apt-packages.sh /tmp/
7+
RUN bash /tmp/cross-apt-packages.sh
8+
9+
# Required for cross-build gcc, and we install python3 to test general compatibility.
10+
RUN apt-get update && \
11+
apt-get install -y --no-install-recommends \
12+
libgmp-dev \
13+
libmpfr-dev \
14+
libmpc-dev \
15+
python3 \
16+
&& rm -rf /var/lib/apt/lists/*
17+
18+
COPY scripts/shared.sh /tmp/
19+
COPY scripts/solaris-toolchain.sh /tmp/
20+
21+
RUN bash /tmp/solaris-toolchain.sh sparcv9 sysroot
22+
RUN bash /tmp/solaris-toolchain.sh sparcv9 binutils
23+
RUN bash /tmp/solaris-toolchain.sh sparcv9 gcc
24+
25+
COPY scripts/sccache.sh /scripts/
26+
RUN sh /scripts/sccache.sh
27+
28+
COPY scripts/cmake.sh /scripts/
29+
RUN /scripts/cmake.sh
30+
31+
ENV \
32+
AR_sparcv9_sun_solaris=sparcv9-solaris-ar \
33+
RANLIB_sparcv9_sun_solaris=sparcv9-solaris-ranlib \
34+
CC_sparcv9_sun_solaris=sparcv9-solaris-gcc \
35+
CXX_sparcv9_sun_solaris=sparcv9-solaris-g++
36+
37+
ENV HOSTS=sparcv9-sun-solaris
38+
39+
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
40+
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS

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

-11
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,6 @@ ENV \
4343
CXX_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-clang++ \
4444
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" \
4545
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" \
46-
AR_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-ar \
47-
CC_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-gcc \
48-
CXX_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-g++ \
49-
AR_x86_64_pc_solaris=x86_64-pc-solaris2.10-ar \
50-
CC_x86_64_pc_solaris=x86_64-pc-solaris2.10-gcc \
51-
CXX_x86_64_pc_solaris=x86_64-pc-solaris2.10-g++ \
5246
CC_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-gcc-9 \
5347
CXX_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-g++-9 \
5448
AR_x86_64_fortanix_unknown_sgx=ar \
@@ -84,9 +78,6 @@ WORKDIR /tmp
8478
COPY scripts/shared.sh /tmp/
8579
COPY scripts/build-fuchsia-toolchain.sh /tmp/
8680
RUN /tmp/build-fuchsia-toolchain.sh
87-
COPY host-x86_64/dist-various-2/build-solaris-toolchain.sh /tmp/
88-
RUN /tmp/build-solaris-toolchain.sh x86_64 amd64 solaris-i386 pc
89-
RUN /tmp/build-solaris-toolchain.sh sparcv9 sparcv9 solaris-sparc sun
9081
COPY host-x86_64/dist-various-2/build-x86_64-fortanix-unknown-sgx-toolchain.sh /tmp/
9182
RUN /tmp/build-x86_64-fortanix-unknown-sgx-toolchain.sh
9283

@@ -118,8 +109,6 @@ ENV TARGETS=$TARGETS,wasm32-wasip1
118109
ENV TARGETS=$TARGETS,wasm32-wasip1-threads
119110
ENV TARGETS=$TARGETS,wasm32-wasip2
120111
ENV TARGETS=$TARGETS,wasm32v1-none
121-
ENV TARGETS=$TARGETS,sparcv9-sun-solaris
122-
ENV TARGETS=$TARGETS,x86_64-pc-solaris
123112
ENV TARGETS=$TARGETS,x86_64-unknown-linux-gnux32
124113
ENV TARGETS=$TARGETS,x86_64-fortanix-unknown-sgx
125114
ENV TARGETS=$TARGETS,nvptx64-nvidia-cuda

src/ci/docker/host-x86_64/dist-various-2/build-solaris-toolchain.sh

-111
This file was deleted.

src/ci/docker/host-x86_64/dist-x86_64-illumos/Dockerfile

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ RUN apt-get update && \
1515
python2.7 \
1616
&& rm -rf /var/lib/apt/lists/*
1717

18+
COPY scripts/shared.sh /tmp/
1819
COPY scripts/illumos-toolchain.sh /tmp/
1920

2021
RUN bash /tmp/illumos-toolchain.sh x86_64 sysroot
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM ubuntu:22.04
2+
3+
# Enable source repositories, which are disabled by default on Ubuntu >= 18.04
4+
RUN sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list
5+
6+
COPY scripts/cross-apt-packages.sh /tmp/
7+
RUN bash /tmp/cross-apt-packages.sh
8+
9+
# Required for cross-build gcc, and we install python3 to test general compatibility.
10+
RUN apt-get update && \
11+
apt-get install -y --no-install-recommends \
12+
libgmp-dev \
13+
libmpfr-dev \
14+
libmpc-dev \
15+
python3 \
16+
&& rm -rf /var/lib/apt/lists/*
17+
18+
COPY scripts/shared.sh /tmp/
19+
COPY scripts/solaris-toolchain.sh /tmp/
20+
21+
RUN bash /tmp/solaris-toolchain.sh x86_64 sysroot
22+
RUN bash /tmp/solaris-toolchain.sh x86_64 binutils
23+
RUN bash /tmp/solaris-toolchain.sh x86_64 gcc
24+
25+
COPY scripts/sccache.sh /scripts/
26+
RUN sh /scripts/sccache.sh
27+
28+
COPY scripts/cmake.sh /scripts/
29+
RUN /scripts/cmake.sh
30+
31+
ENV \
32+
AR_x86_64_pc_solaris=x86_64-solaris-ar \
33+
RANLIB_x86_64_pc_solaris=x86_64-solaris-ranlib \
34+
CC_x86_64_pc_solaris=x86_64-solaris-gcc \
35+
CXX_x86_64_pc_solaris=x86_64-solaris-g++
36+
37+
ENV HOSTS=x86_64-pc-solaris
38+
39+
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
40+
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS

src/ci/docker/scripts/illumos-toolchain.sh

+2-30
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ set -o errexit
44
set -o pipefail
55
set -o xtrace
66

7+
source /tmp/shared.sh
8+
79
ARCH="$1"
810
PHASE="$2"
911

@@ -59,36 +61,6 @@ BINUTILS_TAR="$BINUTILS_BASE.tar.bz2"
5961
BINUTILS_URL="https://ftp.gnu.org/gnu/binutils/$BINUTILS_TAR"
6062

6163

62-
download_file() {
63-
local file="$1"
64-
local url="$2"
65-
local sum="$3"
66-
67-
while :; do
68-
if [[ -f "$file" ]]; then
69-
if ! h="$(sha256sum "$file" | awk '{ print $1 }')"; then
70-
printf 'ERROR: reading hash\n' >&2
71-
exit 1
72-
fi
73-
74-
if [[ "$h" == "$sum" ]]; then
75-
return 0
76-
fi
77-
78-
printf 'WARNING: hash mismatch: %s != expected %s\n' \
79-
"$h" "$sum" >&2
80-
rm -f "$file"
81-
fi
82-
83-
printf 'Downloading: %s\n' "$url"
84-
if ! curl -f -L -o "$file" "$url"; then
85-
rm -f "$file"
86-
sleep 1
87-
fi
88-
done
89-
}
90-
91-
9264
case "$PHASE" in
9365
sysroot)
9466
download_file "/tmp/$SYSROOT_TAR" "$SYSROOT_URL" "$SYSROOT_SUM"

src/ci/docker/scripts/shared.sh

+29
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,32 @@ function retry {
4040
}
4141
done
4242
}
43+
44+
download_file() {
45+
local file="$1"
46+
local url="$2"
47+
local sum="$3"
48+
49+
while :; do
50+
if [[ -f "$file" ]]; then
51+
if ! h="$(sha256sum "$file" | awk '{ print $1 }')"; then
52+
printf 'ERROR: reading hash\n' >&2
53+
exit 1
54+
fi
55+
56+
if [[ "$h" == "$sum" ]]; then
57+
return 0
58+
fi
59+
60+
printf 'WARNING: hash mismatch: %s != expected %s\n' \
61+
"$h" "$sum" >&2
62+
rm -f "$file"
63+
fi
64+
65+
printf 'Downloading: %s\n' "$url"
66+
if ! curl -f -L -o "$file" "$url"; then
67+
rm -f "$file"
68+
sleep 1
69+
fi
70+
done
71+
}

0 commit comments

Comments
 (0)