12 # First up, build binutils
16 curl https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS.tar.xz | tar xJf -
19 hide_output ../binutils-$BINUTILS/configure --target=$ARCH-sun-solaris2.10
21 hide_output make install
26 # Next, download and install the relevant solaris packages
30 dpkg --add-architecture $APT_ARCH
32 apt-get download $(apt-cache depends --recurse --no-replaces \
35 libpthread-dev:$APT_ARCH \
36 libresolv-dev:$APT_ARCH \
38 libsocket-dev:$APT_ARCH \
39 system-crt:$APT_ARCH \
40 system-header:$APT_ARCH \
43 for deb in *$APT_ARCH.deb; do
47 # Remove Solaris 11 functions that are optionally used by libbacktrace.
48 # This is for Solaris 10 compatibility.
51 --- usr/include/string.h
52 +++ usr/include/string10.h
54 -extern size_t strnlen(const char *, size_t);
57 mkdir /usr/local/$ARCH-sun-solaris2.10/usr
58 mv usr/include /usr/local/$ARCH-sun-solaris2.10/usr/include
59 mv usr/lib/$LIB_ARCH/* /usr/local/$ARCH-sun-solaris2.10/lib
60 mv lib/$LIB_ARCH/* /usr/local/$ARCH-sun-solaris2.10/lib
62 ln -s usr/include /usr/local/$ARCH-sun-solaris2.10/sys-include
63 ln -s usr/include /usr/local/$ARCH-sun-solaris2.10/include
68 # Finally, download and build gcc to target solaris
72 curl https://ftp.gnu.org/gnu/gcc/gcc-$GCC/gcc-$GCC.tar.xz | tar xJf -
77 hide_output ../gcc-$GCC/configure \
78 --enable-languages=c,c++ \
79 --target=$ARCH-sun-solaris2.10 \
85 --disable-libquadmath \
88 --disable-libcilkrts \
90 --disable-libsanitizer \
91 --disable-libquadmath-support \
95 hide_output make install