gcc: reenable on cross and enable go/objc(++) for cross targets

Except mips*-musl, as it doesn't have libucontext support yet.

[ci skip]
This commit is contained in:
q66 2019-09-08 00:57:20 +02:00 committed by Michael Aldridge
parent 43f7495362
commit 7e77d91341

View file

@ -31,7 +31,13 @@ lib32disabled=yes
bootstrap=yes bootstrap=yes
replaces="gcc-gcj<7.2.0 gcc-gcj-jdk-compat<7.2.0 libmpx>=0 libmpx-devel>=0" replaces="gcc-gcj<7.2.0 gcc-gcj-jdk-compat<7.2.0 libmpx>=0 libmpx-devel>=0"
alternatives="cc:cc:/usr/bin/gcc" alternatives="cc:cc:/usr/bin/gcc"
nocross=yes
_have_gccgo=yes
# MIPS does not have libucontext yet
case "$XBPS_TARGET_MACHINE" in
mips*-musl) _have_gccgo=no ;;
esac
if [ "$CHROOT_READY" ]; then if [ "$CHROOT_READY" ]; then
hostmakedepends="perl flex" hostmakedepends="perl flex"
@ -68,8 +74,8 @@ fi
if [ "$CHROOT_READY" ]; then if [ "$CHROOT_READY" ]; then
subpackages+=" gcc-fortran libgfortran-devel libgfortran" subpackages+=" gcc-fortran libgfortran-devel libgfortran"
if [ -z "$CROSS_BUILD" ]; then subpackages+=" gcc-objc gcc-objc++ libobjc-devel libobjc"
subpackages+=" gcc-objc gcc-objc++ libobjc-devel libobjc" if [ "$_have_gccgo" = "yes" ]; then
subpackages+=" gcc-go gcc-go-tools libgo-devel libgo" subpackages+=" gcc-go gcc-go-tools libgo-devel libgo"
# we need this for gcc-go on musl # we need this for gcc-go on musl
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
@ -129,7 +135,6 @@ case "$XBPS_TARGET_MACHINE" in
esac esac
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" cross-${_triplet}" hostmakedepends+=" cross-${_triplet}"
export GFORTRAN_FOR_TARGET=" ${_triplet}-gfortran"
if [ "$build_option_ada" ]; then if [ "$build_option_ada" ]; then
hostmakedepends+=" gcc-ada libada-devel" hostmakedepends+=" gcc-ada libada-devel"
fi fi
@ -219,20 +224,26 @@ do_configure() {
export CC_FOR_TARGET="$CC" export CC_FOR_TARGET="$CC"
export GCC_FOR_TARGET="$CC" export GCC_FOR_TARGET="$CC"
export CXX_FOR_TARGET="$CXX" export CXX_FOR_TARGET="$CXX"
export GOC_FOR_TARGET="${_triplet}-gccgo"
export GFORTRAN_FOR_TARGET="${_triplet}-gfortran"
_args+=" --host=$XBPS_CROSS_TRIPLET" _args+=" --host=$XBPS_CROSS_TRIPLET"
_args+=" --with-build-sysroot=${XBPS_CROSS_BASE}" _args+=" --with-build-sysroot=${XBPS_CROSS_BASE}"
_args+=" --enable-sjlj-exceptions=no" _args+=" --enable-sjlj-exceptions=no"
_langs+=",fortran" _langs+=",objc,obj-c++,fortran"
elif [ -z "$CHROOT_READY" ]; then elif [ -z "$CHROOT_READY" ]; then
export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib" export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib"
_args+=" --build=${_triplet}" _args+=" --build=${_triplet}"
else else
_langs="c,c++,objc,obj-c++,go,fortran,lto" _langs="c,c++,objc,obj-c++,fortran,lto"
_args+=" --build=${_triplet}" _args+=" --build=${_triplet}"
_args+=" --enable-fast-character" _args+=" --enable-fast-character"
fi fi
if [ "$_have_gccgo" = "yes" ]; then
_langs+=",go"
fi
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
*-musl) _args+=" --disable-libsanitizer";; *-musl) _args+=" --disable-libsanitizer";;
esac esac