summaryrefslogtreecommitdiffstats
path: root/development/gcclegacy494/gcclegacy494.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/gcclegacy494/gcclegacy494.SlackBuild')
-rw-r--r--development/gcclegacy494/gcclegacy494.SlackBuild126
1 files changed, 67 insertions, 59 deletions
diff --git a/development/gcclegacy494/gcclegacy494.SlackBuild b/development/gcclegacy494/gcclegacy494.SlackBuild
index 30cf144162..3e148854f4 100644
--- a/development/gcclegacy494/gcclegacy494.SlackBuild
+++ b/development/gcclegacy494/gcclegacy494.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=gcclegacy494
VERSION=${VERSION:-4.9.4}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
INSTLOC=${INSTLOC:-/opt/$PRGNAM}
@@ -47,58 +47,54 @@ if [ "$ARCH" = "i386" ]; then
LIBDIRSUFFIX=""
LIB_ARCH=i386
elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
- LIB_ARCH=i386
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
- LIB_ARCH=i386
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
- LIB_ARCH=i386
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
- LIB_ARCH=s390
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=s390
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
- LIB_ARCH=amd64
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ LIB_ARCH=amd64
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
- LIB_ARCH=armv7hl
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=armv7hl
else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
- LIB_ARCH=$ARCH
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=$ARCH
fi
-mkdir -p $TMP
-
case "$ARCH" in
arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
*) TARGET=$ARCH-slackware-linux ;;
esac
-if [ "$ARCH" != "x86_64" ]; then
- GCC_ARCHOPTS="--with-arch=$ARCH"
-else
+if [ "$ARCH" = "x86_64" ]; then
GCC_ARCHOPTS="--disable-multilib"
+else
+ GCC_ARCHOPTS="--with-arch=$ARCH"
fi
set -e
-cd $TMP/
-rm -rf gcc-4.9.4/
-tar -xzf $CWD/gcc-4.9.4.tar.gz
-cd gcc-4.9.4
-
-# Do not run fixincludes
-cp -v gcc/Makefile.in{,.orig}
-sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf gcc-$VERSION
+tar xvf $CWD/gcc-$VERSION.tar.gz
+cd gcc-$VERSION
tar xjf $CWD/mpfr-2.4.2.tar.bz2
ln -sf mpfr-2.4.2 mpfr
@@ -109,23 +105,35 @@ ln -sf mpc-0.8.1 mpc
tar xjf $CWD/isl-0.12.2.tar.bz2
ln -sf isl-0.12.2 isl
tar xzf $CWD/cloog-0.18.1.tar.gz
-ln -sf cloog-0.18.1 cloog
+ln -sf cloog-0.18.1 cloog
chown -R root:root .
find -L . \
-\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
-\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Do not run fixincludes
+cp -v gcc/Makefile.in{,.orig}
+sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
+
+# Apply patches if we are compiling against glibc 2.26
+if [ $(ldd --version | head -1) = 'ldd (GNU libc) 2.26' ]; then
+ patch -p1 -i "$CWD/942-asan-fix-missing-include-signal-h.patch"
+ patch -p1 -i "$CWD/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch"
+ patch -p1 -i "$CWD/944-sanitizer-linux.patch"
+ export glibcxx_cv_c99_math=yes
+fi
+
rm -rf $TMP/objdir
mkdir $TMP/objdir
cd $TMP/objdir
-rm -rf $PKG
-mkdir -p $PKG
-CFLAGS="$SLKCFLAGS"
-CXXFLAGS="$SLKCFLAGS"
- $PWD/../gcc-4.9.4/configure --prefix=$INSTLOC \
- --program-suffix=-4.9.4 \
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../gcc-$VERSION/configure --prefix=$INSTLOC \
+ --program-suffix=-$VERSION \
--enable-languages=c,c++ \
--with-system-zlib \
--libdir=$INSTLOC/lib$LIBDIRSUFFIX \
@@ -145,25 +153,25 @@ make DESTDIR=$PKG install-strip
# Thank you to 'idlemoor'
mkdir -p $PKG/usr/bin
-cd /$PKG/usr/bin
+cd $PKG/usr/bin
for COMPILER in gcc g++ ; do
- sed \
- -e "s~%LIBDIRSUFFIX%~$LIBDIRSUFFIX~" \
- -e "s~%COMPILER%~$COMPILER~" \
- -e "s~%INSTLOC%~$INSTLOC~" \
- < $CWD/wrapper.sh \
- > $PKG/usr/bin/$ARCH-slackware-linux-$COMPILER-4.9.4
- chmod ugo+x $PKG/usr/bin/$ARCH-slackware-linux-$COMPILER-4.9.4
+ sed \
+ -e "s~%LIBDIRSUFFIX%~$LIBDIRSUFFIX~" \
+ -e "s~%COMPILER%~$COMPILER~" \
+ -e "s~%INSTLOC%~$INSTLOC~" \
+ < $CWD/wrapper.sh \
+ > $PKG/usr/bin/$ARCH-slackware-linux-$COMPILER-$VERSION
+ chmod ugo+x $PKG/usr/bin/$ARCH-slackware-linux-$COMPILER-$VERSION
done
-ln -s $ARCH-slackware-linux-gcc-4.9.4 $PKG/usr/bin/gcc-4.9.4
-ln -s $ARCH-slackware-linux-g++-4.9.4 $PKG/usr/bin/g++-gcc-4.9.4
+ln -s $ARCH-slackware-linux-gcc-$VERSION $PKG/usr/bin/gcc-$VERSION
+ln -s $ARCH-slackware-linux-g++-$VERSION $PKG/usr/bin/g++-gcc-$VERSION
mv -f $PKG$INSTLOC/share/man $PKG/usr/man
cd $PKG/usr/man/man7
# we do not need these; according to "diff" there is no difference between these files
# and the ones Slackware ships with; except this man page named "gfdl.7"; which shall be
-# saved; and renamed so that it does not conflict with Slackware's.
-find . ! -name 'gfdl.7' -exec rm -rf {} \;
+# saved; and renamed so that it does not conflict with Slackware's.
+find . ! -name 'gfdl.7' -exec rm -rf {} \;
mv gfdl.7 gfdl494.7
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
@@ -172,7 +180,7 @@ mv -f $PKG$INSTLOC/share/info $PKG/usr/info
rm -f $PKG/usr/info/dir
cd $PKG/usr/info
#rename the .info files so they do not conflict with Slackware's own .info files.
-for info in *.info; do mv "$info" "${info%.*}-4.9.4.info"; done
+for info in *.info; do mv "$info" "${info%.*}-$VERSION.info"; done
gzip -9 $PKG/usr/info/*.info*
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION