2017-05-26 20:26:25 +00:00
|
|
|
# Automatically generated aport, do not edit!
|
|
|
|
# Generator: pmbootstrap aportgen gcc-armhf
|
2018-09-30 02:55:06 +00:00
|
|
|
# Based on: main/gcc (from Alpine)
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
CTARGET_ARCH=armhf
|
|
|
|
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
2019-12-26 13:51:16 +00:00
|
|
|
LANG_D=false
|
2017-05-26 20:26:25 +00:00
|
|
|
LANG_OBJC=false
|
|
|
|
LANG_JAVA=false
|
|
|
|
LANG_GO=false
|
|
|
|
LANG_FORTRAN=false
|
|
|
|
LANG_ADA=false
|
|
|
|
options="!strip !tracedeps"
|
|
|
|
|
2018-05-13 18:30:02 +00:00
|
|
|
# abuild doesn't try to tries to install "build-base-$CTARGET_ARCH"
|
|
|
|
# when this variable matches "no*"
|
|
|
|
BOOTSTRAP="nobuildbase"
|
|
|
|
|
|
|
|
# abuild will only cross compile when this variable is set, but it
|
|
|
|
# needs to find a valid package database in there for dependency
|
|
|
|
# resolving, so we set it to /.
|
|
|
|
CBUILDROOT="/"
|
|
|
|
|
|
|
|
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
2017-08-12 14:06:02 +00:00
|
|
|
|
2020-07-14 16:05:19 +00:00
|
|
|
pkgname=gcc-armhf
|
2021-11-25 09:09:10 +00:00
|
|
|
_pkgbase=11.2.1
|
2022-02-21 16:53:02 +00:00
|
|
|
pkgver=11.2.1_git20220219
|
2017-05-26 20:26:25 +00:00
|
|
|
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
|
|
|
|
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
|
|
|
|
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
|
|
|
|
2020-07-14 16:05:19 +00:00
|
|
|
pkgname=gcc-armhf
|
2022-06-30 22:39:20 +00:00
|
|
|
pkgrel=3
|
2017-05-26 20:26:25 +00:00
|
|
|
pkgdesc="Stage2 cross-compiler for armhf"
|
2019-12-26 13:51:16 +00:00
|
|
|
url="https://gcc.gnu.org"
|
2018-11-08 06:12:13 +00:00
|
|
|
arch="x86_64"
|
2020-01-14 20:43:21 +00:00
|
|
|
license="GPL-2.0-or-later LGPL-2.1-or-later"
|
2017-05-26 20:26:25 +00:00
|
|
|
_gccrel=$pkgver-r$pkgrel
|
2019-04-30 17:12:56 +00:00
|
|
|
depends="isl binutils-armhf mpc1"
|
2021-08-09 22:44:06 +00:00
|
|
|
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
2017-05-26 20:26:25 +00:00
|
|
|
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf"
|
2017-07-22 10:36:00 +00:00
|
|
|
subpackages="g++-armhf:gpp"
|
2017-05-26 20:26:25 +00:00
|
|
|
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-doc$_target"
|
|
|
|
replaces="libstdc++ binutils"
|
|
|
|
|
2020-01-14 20:43:21 +00:00
|
|
|
: "${LANG_CXX:=true}"
|
|
|
|
: "${LANG_D:=true}"
|
|
|
|
: "${LANG_OBJC:=true}"
|
2021-11-25 23:47:19 +00:00
|
|
|
: "${LANG_GO:=true}"
|
2020-01-14 20:43:21 +00:00
|
|
|
: "${LANG_FORTRAN:=true}"
|
|
|
|
: "${LANG_ADA:=true}"
|
2021-12-05 02:06:27 +00:00
|
|
|
: "${LANG_JIT:=true}"
|
2017-05-26 20:26:25 +00:00
|
|
|
|
2020-01-14 20:43:21 +00:00
|
|
|
_libgomp=true
|
|
|
|
_libgcc=true
|
|
|
|
_libatomic=true
|
|
|
|
_libitm=true
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
if [ "$CHOST" != "$CTARGET" ]; then
|
|
|
|
if [ "$BOOTSTRAP" = nolibc ]; then
|
|
|
|
LANG_CXX=false
|
|
|
|
LANG_ADA=false
|
2020-01-14 20:43:21 +00:00
|
|
|
_libgcc=false
|
2017-05-26 20:26:25 +00:00
|
|
|
_builddir="$srcdir/build-cross-pass2"
|
|
|
|
else
|
|
|
|
_builddir="$srcdir/build-cross-final"
|
|
|
|
fi
|
|
|
|
LANG_OBJC=false
|
|
|
|
LANG_GO=false
|
|
|
|
LANG_FORTRAN=false
|
2020-03-27 14:07:52 +00:00
|
|
|
LANG_D=false
|
2021-12-05 02:06:27 +00:00
|
|
|
LANG_JIT=false
|
2020-01-14 20:43:21 +00:00
|
|
|
_libgomp=false
|
|
|
|
_libatomic=false
|
|
|
|
_libitm=false
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
# reset target flags (should be set in crosscreate abuild)
|
|
|
|
# fixup flags. seems gcc treats CPPFLAGS as global without
|
|
|
|
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
|
|
|
export CFLAGS="$CPPFLAGS $CFLAGS"
|
|
|
|
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
|
|
|
unset CPPFLAGS
|
|
|
|
export CFLAGS_FOR_TARGET=" "
|
|
|
|
export CXXFLAGS_FOR_TARGET=" "
|
|
|
|
export LDFLAGS_FOR_TARGET=" "
|
|
|
|
|
|
|
|
STRIP_FOR_TARGET="$CTARGET-strip"
|
|
|
|
elif [ "$CBUILD" != "$CHOST" ]; then
|
|
|
|
# fixup flags. seems gcc treats CPPFLAGS as global without
|
|
|
|
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
|
|
|
export CFLAGS="$CPPFLAGS $CFLAGS"
|
|
|
|
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
|
|
|
unset CPPFLAGS
|
|
|
|
|
|
|
|
# reset flags and cc for build
|
|
|
|
export CC_FOR_BUILD="gcc"
|
|
|
|
export CXX_FOR_BUILD="g++"
|
|
|
|
export CFLAGS_FOR_BUILD=" "
|
|
|
|
export CXXFLAGS_FOR_BUILD=" "
|
|
|
|
export LDFLAGS_FOR_BUILD=" "
|
|
|
|
export CFLAGS_FOR_TARGET=" "
|
|
|
|
export CXXFLAGS_FOR_TARGET=" "
|
|
|
|
export LDFLAGS_FOR_TARGET=" "
|
|
|
|
|
|
|
|
# Languages that do not need bootstrapping
|
|
|
|
LANG_OBJC=false
|
|
|
|
LANG_GO=false
|
|
|
|
LANG_FORTRAN=false
|
2020-03-27 14:07:52 +00:00
|
|
|
LANG_D=false
|
2021-12-05 02:06:27 +00:00
|
|
|
LANG_JIT=false
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
|
|
|
_builddir="$srcdir/build-cross-native"
|
|
|
|
else
|
|
|
|
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
|
|
|
_builddir="$srcdir/build"
|
|
|
|
fi
|
|
|
|
|
2019-12-26 13:51:16 +00:00
|
|
|
# GDC hasn't been ported to PowerPC
|
|
|
|
# See libphobos/configure.tgt in GCC sources for supported targets
|
2021-06-11 19:05:24 +00:00
|
|
|
# riscv fails with: error: static assert "unimplemented"
|
|
|
|
case "$CARCH" in
|
|
|
|
ppc64le|riscv64) LANG_D=false ;;
|
|
|
|
esac
|
2019-12-26 13:51:16 +00:00
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
# libitm has TEXTRELs in ARM build, so disable for now
|
|
|
|
case "$CTARGET_ARCH" in
|
2020-01-14 20:43:21 +00:00
|
|
|
arm*) _libitm=false ;;
|
|
|
|
mips*) _libitm=false ;;
|
2021-06-11 19:05:24 +00:00
|
|
|
riscv64) _libitm=false ;;
|
2017-05-26 20:26:25 +00:00
|
|
|
esac
|
|
|
|
|
2020-11-17 15:10:31 +00:00
|
|
|
# Internal libffi fails to build on MIPS at the moment, need to
|
|
|
|
# investigate further. We disable LANG_GO on mips64 as it requires
|
|
|
|
# the internal libffi.
|
|
|
|
case "$CTARGET_ARCH" in
|
|
|
|
mips*) LANG_GO=false ;;
|
|
|
|
esac
|
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
# Fortran uses libquadmath if toolchain has __float128
|
|
|
|
# currently on x86, x86_64 and ia64
|
2020-01-14 20:43:21 +00:00
|
|
|
_libquadmath=$LANG_FORTRAN
|
2017-05-26 20:26:25 +00:00
|
|
|
case "$CTARGET_ARCH" in
|
2020-01-14 20:43:21 +00:00
|
|
|
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
|
|
|
|
*) _libquadmath=false ;;
|
2017-05-26 20:26:25 +00:00
|
|
|
esac
|
|
|
|
|
|
|
|
# libatomic is a dependency for openvswitch
|
2020-01-14 20:43:21 +00:00
|
|
|
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
|
|
|
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
|
|
|
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
|
|
|
if $_libgomp; then
|
2017-05-26 20:26:25 +00:00
|
|
|
depends="$depends libgomp=$_gccrel"
|
|
|
|
subpackages="$subpackages libgomp::$CTARGET_ARCH"
|
|
|
|
fi
|
|
|
|
|
2021-06-11 19:05:24 +00:00
|
|
|
case "$CARCH" in
|
|
|
|
riscv64)
|
|
|
|
LANG_ADA=false;;
|
|
|
|
esac
|
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
_languages=c
|
|
|
|
if $LANG_CXX; then
|
|
|
|
_languages="$_languages,c++"
|
|
|
|
fi
|
2019-12-26 13:51:16 +00:00
|
|
|
if $LANG_D; then
|
|
|
|
subpackages="$subpackages libgphobos::$CTARGET_ARCH gcc-gdc$_target:gdc"
|
|
|
|
_languages="$_languages,d"
|
2020-03-31 13:37:54 +00:00
|
|
|
makedepends_build="$makedepends_build libucontext-dev"
|
2019-12-26 13:51:16 +00:00
|
|
|
fi
|
2017-05-26 20:26:25 +00:00
|
|
|
if $LANG_OBJC; then
|
|
|
|
subpackages="$subpackages libobjc::$CTARGET_ARCH gcc-objc$_target:objc"
|
|
|
|
_languages="$_languages,objc"
|
|
|
|
fi
|
|
|
|
if $LANG_GO; then
|
|
|
|
subpackages="$subpackages libgo::$CTARGET_ARCH gcc-go$_target:go"
|
|
|
|
_languages="$_languages,go"
|
|
|
|
fi
|
|
|
|
if $LANG_FORTRAN; then
|
|
|
|
subpackages="$subpackages libgfortran::$CTARGET_ARCH gfortran$_target:gfortran"
|
|
|
|
_languages="$_languages,fortran"
|
|
|
|
fi
|
|
|
|
if $LANG_ADA; then
|
2021-03-07 15:33:26 +00:00
|
|
|
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH gcc-gnat$_target:gnat"
|
2017-05-26 20:26:25 +00:00
|
|
|
_languages="$_languages,ada"
|
2020-06-10 17:12:49 +00:00
|
|
|
[ "$CBUILD" = "$CTARGET" ] && makedepends_build="$makedepends_build gcc-gnat-bootstrap"
|
|
|
|
[ "$CBUILD" != "$CTARGET" ] && makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
|
2017-05-26 20:26:25 +00:00
|
|
|
fi
|
2021-12-05 02:06:27 +00:00
|
|
|
if $LANG_JIT; then
|
|
|
|
subpackages="$subpackages libgccjit:jit libgccjit-dev:jitdev"
|
|
|
|
_languages="$_languages,jit"
|
|
|
|
fi
|
2017-05-26 20:26:25 +00:00
|
|
|
makedepends="$makedepends_build $makedepends_host"
|
|
|
|
|
2020-11-13 10:30:52 +00:00
|
|
|
# when using upstream releases, use this URI template
|
|
|
|
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
|
|
|
|
#
|
2020-12-03 23:13:25 +00:00
|
|
|
# right now, we are using a git snapshot.
|
|
|
|
#
|
|
|
|
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
|
|
|
|
# so that they can be properly tracked and easily rebased if needed.
|
|
|
|
source="https://dev.alpinelinux.org/~nenolod/gcc-${pkgver}.tar.xz
|
2020-08-21 10:18:02 +00:00
|
|
|
0001-posix_memalign.patch
|
|
|
|
0002-gcc-poison-system-directories.patch
|
2022-01-06 15:11:38 +00:00
|
|
|
0003-specs-turn-on-Wl-z-now-by-default.patch
|
2020-08-21 10:18:02 +00:00
|
|
|
0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
|
|
|
|
0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
|
|
|
|
0006-Enable-Wformat-and-Wformat-security-by-default.patch
|
|
|
|
0007-Enable-Wtrampolines-by-default.patch
|
|
|
|
0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch
|
|
|
|
0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
|
|
|
|
0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch
|
|
|
|
0011-libiberty-copy-PIC-objects-during-build-process.patch
|
|
|
|
0012-libitm-disable-FORTIFY.patch
|
|
|
|
0013-libgcc_s.patch
|
|
|
|
0014-nopie.patch
|
|
|
|
0015-libffi-use-__linux__-instead-of-__gnu_linux__-for-mu.patch
|
|
|
|
0016-dlang-update-zlib-binding.patch
|
2022-01-06 15:11:38 +00:00
|
|
|
0017-dlang-use-libucontext-on-mips64.patch
|
|
|
|
0018-dlang-libdruntime-define-fcntl.h-constants-for-mips6.patch
|
|
|
|
0019-ada-fix-shared-linking.patch
|
|
|
|
0020-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
|
|
|
|
0021-add-fortify-headers-paths.patch
|
|
|
|
0022-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
|
|
|
|
0023-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
|
|
|
|
0024-mips64-disable-multilib-support.patch
|
|
|
|
0025-aarch64-disable-multilib-support.patch
|
|
|
|
0026-s390x-disable-multilib-support.patch
|
|
|
|
0027-ppc64-le-disable-multilib-support.patch
|
|
|
|
0028-x86_64-disable-multilib-support.patch
|
|
|
|
0029-riscv-disable-multilib-support.patch
|
|
|
|
0030-always-build-libgcc_eh.a.patch
|
|
|
|
0031-ada-libgnarl-compatibility-for-musl.patch
|
|
|
|
0032-ada-musl-support-fixes.patch
|
|
|
|
0033-gcc-go-Fix-handling-of-signal-34-on-musl.patch
|
|
|
|
0034-There-are-more-than-one-st_-a-m-c-tim-fields-in-stru.patch
|
|
|
|
0035-gcc-go-signal-34-is-special-on-musl-libc.patch
|
|
|
|
0036-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
|
|
|
|
0037-gcc-go-link-to-libucontext.patch
|
|
|
|
0038-Use-generic-errstr.go-implementation-on-musl.patch
|
|
|
|
0039-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
|
|
|
|
0040-configure-fix-detection-of-atomic-builtins-in-libato.patch
|
|
|
|
0041-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
|
|
|
|
0042-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch
|
|
|
|
0043-stddef.h-add-support-for-musl-typedef-macro-guards.patch
|
|
|
|
0044-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
|
2022-02-21 16:53:02 +00:00
|
|
|
0045-libgo-include-asm-ptrace.h-for-pt_regs-definition-on.patch
|
|
|
|
0046-Disable-fsplit-stack-support-on-non-glibc-targets.patch
|
|
|
|
0047-x86-Properly-disable-fsplit-stack-support-on-non-gli.patch
|
|
|
|
0048-gdc-unconditionally-link-libgphobos-against-libucont.patch
|
|
|
|
0049-properly-disable-fsplit-stack-on-non-glibc-targets-P.patch
|
|
|
|
0050-x86-Fix-fsplit-stack-feature-detection-via-TARGET_CA.patch
|
|
|
|
0051-go-gospec-forcibly-disable-fsplit-stack-support.patch
|
2022-04-11 23:29:06 +00:00
|
|
|
libgo-musl-1.2.3.patch
|
2017-05-26 20:26:25 +00:00
|
|
|
"
|
|
|
|
|
|
|
|
# we build out-of-tree
|
2020-12-03 23:13:25 +00:00
|
|
|
_gccdir="$srcdir"/gcc-$pkgver
|
2020-11-13 10:30:52 +00:00
|
|
|
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
|
|
|
|
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
prepare() {
|
|
|
|
cd "$_gccdir"
|
|
|
|
|
|
|
|
_err=
|
|
|
|
for i in $source; do
|
|
|
|
case "$i" in
|
|
|
|
*.patch)
|
|
|
|
msg "Applying $i"
|
2018-09-27 17:15:08 +00:00
|
|
|
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
|
2017-05-26 20:26:25 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ -n "$_err" ]; then
|
|
|
|
error "The following patches failed:"
|
|
|
|
for i in $_err; do
|
|
|
|
echo " $i"
|
|
|
|
done
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
|
2020-11-13 10:30:52 +00:00
|
|
|
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
|
2017-05-26 20:26:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
local _arch_configure=
|
|
|
|
local _libc_configure=
|
|
|
|
local _bootstrap_configure=
|
|
|
|
local _symvers=
|
2021-12-05 02:06:27 +00:00
|
|
|
local _jit_configure=
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
cd "$_gccdir"
|
|
|
|
|
|
|
|
case "$CTARGET" in
|
2017-07-14 05:09:52 +00:00
|
|
|
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
|
2017-06-02 20:02:14 +00:00
|
|
|
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
|
2017-05-26 20:26:25 +00:00
|
|
|
armv6-*-*-*eabihf) _arch_configure="--with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux";;
|
|
|
|
armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
|
2017-12-26 15:37:21 +00:00
|
|
|
mips-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
|
|
|
|
mips64-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
|
|
|
|
mips64el-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
|
|
|
|
mipsel-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
|
2017-05-26 20:26:25 +00:00
|
|
|
powerpc-*-*-*) _arch_configure="--enable-secureplt --enable-decimal-float=no";;
|
|
|
|
powerpc64*-*-*-*) _arch_configure="--with-abi=elfv2 --enable-secureplt --enable-decimal-float=no --enable-targets=powerpcle-linux";;
|
|
|
|
i486-*-*-*) _arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
|
|
|
|
i586-*-*-*) _arch_configure="--with-arch=i586 --with-tune=generic --enable-cld";;
|
|
|
|
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
|
2021-06-12 23:03:06 +00:00
|
|
|
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
|
2017-05-26 20:26:25 +00:00
|
|
|
esac
|
|
|
|
|
2017-12-26 15:37:21 +00:00
|
|
|
case "$CTARGET_ARCH" in
|
|
|
|
mips*) _hash_style_configure="--with-linker-hash-style=sysv" ;;
|
|
|
|
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
|
|
|
|
esac
|
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
case "$CTARGET_LIBC" in
|
|
|
|
musl)
|
|
|
|
# musl does not support mudflap, or libsanitizer
|
|
|
|
# libmpx uses secure_getenv and struct _libc_fpstate not present in musl
|
|
|
|
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
|
|
|
|
_libc_configure="--disable-libssp --disable-libmpx --disable-libmudflap --disable-libsanitizer"
|
|
|
|
_symvers="--disable-symvers"
|
|
|
|
export libat_cv_have_ifunc=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
case "$BOOTSTRAP" in
|
|
|
|
nolibc) _bootstrap_configure="--with-newlib --disable-shared --enable-threads=no" ;;
|
|
|
|
*) _bootstrap_configure="--enable-shared --enable-threads --enable-tls" ;;
|
|
|
|
esac
|
|
|
|
|
2021-12-05 02:06:27 +00:00
|
|
|
$LANG_JIT && _jit_configure="--enable-host-shared"
|
|
|
|
|
2020-01-14 20:43:21 +00:00
|
|
|
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
|
|
|
|
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
|
|
|
|
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
|
|
|
|
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
msg "Building the following:"
|
|
|
|
echo ""
|
|
|
|
echo " CBUILD=$CBUILD"
|
|
|
|
echo " CHOST=$CHOST"
|
|
|
|
echo " CTARGET=$CTARGET"
|
|
|
|
echo " CTARGET_ARCH=$CTARGET_ARCH"
|
|
|
|
echo " CTARGET_LIBC=$CTARGET_LIBC"
|
|
|
|
echo " languages=$_languages"
|
|
|
|
echo " arch_configure=$_arch_configure"
|
|
|
|
echo " libc_configure=$_libc_configure"
|
|
|
|
echo " cross_configure=$_cross_configure"
|
|
|
|
echo " bootstrap_configure=$_bootstrap_configure"
|
2017-12-26 15:37:21 +00:00
|
|
|
echo " hash_style_configure=$_hash_style_configure"
|
2017-05-26 20:26:25 +00:00
|
|
|
echo ""
|
|
|
|
|
2020-08-21 10:18:02 +00:00
|
|
|
export CFLAGS="$CFLAGS -O2"
|
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
mkdir -p "$_builddir"
|
|
|
|
cd "$_builddir"
|
|
|
|
"$_gccdir"/configure --prefix=/usr \
|
|
|
|
--mandir=/usr/share/man \
|
|
|
|
--infodir=/usr/share/info \
|
|
|
|
--build=${CBUILD} \
|
|
|
|
--host=${CHOST} \
|
|
|
|
--target=${CTARGET} \
|
2020-01-14 20:43:21 +00:00
|
|
|
--with-pkgversion="Alpine $pkgver" \
|
2017-05-26 20:26:25 +00:00
|
|
|
--enable-checking=release \
|
|
|
|
--disable-fixed-point \
|
|
|
|
--disable-libstdcxx-pch \
|
|
|
|
--disable-multilib \
|
|
|
|
--disable-nls \
|
|
|
|
--disable-werror \
|
|
|
|
$_symvers \
|
|
|
|
--enable-__cxa_atexit \
|
|
|
|
--enable-default-pie \
|
2018-09-27 17:15:08 +00:00
|
|
|
--enable-default-ssp \
|
2017-05-26 20:26:25 +00:00
|
|
|
--enable-cloog-backend \
|
|
|
|
--enable-languages=$_languages \
|
|
|
|
$_arch_configure \
|
|
|
|
$_libc_configure \
|
|
|
|
$_cross_configure \
|
|
|
|
$_bootstrap_configure \
|
2021-12-05 02:06:27 +00:00
|
|
|
$_jit_configure \
|
2017-05-26 20:26:25 +00:00
|
|
|
--with-system-zlib \
|
2017-12-26 15:37:21 +00:00
|
|
|
$_hash_style_configure
|
2017-05-26 20:26:25 +00:00
|
|
|
make
|
|
|
|
}
|
|
|
|
|
2018-05-13 18:30:02 +00:00
|
|
|
package() {
|
2017-05-26 20:26:25 +00:00
|
|
|
cd "$_builddir"
|
2020-01-14 20:43:21 +00:00
|
|
|
make -j1 DESTDIR="$pkgdir" install
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
ln -s gcc "$pkgdir"/usr/bin/cc
|
|
|
|
|
|
|
|
# we dont support gcj -static
|
|
|
|
# and saving 35MB is not bad.
|
2020-01-14 20:43:21 +00:00
|
|
|
find "$pkgdir" \( -name libgtkpeer.a \
|
2019-10-01 07:57:30 +00:00
|
|
|
-o -name libgjsmalsa.a \
|
2020-01-14 20:43:21 +00:00
|
|
|
-o -name libgij.a \) \
|
|
|
|
-delete
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
# strip debug info from some static libs
|
2020-01-14 20:43:21 +00:00
|
|
|
find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
|
|
|
|
-o -name libgphobos.a -o -name libgdruntime.a \
|
2017-05-26 20:26:25 +00:00
|
|
|
-o -name libmudflap.a -o -name libmudflapth.a \
|
|
|
|
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
|
|
|
|
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
|
|
|
|
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
|
2020-01-14 20:43:21 +00:00
|
|
|
-a -type f \
|
|
|
|
-exec ${STRIP_FOR_TARGET} -g {} +
|
2017-05-26 20:26:25 +00:00
|
|
|
|
2020-01-14 20:43:21 +00:00
|
|
|
if $_libgomp; then
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir
|
|
|
|
fi
|
2020-01-14 20:43:21 +00:00
|
|
|
if $_libitm; then
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libitm.spec "$pkgdir"/$_gcclibdir
|
|
|
|
fi
|
|
|
|
|
|
|
|
# remove ffi
|
|
|
|
rm -f "$pkgdir"/usr/lib/libffi* "$pkgdir"/usr/share/man/man3/ffi*
|
2020-01-14 20:43:21 +00:00
|
|
|
find "$pkgdir" -name 'ffi*.h' -delete
|
2017-05-26 20:26:25 +00:00
|
|
|
|
2017-05-29 17:30:33 +00:00
|
|
|
local gdblib=${_target:+$CTARGET/}lib
|
2019-10-01 07:57:30 +00:00
|
|
|
if [ -d "$pkgdir"/usr/$gdblib/ ]; then
|
|
|
|
for i in $(find "$pkgdir"/usr/$gdblib/ -type f -maxdepth 1 -name "*-gdb.py"); do
|
|
|
|
mkdir -p "$pkgdir"/usr/share/gdb/python/auto-load/usr/$gdblib
|
|
|
|
mv "$i" "$pkgdir"/usr/share/gdb/python/auto-load/usr/$gdblib/
|
|
|
|
done
|
|
|
|
fi
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
# move ada runtime libs
|
|
|
|
if $LANG_ADA; then
|
|
|
|
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
|
|
|
|
mv "$i" "$pkgdir"/usr/lib/
|
|
|
|
ln -s ../../../../${i##*/} $i
|
|
|
|
done
|
2021-03-07 15:33:26 +00:00
|
|
|
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
|
|
|
|
mv "$i" "$pkgdir"/usr/lib/
|
|
|
|
ln -s ../../../../${i##*/} $i
|
|
|
|
done
|
2017-05-26 20:26:25 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$CHOST" != "$CTARGET" ]; then
|
|
|
|
# cross-gcc: remove any files that would conflict with the
|
|
|
|
# native gcc package
|
2020-01-14 20:43:21 +00:00
|
|
|
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
|
2017-05-26 20:26:25 +00:00
|
|
|
# libcc1 does not depend on target, don't ship it
|
|
|
|
rm -rf "$pkgdir"/usr/lib/libcc1.so*
|
|
|
|
|
|
|
|
# fixup gcc library symlinks to be linker scripts so
|
|
|
|
# linker finds the libs from relocated sysroot
|
2020-01-14 20:43:21 +00:00
|
|
|
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
|
2017-05-26 20:26:25 +00:00
|
|
|
if [ -h "$so" ]; then
|
2020-03-27 14:07:52 +00:00
|
|
|
local _real=$(basename "$(readlink "$so")")
|
2017-05-26 20:26:25 +00:00
|
|
|
rm -f "$so"
|
|
|
|
echo "GROUP ($_real)" > "$so"
|
|
|
|
fi
|
|
|
|
done
|
2017-12-26 15:37:21 +00:00
|
|
|
else
|
|
|
|
# add c89/c99 wrapper scripts
|
2018-02-27 22:24:21 +00:00
|
|
|
cat >"$pkgdir"/usr/bin/c89 <<'EOF'
|
2017-12-26 15:37:21 +00:00
|
|
|
#!/bin/sh
|
2020-01-14 20:43:21 +00:00
|
|
|
_flavor="-std=c89"
|
2017-12-26 15:37:21 +00:00
|
|
|
for opt; do
|
|
|
|
case "$opt" in
|
2020-01-14 20:43:21 +00:00
|
|
|
-ansi|-std=c89|-std=iso9899:1990) _flavor="";;
|
2017-12-26 15:37:21 +00:00
|
|
|
-std=*) echo "$(basename $0) called with non ANSI/ISO C option $opt" >&2
|
|
|
|
exit 1;;
|
|
|
|
esac
|
|
|
|
done
|
2020-01-14 20:43:21 +00:00
|
|
|
exec gcc $_flavor ${1+"$@"}
|
2017-12-26 15:37:21 +00:00
|
|
|
EOF
|
2018-02-27 22:24:21 +00:00
|
|
|
cat >"$pkgdir"/usr/bin/c99 <<'EOF'
|
2017-12-26 15:37:21 +00:00
|
|
|
#!/bin/sh
|
2020-01-14 20:43:21 +00:00
|
|
|
_flavor="-std=c99"
|
2017-12-26 15:37:21 +00:00
|
|
|
for opt; do
|
|
|
|
case "$opt" in
|
2020-01-14 20:43:21 +00:00
|
|
|
-std=c99|-std=iso9899:1999) _flavor="";;
|
2018-02-27 22:24:21 +00:00
|
|
|
-std=*) echo "$(basename $0) called with non ISO C99 option $opt" >&2
|
2017-12-26 15:37:21 +00:00
|
|
|
exit 1;;
|
|
|
|
esac
|
|
|
|
done
|
2020-01-14 20:43:21 +00:00
|
|
|
exec gcc $_flavor ${1+"$@"}
|
2017-12-26 15:37:21 +00:00
|
|
|
EOF
|
|
|
|
chmod 755 "$pkgdir"/usr/bin/c?9
|
2020-05-18 15:05:24 +00:00
|
|
|
|
|
|
|
# install lto plugin so regular binutils may use it
|
|
|
|
mkdir -p "$pkgdir"/usr/lib/bfd-plugins
|
|
|
|
ln -s /$_gcclibexec/liblto_plugin.so "$pkgdir/usr/lib/bfd-plugins/"
|
2017-05-26 20:26:25 +00:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
libatomic() {
|
|
|
|
pkgdesc="GCC Atomic library"
|
|
|
|
depends=
|
|
|
|
replaces="gcc"
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
libcxx() {
|
|
|
|
pkgdesc="GNU C++ standard runtime library"
|
|
|
|
depends=
|
|
|
|
|
2020-07-14 16:05:19 +00:00
|
|
|
if [ "$CHOST" = "$CTARGET" ]; then
|
|
|
|
# verify that we are using clock_gettime rather than doing direct syscalls
|
|
|
|
# so we dont break 32 bit arches due to time64.
|
|
|
|
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
|
|
|
|
fi
|
2020-06-10 17:12:49 +00:00
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
gpp() {
|
|
|
|
pkgdesc="GNU C++ standard library and compiler"
|
|
|
|
depends="libstdc++=$_gccrel gcc=$_gccrel libc-dev"
|
|
|
|
mkdir -p "$subpkgdir/$_gcclibexec" \
|
|
|
|
"$subpkgdir"/usr/bin \
|
|
|
|
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
|
|
|
|
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
|
|
|
|
|
|
|
|
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/
|
2021-12-05 02:06:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
jit() {
|
|
|
|
pkgdesc="GCC JIT Library"
|
|
|
|
depends=
|
|
|
|
amove usr/lib/libgccjit.so*
|
|
|
|
}
|
|
|
|
|
|
|
|
jitdev() {
|
|
|
|
pkgdesc="GCC JIT Library (development files)"
|
|
|
|
depends="libgccjit"
|
|
|
|
amove usr/include/libgccjit*.h
|
2017-05-26 20:26:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
libobjc() {
|
|
|
|
pkgdesc="GNU Objective-C runtime"
|
|
|
|
replaces="objc"
|
|
|
|
depends=
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
objc() {
|
|
|
|
pkgdesc="GNU Objective-C"
|
|
|
|
replaces="gcc"
|
|
|
|
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
|
|
|
|
|
2020-07-14 16:05:19 +00:00
|
|
|
mkdir -p "$subpkgdir/$_gcclibexec" \
|
|
|
|
"$subpkgdir"/$_gcclibdir/include \
|
2017-05-26 20:26:25 +00:00
|
|
|
"$subpkgdir"/usr/lib
|
2020-07-14 16:05:19 +00:00
|
|
|
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
|
|
|
|
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
|
|
|
|
"$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
libgcc() {
|
|
|
|
pkgdesc="GNU C compiler runtime libraries"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
libgomp() {
|
|
|
|
pkgdesc="GCC shared-memory parallel programming API library"
|
|
|
|
depends=
|
|
|
|
replaces="gcc"
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
2020-01-14 20:43:21 +00:00
|
|
|
libgphobos() {
|
|
|
|
pkgdesc="D programming language standard library for GCC"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
|
|
|
|
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
gdc() {
|
|
|
|
pkgdesc="GCC-based D language compiler"
|
|
|
|
depends="gcc=$_gccrel libgphobos=$_gccrel musl-dev"
|
2020-03-31 13:37:54 +00:00
|
|
|
depends="$depends libucontext-dev"
|
2022-06-30 22:39:20 +00:00
|
|
|
provides="gcc-gdc-bootstrap=$_gccrel"
|
2020-01-14 20:43:21 +00:00
|
|
|
|
2020-07-14 16:05:19 +00:00
|
|
|
mkdir -p "$subpkgdir/$_gcclibexec" \
|
|
|
|
"$subpkgdir"/$_gcclibdir/include/d/ \
|
2020-01-14 20:43:21 +00:00
|
|
|
"$subpkgdir"/usr/lib \
|
|
|
|
"$subpkgdir"/usr/bin
|
|
|
|
# Copy: The installed '.d' files, the static lib, the binary itself
|
|
|
|
# The shared libs are part of 'libgphobos' so one can run program
|
|
|
|
# without installing the compiler
|
2020-07-14 16:05:19 +00:00
|
|
|
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
|
2020-01-14 20:43:21 +00:00
|
|
|
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
|
|
|
|
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
|
2022-02-21 16:53:02 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
|
2020-01-14 20:43:21 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
|
2022-02-21 16:53:02 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
|
2020-07-14 16:05:19 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
|
|
|
|
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
|
2020-01-14 20:43:21 +00:00
|
|
|
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
libgo() {
|
|
|
|
pkgdesc="Go runtime library for GCC"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
go() {
|
|
|
|
pkgdesc="Go support for GCC"
|
2020-09-05 20:31:51 +00:00
|
|
|
depends="gcc=$_gccrel libgo=$_gccrel !go"
|
2017-05-26 20:26:25 +00:00
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/$_gcclibexec \
|
|
|
|
"$subpkgdir"/usr/lib \
|
|
|
|
"$subpkgdir"/usr/bin
|
|
|
|
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
|
|
|
|
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
|
2020-09-05 20:31:51 +00:00
|
|
|
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
|
|
|
|
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
|
2020-09-05 20:31:51 +00:00
|
|
|
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
|
|
|
|
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
|
|
|
|
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
|
|
|
|
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libgo.a \
|
|
|
|
"$pkgdir"/usr/lib/libgo.so \
|
|
|
|
"$pkgdir"/usr/lib/libgobegin.a \
|
2020-09-05 20:31:51 +00:00
|
|
|
"$pkgdir"/usr/lib/libgolibbegin.a \
|
2017-05-26 20:26:25 +00:00
|
|
|
"$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
libgfortran() {
|
|
|
|
pkgdesc="Fortran runtime library for GCC"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
libquadmath() {
|
|
|
|
replaces="gcc"
|
|
|
|
pkgdesc="128-bit math library for GCC"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
|
|
|
gfortran() {
|
|
|
|
pkgdesc="GNU Fortran Compiler"
|
|
|
|
depends="gcc=$_gccrel libgfortran=$_gccrel"
|
2020-01-14 20:43:21 +00:00
|
|
|
$_libquadmath && depends="$depends libquadmath=$_gccrel"
|
2017-05-26 20:26:25 +00:00
|
|
|
replaces="gcc"
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/$_gcclibexec \
|
|
|
|
"$subpkgdir"/$_gcclibdir \
|
|
|
|
"$subpkgdir"/usr/lib \
|
|
|
|
"$subpkgdir"/usr/bin
|
|
|
|
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
|
|
|
|
mv "$pkgdir"/usr/lib/libgfortran.a \
|
|
|
|
"$pkgdir"/usr/lib/libgfortran.so \
|
|
|
|
"$subpkgdir"/usr/lib/
|
2020-01-14 20:43:21 +00:00
|
|
|
if $_libquadmath; then
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/usr/lib/libquadmath.a \
|
|
|
|
"$pkgdir"/usr/lib/libquadmath.so \
|
|
|
|
"$subpkgdir"/usr/lib/
|
|
|
|
fi
|
2020-07-14 16:05:19 +00:00
|
|
|
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
|
2017-05-26 20:26:25 +00:00
|
|
|
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
|
|
|
|
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
|
|
|
|
}
|
|
|
|
|
|
|
|
libgnat() {
|
|
|
|
pkgdesc="GNU Ada runtime shared libraries"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
2021-03-07 15:33:26 +00:00
|
|
|
libgnatstatic() {
|
|
|
|
pkgdesc="GNU Ada static libraries"
|
|
|
|
depends=
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
|
|
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
|
|
|
|
}
|
|
|
|
|
2017-05-26 20:26:25 +00:00
|
|
|
gnat() {
|
|
|
|
pkgdesc="Ada support for GCC"
|
|
|
|
depends="gcc=$_gccrel"
|
2022-06-30 22:39:20 +00:00
|
|
|
provides="$pkgname-gnat-bootstrap=$_gccrel"
|
2017-05-26 20:26:25 +00:00
|
|
|
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
|
|
|
|
|
|
|
|
mkdir -p "$subpkgdir"/$_gcclibexec \
|
|
|
|
"$subpkgdir"/$_gcclibdir \
|
|
|
|
"$subpkgdir"/usr/bin
|
|
|
|
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
|
|
|
|
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
|
|
|
|
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
|
|
|
|
}
|
|
|
|
|
2021-06-25 14:39:45 +00:00
|
|
|
sha512sums="
|
2022-02-21 16:53:02 +00:00
|
|
|
94d4d2e31f5a84455055d34cfbbcc63d5bd63e60345c2a4e30aa404724e65e5d14868ef50b7fcf5537dd12dc6f1381a27cede269801050e193b4bdb8f2919971 gcc-11.2.1_git20220219.tar.xz
|
|
|
|
d46a87edb919697a37c15af99c9142c6ad8ec364fe9b5747f5808368e619766163d3d8b64e987b1155785ddc91b5b191b795857cd70118d64f978e46b476bfff 0001-posix_memalign.patch
|
|
|
|
59fa772417c1d1baf8bd8477ef4e30975fbd616d949fbd72fa88cc72d9662f2e28214305a188d75e30c54a95be111c7998784f7d1499562490acbe194a3c2116 0002-gcc-poison-system-directories.patch
|
|
|
|
556240f9888c24706694560ad3ba1a90d3ed6da1dd3d7eebb603f4e3551d5743908840d4b1f598d6d5dc3cc52bcfafbcd777282ec8864051c3c8aba623866d3e 0003-specs-turn-on-Wl-z-now-by-default.patch
|
|
|
|
747a2ba2c0227471dd8a327bddd4699aa6aad5ddce2e523816e43e04fd5a4d8c2f1a69f02980632263ab1c23334d01e27d5df737a0ba9f6bd16b9c85112de82a 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
|
|
|
|
0fe2b802ce0b9c986d7ea5378df49899b028baad419ccd4071fd1a2dad90736e0f04eef29056f6c74c1fa2482359629b5e3747d58fcbf3520c6ed10c66c7b87e 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
|
|
|
|
7d37f31108cddfeb25ebf7e462d999873dc184bb26f74c9d7d6d32534a15070291661ab58be41ccedb44af20de0568e704b4152668c6bd803cf88f1ddfb6e35c 0006-Enable-Wformat-and-Wformat-security-by-default.patch
|
|
|
|
698893670d00df1ddbaa7dd970b17049f94d0cc2fec3225925bbad606e44c29288e38a7afa4b4cae3c9c26be35646c52e9eadc67022b89d7b4ce97ce64a5a2ac 0007-Enable-Wtrampolines-by-default.patch
|
|
|
|
b549d45824d6b9f2ec830ed66ba192ebfe9d9c3db554bf0b51379e9b624de0f0a1a315520487a1a3bfbe9d65d41c41239b9461bc9f1b5059c51d5f4dc7581872 0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch
|
|
|
|
15089ea9465057f6897d5c570e79abd068b85f9fc77490668872397699025905aa065eaf7318ddb0847747da4397676242064f290b45e16f616bab86258be260 0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
|
|
|
|
cc9aa31e3b4227f7887d9be470bb19cb3ccd8125155741721921b4c8f791710fabc279b492232454fda0a47bf98509bd2fd4bcdbf5a5aad8b8f476bc5aa74d07 0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch
|
|
|
|
c2c74411717e5bf6e261bde4d5c50b12645de2d556b3eb898600e7629772f7d9d213e32f5a0b81d8ee2ba2e4bc55ea64ee60119d9d9a03045574016d94b76f61 0011-libiberty-copy-PIC-objects-during-build-process.patch
|
|
|
|
d92fe356d745fbc858cbb338b0027b814a2f7812fc7bb6147d641e7319d4ff09ac4ade766b419566e70e6250847ec56e95fd74617a82069dc93f669d827dd48e 0012-libitm-disable-FORTIFY.patch
|
|
|
|
2e5c0845581c92573fc2e60f7771d9f99e23fd32bf4da7c09bc1738f69174f8becfe9f0c9ee96fbc87b3264dcf2d4b801d051606bd528b43e76cd1fb9ddf6b40 0013-libgcc_s.patch
|
|
|
|
2a79fd03fe9b98cca3cdbed368969304f9ebcedb7701703740c30a1fe70bfdeceaddac4cbf796f60ee080f0d62a926da6c48042c563b081d9116691c4531a68c 0014-nopie.patch
|
|
|
|
4a1d53c120047702ea51df3c611af3e4ae82b9cf63dc8244ac38042de44b24afe98578e70aa964884b22ef76ee65d1d703355defc613637acf52d580ce86f17c 0015-libffi-use-__linux__-instead-of-__gnu_linux__-for-mu.patch
|
|
|
|
64065ec9243eb12424cb75822219376e7829f1e1d206d93c4b4cbe18eb4e538019361cc1b5b7d88da4d2d5c891d9e282d579902db534d09b7d58ec91bfada6b5 0016-dlang-update-zlib-binding.patch
|
|
|
|
35ffecaa8ec56b64c73df93530d858632f0429de007d70869432c183610d344711a1552b1bb00f2180ae952c66a66e1c6285139a8818d656691a121cd7abdba7 0017-dlang-use-libucontext-on-mips64.patch
|
|
|
|
f78fc1bc99669a90bd68051f9d17bfc25065e49c7d4e853cda293be3a9f17b08867de31e73b90a82b948005f5e17020ccf55dfa4a1b0b9b0cba707c0ed635a46 0018-dlang-libdruntime-define-fcntl.h-constants-for-mips6.patch
|
|
|
|
463ce54bb32d9ba52ed7f0d7df99011f17543e80f6aca9a61b747e074662b283c563434b96a0bc8ae4636e154f1033c5720f3c8113bc6ad095592a1d5584981c 0019-ada-fix-shared-linking.patch
|
|
|
|
194647e5a87fb7ebd7602eee9ffa5d3e713dc26baa5f8fa50ada513ca5d28898d1fcee5e9db0d3af6d5b774961426fc1e2f9b5155992ead9981412c627967219 0020-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
|
|
|
|
d707e47a10c866c0e6d085f9a2bfa1b21eff8e6a1b222840abbbe1b2f21cc4a50f4fa45f7dbbb1ad86dc2eb7c88160c715e69039d3de7f7784de7d5f2a87d6e4 0021-add-fortify-headers-paths.patch
|
|
|
|
e746e250451eb76726a9de8f42de5eb1d23a228fd3d8961cd2a6c6f691a5418fcd32a817998e3a5aaf8d2d90cd03371aaf7912c9b834ed6c663c649f85f1d058 0022-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
|
|
|
|
c6d3a4b5d541b52f44641e59556c6312d785c4e12d47fac11a530ae0746170e891c0ed64ce6e9856e5581debfae0d5216753afaf87df1a2d40d50bdfa24ea7dc 0023-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
|
|
|
|
a29ad877662bbdbc6422456d32ed31aab3764edcc1eb3e1abe7be0f22d162da6d0f0d6565a25c7a43bf23151faba0492122ddcf832bdac57b3e47f89a6ab158d 0024-mips64-disable-multilib-support.patch
|
|
|
|
18be870ec68865f4661ac73f9bf50765164711582b497beb852928e1d993bc257a0d2b015f435e93461c35edc1811505d31f3a46147bccb4764dcf9b8319c93a 0025-aarch64-disable-multilib-support.patch
|
|
|
|
b2b830626396936be105361e87c82490b5cd3d26ce7b8dbccf156d53eb5d0db82a28167656aaa5e47b6a1315263abf070432db693c5ae10da892217ce2728728 0026-s390x-disable-multilib-support.patch
|
|
|
|
094ed675ff5512829bbf7f2bd2632498300b7f15cec6b4a397b145f378a41c17c99f05ea0b94ed1408773a3e8b1fd713ba302c64dba00269df270d401b0e6443 0027-ppc64-le-disable-multilib-support.patch
|
|
|
|
ee67238c66132f30fd00cc084d37012a927abe32ac48b4617779f22069d86384826c063b79626ab64f6adefdac0f00fcd5c18b95c8a2f11fb2cbee67babc9beb 0028-x86_64-disable-multilib-support.patch
|
|
|
|
2ddf60a03db15c9c3e847001e300a54dfd9b5435da630e18379313e516fccbb8ea5e26571bb4f88baa6756cdb5c8ba7d059249c46a2f56e67bfca368750431eb 0029-riscv-disable-multilib-support.patch
|
|
|
|
e7f9088809a4a4b87a6a5670227fb31766fb124ecdcea9936b00a7b98fdc06d7e7f27b6f67a575c434ba978623cb5f1183691dd63d6db98b180c4e08d62e5c5e 0030-always-build-libgcc_eh.a.patch
|
|
|
|
653b2dbdf43ad336e75aa33ee3e520edd4c8cdb486bf8f5a30dbd8496b96451aa508e12e6a81dd16d36119f22fb9b0c46bcc39d731c89443c435fa4d1ca6fa08 0031-ada-libgnarl-compatibility-for-musl.patch
|
|
|
|
9d46489087018366eea3b6537f6a86b0e183c7d49f8fecc2f50fbbcebf78727f5a1661ee6a50b5bddef0d54ebe47668ad61440784495194420b0896d5bd3f1aa 0032-ada-musl-support-fixes.patch
|
|
|
|
63a2f9a81f94826dfac05073d6b7cb599c5b1d026c460edfd329f770c72208e369af1e427904528351aa78bce6e9445af9c59ca73ef5302f7362027757fa5d46 0033-gcc-go-Fix-handling-of-signal-34-on-musl.patch
|
|
|
|
8d3a01d7e5e983eaabdf5c4a7e58ef33c55a794ed4cb5d438b41218ded367d3214b868a5c8d68f52ef74b0f83abb95d29b36ef8d0c7be68f7d1537a04e65d5c1 0034-There-are-more-than-one-st_-a-m-c-tim-fields-in-stru.patch
|
|
|
|
56c7c1911fef05beaecfa1b41703d46d18c5e967430c79c719f8685f4c4971bb177f2de35b0a1631d5d3ed7292cb54c618e52fa859f483fafb5445511e5b226b 0035-gcc-go-signal-34-is-special-on-musl-libc.patch
|
|
|
|
07921d5c30f3a23ba1c0540e106abe49e1675f183ffe2b326bdab80c59847b9ed5f39efd2836bc47d4ac1b3a3152f8de092c498ba91682e51c20548a65c0f105 0036-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
|
|
|
|
ef8df8a047b4145f30884b052345e4e390fc1efb35a9c7da63899aa115c19b8cc04513a57b2340a6a58ed02dc6881b10f684da653734afe5acf69761e3d064e7 0037-gcc-go-link-to-libucontext.patch
|
|
|
|
cf000459b493815bb0c9bccbbccc61ab8101f067b5b45d0f30cf49bf0ec6745f6ae360e4b5dccdb5c9bef1974835830efbb349c2ab38d1ee4dcc22385546873b 0038-Use-generic-errstr.go-implementation-on-musl.patch
|
|
|
|
0baffb0d19c26a387d38525c87b3500c4486bf11aeb9d98cec559eb67db4b71d5bc580fa6aebb9a12295422edb53aea77101e521e91f5189c744749448b89b4a 0039-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
|
|
|
|
d80074e1fa09cf6f7047a4dac7acadcfb53fcc93667af3348c61b22390999d618f2b16107c30a0fc52b145e27f14d6fddbe43ea36e6a9089741cb3b0b64fd856 0040-configure-fix-detection-of-atomic-builtins-in-libato.patch
|
|
|
|
04434b605d71b6d4e9dedd03a810f250725d31fc70a5ad28d69499a04436caf6b0ec69f5c7223cb511063cc18c350ffdd95b722de97467f827789006ebcb2c73 0041-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
|
|
|
|
a3dc43ba56f12f4243c186572b32809d47a9d29c7a40edcf7f6da34c7add65a271c77635a5b9ae325d167e24a2e6bbe883c63eccec3af5d6f925cb304f8ba92b 0042-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch
|
|
|
|
04ebbf2143a2d4b6c6d768c3aeea2899e6261adf414e16faed1247bc94eeaf61e54f88a2ba7ffdca90e9c0ee87c6fd7e3746481d184c539b8e0130a14b215fa7 0043-stddef.h-add-support-for-musl-typedef-macro-guards.patch
|
|
|
|
e47183b5a565bdc64a497e14124d767a3e889e9f9d77a92567b0047b285c5ca49897b46ba681e339a8982611b70583ae87a3472dae33f07becaeceb21b3cfe74 0044-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
|
|
|
|
a5adab61de2d4b2c3ccb1a55c70384a8496c447f7727a6680fa29263c4f57599a3dfb85e1e322859797f86605491af0f68f9dd1141ab4bbbe8b5183f67f3b32e 0045-libgo-include-asm-ptrace.h-for-pt_regs-definition-on.patch
|
|
|
|
9c0e461eeba709110ca88d60236190c9b71d57d4e13786e2f15521a902e37dacc08d466966764abce9bc84e27d06e2e8523a1a80325f8a16d6ec16d2bf89fa05 0046-Disable-fsplit-stack-support-on-non-glibc-targets.patch
|
|
|
|
f62778ab53125a9ba5a8088e064c2182c014bc264a46fd3d28d1ee0142dd02a7ed2c684dc63e9768a56a6f8f65621bea20026cd6b65053c2ff9ee51568ee260d 0047-x86-Properly-disable-fsplit-stack-support-on-non-gli.patch
|
|
|
|
c44c6e5b28b622897af60e7e2dbf0d0284379eb57b39b480936e6d8b3743a24287c2a9ed69a530ef4f2327b5e5ca61ce00e92d415e0ed033e54bdffde345e6a9 0048-gdc-unconditionally-link-libgphobos-against-libucont.patch
|
|
|
|
160ef16fde90546474e1548f1487c18d9b8edbae1d42a13ad06041b03214d06ff2c3586acd4d0bae27d48e48bb651861c6b9a140ade4ac59f00a268e85275da4 0049-properly-disable-fsplit-stack-on-non-glibc-targets-P.patch
|
|
|
|
f4d9ebf6d5c80d2f303404b9bf315bf81435c0d369b03b92f8e8510d82db72c2a30d84603307ddc0697df3845862ba93045e4a3724f8e491e7c01bd4396d8864 0050-x86-Fix-fsplit-stack-feature-detection-via-TARGET_CA.patch
|
|
|
|
8ac54b3a46f7270d975fa3e1198ac37a2311a4b9940938958ffc148e4e9c82c3e81cf3e3c3abd43cef29137897cd6768220b432f828672e036308f7994422d2e 0051-go-gospec-forcibly-disable-fsplit-stack-support.patch
|
2022-04-11 23:29:06 +00:00
|
|
|
fa59b0fb081d97f8f63506b8793699588a95c602b5d468140eb1e80456597e52e1cc45dc0b234ac8e60e2b0cd606d94d111c8b0ae64c0a2be1bc1b8a184ceb93 libgo-musl-1.2.3.patch
|
2021-06-25 14:39:45 +00:00
|
|
|
"
|