44363a7dc8
This doesn't seem to affect our actual native gcc build, since it compiles gotools just fine, which means the macro is never triggered. However, it does help our x86 crosstoolchains, as otherwise the gccgo crosscompiler seems to think that -fsplit-stack can be passed. This is because of gcc/go/gospec.c, which contains code like this: ``` supports_split_stack = 1; /* If we are linking, pass -fsplit-stack if it is supported. */ if ((library >= 0) && supports_split_stack) { generate_option (OPT_fsplit_stack, NULL, 1, CL_DRIVER, &new_decoded_options[j]); j++; } ``` Also, refactor gccgo enablement code and reenable it on i686-musl. Fixes https://github.com/void-linux/void-packages/issues/22742
738 lines
21 KiB
Bash
738 lines
21 KiB
Bash
# Template file for 'gcc'
|
|
_majorver=9
|
|
_minorver=${_majorver}.3
|
|
_gmp_version=6.2.0
|
|
_mpfr_version=4.0.2
|
|
_mpc_version=1.1.0
|
|
_isl_version=0.21
|
|
|
|
pkgname=gcc
|
|
version=${_minorver}.0
|
|
revision=6
|
|
short_desc="GNU Compiler Collection"
|
|
maintainer="Enno Boland <gottox@voidlinux.org>"
|
|
homepage="http://gcc.gnu.org"
|
|
license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
|
|
# *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
|
|
distfiles="
|
|
${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz
|
|
https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz
|
|
https://www.mpfr.org/mpfr-${_mpfr_version}/mpfr-${_mpfr_version}.tar.xz
|
|
${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
|
|
http://isl.gforge.inria.fr/isl-${_isl_version}.tar.bz2"
|
|
checksum="71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1
|
|
258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526
|
|
1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
|
|
6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
|
|
d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859"
|
|
|
|
nopie=yes
|
|
lib32disabled=yes
|
|
bootstrap=yes
|
|
replaces="gcc-gcj<7.2.0 gcc-gcj-jdk-compat<7.2.0 libmpx>=0 libmpx-devel>=0"
|
|
|
|
_have_gccgo=yes
|
|
|
|
# MIPS does not have libucontext yet
|
|
# no support for ppcle in gccgo (missing GOARCH and stuff)
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
mips*-musl|ppcle*) _have_gccgo=no ;;
|
|
esac
|
|
|
|
if [ "$CHROOT_READY" ]; then
|
|
hostmakedepends="tar texinfo perl flex"
|
|
else
|
|
_have_gccgo=no
|
|
fi
|
|
makedepends="zlib-devel"
|
|
depends="binutils libgcc-devel-${version}_${revision}
|
|
libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}"
|
|
checkdepends="dejagnu"
|
|
|
|
subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
|
|
subpackages+=" libssp libssp-devel"
|
|
|
|
build_options="ada gnatboot"
|
|
build_options_default="ada"
|
|
desc_option_ada="Enable Ada build"
|
|
desc_option_gnatboot="Enable Ada bootstrap using adacore.com binaries"
|
|
|
|
if [ "$build_option_gnatboot" ]; then
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
x86_64)
|
|
_gnat_tarball="gnat-gpl-2017-x86_64-linux-bin.tar.gz"
|
|
distfiles+=" http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7>$_gnat_tarball"
|
|
checksum+=" b942bcac20dea39748b39f8b624d9619f60a8dee2e8195dbe3829c835b0956e6"
|
|
build_options_default="gnatboot"
|
|
;;
|
|
i686)
|
|
_gnat_tarball="gnat-gpl-2014-x86-linux-bin.tar.gz"
|
|
distfiles+=" http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248>$_gnat_tarball"
|
|
checksum+=" 3b693510f5d22a240abb3034934c1adbd80ccd6e4f61a4f491cc408fdfd9c042"
|
|
build_options_default="gnatboot"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if [ "$CHROOT_READY" ]; then
|
|
subpackages+=" gcc-fortran libgfortran-devel libgfortran"
|
|
subpackages+=" gcc-objc gcc-objc++ libobjc-devel libobjc"
|
|
fi
|
|
|
|
if [ "$_have_gccgo" = "yes" ]; then
|
|
subpackages+=" gcc-go gcc-go-tools libgo-devel libgo"
|
|
# we need this for gcc-go on musl
|
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
|
makedepends+=" libucontext-devel"
|
|
fi
|
|
fi
|
|
|
|
subpackages+=" libstdc++-devel libstdc++ libgcc-devel"
|
|
if [ "$build_option_gnatboot" -o "$build_option_ada" ]; then
|
|
subpackages+=" gcc-ada libada-devel libada"
|
|
fi
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686) _triplet="i686-pc-linux-gnu";;
|
|
i686-musl) _triplet="i686-linux-musl";;
|
|
x86_64) _triplet="x86_64-unknown-linux-gnu";;
|
|
x86_64-musl) _triplet="x86_64-linux-musl";;
|
|
armv5tel) _triplet="arm-linux-gnueabi";;
|
|
armv5tel-musl) _triplet="arm-linux-musleabi";;
|
|
armv6l) _triplet="arm-linux-gnueabihf";;
|
|
armv7l) _triplet="armv7l-linux-gnueabihf";;
|
|
armv6l-musl) _triplet="arm-linux-musleabihf";;
|
|
armv7l-musl) _triplet="armv7l-linux-musleabihf";;
|
|
aarch64) _triplet="aarch64-linux-gnu";;
|
|
aarch64-musl) _triplet="aarch64-linux-musl";;
|
|
ppc) _triplet="powerpc-linux-gnu";;
|
|
ppc-musl) _triplet="powerpc-linux-musl";;
|
|
ppcle) _triplet="powerpcle-linux-gnu";;
|
|
ppcle-musl) _triplet="powerpcle-linux-musl";;
|
|
ppc64le) _triplet="powerpc64le-linux-gnu";;
|
|
ppc64le-musl) _triplet="powerpc64le-linux-musl";;
|
|
ppc64) _triplet="powerpc64-linux-gnu";;
|
|
ppc64-musl) _triplet="powerpc64-linux-musl";;
|
|
mips-musl) _triplet="mips-linux-musl";;
|
|
mipshf-musl) _triplet="mips-linux-muslhf";;
|
|
mipsel-musl) _triplet="mipsel-linux-musl";;
|
|
mipselhf-musl) _triplet="mipsel-linux-muslhf";;
|
|
esac
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
*-musl) depends+=" musl-devel";;
|
|
*) depends+=" glibc-devel"
|
|
subpackages+=" libsanitizer libsanitizer-devel"
|
|
;;
|
|
esac
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*)
|
|
subpackages+=" libquadmath libquadmath-devel"
|
|
subpackages+=" libvtv libvtv-devel"
|
|
;;
|
|
ppc64le)
|
|
subpackages+=" libquadmath libquadmath-devel"
|
|
;;
|
|
esac
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
mips*) ;;
|
|
x86_64*|i686) subpackages+=" libitm libitm-devel";;
|
|
*) subpackages+=" libitm libitm-devel";;
|
|
esac
|
|
if [ "$CROSS_BUILD" ]; then
|
|
hostmakedepends+=" cross-${_triplet}"
|
|
if [ "$build_option_ada" ]; then
|
|
hostmakedepends+=" gcc-ada"
|
|
fi
|
|
fi
|
|
|
|
post_extract() {
|
|
mkdir -p ${wrksrc}/{gmp,mpfr,mpc,isl}
|
|
cp -ar ${XBPS_BUILDDIR}/gmp-${_gmp_version}/* ${wrksrc}/gmp/
|
|
cp -ar ${XBPS_BUILDDIR}/mpfr-${_mpfr_version}/* ${wrksrc}/mpfr/
|
|
cp -ar ${XBPS_BUILDDIR}/mpc-${_mpc_version}/* ${wrksrc}/mpc/
|
|
cp -ar ${XBPS_BUILDDIR}/isl-${_isl_version}/* ${wrksrc}/isl/
|
|
|
|
if [ "$build_option_gnatboot" ]; then
|
|
local f="${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_gnat_tarball}"
|
|
msg_normal "Extracting ${_gnat_tarball} ...\n"
|
|
mkdir -p ${wrksrc}/gnat-ins
|
|
tar -x -f "$f" --strip-components=1 -C ${wrksrc}/gnat-ins
|
|
cd ${wrksrc}/gnat-ins
|
|
make ins-all prefix=${wrksrc}/gnat
|
|
cd ${wrksrc}
|
|
rm -rf ${wrksrc}/gnat-ins
|
|
|
|
# Rename obsolete ld and as
|
|
find ${wrksrc}/gnat -name ld -exec mv -v {} {}.old \;
|
|
find ${wrksrc}/gnat -name as -exec mv -v {} {}.old \;
|
|
fi
|
|
}
|
|
|
|
pre_configure() {
|
|
# _FORTIFY_SOURCE needs an optimization level.
|
|
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
*-musl)
|
|
patch -p1 -i ${FILESDIR}/libgnarl-musl.patch
|
|
patch -p1 -i ${FILESDIR}/libssp-musl.patch
|
|
patch -p0 -i ${FILESDIR}/gccgo-musl.patch
|
|
;;
|
|
esac
|
|
}
|
|
do_configure() {
|
|
local _langs _args _hash
|
|
|
|
_hash=gnu
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
|
|
mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
|
|
mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
|
|
mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
|
|
armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
|
|
armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
|
|
armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
|
|
aarch64*) # use lib not lib64 by default
|
|
_args+=" --with-arch=armv8-a"
|
|
sed -i '/m64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux
|
|
;;
|
|
ppc) _args+=" --target=powerpc-linux-gnu --enable-secureplt";;
|
|
ppc-musl) _args+=" --target=powerpc-linux-musl --enable-secureplt --disable-decimal-float";;
|
|
ppcle) _args+=" --target=powerpcle-linux-gnu --enable-secureplt";;
|
|
ppcle-musl) _args+=" --target=powerpcle-linux-musl --enable-secureplt --disable-decimal-float";;
|
|
ppc64le*) # use lib not lib64 by default
|
|
_args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux"
|
|
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
;;
|
|
ppc64*) # use lib not lib64 by default
|
|
_args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux"
|
|
sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h
|
|
;;
|
|
x86_64*) # use lib not lib64 by default
|
|
sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
|
|
sed -i 's/lib64/lib/' gcc/config/i386/linux64.h
|
|
;;
|
|
esac
|
|
|
|
# fix: unknown long double size, cannot define BFP_FMT
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
ppc64le-musl|ppc64-musl)
|
|
_args+=" --enable-decimal-float=no --disable-libquadmath"
|
|
;;
|
|
ppc64)
|
|
_args+=" --disable-libquadmath"
|
|
;;
|
|
*) ;;
|
|
esac
|
|
|
|
if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then
|
|
_langs="c,c++,lto"
|
|
fi
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
export CC_FOR_TARGET="$CC"
|
|
export GCC_FOR_TARGET="$CC"
|
|
export CXX_FOR_TARGET="$CXX"
|
|
export GOC_FOR_TARGET="${_triplet}-gccgo"
|
|
export GFORTRAN_FOR_TARGET="${_triplet}-gfortran"
|
|
|
|
_args+=" --host=$XBPS_CROSS_TRIPLET"
|
|
_args+=" --with-build-sysroot=${XBPS_CROSS_BASE}"
|
|
_args+=" --enable-sjlj-exceptions=no"
|
|
_langs+=",objc,obj-c++,fortran"
|
|
elif [ -z "$CHROOT_READY" ]; then
|
|
export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib"
|
|
_args+=" --build=${_triplet}"
|
|
else
|
|
_langs="c,c++,objc,obj-c++,fortran,lto"
|
|
_args+=" --build=${_triplet}"
|
|
_args+=" --enable-fast-character"
|
|
fi
|
|
|
|
if [ "$_have_gccgo" = "yes" ]; then
|
|
_langs+=",go"
|
|
fi
|
|
|
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
|
_args+=" --disable-libsanitizer"
|
|
_args+=" --disable-symvers"
|
|
_args+=" libat_cv_have_ifunc=no"
|
|
fi
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
ppc*) _args+=" --disable-vtable-verify";;
|
|
*) _args+=" --enable-vtable-verify";;
|
|
esac
|
|
|
|
export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
|
|
export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
|
|
|
|
# Disable explicit -fno-PIE, gcc will figure this out itself.
|
|
export CFLAGS="${CFLAGS//-fno-PIE/}"
|
|
export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
|
|
export LDFLAGS="${LDFLAGS//-no-pie/}"
|
|
|
|
_args+=" --prefix=/usr"
|
|
_args+=" --mandir=/usr/share/man"
|
|
_args+=" --infodir=/usr/share/info"
|
|
_args+=" --libexecdir=/usr/lib"
|
|
_args+=" --libdir=/usr/lib"
|
|
_args+=" --enable-threads=posix"
|
|
_args+=" --enable-__cxa_atexit"
|
|
_args+=" --disable-multilib"
|
|
_args+=" --with-system-zlib"
|
|
_args+=" --enable-shared"
|
|
_args+=" --enable-lto"
|
|
_args+=" --enable-plugins"
|
|
_args+=" --enable-linker-build-id"
|
|
_args+=" --disable-werror"
|
|
_args+=" --disable-nls"
|
|
_args+=" --enable-default-pie"
|
|
_args+=" --enable-default-ssp"
|
|
_args+=" --enable-checking=release"
|
|
_args+=" --disable-libstdcxx-pch"
|
|
_args+=" --with-isl"
|
|
_args+=" --with-linker-hash-style=$_hash"
|
|
_args+=" --disable-libunwind-exceptions"
|
|
_args+=" --disable-target-libiberty"
|
|
|
|
# --enable-serial-configure is broken when cross-compiling for
|
|
# some targets because it introduces make rule dependency cycles
|
|
if [ ! "$CROSS_BUILD" ]; then
|
|
_args+=" --enable-serial-configure"
|
|
fi
|
|
|
|
mkdir -p build
|
|
cd build
|
|
if [ "$build_option_gnatboot" ]; then
|
|
_args+=" --enable-languages=${_langs},ada"
|
|
_args+=" --enable-libada"
|
|
CONFIG_SHELL=/bin/bash \
|
|
CC="${wrksrc}/gnat/bin/gcc" \
|
|
GNATBIND="${wrksrc}/gnat/bin/gnatbind" \
|
|
GNATMAKE="${wrksrc}/gnat/bin/gnatmake" \
|
|
PATH="${wrksrc}/gnat/bin:$PATH" \
|
|
${wrksrc}/configure ${_args}
|
|
elif [ "$build_option_ada" ]; then
|
|
_args+=" --enable-languages=${_langs},ada"
|
|
CONFIG_SHELL=/bin/bash \
|
|
${wrksrc}/configure ${_args}
|
|
else
|
|
_args+=" --enable-languages=${_langs}"
|
|
CONFIG_SHELL=/bin/bash \
|
|
${wrksrc}/configure ${_args}
|
|
fi
|
|
}
|
|
do_build() {
|
|
if [ -z "$CHROOT_READY" ]; then
|
|
export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib"
|
|
fi
|
|
cd build
|
|
if [ "$build_option_gnatboot" ]; then
|
|
CC="${wrksrc}/gnat/bin/gcc" \
|
|
GNATBIND="${wrksrc}/gnat/bin/gnatbind" \
|
|
GNATMAKE="${wrksrc}/gnat/bin/gnatmake" \
|
|
PATH="${wrksrc}/gnat/bin:$PATH" \
|
|
make ${makejobs}
|
|
else
|
|
make ${makejobs}
|
|
fi
|
|
}
|
|
pre_install() {
|
|
if [ "$CROSS_BUILD" ]; then
|
|
# XXX otherwise links to host libpthread
|
|
for f in $(find ${wrksrc}/build/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
|
|
sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" -i $f
|
|
done
|
|
fi
|
|
}
|
|
do_install() {
|
|
cd build
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
x86_64*|aarch64*|ppc64*)
|
|
vmkdir usr/lib
|
|
ln -sfr ${DESTDIR}/usr/lib ${DESTDIR}/usr/lib64
|
|
;;
|
|
esac
|
|
make DESTDIR=${DESTDIR} install
|
|
|
|
# Make version a symlink of major version to make all versions
|
|
# from the same series work automagically.
|
|
mv ${DESTDIR}/usr/lib/gcc/${_triplet}/${version} \
|
|
${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}
|
|
ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver} \
|
|
${DESTDIR}/usr/lib/gcc/${_triplet}/${version}
|
|
|
|
# Ditto for c++ headers.
|
|
mv ${DESTDIR}/usr/include/c++/${version} \
|
|
${DESTDIR}/usr/include/c++/${_minorver}
|
|
ln -sfr ${DESTDIR}/usr/include/c++/${_minorver} \
|
|
${DESTDIR}/usr/include/c++/${version}
|
|
|
|
# cc symlink
|
|
ln -sfr ${DESTDIR}/usr/bin/gcc ${DESTDIR}/usr/bin/cc
|
|
# rpcgen wants /lib/cpp, make a symlink
|
|
ln -sfr ${DESTDIR}/usr/bin/cpp ${DESTDIR}/usr/lib/cpp
|
|
|
|
# lto plugin symlink
|
|
vmkdir usr/lib/bfd-plugins
|
|
ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${version}/liblto_plugin.so \
|
|
${DESTDIR}/usr/lib/bfd-plugins
|
|
|
|
if [ -e ${DESTDIR}/usr/lib64 ]; then
|
|
rm -f ${DESTDIR}/usr/lib64
|
|
fi
|
|
|
|
# Remove libffi stuff.
|
|
rm -f ${DESTDIR}/usr/lib/libffi*
|
|
rm -f ${DESTDIR}/usr/share/man/man3/ffi*
|
|
|
|
# Remove all python scripts in libdir.
|
|
rm -f ${DESTDIR}/usr/lib/*.py
|
|
|
|
# Remove more python stuff.
|
|
if [ -d ${DESTDIR}/usr/share/gcc-${version}/python ]; then
|
|
rm -rf ${DESTDIR}/usr/share/gcc-${version}/python
|
|
fi
|
|
|
|
# Install c89 and c99 wrappers and its manpages, from NetBSD.
|
|
for f in c89 c99; do
|
|
vbin ${FILESDIR}/${f}.sh ${f}
|
|
vman ${FILESDIR}/${f}.1
|
|
done
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*|ppc64le) ;;
|
|
*) rm -f ${DESTDIR}/usr/share/info/libquadmath.info;;
|
|
esac
|
|
}
|
|
|
|
gcc-ada_package() {
|
|
lib32disabled=yes
|
|
depends="gcc>=${_minorver} libada-devel>=${_minorver}"
|
|
short_desc+=" - Ada compiler frontend"
|
|
pkg_install() {
|
|
for f in gnat{,bind,chop,clean,find,kr,link,ls,make,name,prep,xref}; do
|
|
vmove usr/bin/${f}
|
|
done
|
|
}
|
|
}
|
|
|
|
gcc-go_package() {
|
|
lib32disabled=yes
|
|
depends="gcc>=${_minorver} libgo-devel>=${_minorver}"
|
|
short_desc+=" - Go compiler frontend"
|
|
nostrip_files="buildid cgo test2json vet"
|
|
pkg_install() {
|
|
for f in gccgo ${_triplet}-gccgo; do
|
|
vmove usr/bin/${f}
|
|
done
|
|
for f in buildid cgo go1 test2json vet; do
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/${f}
|
|
done
|
|
vmove usr/share/info/gccgo.info
|
|
touch ${PKGDESTDIR}/usr/share/info/dir
|
|
vmove usr/share/man/man1/gccgo.1
|
|
vmove usr/lib/go
|
|
}
|
|
}
|
|
|
|
gcc-go-tools_package() {
|
|
lib32disabled=yes
|
|
depends="gcc-go>=${_minorver}"
|
|
short_desc+=" - Go tools"
|
|
conflicts="go>=0"
|
|
nostrip=yes
|
|
pkg_install() {
|
|
vmove usr/bin/go
|
|
vmove usr/bin/gofmt
|
|
vmove usr/share/man/man1/go.1
|
|
vmove usr/share/man/man1/gofmt.1
|
|
}
|
|
}
|
|
|
|
gcc-fortran_package() {
|
|
lib32disabled=yes
|
|
depends="gcc>=${_minorver} libgfortran-devel>=${_minorver}"
|
|
short_desc+=" - Fortran compiler frontend"
|
|
pkg_install() {
|
|
for f in gfortran ${_triplet}-gfortran; do
|
|
vmove usr/bin/${f}
|
|
done
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/f951
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/libcaf_single.a
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/finclude
|
|
if [ "$CROSS_BUILD" ]; then
|
|
# A number of OMP modules are not built when cross
|
|
# compiling gcc. Copy them from the cross compiler.
|
|
local src="/usr/lib/gcc/${_triplet}/${version}/finclude"
|
|
local dst="usr/lib/gcc/${_triplet}/${_minorver}/finclude"
|
|
for f in omp_lib.f90 omp_lib.h omp_lib.mod omp_lib_kinds.mod \
|
|
openacc.f90 openacc.mod openacc_kinds.mod openacc_lib.h; do
|
|
vinstall ${src}/${f} 644 ${dst}/
|
|
done
|
|
fi
|
|
vmove usr/share/info/gfortran.info
|
|
touch ${PKGDESTDIR}/usr/share/info/dir
|
|
vmove usr/share/man/man1/gfortran.1
|
|
}
|
|
}
|
|
|
|
gcc-objc++_package() {
|
|
lib32disabled=yes
|
|
depends="gcc-objc>=${_minorver}"
|
|
short_desc+=" - Objective-C++ support"
|
|
pkg_install() {
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/cc1objplus
|
|
}
|
|
}
|
|
|
|
gcc-objc_package() {
|
|
lib32disabled=yes
|
|
depends="gcc>=${_minorver} libobjc>=${_minorver}"
|
|
short_desc+=" - Objective-C support"
|
|
pkg_install() {
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/include/objc
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/cc1obj
|
|
}
|
|
}
|
|
|
|
libada-devel_package() {
|
|
depends="libada>=${_minorver}"
|
|
short_desc+=" - Ada library - development files"
|
|
pkg_install() {
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/adainclude
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/plugin/include/ada
|
|
}
|
|
}
|
|
|
|
libada_package() {
|
|
short_desc+=" - Ada library"
|
|
pkg_install() {
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/adalib
|
|
mv -v ${PKGDESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}/adalib/libgna{rl,t}{,-${_majorver}}.so \
|
|
${PKGDESTDIR}/usr/lib
|
|
}
|
|
}
|
|
|
|
libgfortran-devel_package() {
|
|
depends="libgfortran>=${_minorver}"
|
|
short_desc+=" - Fortran library - development files"
|
|
pkg_install() {
|
|
vmove usr/lib/libgfortran.spec
|
|
vmove usr/lib/libgfortran.a
|
|
# This does not seem to exist anymore?
|
|
if [ -f usr/lib/gcc/${_triplet}/${_minorver}/libgfortranbegin.a ]; then
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/libgfortranbegin.a
|
|
fi
|
|
}
|
|
}
|
|
|
|
libgfortran_package() {
|
|
short_desc+=" - Fortran library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libgfortran.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libgo-devel_package() {
|
|
depends="libgo>=${_minorver}"
|
|
short_desc+=" - Go library - development files"
|
|
nostrip=yes
|
|
pkg_install() {
|
|
vmove usr/lib/libgo.a
|
|
vmove usr/lib/libgobegin.a
|
|
vmove usr/lib/libgolibbegin.a
|
|
vmove usr/lib/libgo.so
|
|
}
|
|
}
|
|
|
|
libgo_package() {
|
|
short_desc+=" - Go library"
|
|
nostrip=yes
|
|
pkg_install() {
|
|
vmove "usr/lib/libgo.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libobjc-devel_package() {
|
|
depends="libobjc>=${_minorver}"
|
|
short_desc+=" - Objective-C library - development files"
|
|
pkg_install() {
|
|
vmove "usr/lib/libobjc.*a"
|
|
}
|
|
}
|
|
|
|
libobjc_package() {
|
|
short_desc+=" - Objective-C library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libobjc.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libquadmath-devel_package() {
|
|
depends="libquadmath>=${_minorver}"
|
|
short_desc+=" - quadmath library - development files"
|
|
pkg_install() {
|
|
vmove "usr/lib/gcc/${_triplet}/${_minorver}/include/quadmath*"
|
|
vmove "usr/lib/libquadmath*.a"
|
|
vmove usr/share/info/libquadmath.info
|
|
touch ${PKGDESTDIR}/usr/share/info/dir
|
|
}
|
|
}
|
|
|
|
libquadmath_package() {
|
|
short_desc+=" - quadmath library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libquadmath.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libvtv-devel_package() {
|
|
depends="libvtv>=${_minorver}"
|
|
short_desc+=" - Vtable Verification Runtime Library - development files"
|
|
pkg_install() {
|
|
vmove usr/lib/libvtv.a
|
|
vmove usr/lib/libvtv.so
|
|
}
|
|
}
|
|
|
|
libvtv_package() {
|
|
short_desc+=" - Vtable Verification Runtime Library"
|
|
pkg_install() {
|
|
vmove usr/lib/libvtv.so.*
|
|
}
|
|
}
|
|
|
|
libatomic-devel_package() {
|
|
depends="libatomic>=${_minorver}"
|
|
short_desc+=" - Atomics library - development files"
|
|
pkg_install() {
|
|
vmove usr/lib/libatomic.a
|
|
vmove usr/lib/libatomic.so
|
|
}
|
|
}
|
|
|
|
libatomic_package() {
|
|
short_desc+=" - Atomics library"
|
|
pkg_install() {
|
|
vmove usr/lib/libatomic.so.*
|
|
}
|
|
}
|
|
|
|
libgcc_package() {
|
|
short_desc+=" - GCC library"
|
|
replaces="libcilkrts<8.2.0"
|
|
noverifyrdeps=yes
|
|
pkg_install() {
|
|
vmove "usr/lib/libgcc_s.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libgcc-devel_package() {
|
|
depends="libgcc-${version}_${revision}"
|
|
short_desc+=" - GCC library - development files"
|
|
replaces="libcilkrts-devel<8.2.0"
|
|
pkg_install() {
|
|
vmove "usr/lib/gcc/${_triplet}/${_minorver}/*.o"
|
|
vmove "usr/lib/gcc/${_triplet}/${_minorver}/*.a"
|
|
}
|
|
}
|
|
|
|
libgomp-devel_package() {
|
|
depends="libgomp>=${_minorver}"
|
|
short_desc+=" - OpenMP v4.0 library - development files"
|
|
pkg_install() {
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/include/omp.h
|
|
vmove usr/lib/libgomp.so
|
|
vmove usr/lib/libgomp.a
|
|
vmove usr/lib/libgomp.spec
|
|
vmove usr/share/info/libgomp.info
|
|
touch ${PKGDESTDIR}/usr/share/info/dir
|
|
}
|
|
}
|
|
|
|
libgomp_package() {
|
|
short_desc+=" - OpenMP v4.0 library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libgomp*.so.*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libitm-devel_package() {
|
|
depends="libitm>=${_minorver}"
|
|
short_desc+=" - Transactional Memory library - development files"
|
|
replaces="libitm<4.9.0_1"
|
|
pkg_install() {
|
|
vmove usr/lib/libitm.a
|
|
vmove usr/lib/libitm.so
|
|
vmove usr/lib/libitm.spec
|
|
vmove usr/share/info/libitm.info
|
|
touch ${PKGDESTDIR}/usr/share/info/dir
|
|
}
|
|
}
|
|
|
|
libitm_package() {
|
|
short_desc+=" - Transactional Memory library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libitm.so.*"
|
|
}
|
|
}
|
|
|
|
libsanitizer-devel_package() {
|
|
depends="libsanitizer>=${_minorver}"
|
|
short_desc+=" - Sanitizer libraries - development files"
|
|
pkg_install() {
|
|
vmove "usr/lib/lib*san*.so"
|
|
vmove "usr/lib/lib*san*.a"
|
|
vmove usr/lib/libasan_preinit.o
|
|
vmove usr/lib/libsanitizer.spec
|
|
}
|
|
}
|
|
|
|
libsanitizer_package() {
|
|
short_desc+=" - Sanitizer libraries"
|
|
pkg_install() {
|
|
vmove "usr/lib/lib*san*.so.*"
|
|
}
|
|
}
|
|
|
|
libssp-devel_package() {
|
|
depends="libssp>=${_minorver}"
|
|
short_desc+=" - SSP (StackSmashingProtection) library - development files"
|
|
pkg_install() {
|
|
vmove "usr/lib/libssp*.a"
|
|
vmove usr/lib/gcc/${_triplet}/${_minorver}/include/ssp
|
|
}
|
|
}
|
|
|
|
libssp_package() {
|
|
short_desc+=" - SSP (StackSmashingProtection) library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libssp.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|
|
|
|
libstdc++-devel_package() {
|
|
depends="libstdc++>=${_minorver}"
|
|
short_desc+=" - Standard C++ Library - development files"
|
|
pkg_install() {
|
|
vmove "usr/lib/libstdc++.*a"
|
|
vmove "usr/lib/libsupc++.*"
|
|
vmove usr/include/c++
|
|
}
|
|
}
|
|
|
|
libstdc++_package() {
|
|
short_desc+=" - Standard C++ Library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libstdc++.so*"
|
|
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
|
|
}
|
|
}
|