# $Id: PKGBUILD 124824 2014-12-29 13:17:33Z anatolik $
# Maintainer: schuay <jakob.gruber@gmail.com>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
# Contributor: danst0 <danst0@west.de>

# Build order: avr-binutils -> avr-gcc -> avr-libc

pkgname=avr-gcc
_pkgname=gcc
pkgver=4.9.2
_islver=0.12.2
_cloogver=0.18.1
pkgrel=2
_snapshot=4.9-20141224
pkgdesc="The GNU AVR Compiler Collection"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org/"
depends=('avr-binutils>=2.25' 'ppl' 'gcc-libs>=4.8.0' 'libmpc')
optdepends=('avr-libc: Standard C library for Atmel AVR development')
options=('!emptydirs' '!strip')
source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
        ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
        http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
        http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz)
sha1sums=('dcf37616b36b6f60d3a56a3a1f83754e43e59fae'
          'ca98a91e35fb3ded10d080342065919764d6f928'
          '2dc70313e8e2c6610b856d627bce9c9c3f848077')

if [ -n "${_snapshot}" ]; then
  _basedir=gcc-${_snapshot}
else
  _basedir=gcc-${pkgver}
fi

build() {
    cd ${srcdir}/${_basedir} 

    # Link isl/cloog for in-tree builds
    ln -s ../isl-${_islver} isl
    ln -s ../cloog-${_cloogver} cloog

    # https://bugs.archlinux.org/task/34629
    # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
    sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure

    echo ${pkgver} > gcc/BASE-VER

    cd ${srcdir}
    mkdir gcc-build && cd gcc-build

    export CFLAGS_FOR_TARGET='-O2 -pipe'
    export CXXFLAGS_FOR_TARGET='-O2 -pipe'

    # --disable-linker-build-id: https://bugs.archlinux.org/task/34902
    ${srcdir}/${_basedir}/configure \
                --disable-install-libiberty \
                --disable-libssp \
                --disable-libstdcxx-pch \
                --disable-libunwind-exceptions \
                --disable-linker-build-id \
                --disable-nls \
                --disable-werror \
                --enable-__cxa_atexit \
                --enable-checking=release \
                --enable-clocale=gnu \
                --enable-cloog-backend=isl \
                --enable-gnu-unique-object \
                --enable-gold \
                --enable-languages=c,c++ \
                --enable-ld=default \
                --enable-lto \
                --enable-plugin \
                --enable-shared \
                --infodir=/usr/share/info \
                --libdir=/usr/lib \
                --libexecdir=/usr/lib \
                --mandir=/usr/share/man \
                --prefix=/usr \
                --target=avr \
                --with-as=/usr/bin/avr-as \
                --with-gnu-as \
                --with-gnu-ld \
                --with-ld=/usr/bin/avr-ld \
                --with-plugin-ld=ld.gold \
                --with-system-zlib

    make
}

package() {
    cd ${srcdir}/gcc-build

    make -j1 DESTDIR=${pkgdir} install

    # Strip debug symbols from libraries; without this, the package size balloons to ~500MB.
    find ${pkgdir}/usr/lib -type f -name "*.a" \
        -exec /usr/bin/avr-strip --strip-debug '{}' \;

    # Install Runtime Library Exception
    install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
        ${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION

    rm -rf ${pkgdir}/usr/share/man/man7
    rm -rf ${pkgdir}/usr/share/info
}
