diff options
author | khronosschoty <khronosschoty@posteo.org> | 2017-11-16 02:23:40 +0000 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2017-11-18 12:40:28 +0700 |
commit | 6f184386f29057548fc71bac170e885e71defe4a (patch) | |
tree | 781e7dbee758f9014067351f8a81cb9887de3132 /development/gcclegacy494/gcclegacy494.SlackBuild | |
parent | 2a57e2ce7dec54a5184691e4e00312191d93e0ac (diff) |
development/gcclegacy494: Patched for glibc-2.26 (-current).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
Diffstat (limited to 'development/gcclegacy494/gcclegacy494.SlackBuild')
-rw-r--r-- | development/gcclegacy494/gcclegacy494.SlackBuild | 126 |
1 files changed, 67 insertions, 59 deletions
diff --git a/development/gcclegacy494/gcclegacy494.SlackBuild b/development/gcclegacy494/gcclegacy494.SlackBuild index 30cf144162776..3e148854f43bb 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 |