summaryrefslogtreecommitdiffstats
path: root/source/current
diff options
context:
space:
mode:
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
commit0d82a41a713ec56e5b3998a2b2512931f04a660a (patch)
tree250e0f852d918c19aea992eecc0518cd13b7fb3e /source/current
parent909b964d2267e3d8a7a4741066622a081ab35e0b (diff)
downloadmultilib-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-xsource/current/gcc/gcc-multilib.SlackBuild42
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