diff options
author | Eric Hameleers <alien@slackware.com> | 2017-05-07 20:52:51 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2017-05-07 20:52:51 +0000 |
commit | 0d82a41a713ec56e5b3998a2b2512931f04a660a (patch) | |
tree | 250e0f852d918c19aea992eecc0518cd13b7fb3e /source/current | |
parent | 909b964d2267e3d8a7a4741066622a081ab35e0b (diff) | |
download | multilib-0d82a41a713ec56e5b3998a2b2512931f04a660a.tar.gz multilib-0d82a41a713ec56e5b3998a2b2512931f04a660a.tar.xz |
gcc-multilib: a lot of modification was needed in order to compile the brig, gnat, gfortran and objc compilers
Diffstat (limited to 'source/current')
-rwxr-xr-x | source/current/gcc/gcc-multilib.SlackBuild | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/source/current/gcc/gcc-multilib.SlackBuild b/source/current/gcc/gcc-multilib.SlackBuild index f5d1ab4..5e1b3a7 100755 --- a/source/current/gcc/gcc-multilib.SlackBuild +++ b/source/current/gcc/gcc-multilib.SlackBuild @@ -52,12 +52,17 @@ # efficient on modern CPUs running in 32-bit mode than the alternate i586 # instructions. No need to throw i586 CPUs under the bus (yet). +# Notes by Eric Hameleers, Sun May 7 20:48:17 UTC 2017: +# In order to compile gcc 7 multilib, you will have to create a 'compat32' +# package for Slackware's 'gc' package and install that. If you do not want +# this, then change "--enable-objc-gc \" to "--disable-objc-gc \" below. + PKGNAM=gcc VERSION=${VERSION:-7.1.0} BUILD=${BUILD:-1alien} # How many jobs to run in parallel: -NUMJOBS=" -j7 " +NUMJOBS=" -j 7 " # What do we want to build LANGS=${LANGS:-'ada,brig,c,c++,fortran,go,lto,objc'} @@ -261,13 +266,15 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* fi ) - mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libmudflap - ( cd libmudflap - if [ -r ChangeLog ]; then - cat ChangeLog | head -n 1000 > $PKG1/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog - touch -r ChangeLog $PKG1/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog - fi - ) + if [ -d libmudflap ]; then + mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libmudflap + ( cd libmudflap + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG1/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog + touch -r ChangeLog $PKG1/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog + fi + ) + fi mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libgomp ( cd libgomp @@ -328,6 +335,10 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* # NOTE: For Slackware 15.0, look into removing --with-default-libstdcxx-abi=gcc4-compatible, # which will then require rebuilding all C++ libraries. That is, if there's any benefit. + if [ "$ARCH" = "x86_64" ]; then + export PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/lib/pkgconfig" + fi + LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -350,9 +361,13 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* --enable-libssp \ --enable-lto \ --disable-install-libiberty \ + --enable-gnu-indirect-function \ + --with-linker-hash-style=gnu \ --with-gnu-ld \ --verbose \ --with-arch-directory=$LIB_ARCH \ + --disable-gtktest \ + --disable-werror \ $GCC_ARCHOPTS \ --target=${TARGET} \ --build=${TARGET} \ @@ -369,14 +384,15 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* fi ( cd gcc - make $NUMJOBS gnatlib GNATLIBCFLAGS="$SLKCFLAGS" GNATLIBLDFLAGS="$SLKLDFLAGS" + # No parallel build: + make gnatlib GNATLIBCFLAGS="$SLKCFLAGS" GNATLIBLDFLAGS="$SLKLDFLAGS" # This wants a shared -ladd2line? #make gnatlib-shared LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ - make $NUMJOBS gnattools + make gnattools ) make info @@ -590,7 +606,7 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* mv $PKG1/usr/info/gccgo.info.gz usr/info mkdir -p usr/lib${LIBDIRSUFFIX} mv $PKG1/usr/lib${LIBDIRSUFFIX}/go usr/lib${LIBDIRSUFFIX} - mv $PKG1/usr/lib${LIBDIRSUFFIX}/{libgo.la,libgo.so*,libgobegin.a,libgolibbegin.a} usr/lib${LIBDIRSUFFIX} || exit 1 + mv $PKG1/usr/lib${LIBDIRSUFFIX}/{libgo.la,libgo.so*,libgobegin.a,libgolibbegin.a} usr/lib${LIBDIRSUFFIX} || echo "** Crucial GO libraries were not found **" # Ordinarily Slackware doesn't package static libraries, but in this case # it is useful for deploying compiled binaries on machines that do not yet # have libgo.so.0.0.0. @@ -598,14 +614,14 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* if [ "$ARCH" = "x86_64" ]; then mkdir -p usr/lib mv $PKG1/usr/lib/go usr/lib - mv $PKG1/usr/lib/{libgo.la,libgo.so*,libgobegin.a,libgolibbegin.a} usr/lib || exit 1 + mv $PKG1/usr/lib/{libgo.la,libgo.so*,libgobegin.a,libgolibbegin.a} usr/lib || echo "** Crucial GO libraries were not found **" mv $PKG1/usr/lib/libgo.a usr/lib fi mkdir -p usr/man/man1 mv $PKG1/usr/man/man1/gccgo.1.gz usr/man/man1 mv $PKG1/usr/man/man1/go.1.gz usr/man/man1 mv $PKG1/usr/man/man1/gofmt.1.gz usr/man/man1 -) || exit 1 +) # gcc-brig: ( cd $PKG9 |