# Maintainer: rubenvb vanboxem <dottie> ruben <attie> gmail <dottie> com
pkgname=mingw-w64-gcc
pkgver=4.7.2
pkgrel=1
pkgdesc="Cross GCC for the MinGW-w64 cross-compiler"
arch=('i686' 'x86_64')
url="http://gcc.gnu.org"
license=('GPL' 'LGPL' 'FDL' 'custom')
groups=('mingw-w64-toolchain' 'mingw-w64')
depends=('zlib' 'libmpc' 'ppl' 'cloog' 'mingw-w64-crt' 'mingw-w64-binutils' 'mingw-w64-winpthreads')
makedepends=('mingw-w64-headers-bootstrap' 'gcc-ada='${pkgver})
#checkdepends=('dejagnu') # Windows executables could run on Arch through bin_mft and Wine
optdepends=()
provides=('mingw-w64-gcc-base')
conflicts=('mingw-w64-gcc-base')
replaces=()
backup=()
options=('!strip' '!libtool' '!emptydirs' '!buildflags')
source=("ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2"
'gcc-4.7.0-cloog-0.17.patch'
'texinfo_archlinux.patch')
md5sums=('cc308a0891e778cfda7a151ab8a6e762'
'488f11cf9822d110dde4a12add1d6e03'
'fd8ad575187cbe3ef896c39fd6635505')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
build() {
cd ${srcdir}/gcc-${pkgver}
#do not install libiberty
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
# compatibility with latest cloog
patch -Np1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch
patch -Np1 -i ${srcdir}/texinfo_archlinux.patch
echo ${pkgver} > gcc/BASE-VER
for _target in ${_targets}; do
mkdir -p ${srcdir}/gcc-build-${_target} && cd ${srcdir}/gcc-build-${_target}
${srcdir}/gcc-${pkgver}/configure --prefix=/usr \
--target=${_target} \
--enable-languages=c,lto,c++,objc,obj-c++,fortran,ada \
--enable-shared --enable-static \
--enable-threads=win32 --enable-fully-dynamic-string \
--with-system-zlib --with-ppl --enable-cloog-backend=isl \
--enable-lto --enable-sjlj-exceptions --enable-libgomp \
--disable-nls \
--disable-multilib --enable-checking=release
make all
done
}
package() {
for _target in ${_targets}; do
cd ${srcdir}/gcc-build-${_target}
make DESTDIR=${pkgdir} install
${_target}-strip ${pkgdir}/usr/${_target}/lib/*.dll
strip ${pkgdir}/usr/bin/${_target}-*
strip ${pkgdir}/usr/libexec/gcc/${_target}/${pkgver}/{cc1*,collect2,gnat1,f951,lto*}
done
strip ${pkgdir}/usr/bin/*
# remove unnecessary files
rm -r ${pkgdir}/usr/share
}