aboutsummaryrefslogtreecommitdiff
path: root/i686/gcc/build
diff options
context:
space:
mode:
Diffstat (limited to 'i686/gcc/build')
-rwxr-xr-xi686/gcc/build60
1 files changed, 60 insertions, 0 deletions
diff --git a/i686/gcc/build b/i686/gcc/build
new file mode 100755
index 00000000..e0f912e7
--- /dev/null
+++ b/i686/gcc/build
@@ -0,0 +1,60 @@
+#!/bin/sh -e
+
+# Make sure gmp is built with generic options.
+cp gcc/gmp/configfsf.guess gcc/gmp/config.guess
+cp gcc/gmp/configfsf.sub gcc/gmp/config.sub
+
+# Build must happen outside of gcc source.
+mkdir -p gcc-build
+cd gcc-build
+
+export libat_cv_have_ifunc=no
+
+../gcc/configure \
+ --prefix=/usr \
+ --disable-multilib \
+ --disable-symvers \
+ --disable-libmpx \
+ --disable-libmudflap \
+ --disable-libsanitizer \
+ --disable-werror \
+ --disable-fixed-point \
+ --disable-libstdcxx-pch \
+ --disable-nls \
+ --without-included-gettext \
+ --enable-checking=release \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-system-zlib \
+ --enable-__cxa_atexit \
+ --enable-default-pie \
+ --enable-default-ssp \
+ --enable-shared \
+ --enable-threads \
+ --enable-tls \
+ --enable-languages=c,c++ \
+ --build=i686-pc-linux-musl \
+ --disable-bootstrap
+
+make
+make DESTDIR="$1" install
+
+# Save 35MB.
+find "$1" -name libgtkpeer.a -exec rm -f {} +
+find "$1" -name libgjsmalsa.a -exec rm -f {} +
+find "$1" -name libgij.a -exec rm -f {} +
+
+# Some legacy programs will expect cc
+ln -s gcc "$1/usr/bin/cc"
+
+# POSIX compliance.
+install -Dm755 ../c99 "$1/usr/bin/c99"
+
+# Symlink for LTO.
+{
+ mkdir -p "$1/usr/lib/bfd-plugins"
+
+ ln -s /usr/libexec/gcc/i686-pc-linux-musl/9.2.0/liblto_plugin.so \
+ "$1/usr/lib/bfd-plugins/liblto_plugin.so"
+}
+