# Template build file for 'mingw-w64-libgcc' # pkgname=mingw-w64-libgcc _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 (libs 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++. (libs) 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 if [ "${xbps_machine}" = "x86_64" ]; then Add_dependency build gcc-multilib fi Add_dependency build flex Add_dependency build gawk Add_dependency full mingw-w64-binutils Add_dependency full mingw-w64-headers Add_dependency full mingw-w64-gcc Add_dependency full mingw-w64-crt 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 strip_cmd=${_mingwprefix}/bin/${_mingwtriplet}-strip 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 [ -d ${wrksrc}/../mingw-w64-gcc-${version}-build ] && \ rm -rf ${wrksrc}/../mingw-w64-gcc-${version}-build 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" # This is set just in case export RANLIB=${_mingwprefix}/bin/${_mingwtriplet}-ranlib 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++,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 --libexecdir=${_mingwprefix}/lib make ${makejobs} all-target export PATH=$SAVEDPATH unset RANLIB } do_install() { export RANLIB=${_mingwprefix}/bin/${_mingwtriplet}-ranlib # These make targets prevent anything from all-gcc from being installed # Therefore, no conflicts with mingw-w64-gcc package.. perfect. cd ${wrksrc}/../mingw-w64-gcc-${version}-build && \ make DESTDIR=${DESTDIR} ${makejobs} installdirs install-target # Run ranlib on the *.a libs # The compile/install targets don't do this automagically cd ${wrksrc}/../mingw-w64-gcc-${version}-build && \ ${RANLIB} `find | grep -E "\.a$" | xargs` unset RANLIB # Remove useless manpages rm -rf ${DESTDIR}/${_mingwprefix}/share }