File tree Expand file tree Collapse file tree
host-aarch64/dist-aarch64-freebsd Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ FROM ubuntu:22.04
2+
3+ RUN apt-get update && apt-get install -y --no-install-recommends \
4+ clang \
5+ make \
6+ ninja-build \
7+ file \
8+ curl \
9+ ca-certificates \
10+ python3 \
11+ git \
12+ cmake \
13+ sudo \
14+ bzip2 \
15+ xz-utils \
16+ texinfo \
17+ wget \
18+ libssl-dev \
19+ pkg-config \
20+ && rm -rf /var/lib/apt/lists/*
21+
22+ COPY scripts/freebsd-toolchain.sh /tmp/
23+ RUN /tmp/freebsd-toolchain.sh aarch64
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_aarch64_unknown_freebsd=aarch64-unknown-freebsd13-ar \
33+ CC_aarch64_unknown_freebsd=aarch64-unknown-freebsd13-clang \
34+ CXX_aarch64_unknown_freebsd=aarch64-unknown-freebsd13-clang++
35+
36+ ENV HOSTS=aarch64-unknown-freebsd
37+
38+ ENV RUST_CONFIGURE_ARGS \
39+ --enable-full-tools \
40+ --enable-extended \
41+ --enable-profiler \
42+ --enable-sanitizers \
43+ --disable-docs
44+
45+ ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
46+
Original file line number Diff line number Diff line change @@ -5,8 +5,16 @@ set -eux
55
66arch=$1
77binutils_version=2.40
8- freebsd_version=12.3
9- triple=$arch -unknown-freebsd12
8+ case $arch in
9+ (aarch64)
10+ freebsd_version=13.5
11+ triple=$arch -unknown-freebsd13
12+ ;;
13+ (* )
14+ freebsd_version=12.3
15+ triple=$arch -unknown-freebsd12
16+ ;;
17+ esac
1018sysroot=/usr/local/$triple
1119
1220hide_output () {
@@ -45,6 +53,7 @@ mkdir -p "$sysroot"
4553case $arch in
4654 (x86_64) freebsd_arch=amd64 ;;
4755 (i686) freebsd_arch=i386 ;;
56+ (aarch64) freebsd_arch=arm64 ;;
4857esac
4958
5059files_to_extract=(
6170
6271# Originally downloaded from:
6372# URL=https://download.freebsd.org/ftp/releases/${freebsd_arch}/${freebsd_version}-RELEASE/base.txz
64- URL=https://ci-mirrors.rust-lang.org/rustc/2022-05-06-freebsd-${freebsd_version} -${freebsd_arch} -base.txz
73+ # FIXME: Switch to fully using the mirror once arm64 is available there
74+ case $arch in
75+ (aarch64)
76+ URL=https://download.freebsd.org/ftp/releases/${freebsd_arch} /${freebsd_version} -RELEASE/base.txz
77+ ;;
78+ (* )
79+ URL=https://ci-mirrors.rust-lang.org/rustc/2022-05-06-freebsd-${freebsd_version} -${freebsd_arch} -base.txz
80+ ;;
81+ esac
6582curl " $URL " | tar xJf - -C " $sysroot " --wildcards " ${files_to_extract[@]} "
6683
6784# Clang can do cross-builds out of the box, if we give it the right
You can’t perform that action at this time.
0 commit comments