# Contributor: Alexander 'hatred' Drozdov # Contributor: toha257 # Contributor: Allan McRae # Contributor: Kevin Mihelich # Maintainer: Tavian Barnes _target="arm-linux-gnueabihf" pkgname="${_target}-gcc" pkgver=8.2.1+20181127 _majorver=${pkgver:0:1} _islver=0.20 pkgrel=1 pkgdesc="The GNU Compiler Collection (${_target})" arch=(i686 x86_64) license=(GPL LGPL FDL custom) url='http://gcc.gnu.org' depends=("${_target}-binutils>=2.31.1-4" "${_target}-glibc>=2.28-5" libmpc elfutils zlib) checkdepends=(dejagnu inetutils) options=(!emptydirs !distcc !strip) conflicts=("${_target}-gcc-stage1" "${_target}-gcc-stage2") replaces=("${_target}-gcc-stage1" "${_target}-gcc-stage2") provides=("${_target}-gcc-stage1=${pkgver}" "${_target}-gcc-stage2=${pkgver}") #source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig} source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig} http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2) validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek sha256sums=('6f64ffda2839e96a8551b767bf4f92be4e7a09377ea40058355b4eeb13bc3800' 'SKIP' 'b587e083eb65a8b394e833dea1744f21af3f0e413a448c17536b5549ae42a4c2') _svnrev=264010 _svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} prepare() { [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc cd gcc # link isl for in-tree build ln -s ../isl-${_islver} isl # Do not run fixincludes sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in # hack! - some configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure mkdir -p "$srcdir/gcc-build" } build() { cd gcc-build # using -pipe causes spurious test-suite failures # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565 CFLAGS=${CFLAGS/-pipe/} CXXFLAGS=${CXXFLAGS/-pipe/} "$srcdir/gcc/configure" --prefix=/usr \ --program-prefix=${_target}- \ --with-local-prefix=/usr/${_target} \ --with-sysroot=/usr/${_target} \ --with-build-sysroot=/usr/${_target} \ --with-as=/usr/bin/${_target}-as \ --with-ld=/usr/bin/${_target}-ld \ --libdir=/usr/lib --libexecdir=/usr/lib \ --disable-nls \ --enable-languages=c,c++ \ --enable-shared \ --enable-threads=posix \ --with-system-zlib \ --with-isl \ --enable-__cxa_atexit \ --disable-libunwind-exceptions \ --enable-clocale=gnu \ --disable-libstdcxx-pch \ --disable-libssp \ --enable-gnu-unique-object \ --enable-linker-build-id \ --enable-lto \ --enable-plugin \ --enable-install-libiberty \ --with-linker-hash-style=gnu \ --enable-gnu-indirect-function \ --disable-multilib \ --disable-werror \ --enable-checking=release \ --enable-default-pie \ --enable-default-ssp \ --target=${_target} \ --host=${CHOST} \ --build=${CHOST} \ --with-arch=armv6 \ --with-float=hard \ --with-fpu=vfp make } package() { cd gcc-build make DESTDIR="$pkgdir" install-gcc install-target-libgcc \ install-target-libstdc++-v3 rm -rf "$pkgdir/usr/share" # strip it manually strip "$pkgdir/usr/bin/"* 2>/dev/null || true find "$pkgdir/usr/lib" -type f -exec /usr/bin/${_target}-strip \ --strip-unneeded {} \; 2>/dev/null || true }