diff options
Diffstat (limited to 'development/gcc-d/gcc-d.SlackBuild')
-rw-r--r-- | development/gcc-d/gcc-d.SlackBuild | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/development/gcc-d/gcc-d.SlackBuild b/development/gcc-d/gcc-d.SlackBuild deleted file mode 100644 index 3bfad9d03f..0000000000 --- a/development/gcc-d/gcc-d.SlackBuild +++ /dev/null @@ -1,230 +0,0 @@ -#!/bin/sh - -# Slackware build script for gcc-d - -# Copyright 2017-2018 Eugene Wissner, Dachau, Germany -# -# Based on the GCC build script by Patrick J. Volkerding, Sebeka, MN, USA -# -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=gcc-d -VERSION=${VERSION:-2.081.2} -GCC_VERSION=8.2.0 -HOST_GDC=2.076.0 -HOST_GCC=7.3.0 -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$(uname -m)" in - i?86) ARCH=i586 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; - *) ARCH=$(uname -m) ;; - esac - export ARCH -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -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 -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 - -if [ "$ARCH" != "x86_64" ]; then - GCC_ARCHOPTS="--with-arch=$ARCH" -else - GCC_ARCHOPTS="--disable-multilib" -fi -MAJOR=$( echo $GCC_VERSION | cut -d. -f1 ) - -set -e -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT - -# Build bootstrap compiler -cd $TMP -rm -rf gdc-$HOST_GDC gcc-$HOST_GCC $TMP/bootstrap-gcc-d -tar xvf $CWD/gcc-$HOST_GCC.tar.?z* -tar xvf $CWD/gdc-$HOST_GDC.tar.?z* - -# Apply patches. -cd $TMP/gcc-$HOST_GCC/gcc - -cd $TMP/gdc-$HOST_GDC -sh setup-gcc.sh ../gcc-$HOST_GCC - -cd $TMP/gcc-$HOST_GCC - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -../gcc-$HOST_GCC/configure \ - --prefix=$TMP/bootstrap-$PRGNAM \ - --enable-shared \ - --disable-bootstrap \ - --enable-languages=c,c++,d \ - --enable-threads=posix \ - --enable-checking=release \ - --with-system-zlib \ - --enable-libstdcxx-dual-abi \ - --disable-libunwind-exceptions \ - --enable-__cxa_atexit \ - --enable-libssp \ - --enable-lto \ - --disable-install-libiberty \ - --with-gnu-ld \ - --verbose \ - --with-arch-directory=$LIB_ARCH \ - $GCC_ARCHOPTS \ - --target=${TARGET} \ - --build=${TARGET} \ - --host=${TARGET} - -make -make install - -# Build D compiler -cd $TMP -rm -rf gdc-$VERSION gcc-$GCC_VERSION -tar xvf $CWD/gcc-$GCC_VERSION.tar.?z* -tar xvf $CWD/gdc-$VERSION.tar.?z* - -# Apply patches. -cd $TMP/gcc-$GCC_VERSION/gcc - -cd $TMP/gdc-$VERSION -sh setup-gcc.sh ../gcc-$GCC_VERSION - -cd $TMP/gcc-$GCC_VERSION -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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -CC="$TMP/bootstrap-$PRGNAM/bin/gcc" \ -CXX="$TMP/bootstrap-$PRGNAM/bin/g++" \ -CPP="$TMP/bootstrap-$PRGNAM/bin/cpp" \ -GDC="$TMP/bootstrap-$PRGNAM/bin/gdc" \ -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -../gcc-$GCC_VERSION/configure \ - --prefix=/opt/gdc \ - --libdir=/opt/gdc/lib$LIBDIRSUFFIX \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --enable-shared \ - --enable-bootstrap \ - --enable-languages=c,c++,d \ - --enable-threads=posix \ - --enable-checking=release \ - --with-system-zlib \ - --enable-libstdcxx-dual-abi \ - --disable-libunwind-exceptions \ - --enable-__cxa_atexit \ - --enable-libssp \ - --enable-lto \ - --disable-install-libiberty \ - --with-gnu-ld \ - --verbose \ - --with-arch-directory=$LIB_ARCH \ - --program-suffix="-$MAJOR" \ - --with-pkgversion="GDC $VERSION" \ - $GCC_ARCHOPTS \ - --target=${TARGET} \ - --build=${TARGET} \ - --host=${TARGET} - -make -make install DESTDIR=$PKG - -# Remove not D related stuff, already available in GCC -find $PKG/usr/info -type f -not -name "*gdc*" -delete -rm -r $PKG/usr/man/man7 -#rm -r $PKG/usr/share -#rm -r $PKG/usr/include - -#find $PKG/usr/libexec/gcc \ -# \( -type f -or -type l \) -not -name "cc1d" \ -# -delete - -#find $PKG/usr/lib$LIBDIRSUFFIX/gcc -mindepth 3 \ -# \( -type f -or -type l \) -not -regex ".*/d/.*" \ -# -delete - -#find $PKG/usr/lib$LIBDIRSUFFIX -maxdepth 1 \ -# \( -type f -or -type l \) \ -# -not \( -name "*phobos*" -or -name "*gdruntime*" \) \ -# -delete - -#find $PKG/usr -type d -empty -delete - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/bin -for bin in $PKG/opt/gdc/bin/g* $PKG/opt/gdc/bin/c*; do - binary=$( basename $bin ) - ln -s /opt/gdc/bin/$binary $PKG/usr/bin/$binary -done -ln -s gdc-$MAJOR $PKG/usr/bin/gdc - -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 - -gzip -9 $PKG/usr/info/*.info - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp $TMP/gdc-$VERSION/README.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |