crosstool-ng/scripts/build/binutils.sh
Yann E. MORIN" 6e49891565 Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

 /trunk/scripts/build/binutils.sh      |    2     1     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh |    2     1     1     0 +-
 /trunk/scripts/build/cc_gcc.sh        |    6     3     3     0 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)
2008-07-13 10:32:38 +00:00

111 lines
4.5 KiB
Bash

# This file adds functions to build binutils
# Copyright 2007 Yann E. MORIN
# Licensed under the GPL v2. See COPYING in the root of this package
do_print_filename() {
echo "binutils-${CT_BINUTILS_VERSION}"
}
# Download binutils
do_binutils_get() {
CT_GetFile "${CT_BINUTILS_FILE}" \
{ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils
}
# Extract binutils
do_binutils_extract() {
CT_ExtractAndPatch "${CT_BINUTILS_FILE}"
}
# Build binutils
do_binutils() {
mkdir -p "${CT_BUILD_DIR}/build-binutils"
cd "${CT_BUILD_DIR}/build-binutils"
CT_DoStep INFO "Installing binutils"
binutils_opts=
# If GMP and MPFR were configured, then use that,
# otherwise let binutils find the system-wide libraries, if they exist.
if [ "${CT_GMP_MPFR}" = "y" ]; then
binutils_opts="--with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}"
fi
CT_DoLog EXTRA "Configuring binutils"
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
"${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure" \
${CT_CANADIAN_OPT} \
--build=${CT_BUILD} \
--host=${CT_HOST} \
--target=${CT_TARGET} \
--prefix=${CT_PREFIX_DIR} \
--disable-nls \
--disable-multilib \
--disable-werror \
${binutils_opts} \
${CT_ARCH_WITH_FLOAT} \
${CT_BINUTILS_EXTRA_CONFIG} \
${BINUTILS_SYSROOT_ARG} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Building binutils"
make ${PARALLELMFLAGS} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Installing binutils"
make install 2>&1 |CT_DoLog ALL
# Make those new tools available to the core C compilers to come.
# Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
# well. Create that.
mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
for t in ar as ld strip; do
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
done |CT_DoLog ALL
CT_EndStep
}
# Now on for the target libraries
do_binutils_target() {
targets=
[ "${CT_BINUTILS_FOR_TARGET_IBERTY}" = "y" ] && targets="${targets} libiberty"
[ "${CT_BINUTILS_FOR_TARGET_BFD}" = "y" ] && targets="${targets} bfd"
targets="${targets# }"
if [ -n "${targets}" ]; then
CT_DoStep INFO "Installing binutils for target"
mkdir -p "${CT_BUILD_DIR}/build-binutils-for-target"
CT_Pushd "${CT_BUILD_DIR}/build-binutils-for-target"
CT_DoLog EXTRA "Configuring binutils for target"
"${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
--target=${CT_TARGET} \
--prefix=/usr \
--disable-werror \
--enable-shared \
--enable-static \
--disable-nls \
--disable-multilib \
${CT_ARCH_WITH_FLOAT} \
${CT_BINUTILS_EXTRA_CONFIG} 2>&1 |CT_DoLog ALL
build_targets=$(echo "${targets}" |sed -r -e 's/(^| +)/\1all-/g;')
install_targets=$(echo "${targets}" |sed -r -e 's/(^| +)/\1install-/g;')
CT_DoLog EXTRA "Building binutils' libraries (${targets}) for target"
make ${PARALLELMFLAGS} ${build_targets} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Installing binutils' libraries (${targets}) for target"
make DESTDIR="${CT_SYSROOT_DIR}" ${install_targets} 2>&1 |CT_DoLog ALL
CT_Popd
CT_EndStep
fi
}