From a5dd3ec391f7b81ed75177b25a04ba09896880e3 Mon Sep 17 00:00:00 2001 From: davehome Date: Mon, 18 Jul 2011 17:28:46 -0600 Subject: [PATCH] New package: mingw-w64-gcc --- srcpkgs/mingw-w64-gcc/template | 94 ++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 srcpkgs/mingw-w64-gcc/template diff --git a/srcpkgs/mingw-w64-gcc/template b/srcpkgs/mingw-w64-gcc/template new file mode 100644 index 00000000000..f2ef48ecb16 --- /dev/null +++ b/srcpkgs/mingw-w64-gcc/template @@ -0,0 +1,94 @@ +# Template build file for 'mingw-w64-gcc' +# +pkgname=mingw-w64-gcc +_majorver=4.6 +version=${_majorver}.1 +distfiles=http://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-$version.tar.bz2 +build_style=custom-install +short_desc="The GNU C Compiler (for mingw-w64)" +maintainer="davehome " +homepage="http://mingw-w64.sourceforge.net/" +license="GFDL-1.2, GPL-3, LGPL-2.1" +checksum=8eebf51c908151d1f1a3756c8899c5e71572e8469a547ad72a1ef16a08a31b59 +long_desc=" + The GNU C Compiler suite, with support for C, C++, ObjC and ObjC++, + and Fortran. + + This is the mingw-64 cross-compiler, which supports building code for Win32 + or Win64 (multilib). For the i686 platform, only 32bit is available." + +Add_dependency run glibc +Add_dependency run cloog-ppl +Add_dependency run ppl +Add_dependency run gmp +Add_dependency run mpc +Add_dependency run mpfr +Add_dependency run zlib + +Add_dependency build gcc-multilib +Add_dependency build flex +Add_dependency build gawk + +Add_dependency full mingw-w64-binutils +Add_dependency full mingw-w64-headers + +wrksrc=gcc-${version} + +_mingwprefix=/opt + +if [ "${xbps_machine}" = "x86_64" ]; then + _triplet="${xbps_machine}-unknown-linux-gnu" + _mingwtriplet="${xbps_machine}-w64-mingw32" + _multilib_args="--enable-targets=all --enable-multilib" + _multilib_args="${_multilib_args} --enable-64bit --enable-32bit" +else + _triplet="${xbps_machine}-pc-linux-gnu" + _mingwtriplet="${xbps_machine}-w32-mingw32" + _multilib_args="--disable-multilib --disable-64bit --enable-32bit" +fi + +do_build() +{ + # As specified in the LFS book, disable installing libiberty. + sed -i 's/install_to_$(INSTALL_DEST) //' ${wrksrc}/libiberty/Makefile.in + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' ${wrksrc}/gcc/Makefile.in + + mkdir -p ${wrksrc}/../mingw-w64-gcc-${version}-build + + unset LD_LIBRARY_PATH LDLIBPATH LDFLAGS CPPFLAGS + local SAVEDPATH=$PATH + export PATH="/opt/bin:/usr/local/bin:/usr/local/sbin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin" + + cd ${wrksrc}/../mingw-w64-gcc-${version}-build && ${wrksrc}/configure \ + --prefix=${_mingwprefix} --with-sysroot=${_mingwprefix} \ + --bindir=${_mingwprefix}/bin --target=${_mingwtriplet} \ + ${_multilib_args} --enable-threads=win32 --disable-win32-registry \ + --enable-version-specific-runtime-libs --enable-__cxa_atexit \ + --enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-tls \ + --with-mpfr=$XBPS_MASTERDIR/usr --with-gmp=$XBPS_MASTERDIR/usr \ + --with-ppl=${XBPS_MASTERDIR}/usr --with-cloog=${XBPS_MASTERDIR}/usr \ + --with-system-zlib --enable-static --disable-shared --enable-lto \ + --enable-linker-build-id --enable-gnu-unique-object \ + --enable-checking=release --disable-nls --disable-bootstrap \ + --libdir=${_mingwprefix}/lib + + make ${makejobs} all-gcc + + export PATH=$SAVEDPATH +} + +do_install() +{ + unset LD_LIBRARY_PATH LDLIBPATH LDFLAGS CPPFLAGS + local SAVEDPATH=$PATH + export PATH="/opt/bin:/usr/local/bin:/usr/local/sbin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin" + + cd ${wrksrc}/../mingw-w64-gcc-${version}-build && \ + make DESTDIR=${DESTDIR} ${makejobs} install-gcc + + export PATH=$SAVEDPATH + + # Remove useless manpages + rm -rf ${DESTDIR}/${_mingwprefix}/share +}