Skip to content
This repository was archived by the owner on Nov 21, 2018. It is now read-only.

Commit 51187ee

Browse files
committed
Merge pull request #94 from japaric/freebsd32
linux-cross: install toochain for 32-bit freebsd
2 parents 54ec38e + e64fe5f commit 51187ee

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

slaves/linux-cross/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ RUN \
117117
done
118118

119119
COPY linux-cross/build_freebsd_toolchain.sh /tmp/
120-
RUN bash /tmp/build_freebsd_toolchain.sh
120+
RUN bash /tmp/build_freebsd_toolchain.sh i686
121+
RUN bash /tmp/build_freebsd_toolchain.sh x86_64
121122
COPY linux-cross/build_netbsd_toolchain.sh /tmp/
122123
RUN bash /tmp/build_netbsd_toolchain.sh
123124

@@ -129,6 +130,9 @@ ENV AR_armv7_unknown_linux_gnueabihf=armv7-linux-gnueabihf-ar \
129130
AR_x86_64_unknown_freebsd=x86_64-unknown-freebsd10-ar \
130131
CC_x86_64_unknown_freebsd=x86_64-unknown-freebsd10-gcc \
131132
CXX_x86_64_unknown_freebsd=x86_64-unknown-freebsd10-g++ \
133+
AR_i686_unknown_freebsd=i686-unknown-freebsd10-ar \
134+
CC_i686_unknown_freebsd=i686-unknown-freebsd10-gcc \
135+
CXX_i686_unknown_freebsd=i686-unknown-freebsd10-g++ \
132136
AR_x86_64_unknown_netbsd=x86_64-unknown-netbsd-ar \
133137
CC_x86_64_unknown_netbsd=x86_64-unknown-netbsd-gcc \
134138
CXX_x86_64_unknown_netbsd=x86_64-unknown-netbsd-g++ \

slaves/linux-cross/build_freebsd_toolchain.sh

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
set -ex
44

5+
ARCH=$1
56
BINUTILS=2.25.1
67
GCC=5.3.0
78

@@ -13,7 +14,7 @@ curl https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS.tar.bz2 | tar xjf -
1314
mkdir binutils-build
1415
cd binutils-build
1516
../binutils-$BINUTILS/configure \
16-
--target=x86_64-unknown-freebsd10
17+
--target=$ARCH-unknown-freebsd10
1718
make -j10
1819
make install
1920
cd ../..
@@ -22,10 +23,17 @@ rm -rf binutils
2223
# Next, download the FreeBSD libc and relevant header files
2324

2425
mkdir freebsd
25-
curl ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.2-RELEASE/base.txz | \
26-
tar xJf - -C freebsd ./usr/include ./usr/lib ./lib
26+
case "$ARCH" in
27+
x86_64)
28+
URL=ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.2-RELEASE/base.txz
29+
;;
30+
i686)
31+
URL=ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.2-RELEASE/base.txz
32+
;;
33+
esac
34+
curl $URL | tar xJf - -C freebsd ./usr/include ./usr/lib ./lib
2735

28-
dst=/usr/local/x86_64-unknown-freebsd10
36+
dst=/usr/local/$ARCH-unknown-freebsd10
2937

3038
cp -r freebsd/usr/include $dst/
3139
cp freebsd/usr/lib/crt1.o $dst/lib
@@ -61,7 +69,7 @@ mkdir ../gcc-build
6169
cd ../gcc-build
6270
../gcc-$GCC/configure \
6371
--enable-languages=c,c++ \
64-
--target=x86_64-unknown-freebsd10 \
72+
--target=$ARCH-unknown-freebsd10 \
6573
--disable-multilib \
6674
--disable-nls \
6775
--disable-libgomp \

0 commit comments

Comments
 (0)