aboutsummaryrefslogtreecommitdiffstats
path: root/community/mingw-w64-gcc/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/mingw-w64-gcc/APKBUILD')
-rw-r--r--community/mingw-w64-gcc/APKBUILD151
1 files changed, 102 insertions, 49 deletions
diff --git a/community/mingw-w64-gcc/APKBUILD b/community/mingw-w64-gcc/APKBUILD
index 9978caa69f6..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.2.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 --enable-libstdcxx-filesystem=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="
-d53a0a966230895c54f01aea38696f818817b505f1e2bfa65e508753fcd01b2aedb4a61434f41f3a2ddbbd9f41384b96153c684ded3f0fa97c82758d9de5c7cf mingw-w64-gcc-11.2.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
"