diff --git a/recipes/devel/compat/gcc.yaml b/recipes/devel/compat/gcc.yaml index cfd92b24..9e62ef92 100644 --- a/recipes/devel/compat/gcc.yaml +++ b/recipes/devel/compat/gcc.yaml @@ -29,7 +29,7 @@ checkoutScript: | buildTools: [host-toolchain, target-toolchain] buildToolsWeak: [m4] buildVars: [AUTOCONF_BUILD, AUTOCONF_HOST, AUTOCONF_TARGET, - GCC_TARGET_ARCH, GCC_TARGET_FLOAT_ABI, GCC_TARGET_FPU] + GCC_TARGET_ARCH, GCC_TARGET_FLOAT_ABI, GCC_TARGET_FPU, PKG_VERSION] buildScript: | GCC_SRC=$1 @@ -79,6 +79,11 @@ buildScript: | makeParallel makeSequential install DESTDIR=${PWD}/../install popd + #add libbacktrace + cp build/libbacktrace/.libs/libbacktrace.a \ + install/${GCC_PREFIX:-usr}/lib/gcc/${AUTOCONF_TARGET:-${AUTOCONF_HOST}}/${PKG_VERSION}/ + cp $GCC_SRC/libbacktrace/backtrace.h install/${GCC_PREFIX:-usr}/include + } packageScript: | diff --git a/recipes/devel/cross-toolchain.yaml b/recipes/devel/cross-toolchain.yaml index 159eb5b4..d574b30e 100644 --- a/recipes/devel/cross-toolchain.yaml +++ b/recipes/devel/cross-toolchain.yaml @@ -179,6 +179,14 @@ multiPackage: GCC_LIBC: "glibc" GCC_ENABLE_LANGUAGES: "c,c++,ada" + x86_64-unknown-elf-ada: + environment: + AUTOCONF_TARGET: "x86_64-unknown-elf" + ARCH: "x86_64" + GCC_LIBC: "newlib" + GCC_ENABLE_LANGUAGES: "c,c++,ada" + GCC_ENABLE_LIBADA: "no" + # ARMv7 Linux CortexA toolchain with hard floating point arm-linux-gnueabihf: environment: diff --git a/recipes/devel/gcc.yaml b/recipes/devel/gcc.yaml index 31ac0327..bd11df5a 100644 --- a/recipes/devel/gcc.yaml +++ b/recipes/devel/gcc.yaml @@ -65,7 +65,8 @@ checkoutScript: | buildVars: [AUTOCONF_BUILD, AUTOCONF_HOST, AUTOCONF_TARGET, GCC_TARGET_ABI, GCC_TARGET_ARCH, GCC_TARGET_FLOAT_ABI, GCC_TARGET_FPU, - GCC_MULTILIB, GCC_EXTRA_OPTIONS] + GCC_MULTILIB, GCC_EXTRA_OPTIONS, GCC_ENABLE_LIBADA, + PKG_VERSION] buildToolsWeak: [m4] buildScript: | GCC_SRC=$(pwd)/src @@ -82,6 +83,11 @@ buildScript: | { pushd build if [[ $GCC_SRC/configure -nt .configure.stamp ]] ; then + ADDITIONAL_OPTIONS=() + if [[ ${GCC_ENABLE_LIBADA:-yes} == no ]]; then + ADDITIONAL_OPTIONS+=("--disable-libada") + fi + $GCC_SRC/configure \ --build=${AUTOCONF_BUILD} \ --host=${AUTOCONF_HOST:-${AUTOCONF_BUILD}} \ @@ -101,6 +107,7 @@ buildScript: | --disable-documentation \ --disable-debug \ --disable-nls \ + ${ADDITIONAL_OPTIONS[@]} \ --with-xmlto=no \ --with-fop=no \ --with-gmp-include=${BOB_DEP_PATHS[libs::gmp-dev]}/usr/include \ @@ -121,6 +128,11 @@ buildScript: | configureGcc "$@" makeParallel -C build makeSequential -C build install DESTDIR="$PWD/install" + + #add libbacktrace + cp build/libbacktrace/.libs/libbacktrace.a \ + install/${GCC_PREFIX:-usr}/lib/gcc/${AUTOCONF_TARGET:-${AUTOCONF_HOST}}/${PKG_VERSION}/ + cp $GCC_SRC/libbacktrace/backtrace.h install/${GCC_PREFIX:-usr}/include } packageScript: | @@ -238,7 +250,7 @@ multiPackage: See https://gcc.gnu.org/install/configure.html for more detauls. buildTools: [binutils] - buildVars: [GCC_LIBC, GCC_ENABLE_LANGUAGES] + buildVars: [GCC_LIBC, GCC_ENABLE_LANGUAGES, GCC_ENABLE_LIBADA] buildScript: | if [[ -z "${GCC_MULTILIB:-}" ]] ; then OPTIONS=( --disable-multilib ) @@ -311,6 +323,9 @@ multiPackage: ADDITIONAL_INSTALL=(install-gnattools) fi makeParallel -C build all-gcc ${ADDITIONAL_MAKE[@]} + if [[ ${GCC_ENABLE_LIBADA:-yes} == no ]]; then + makeParallel -C build/gcc cross-gnattools ada.all.cross + fi makeSequential -C build install-gcc ${ADDITIONAL_INSTALL[@]} DESTDIR="$PWD/install" native: