diff --git a/srcpkgs/mingw-w64-binutils/template b/srcpkgs/mingw-w64-binutils/template index 718f7db0570..00455d1bef4 100644 --- a/srcpkgs/mingw-w64-binutils/template +++ b/srcpkgs/mingw-w64-binutils/template @@ -1,7 +1,7 @@ # Template file for 'mingw-w64-binutils' pkgname=mingw-w64-binutils version=2.21.1 -revision=1 +revision=2 distfiles="${GNU_SITE}/binutils/binutils-$version.tar.bz2" build_style=custom-install short_desc="GNU binary utilities (mingw-w64 version)" @@ -49,9 +49,10 @@ do_build() fi ./configure --prefix=${_mingwprefix} --bindir=${_mingwprefix}/bin \ + --libdir=${_mingwprefix}/lib --libexecdir=${_mingwprefix}/lib \ --target=${_mingwtriplet} ${_target_args} ${_multilib_args} \ --enable-plugins --enable-secureplt --with-mmap --disable-nls \ - --enable-threads + --enable-threads --with-sysroot=${_mingwprefix} make ${makejobs} } diff --git a/srcpkgs/mingw-w64-crt/template b/srcpkgs/mingw-w64-crt/template index ddc8dca3b81..5a2e7dd5312 100644 --- a/srcpkgs/mingw-w64-crt/template +++ b/srcpkgs/mingw-w64-crt/template @@ -5,6 +5,7 @@ pkgname=$_shortname-crt _majversion=1.0 _snapshot=20110523 version=${_majversion}.$_snapshot +revision=1 distfiles=${SOURCEFORGE_SITE}/$_shortname/$_shortname/$_shortname-v$_majversion-snapshot-$_snapshot.tar.bz2 build_style=custom-install short_desc="The mingw-w64 cross-compiler runtime" @@ -18,7 +19,9 @@ long_desc=" 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 build gcc-multilib +if [ "${xbps_machine}" = "x86_64" ]; then + Add_dependency build gcc-multilib +fi Add_dependency build flex Add_dependency build gawk diff --git a/srcpkgs/mingw-w64-gcc/template b/srcpkgs/mingw-w64-gcc/template index 04e27a4e639..8819f62ffa5 100644 --- a/srcpkgs/mingw-w64-gcc/template +++ b/srcpkgs/mingw-w64-gcc/template @@ -3,7 +3,7 @@ pkgname=mingw-w64-gcc _majorver=4.6 version=${_majorver}.1 -revision=2 +revision=3 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)" @@ -68,10 +68,10 @@ do_build() --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++, --enable-tls \ + --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 --disable-lto \ + --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 diff --git a/srcpkgs/mingw-w64-libgcc/template b/srcpkgs/mingw-w64-libgcc/template new file mode 100644 index 00000000000..17fb82a3e86 --- /dev/null +++ b/srcpkgs/mingw-w64-libgcc/template @@ -0,0 +1,112 @@ +# 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 +}