summaryrefslogtreecommitdiffstats
path: root/source/d/gcc
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2012-09-26 01:10:42 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:51:55 +0200
commit9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch)
treeb428a16618e36ed864a8d76ea3435e19a452bf90 /source/d/gcc
parent75a4a592e5ccda30715f93563d741b83e0dcf39e (diff)
downloadcurrent-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz
current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.xz
Slackware 14.0slackware-14.0
Wed Sep 26 01:10:42 UTC 2012 Slackware 14.0 x86_64 stable is released! We're perfectionists here at Slackware, so this release has been a long time a-brewing. But we think you'll agree that it was worth the wait. Slackware 14.0 combines modern components, ease of use, and flexible configuration... our "KISS" philosophy demands it. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Thanks to everyone who helped make this happen. The Slackware team, the upstream developers, and (of course) the awesome Slackware user community. Have fun! :-)
Diffstat (limited to 'source/d/gcc')
-rw-r--r--source/d/gcc/antlr-runtime-3.4.jarbin0 -> 164368 bytes
-rw-r--r--source/d/gcc/create_gcj_jvm.sh93
-rw-r--r--source/d/gcc/ecj.sh5
-rw-r--r--source/d/gcc/gcc-4.7.1.adalib.pic.diff40
-rwxr-xr-xsource/d/gcc/gcc.SlackBuild144
-rw-r--r--source/d/gcc/slack-desc.gcc-gfortran16
-rw-r--r--source/d/gcc/slack-desc.gcc-go19
7 files changed, 285 insertions, 32 deletions
diff --git a/source/d/gcc/antlr-runtime-3.4.jar b/source/d/gcc/antlr-runtime-3.4.jar
new file mode 100644
index 000000000..865a537b0
--- /dev/null
+++ b/source/d/gcc/antlr-runtime-3.4.jar
Binary files differ
diff --git a/source/d/gcc/create_gcj_jvm.sh b/source/d/gcc/create_gcj_jvm.sh
new file mode 100644
index 000000000..d1011860f
--- /dev/null
+++ b/source/d/gcc/create_gcj_jvm.sh
@@ -0,0 +1,93 @@
+# ---------------------------------------------------------------------------
+# This script creates a directory structure below /usr/lib/jvm and populates
+# it with symlinks to GCC binaries.
+# This will work as a compatibility layer to emulate an Oracle JDK/JRE.
+# This emulation is required in order to compile OpenJDK using GNU java.
+#
+# The same can automatically be achieved in Slackware's gcc packages if
+# the 'configure' command is called with the following additional parameters:
+# --enable-java-home \
+# --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \
+# --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \
+# --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \
+# --with-arch-directory=$LIB_ARCH \
+#
+# Author: Eric Hameleers <alien@slackware.com> December 2011
+# ---------------------------------------------------------------------------
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ LIB_ARCH=amd64
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=$ARCH
+fi
+
+# Where does the OpenJDK SlackBuild expect the GNU java compatibility symlinks:
+JVM=${1:-/usr/lib${LIBDIRSUFFIX}/jvm}
+BINDIR=/usr/bin
+
+# What version of GCC do we have installed:
+GCJVER=$(gcj -dumpversion)
+
+# First, remove the old set of symlinks if they should exist:
+rm -fr $JVM
+
+# Create a JDK compatible directory structure for GNU java:
+mkdir -p $JVM
+mkdir -p $JVM/bin
+mkdir -p $JVM/jre/bin
+mkdir -p $JVM/jre/lib/${LIB_ARCH}/client
+mkdir -p $JVM/jre/lib/${LIB_ARCH}/server
+mkdir -p $JVM/lib
+
+ln -sf $BINDIR/gjar $JVM/bin/jar
+ln -sf $BINDIR/grmic $JVM/bin/rmic
+ln -sf $BINDIR/gjavah $JVM/bin/javah
+ln -sf $BINDIR/jcf-dump $JVM/bin/javap
+ln -sf $BINDIR/gappletviewer $JVM/bin/appletviewer
+ln -sf $BINDIR/grmiregistry $JVM/bin/rmiregistry
+ln -sf $BINDIR/grmiregistry $JVM/jre/bin/rmiregistry
+ln -sf $BINDIR/gkeytool $JVM/bin/keytool
+ln -sf $BINDIR/gkeytool $JVM/jre/bin/keytool
+ln -sf $BINDIR/gij $JVM/bin/java
+ln -sf $BINDIR/ecj $JVM/bin/javac
+ln -sf /usr/lib/gcj-${GCJVER}-11/libjvm.so $JVM/jre/lib/${LIB_ARCH}/client/libjvm.so
+ln -sf /usr/lib/gcj-${GCJVER}-11/libjvm.so $JVM/jre/lib/${LIB_ARCH}/server/libjvm.so
+ln -sf /usr/lib/gcj-${GCJVER}-11/libjawt.so $JVM/jre/lib/${LIB_ARCH}/libjawt.so
+ln -sf /usr/share/java/libgcj-${GCJVER}.jar $JVM/jre/lib/rt.jar
+ln -sf /usr/share/java/libgcj-tools-${GCJVER}.jar $JVM/lib/tools.jar
+ln -sf /usr/include/c++/${GCJVER}/gnu/java $JVM/include
+
+# Add a Eclipse Java Compiler wrapper which is required
+# for bootstrapping OpenJDK using GNU java:
+cat <<EOT > /usr/bin/ecj
+#!/bin/sh
+
+CLASSPATH=/usr/share/java/ecj.jar\${CLASSPATH:+:}\$CLASSPATH \
+ java org.eclipse.jdt.internal.compiler.batch.Main "\$@"
+
+EOT
+chmod 755 /usr/bin/ecj
+
+
diff --git a/source/d/gcc/ecj.sh b/source/d/gcc/ecj.sh
new file mode 100644
index 000000000..1d8b79793
--- /dev/null
+++ b/source/d/gcc/ecj.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+CLASSPATH=@JAVADIR@/ecj.jar${CLASSPATH:+:}$CLASSPATH \
+ java org.eclipse.jdt.internal.compiler.batch.Main "$@"
+
diff --git a/source/d/gcc/gcc-4.7.1.adalib.pic.diff b/source/d/gcc/gcc-4.7.1.adalib.pic.diff
new file mode 100644
index 000000000..792ec654b
--- /dev/null
+++ b/source/d/gcc/gcc-4.7.1.adalib.pic.diff
@@ -0,0 +1,40 @@
+From 176ff0f9a1016553978d6cf41770703e2ad90958 Mon Sep 17 00:00:00 2001
+From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 14 Jun 2012 17:45:53 +0000
+Subject: [PATCH 1/1] * gcc-interface/Makefile.in (gnatlib-shared-default): Append
+ $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188623 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ada/ChangeLog | 5 +++++
+ gcc/ada/gcc-interface/Makefile.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
+index 7e3195a..072a3f2 100644
+--- a/gcc/ada/ChangeLog
++++ b/gcc/ada/ChangeLog
+@@ -1,3 +1,8 @@
++2012-06-14 Jakub Jelinek <jakub@redhat.com>
++
++ * gcc-interface/Makefile.in (gnatlib-shared-default): Append
++ $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
++
+ 2012-06-14 Release Manager
+
+ * GCC 4.7.1 released.
+diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
+index ee8db38..f9e7eda 100644
+--- a/gcc/ada/gcc-interface/Makefile.in
++++ b/gcc/ada/gcc-interface/Makefile.in
+@@ -2597,7 +2597,7 @@ gnatlib-shared-default:
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
+- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
++ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
+ MULTISUBDIR="$(MULTISUBDIR)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+ gnatlib
+--
+1.7.3.4
diff --git a/source/d/gcc/gcc.SlackBuild b/source/d/gcc/gcc.SlackBuild
index 8288a2a44..df5f99d5f 100755
--- a/source/d/gcc/gcc.SlackBuild
+++ b/source/d/gcc/gcc.SlackBuild
@@ -2,7 +2,7 @@
# GCC package build script (written by volkerdi@slackware.com)
#
# Copyright 2003, 2004 Slackware Linux, Inc., Concord, California, USA
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,6 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+# Modified 2011 by Eric Hameleers <alien at slackware.com> for OpenJDK.
+
# Some notes, Fri May 16 12:31:32 PDT 2003:
#
# Why i486 and not i386? Because the shared C++ libraries in gcc-3.2.x will
@@ -44,50 +46,65 @@
PKGNAM=gcc
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# How many jobs to run in parallel:
NUMJOBS=" -j 7 "
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
-TARGET=$ARCH-slackware-linux
-
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686"
LIBDIRSUFFIX=""
+ LIB_ARCH=i386
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
+ LIB_ARCH=s390
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+ LIB_ARCH=amd64
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+ LIB_ARCH=armv7hl
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
+ LIB_ARCH=$ARCH
fi
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
CWD=$(pwd)
# Temporary build location. This should *NOT* be a directory
# path a non-root user could create later...
-TMP=/gcc-$(mcookie)
+TMP=${TMP:-"/gcc-$(mcookie)"}
# This is the main DESTDIR target:
PKG1=$TMP/package-gcc
@@ -98,15 +115,16 @@ PKG4=$TMP/package-gcc-gnat
PKG5=$TMP/package-gcc-java
PKG6=$TMP/package-gcc-objc
PKG7=$TMP/package-gcc-g++-gch
+PKG8=$TMP/package-gcc-go
# Clear the build locations:
if [ -d $TMP ]; then
rm -rf $TMP
fi
-mkdir -p $PKG{1,2,3,4,5,6,7}/usr/doc/gcc-$VERSION
+mkdir -p $PKG{1,2,3,4,5,6,7,8}/usr/doc/gcc-$VERSION
# Insert package descriptions:
-mkdir -p $PKG{1,2,3,4,5,6,7}/install
+mkdir -p $PKG{1,2,3,4,5,6,7,8}/install
cat $CWD/slack-desc.gcc > $PKG1/install/slack-desc
cat $CWD/slack-desc.gcc-g++ > $PKG2/install/slack-desc
cat $CWD/slack-desc.gcc-gfortran > $PKG3/install/slack-desc
@@ -114,6 +132,7 @@ cat $CWD/slack-desc.gcc-gnat > $PKG4/install/slack-desc
cat $CWD/slack-desc.gcc-java > $PKG5/install/slack-desc
cat $CWD/slack-desc.gcc-objc > $PKG6/install/slack-desc
# cat $CWD/slack-desc.gcc-g++-gch > $PKG7/install/slack-desc
+cat $CWD/slack-desc.gcc-go > $PKG8/install/slack-desc
cd $TMP
tar xvf $CWD/gcc-$VERSION.tar.?z*
@@ -122,6 +141,16 @@ tar xvf $CWD/gcc-$VERSION.tar.?z*
# This can be retrieved from ftp://sourceware.org/pub/java
cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
+# Use an antlr runtime to compile javadoc.
+# The runtime can be obtained from:
+#https://oss.sonatype.org/content/repositories/releases/org/antlr/antlr-runtime/
+ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
+
+# Upstream -fPIC fix for gnat build:
+cd gcc-$VERSION
+ zcat $CWD/gcc-4.7.1.adalib.pic.diff.gz | patch -p1 --verbose || exit 1
+cd ..
+
# install docs
( cd gcc-$VERSION
# Smite the fixincludes:
@@ -134,9 +163,8 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
find . -perm 664 -exec chmod 644 {} \;
mkdir -p $PKG1/usr/doc/gcc-$VERSION
cp -a \
- BUGS COPYING* \
- ChangeLog.tree-ssa FAQ INSTALL \
- LAST_UPDATED MAINTAINERS \
+ COPYING* ChangeLog* FAQ INSTALL \
+ LAST_UPDATED MAINTAINERS NEWS \
README* *.html \
$PKG1/usr/doc/gcc-$VERSION
@@ -198,6 +226,19 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
touch -r ChangeLog $PKG6/usr/doc/gcc-${VERSION}/gcc/objc/ChangeLog
fi
)
+
+ mkdir -p $PKG8/usr/doc/gcc-${VERSION}/gcc/go
+ ( cd go
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG8/usr/doc/gcc-${VERSION}/gcc/go/ChangeLog
+ touch -r ChangeLog $PKG8/usr/doc/gcc-${VERSION}/gcc/go/ChangeLog
+ fi
+ cp -a \
+ README* THREADS* \
+ gofrontend/{LICENSE,PATENTS,README} \
+ $PKG8/usr/doc/gcc-${VERSION}/gcc/go
+ )
+
) || exit 1
mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libgfortran
@@ -278,6 +319,7 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
touch -r ChangeLog $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog
fi
)
+
)
# Add fastjar to the gcc-java package:
@@ -305,7 +347,7 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
--libdir=/usr/lib$LIBDIRSUFFIX \
--mandir=/usr/man \
--infodir=/usr/info \
- --build=$ARCH-slackware-linux
+ --build=$TARGET
make $NUMJOBS || exit 1
make install DESTDIR=$PKG5 || exit 1
mkdir -p $PKG5/usr/doc/fastjar-$FASTJARVER
@@ -372,17 +414,26 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
--infodir=/usr/info \
--enable-shared \
--enable-bootstrap \
- --enable-languages=ada,c,c++,fortran,java,objc,lto \
+ --enable-languages=ada,c,c++,fortran,go,java,lto,objc \
--enable-threads=posix \
--enable-checking=release \
+ --enable-objc-gc \
--with-system-zlib \
- --with-python-dir=/lib$LIBDIRSUFFIX/python2.6/site-packages \
+ --with-python-dir=/lib$LIBDIRSUFFIX/python2.7/site-packages \
--disable-libunwind-exceptions \
--enable-__cxa_atexit \
--enable-libssp \
--enable-lto \
--with-gnu-ld \
--verbose \
+ --enable-java-home \
+ --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \
+ --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \
+ --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \
+ --with-arch-directory=$LIB_ARCH \
+ --with-antlr-jar=$ANTLJAR \
+ --enable-java-awt=gtk \
+ --disable-gtktest \
$GCC_ARCHOPTS \
--target=${TARGET} \
--build=${TARGET} \
@@ -418,14 +469,14 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/*gdb.py
# Be sure the "specs" file is installed.
-if [ ! -r $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs ]; then
- cat stage1-gcc/specs > $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs
+if [ ! -r $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs ]; then
+ cat stage1-gcc/specs > $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs
fi
# Make our 64bit gcc look for 32bit gcc binaries in ./32 subdirectory:
if [ "$ARCH" = "x86_64" ]; then
sed -i 's#;.\(:../lib !m64 m32;\)$#;32\1#' \
- $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs
+ $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs
fi
# make ada.install-common DESTDIR=$PKG1
@@ -462,6 +513,9 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all
ln -sf gcc cc
ln -sf gcc-$VERSION ${TARGET}-gcc
ln -sf gcc-$VERSION ${TARGET}-gcc-$VERSION
+ ln -sf gcc-ar ${TARGET}-gcc-ar
+ ln -sf gcc-nm ${TARGET}-gcc-nm
+ ln -sf gcc-ranlib ${TARGET}-gcc-ranlib
ln -sf gcj ${TARGET}-gcj
ln -sf gcjh ${TARGET}-gcjh
ln -sf g++-gcc-$VERSION ${TARGET}-c++
@@ -531,6 +585,11 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all
)
# gcc-gnat:
+# First, relocate usr/bin/gnative2ascii to the gcc-java package so it
+# isn't matched and accidentally put in gcc-gnat:
+mkdir -p $PKG5/usr/bin
+mv $PKG1/usr/bin/gnative2ascii $PKG5/usr/bin
+# Now make the gcc-gnat package tree:
( cd $PKG4
mkdir -p usr/bin
mv $PKG1/usr/bin/gnat* usr/bin
@@ -583,11 +642,11 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all
mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jvmpi.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include
mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/libffi usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include
# aot-compile Python plugins:
- if [ ! -d $PKG1/usr/lib${LIBDIRSUFFIX}/python2.6 ]; then
- echo "NO $PKG1/usr/lib${LIBDIRSUFFIX}/python2.6 !"
+ if [ ! -d $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 ]; then
+ echo "NO $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 !"
exit 1
fi
- mv $PKG1/usr/lib${LIBDIRSUFFIX}/python2.6 usr/lib${LIBDIRSUFFIX}
+ mv $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 usr/lib${LIBDIRSUFFIX}
mkdir -p usr/info
mv $PKG1/usr/info/gcj.* usr/info
# mv $PKG1/usr/info/fastjar.* usr/info
@@ -633,8 +692,24 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all
mv $PKG1/usr/man/man1/jv-convert.1.gz usr/man/man1
mv $PKG1/usr/man/man1/jv-scan.1.gz usr/man/man1
mv $PKG1/usr/man/man1/rebuild-gcj-db.1.gz usr/man/man1
+ mkdir -p usr/man/man3
+ mv $PKG1/usr/man/man3/ffi* usr/man/man3
mkdir -p usr/share
mv $PKG1/usr/share/java usr/share
+ # The ecj wrapper script:
+ cat $CWD/ecj.sh | sed -e "s,@JAVADIR@,/usr/share/java," > usr/bin/ecj
+ chmod 755 usr/bin/ecj
+ # The JAVA_HOME compatibility links.
+ # Caution: non-multilib arch-independent stuff! No lib64 here.
+ mkdir -p usr/lib$LIBDIRSUFFIX
+ mv $PKG1/usr/lib$LIBDIRSUFFIX/jvm* usr/lib$LIBDIRSUFFIX
+ # And add the missing javac symlink:
+ ln -s ../../../bin/ecj usr/lib$LIBDIRSUFFIX/jvm/bin/javac
+ # Don't package libffi stuff anymore. GCC will link the internal version
+ # statically, and we'll need a newer one elsewhere.
+ find . -name "ffi*.h" | xargs rm
+ find . -name "libffi*" | xargs rm
+ rm usr/man/man3/ffi*
)
# gcc-objc:
@@ -655,6 +730,25 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all
# mv $PKG2/usr/include/c++/$VERSION/$TARGET/bits/stdc++.h.gch usr/include/c++/$VERSION/$TARGET/bits
#)
+# gcc-go:
+( cd $PKG8
+ mkdir -p usr/bin
+ mv $PKG1/usr/bin/*gccgo* usr/bin
+ mkdir -p usr/libexec/gcc/$TARGET/$VERSION
+ mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/go1 usr/libexec/gcc/$TARGET/$VERSION/go1
+ mkdir -p usr/info
+ 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.0.*,libgobegin.a} usr/lib${LIBDIRSUFFIX} || exit 1
+ # 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.
+ mv $PKG1/usr/lib${LIBDIRSUFFIX}/libgo.a usr/lib${LIBDIRSUFFIX}
+ mkdir -p usr/man/man1
+ mv $PKG1/usr/man/man1/gccgo.1.gz usr/man/man1
+) || exit 1
+
# Filter all .la files (thanks much to Mark Post for the sed script):
( cd $TMP
for file in $(find . -type f -name "*.la") ; do
@@ -665,7 +759,7 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all
)
## Strip bloated binaries and libraries:
-for dir in $PKG{1,2,3,4,5,6}; do
+for dir in $PKG{1,2,3,4,5,6,8}; do
( cd $dir
find . -name "lib*so*" -exec strip --strip-unneeded "{}" \;
find . -name "lib*a" -exec strip -g "{}" \;
@@ -689,6 +783,8 @@ done
makepkg -l y -c n $TMP/gcc-objc-$VERSION-$ARCH-$BUILD.txz )
#( cd $PKG7
# makepkg -l y -c n $TMP/gcc-g++-gch-$VERSION-$ARCH-$BUILD.txz )
+( cd $PKG8
+ makepkg -l y -c n $TMP/gcc-go-$VERSION-$ARCH-$BUILD.txz )
echo
echo "Slackware GCC package build complete!"
diff --git a/source/d/gcc/slack-desc.gcc-gfortran b/source/d/gcc/slack-desc.gcc-gfortran
index ac844f0f1..5141cb02c 100644
--- a/source/d/gcc/slack-desc.gcc-gfortran
+++ b/source/d/gcc/slack-desc.gcc-gfortran
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
gcc-gfortran: gcc-gfortran (Fortran support for GCC)
gcc-gfortran:
+gcc-gfortran: The GNU Fortran compiler is fully compliant with the Fortran 95
+gcc-gfortran: Standard and includes legacy F77 support. In addition, a significant
+gcc-gfortran: number of Fortran 2003 and Fortran 2008 features are implemented.
+gcc-gfortran: GNU Fortran also contains many standard and extensions and can be
+gcc-gfortran: used to run real-world programs.
+gcc-gfortran:
gcc-gfortran: This package contains those parts of the compiler collection
-gcc-gfortran: needed to compile Fortran code. The base gcc package is also
-gcc-gfortran: required. The GNU Fortran compiler is able to compile nearly all
-gcc-gfortran: standard-compliant Fortran 95, Fortran 90, and Fortran 77 programs,
-gcc-gfortran: including a number of standard and non-standard extensions, and can
-gcc-gfortran: be used on real-world programs. In particular, the supported
-gcc-gfortran: extensions include OpenMP, Cray-style pointers, and several Fortran
-gcc-gfortran: 2003 features such as enumeration, stream I/O, and some of the
-gcc-gfortran: enhancements to allocatable array support from TR 15581.
+gcc-gfortran: needed to compile Fortran code. The gcc package is also required.
+gcc-gfortran:
diff --git a/source/d/gcc/slack-desc.gcc-go b/source/d/gcc/slack-desc.gcc-go
new file mode 100644
index 000000000..cdd859bc1
--- /dev/null
+++ b/source/d/gcc/slack-desc.gcc-go
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gcc-go: gcc-go (Go support for GCC)
+gcc-go:
+gcc-go: Go is a compiled, garbage-collected, concurrent programming language
+gcc-go: developed by Google Inc. The initial design of Go was started in
+gcc-go: September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson.
+gcc-go: Rob Pike has stated that Go is being used "for real stuff" at Google.
+gcc-go: Go's "gc" compiler targets the Linux, Mac OS X, FreeBSD, OpenBSD and
+gcc-go: Microsoft Windows operating systems, and the i386, amd64, and ARM
+gcc-go: processor architectures.
+gcc-go:
+gcc-go: Homepage: http://golang.org