diff options
Diffstat (limited to 'community/mingw-w64-binutils/APKBUILD')
-rw-r--r-- | community/mingw-w64-binutils/APKBUILD | 96 |
1 files changed, 61 insertions, 35 deletions
diff --git a/community/mingw-w64-binutils/APKBUILD b/community/mingw-w64-binutils/APKBUILD index bc5e34437a1..e29da111f2e 100644 --- a/community/mingw-w64-binutils/APKBUILD +++ b/community/mingw-w64-binutils/APKBUILD @@ -1,58 +1,84 @@ # Contributor: Leo <thinkabit.ukim@gmail.com> -# Maintainer: +# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca> pkgname=mingw-w64-binutils -pkgver=2.37 -pkgrel=0 +pkgver=2.40 +pkgrel=2 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 +case "$CARCH" in +x86_64) + _targets="x86_64-w64-mingw32 i686-w64-mingw32" + subpackages="$subpackages i686-$pkgname:x32" + ;; +x86) + _targets="i686-w64-mingw32" + ;; +esac - # 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 +build() { + export CFLAGS="$CFLAGS -O2" + export CXXFLAGS="$CXXFLAGS -O2" + export CPPFLAGS="$CPPFLAGS -O2" - mkdir -p "$_binutilsdir" + 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 } -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 +package() { + 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 } -package() { - cd "$_binutilsdir" - make DESTDIR="$pkgdir" install +x32() { + pkgdesc="$pkgdesc (i686-mingw target)" + + amove usr/i686-w64-mingw32 + amove usr/bin/i686-w64-mingw32* } sha512sums=" -5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 mingw-w64-binutils-2.37.tar.xz +a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 mingw-w64-binutils-2.40.tar.xz " |