Merge pull request #6 from davehome/master

Mingw fixes!
This commit is contained in:
Juan RP 2011-07-20 00:05:40 -07:00
commit e488e52a49
4 changed files with 122 additions and 6 deletions

View file

@ -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}
}

View file

@ -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

View file

@ -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

View file

@ -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 <davehome@redthumb.info.tm>"
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
}