# Contributor: Alexander 'hatred' Drozdov # Contributor: toha257 # Contributor: Allan McRae # Contributor: Kevin Mihelich # Contributor: Tavian Barnes # Contributor: Vyacheslav Razykov # Maintainer: Wilken Gottwalt _target=arm-linux-gnueabihf pkgname=${_target}-gcc-stage2 pkgver=14.1.0 _majorver=${pkgver%%.*} pkgrel=1 pkgdesc="The GNU Compiler Collection. Stage 2 for toolchain building" arch=(x86_64) license=(GPL LGPL FDL custom) url='https://gcc.gnu.org' depends=("${_target}-binutils>=2.40" "${_target}-glibc-headers>=2.38") makedepends=(binutils gcc glibc zlib) options=(!emptydirs !distcc !strip) conflicts=("${_target}-gcc-stage1") replaces=("${_target}-gcc-stage1") provides=("${_target}-gcc-stage1=${pkgver}") source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig}) validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek sha256sums=('e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840' 'SKIP') prepare() { cd gcc-${pkgver/+/-} sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure mkdir -p "${srcdir}"/gcc-build } build() { cd gcc-build # 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/}" ../gcc-${pkgver/+/-}/configure \ --target=${_target} \ --host=${CHOST} \ --build=${CHOST} \ --prefix=/usr \ --program-prefix=${_target}- \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --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 \ --with-linker-hash-style=gnu \ --with-system-zlib \ --with-newlib \ --with-arch=armv6 \ --with-float=hard \ --with-fpu=vfp \ --enable-languages=c,c++,lto \ --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 \ --enable-lto \ --enable-threads \ --disable-nls \ --disable-plugin \ --disable-shared \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-libunwind-exceptions \ --disable-multilib \ --disable-werror 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 }