diff options
Diffstat (limited to 'community/mingw-w64-binutils/APKBUILD')
-rw-r--r-- | community/mingw-w64-binutils/APKBUILD | 93 |
1 files changed, 58 insertions, 35 deletions
diff --git a/community/mingw-w64-binutils/APKBUILD b/community/mingw-w64-binutils/APKBUILD index 64dee7ad0f0..701b6c39f6a 100644 --- a/community/mingw-w64-binutils/APKBUILD +++ b/community/mingw-w64-binutils/APKBUILD @@ -1,61 +1,84 @@ # Contributor: Leo <thinkabit.ukim@gmail.com> -# Maintainer: +# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca> pkgname=mingw-w64-binutils -pkgver=2.38 +pkgver=2.42 pkgrel=0 pkgdesc="Cross binutils for the MinGW-w64 cross-compiler" url="https://www.gnu.org/software/binutils" arch="x86_64 x86" license="GPL-3.0-or-later" -makedepends="zlib-dev perl texinfo" -subpackages="$pkgname-dbg $pkgname-doc" +makedepends="texinfo zlib-dev zstd-dev" source="$pkgname-$pkgver.tar.xz::https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz" builddir="$srcdir/binutils-$pkgver" -case "$CARCH" in - x86_64) _target="x86_64-w64-mingw32" ;; - x86) _target="i686-w64-mingw32" ;; -esac - -# Directory for out-of-tree builds -_binutilsdir="$srcdir/binutils-$_target" - # secfixes: # 2.36-r0: # - CVE-2020-35448 -prepare() { - default_prepare - - # Do not install libiberty - sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in - # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" - sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure - - mkdir -p "$_binutilsdir" -} +case "$CARCH" in +x86_64) + _targets="x86_64-w64-mingw32 i686-w64-mingw32" + subpackages="$subpackages i686-$pkgname:x32" + ;; +x86) + _targets="i686-w64-mingw32" + ;; +esac build() { - cd "$_binutilsdir" - "$builddir"/configure \ - --prefix=/usr \ - --target=$_target \ - --infodir=/usr/share/info/$_target \ - --enable-lto --enable-plugins \ - --enable-deterministic-archives \ - --disable-multilib --disable-nls \ - --disable-werror - make + export CFLAGS="$CFLAGS -O2" + export CXXFLAGS="$CXXFLAGS -O2" + export CPPFLAGS="$CPPFLAGS -O2" + + local target + for target in $_targets; do + msg "building target: $target" + ( + local bld="$srcdir"/bld-$target + mkdir -p "$bld" + cd "$bld" + "$builddir"/configure \ + --prefix=/usr \ + --program-prefix=$target- \ + --target=$target \ + --enable-deterministic-archives \ + --enable-ld=default \ + --enable-plugins \ + --disable-default-execstack \ + --disable-gprofng \ + --disable-internal-libiberty \ + --disable-multilib \ + --disable-nls \ + --disable-shared \ + --disable-werror \ + --with-mmap \ + --with-system-zlib + make + ) + done } package() { - cd "$_binutilsdir" - make DESTDIR="$pkgdir" install + local target + for target in $_targets; do + make -C "$srcdir"/bld-$target DESTDIR="$pkgdir" install + done # delete bfd-plugins directory, so it does not conflict with host toolchain rm -rf "$pkgdir"/usr/lib/bfd-plugins + + # quite redundant given this is just regular binutils docs + rm -rf "$pkgdir"/usr/share/info + rm -rf "$pkgdir"/usr/share/man +} + +x32() { + pkgdesc="$pkgdesc (i686-mingw target)" + + amove usr/i686-w64-mingw32 + amove usr/bin/i686-w64-mingw32* } sha512sums=" -8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d mingw-w64-binutils-2.38.tar.xz +155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 mingw-w64-binutils-2.42.tar.xz " |