From cd43a0b58e74f18c3decfaadc1e78b893525136d Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Sun, 11 Sep 2022 14:30:43 +0200 Subject: [PATCH] cross/gcc-*: upgrade to 12.1.1_git20220630-r5 Removed isl as described in pmaports issue 2167. Verified locally that gcc-aarch64 builds. Tried to test building packages with it, but wasn't possible with the local build due to a bug, I'll create an issue and link it in pmaports issue 2167. Pushing this now as it's a critical fix, should work in theory as soon as the binary packages are built on bpo, and right now it's broken anyway. --- cross/gcc-aarch64/APKBUILD | 106 ++++++++++++++++++++++++------------- cross/gcc-armhf/APKBUILD | 106 ++++++++++++++++++++++++------------- cross/gcc-armv7/APKBUILD | 106 ++++++++++++++++++++++++------------- 3 files changed, 210 insertions(+), 108 deletions(-) diff --git a/cross/gcc-aarch64/APKBUILD b/cross/gcc-aarch64/APKBUILD index e2ace872d..e267f611c 100644 --- a/cross/gcc-aarch64/APKBUILD +++ b/cross/gcc-aarch64/APKBUILD @@ -31,13 +31,13 @@ pkgver=12.1.1_git20220630 [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-aarch64 -pkgrel=1 +pkgrel=5 pkgdesc="Stage2 cross-compiler for aarch64" url="https://gcc.gnu.org" arch="x86_64" license="GPL-2.0-or-later LGPL-2.1-or-later" _gccrel=$pkgver-r$pkgrel -depends="isl binutils-aarch64 mpc1" +depends="binutils-aarch64 mpc1" makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev" makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64" subpackages="g++-aarch64:gpp" @@ -198,7 +198,6 @@ if $LANG_ADA; then fi if $LANG_JIT; then subpackages="$subpackages libgccjit:jit libgccjit-dev:jitdev" - _languages="$_languages,jit" fi makedepends="$makedepends_build $makedepends_host" @@ -340,8 +339,6 @@ build() { *) _bootstrap_configure="--enable-shared --enable-threads --enable-tls" ;; esac - $LANG_JIT && _jit_configure="--enable-host-shared" - $_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp" $_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic" $_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm" @@ -359,50 +356,77 @@ build() { echo " libc_configure=$_libc_configure" echo " cross_configure=$_cross_configure" echo " bootstrap_configure=$_bootstrap_configure" - echo " hash_style_configure=$_hash_style_configure" + echo " hash_style_configure=$_hash_style_configure" echo "" export CFLAGS="$CFLAGS -O2" export CXXFLAGS="$CXXFLAGS -O2" export CPPFLAGS="$CPPFLAGS -O2" + local version="Alpine $pkgver-r$pkgrel" + local gccconfiguration=" + --prefix=/usr + --mandir=/usr/share/man + --infodir=/usr/share/info + --build=${CBUILD} + --host=${CHOST} + --target=${CTARGET} + --enable-checking=release + --disable-fixed-point + --disable-libstdcxx-pch + --disable-multilib + --disable-nls + --disable-werror + $_symvers + --enable-__cxa_atexit + --enable-default-pie + --enable-default-ssp + --enable-cloog-backend + --enable-languages=$_languages + $_arch_configure + $_libc_configure + $_cross_configure + $_bootstrap_configure + --with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues + --with-system-zlib + $_hash_style_configure + " + mkdir -p "$_builddir" cd "$_builddir" - "$_gccdir"/configure --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --build=${CBUILD} \ - --host=${CHOST} \ - --target=${CTARGET} \ - --with-pkgversion="Alpine $pkgver" \ - --enable-checking=release \ - --disable-fixed-point \ - --disable-libstdcxx-pch \ - --disable-multilib \ - --disable-nls \ - --disable-werror \ - $_symvers \ - --enable-__cxa_atexit \ - --enable-default-pie \ - --enable-default-ssp \ - --enable-cloog-backend \ - --enable-languages=$_languages \ - $_arch_configure \ - $_libc_configure \ - $_cross_configure \ - $_bootstrap_configure \ - $_jit_configure \ - --with-system-zlib \ - $_hash_style_configure + "$_gccdir"/configure $gccconfiguration \ + --with-pkgversion="$version" + + msg "building gcc" make + + # we build gccjit separate to not build all of gcc with --enable-host-shared + # as doing so slows it down a few %, so for some quick if's here we gain + # free performance + if $LANG_JIT; then + mkdir -p "$_builddir"/libgccjit-build + cd "$_builddir"/libgccjit-build + "$_gccdir"/configure $gccconfiguration \ + --disable-bootstrap \ + --enable-host-shared \ + --enable-languages=jit \ + --with-pkgversion="$version" + + msg "building libgccjit" + make all-gcc + fi } package() { cd "$_builddir" - make -j1 DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install ln -s gcc "$pkgdir"/usr/bin/cc + if $LANG_JIT; then + make -C "$_builddir"/libgccjit-build/gcc DESTDIR="$pkgdir" jit.install-common + fi + # we dont support gcj -static # and saving 35MB is not bad. find "$pkgdir" \( -name libgtkpeer.a \ @@ -526,9 +550,21 @@ libcxx() { mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/ } +libcxx_dev() { + pkgdesc="GNU C++ standard runtime library (development files)" + depends= + replaces="g++" + + amove usr/lib/libstdc++.a \ + usr/lib/libstdc++.so \ + usr/lib/libstdc++fs.a \ + usr/lib/libsupc++.a \ + usr/include/c++ +} + gpp() { pkgdesc="GNU C++ standard library and compiler" - depends="libstdc++=$_gccrel gcc=$_gccrel libc-dev" + depends="libstdc++=$_gccrel libstdc++-dev=$_gccrel gcc=$_gccrel libc-dev" mkdir -p "$subpkgdir/$_gcclibexec" \ "$subpkgdir"/usr/bin \ "$subpkgdir"/usr/${_target:+$CTARGET/}include \ @@ -536,8 +572,6 @@ gpp() { mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/" - mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/*++* "$subpkgdir"/usr/${_target:+$CTARGET/}lib/ - mv "$pkgdir"/usr/${_target:+$CTARGET/}include/c++ "$subpkgdir"/usr/${_target:+$CTARGET/}include/ mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/ } diff --git a/cross/gcc-armhf/APKBUILD b/cross/gcc-armhf/APKBUILD index 69ac9ee05..5afd624fd 100644 --- a/cross/gcc-armhf/APKBUILD +++ b/cross/gcc-armhf/APKBUILD @@ -31,13 +31,13 @@ pkgver=12.1.1_git20220630 [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armhf -pkgrel=1 +pkgrel=5 pkgdesc="Stage2 cross-compiler for armhf" url="https://gcc.gnu.org" arch="x86_64" license="GPL-2.0-or-later LGPL-2.1-or-later" _gccrel=$pkgver-r$pkgrel -depends="isl binutils-armhf mpc1" +depends="binutils-armhf mpc1" makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev" makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf" subpackages="g++-armhf:gpp" @@ -198,7 +198,6 @@ if $LANG_ADA; then fi if $LANG_JIT; then subpackages="$subpackages libgccjit:jit libgccjit-dev:jitdev" - _languages="$_languages,jit" fi makedepends="$makedepends_build $makedepends_host" @@ -340,8 +339,6 @@ build() { *) _bootstrap_configure="--enable-shared --enable-threads --enable-tls" ;; esac - $LANG_JIT && _jit_configure="--enable-host-shared" - $_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp" $_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic" $_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm" @@ -359,50 +356,77 @@ build() { echo " libc_configure=$_libc_configure" echo " cross_configure=$_cross_configure" echo " bootstrap_configure=$_bootstrap_configure" - echo " hash_style_configure=$_hash_style_configure" + echo " hash_style_configure=$_hash_style_configure" echo "" export CFLAGS="$CFLAGS -O2" export CXXFLAGS="$CXXFLAGS -O2" export CPPFLAGS="$CPPFLAGS -O2" + local version="Alpine $pkgver-r$pkgrel" + local gccconfiguration=" + --prefix=/usr + --mandir=/usr/share/man + --infodir=/usr/share/info + --build=${CBUILD} + --host=${CHOST} + --target=${CTARGET} + --enable-checking=release + --disable-fixed-point + --disable-libstdcxx-pch + --disable-multilib + --disable-nls + --disable-werror + $_symvers + --enable-__cxa_atexit + --enable-default-pie + --enable-default-ssp + --enable-cloog-backend + --enable-languages=$_languages + $_arch_configure + $_libc_configure + $_cross_configure + $_bootstrap_configure + --with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues + --with-system-zlib + $_hash_style_configure + " + mkdir -p "$_builddir" cd "$_builddir" - "$_gccdir"/configure --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --build=${CBUILD} \ - --host=${CHOST} \ - --target=${CTARGET} \ - --with-pkgversion="Alpine $pkgver" \ - --enable-checking=release \ - --disable-fixed-point \ - --disable-libstdcxx-pch \ - --disable-multilib \ - --disable-nls \ - --disable-werror \ - $_symvers \ - --enable-__cxa_atexit \ - --enable-default-pie \ - --enable-default-ssp \ - --enable-cloog-backend \ - --enable-languages=$_languages \ - $_arch_configure \ - $_libc_configure \ - $_cross_configure \ - $_bootstrap_configure \ - $_jit_configure \ - --with-system-zlib \ - $_hash_style_configure + "$_gccdir"/configure $gccconfiguration \ + --with-pkgversion="$version" + + msg "building gcc" make + + # we build gccjit separate to not build all of gcc with --enable-host-shared + # as doing so slows it down a few %, so for some quick if's here we gain + # free performance + if $LANG_JIT; then + mkdir -p "$_builddir"/libgccjit-build + cd "$_builddir"/libgccjit-build + "$_gccdir"/configure $gccconfiguration \ + --disable-bootstrap \ + --enable-host-shared \ + --enable-languages=jit \ + --with-pkgversion="$version" + + msg "building libgccjit" + make all-gcc + fi } package() { cd "$_builddir" - make -j1 DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install ln -s gcc "$pkgdir"/usr/bin/cc + if $LANG_JIT; then + make -C "$_builddir"/libgccjit-build/gcc DESTDIR="$pkgdir" jit.install-common + fi + # we dont support gcj -static # and saving 35MB is not bad. find "$pkgdir" \( -name libgtkpeer.a \ @@ -526,9 +550,21 @@ libcxx() { mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/ } +libcxx_dev() { + pkgdesc="GNU C++ standard runtime library (development files)" + depends= + replaces="g++" + + amove usr/lib/libstdc++.a \ + usr/lib/libstdc++.so \ + usr/lib/libstdc++fs.a \ + usr/lib/libsupc++.a \ + usr/include/c++ +} + gpp() { pkgdesc="GNU C++ standard library and compiler" - depends="libstdc++=$_gccrel gcc=$_gccrel libc-dev" + depends="libstdc++=$_gccrel libstdc++-dev=$_gccrel gcc=$_gccrel libc-dev" mkdir -p "$subpkgdir/$_gcclibexec" \ "$subpkgdir"/usr/bin \ "$subpkgdir"/usr/${_target:+$CTARGET/}include \ @@ -536,8 +572,6 @@ gpp() { mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/" - mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/*++* "$subpkgdir"/usr/${_target:+$CTARGET/}lib/ - mv "$pkgdir"/usr/${_target:+$CTARGET/}include/c++ "$subpkgdir"/usr/${_target:+$CTARGET/}include/ mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/ } diff --git a/cross/gcc-armv7/APKBUILD b/cross/gcc-armv7/APKBUILD index 5a93b0091..f7e4d7247 100644 --- a/cross/gcc-armv7/APKBUILD +++ b/cross/gcc-armv7/APKBUILD @@ -31,13 +31,13 @@ pkgver=12.1.1_git20220630 [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armv7 -pkgrel=1 +pkgrel=5 pkgdesc="Stage2 cross-compiler for armv7" url="https://gcc.gnu.org" arch="x86_64" license="GPL-2.0-or-later LGPL-2.1-or-later" _gccrel=$pkgver-r$pkgrel -depends="isl binutils-armv7 mpc1" +depends="binutils-armv7 mpc1" makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev" makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armv7 binutils-armv7" subpackages="g++-armv7:gpp" @@ -198,7 +198,6 @@ if $LANG_ADA; then fi if $LANG_JIT; then subpackages="$subpackages libgccjit:jit libgccjit-dev:jitdev" - _languages="$_languages,jit" fi makedepends="$makedepends_build $makedepends_host" @@ -340,8 +339,6 @@ build() { *) _bootstrap_configure="--enable-shared --enable-threads --enable-tls" ;; esac - $LANG_JIT && _jit_configure="--enable-host-shared" - $_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp" $_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic" $_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm" @@ -359,50 +356,77 @@ build() { echo " libc_configure=$_libc_configure" echo " cross_configure=$_cross_configure" echo " bootstrap_configure=$_bootstrap_configure" - echo " hash_style_configure=$_hash_style_configure" + echo " hash_style_configure=$_hash_style_configure" echo "" export CFLAGS="$CFLAGS -O2" export CXXFLAGS="$CXXFLAGS -O2" export CPPFLAGS="$CPPFLAGS -O2" + local version="Alpine $pkgver-r$pkgrel" + local gccconfiguration=" + --prefix=/usr + --mandir=/usr/share/man + --infodir=/usr/share/info + --build=${CBUILD} + --host=${CHOST} + --target=${CTARGET} + --enable-checking=release + --disable-fixed-point + --disable-libstdcxx-pch + --disable-multilib + --disable-nls + --disable-werror + $_symvers + --enable-__cxa_atexit + --enable-default-pie + --enable-default-ssp + --enable-cloog-backend + --enable-languages=$_languages + $_arch_configure + $_libc_configure + $_cross_configure + $_bootstrap_configure + --with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues + --with-system-zlib + $_hash_style_configure + " + mkdir -p "$_builddir" cd "$_builddir" - "$_gccdir"/configure --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --build=${CBUILD} \ - --host=${CHOST} \ - --target=${CTARGET} \ - --with-pkgversion="Alpine $pkgver" \ - --enable-checking=release \ - --disable-fixed-point \ - --disable-libstdcxx-pch \ - --disable-multilib \ - --disable-nls \ - --disable-werror \ - $_symvers \ - --enable-__cxa_atexit \ - --enable-default-pie \ - --enable-default-ssp \ - --enable-cloog-backend \ - --enable-languages=$_languages \ - $_arch_configure \ - $_libc_configure \ - $_cross_configure \ - $_bootstrap_configure \ - $_jit_configure \ - --with-system-zlib \ - $_hash_style_configure + "$_gccdir"/configure $gccconfiguration \ + --with-pkgversion="$version" + + msg "building gcc" make + + # we build gccjit separate to not build all of gcc with --enable-host-shared + # as doing so slows it down a few %, so for some quick if's here we gain + # free performance + if $LANG_JIT; then + mkdir -p "$_builddir"/libgccjit-build + cd "$_builddir"/libgccjit-build + "$_gccdir"/configure $gccconfiguration \ + --disable-bootstrap \ + --enable-host-shared \ + --enable-languages=jit \ + --with-pkgversion="$version" + + msg "building libgccjit" + make all-gcc + fi } package() { cd "$_builddir" - make -j1 DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install ln -s gcc "$pkgdir"/usr/bin/cc + if $LANG_JIT; then + make -C "$_builddir"/libgccjit-build/gcc DESTDIR="$pkgdir" jit.install-common + fi + # we dont support gcj -static # and saving 35MB is not bad. find "$pkgdir" \( -name libgtkpeer.a \ @@ -526,9 +550,21 @@ libcxx() { mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/ } +libcxx_dev() { + pkgdesc="GNU C++ standard runtime library (development files)" + depends= + replaces="g++" + + amove usr/lib/libstdc++.a \ + usr/lib/libstdc++.so \ + usr/lib/libstdc++fs.a \ + usr/lib/libsupc++.a \ + usr/include/c++ +} + gpp() { pkgdesc="GNU C++ standard library and compiler" - depends="libstdc++=$_gccrel gcc=$_gccrel libc-dev" + depends="libstdc++=$_gccrel libstdc++-dev=$_gccrel gcc=$_gccrel libc-dev" mkdir -p "$subpkgdir/$_gcclibexec" \ "$subpkgdir"/usr/bin \ "$subpkgdir"/usr/${_target:+$CTARGET/}include \ @@ -536,8 +572,6 @@ gpp() { mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/" - mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/*++* "$subpkgdir"/usr/${_target:+$CTARGET/}lib/ - mv "$pkgdir"/usr/${_target:+$CTARGET/}include/c++ "$subpkgdir"/usr/${_target:+$CTARGET/}include/ mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/ }