diff options
Diffstat (limited to 'community/mingw-w64-gcc/APKBUILD')
-rw-r--r-- | community/mingw-w64-gcc/APKBUILD | 151 |
1 files changed, 102 insertions, 49 deletions
diff --git a/community/mingw-w64-gcc/APKBUILD b/community/mingw-w64-gcc/APKBUILD index 13960bf63d3..6f49491d23c 100644 --- a/community/mingw-w64-gcc/APKBUILD +++ b/community/mingw-w64-gcc/APKBUILD @@ -1,82 +1,135 @@ # Contributor: Leo <thinkabit.ukim@gmail.com> -# Maintainer: +# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca> pkgname=mingw-w64-gcc -pkgver=11.3.0 -pkgrel=0 -_islver=0.22 +pkgver=13.2.0 +pkgrel=2 pkgdesc="Cross GCC for the MinGW-w64 cross-compiler" url="https://gcc.gnu.org" arch="x86_64 x86" license="GPL-3.0-or-later" depends=" mingw-w64-binutils - mingw-w64-winpthreads + mingw-w64-crt mingw-w64-headers - mingw-w64-crt" -makedepends="zlib-dev mpc1-dev gmp-dev mpfr-dev" + mingw-w64-winpthreads + " +makedepends=" + gmp-dev + isl-dev + mpc1-dev + mpfr-dev + zlib-dev + zstd-dev + " +subpackages="$pkgname-ccache" source=" $pkgname-$pkgver.tar.xz::https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz - http://libisl.sourceforge.io/isl-$_islver.tar.bz2 0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch " builddir="$srcdir/gcc-$pkgver" case "$CARCH" in - x86_64) _target="x86_64-w64-mingw32" ;; - x86) _target="i686-w64-mingw32" ;; +x86_64) + _targets="x86_64-w64-mingw32 i686-w64-mingw32" + makedepends=" + $makedepends + i686-mingw-w64-binutils + i686-mingw-w64-crt + i686-mingw-w64-headers + i686-mingw-w64-winpthreads + " + subpackages="$subpackages i686-$pkgname:x32" + ;; +x86) + _targets="i686-w64-mingw32" + ;; esac -# Directory for our out-of-tree builds -_gccdir="$srcdir"/gcc-build-$_target - -prepare() { - default_prepare - mkdir -p "$_gccdir" -} - build() { - cd "$_gccdir" - "$builddir"/configure \ - --prefix=/usr \ - --libexecdir=/usr/libexec \ - --target=$_target \ - --enable-languages=c,lto,c++ \ - --enable-shared --enable-static \ - --enable-threads=posix --enable-fully-dynamic-string \ - --enable-libstdcxx-time=yes \ - --with-system-zlib --enable-cloog-backend=isl \ - --enable-lto --disable-dw2-exceptions --enable-libgomp \ - --disable-multilib --enable-checking=release \ - --disable-nls --disable-werror - make + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431 + export CFLAGS="$CFLAGS -O2 -Wno-error=format-security" + export CXXFLAGS="$CXXFLAGS -O2 -Wno-error=format-security" + + 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 \ + --target=$target \ + --libexecdir=/usr/libexec \ + --disable-dw2-exceptions \ + --disable-multilib \ + --disable-nls \ + --disable-sjlj-exceptions \ + --disable-werror \ + --enable-checking=release \ + --enable-cloog-backend=isl \ + --enable-fully-dynamic-string \ + --enable-languages=c,lto,c++ \ + --enable-libgomp \ + --enable-libstdcxx-time=yes \ + --enable-lto \ + --enable-shared \ + --enable-static \ + --enable-threads=posix \ + --with-bugurl="https://gitlab.alpinelinux.org/alpine/aports/-/issues" \ + --with-system-zlib + make + ) + done } package() { - cd "$_gccdir" - make DESTDIR="$pkgdir" install + local target + for target in $_targets; do + make -C "$srcdir"/bld-$target DESTDIR="$pkgdir" install + $target-strip --strip-unneeded "$pkgdir"/usr/$target/lib/*.dll + ln -s $target-gcc "$pkgdir"/usr/bin/$target-cc - $_target-strip "$pkgdir"/usr/$_target/lib/*.dll + # Move DLLs + mkdir -p "$pkgdir"/usr/$target/bin + mv "$pkgdir"/usr/$target/lib/*.dll "$pkgdir"/usr/$target/bin + done - strip "$pkgdir"/usr/bin/$_target-* - strip "$pkgdir"/usr/libexec/gcc/$_target/$pkgver/cc1* - strip "$pkgdir"/usr/libexec/gcc/$_target/$pkgver/collect2 - strip "$pkgdir"/usr/libexec/gcc/$_target/$pkgver/lto* + # Unnecessary files + rm -r "$pkgdir"/usr/share + rm "$pkgdir"/usr/lib/libcc1.* +} - ln -s $_target-gcc "$pkgdir"/usr/bin/$_target-cc +x32() { + pkgdesc="$pkgdesc (i686 target)" + depends=" + i686-mingw-w64-binutils + i686-mingw-w64-crt + i686-mingw-w64-headers + i686-mingw-w64-winpthreads + " - # Move DLLs - mkdir -p "$pkgdir"/usr/$_target/bin - mv "$pkgdir"/usr/$_target/lib/*.dll "$pkgdir"/usr/$_target/bin + amove usr/i686-w64-mingw32 + amove usr/bin/i686-w64-mingw32-* + amove usr/lib/gcc/i686-w64-mingw32 + amove usr/libexec/gcc/i686-w64-mingw32 +} - strip "$pkgdir"/usr/bin/* +ccache() { + pkgdesc="$pkgdesc (ccache symlinks)" + install_if="$pkgname=$pkgver-r$pkgrel ccache" - # Unnecessary files - rm -rf "$pkgdir"/usr/share - rm "$pkgdir"/usr/lib/libcc1.* + mkdir -p "$subpkgdir"/usr/lib/ccache/bin + + local target tool + for target in $_targets; do + for tool in c++ cc cpp g++ gcc gcc-$pkgver; do + ln -sfv ../../../bin/ccache "$subpkgdir"/usr/lib/ccache/bin/$target-$tool + done + done } sha512sums=" -f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 mingw-w64-gcc-11.3.0.tar.xz -fc2c9796979610dd51143dcefe4f5c989c4354571cc5a1fcc6b932fd41f42a54f6b43adfd289af61be7bd06f3a523fa6a7d7ee56680e32d8036beb4c188fa668 isl-0.22.tar.bz2 +d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 mingw-w64-gcc-13.2.0.tar.xz 8266eae8b3be5557e8cd79c21b6326db7cd83604db6d6ad83923798650fcd8d0f9f1f4ed424c816a48e91f21fb1852ab9272c73100b219f07d3bbb566bfd6fae 0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch " |