# Contributor: Alexander 'hatred' Drozdov # Contributor: toha257 # Contributor: Allan McRae # Contributor: Kevin Mihelich # Contributor: Tavian Barnes # Maintainer: Tavian Barnes _target="powerpc64-linux-gnu" pkgname=${_target}-gcc-stage2 pkgver=13.2.0 _majorver=${pkgver} _islver=0.26 pkgrel=2 pkgdesc="The GNU Compiler Collection. Stage 2 for toolchain building (${_target})" arch=(i686 x86_64) license=(GPL LGPL FDL custom) url='http://gcc.gnu.org' depends=("${_target}-binutils>=2.30-1" "${_target}-glibc-headers" libmpc zlib) makedepends=(gmp mpfr) options=(!emptydirs !distcc !strip) conflicts=("${_target}-gcc-stage1") replaces=("${_target}-gcc-stage1") provides=("${_target}-gcc-stage1=${pkgver}" $_target-gcc) source=(https://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig} https://libisl.sourceforge.io/isl-$_islver.tar.xz) sha256sums=('e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da' 'SKIP' 'a0b5cb06d24f9fa9e77b55fabbe9a3c94a336190345c2555f9915bb38e976504') validpgpkeys=(D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62 # Jakub Jelinek 33C235A34C46AA3FFB293709A328C3A2C3C45C06 # Jakub Jelinek 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # Richard Guenther prepare() { cd gcc-${pkgver} # link isl for in-tree builds 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/} # using -Werror=format-security causes libcpp buildig failures # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100207 CFLAGS=${CFLAGS/-Werror=format-security/} CXXFLAGS=${CXXFLAGS/-Werror=format-security/} "$srcdir"/gcc-${pkgver}/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++ \ --with-isl \ --with-linker-hash-style=gnu \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-checking=release \ --enable-clocale=gnu \ --enable-default-pie \ --enable-default-ssp \ --enable-gnu-indirect-function \ --enable-gnu-unique-object \ --enable-install-libiberty \ --enable-linker-build-id \ --disable-lto \ --disable-plugin \ --disable-shared \ --disable-threads \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-libunwind-exceptions \ --disable-multilib \ --disable-werror \ --target=${_target} \ --host=${CHOST} \ --build=${CHOST} make all-gcc all-target-libgcc } package() { cd gcc-build make DESTDIR="$pkgdir" install-gcc install-target-libgcc 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 }