1.1 --- a/scripts/build/binutils.sh Tue May 19 16:05:36 2009 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,116 +0,0 @@
1.4 -# This file adds functions to build binutils
1.5 -# Copyright 2007 Yann E. MORIN
1.6 -# Licensed under the GPL v2. See COPYING in the root of this package
1.7 -
1.8 -# Download binutils
1.9 -do_binutils_get() {
1.10 - CT_GetFile "binutils-${CT_BINUTILS_VERSION}" \
1.11 - {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils \
1.12 - ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
1.13 -}
1.14 -
1.15 -# Extract binutils
1.16 -do_binutils_extract() {
1.17 - CT_Extract "binutils-${CT_BINUTILS_VERSION}"
1.18 - CT_Patch "binutils-${CT_BINUTILS_VERSION}"
1.19 -}
1.20 -
1.21 -# Build binutils
1.22 -do_binutils() {
1.23 - mkdir -p "${CT_BUILD_DIR}/build-binutils"
1.24 - cd "${CT_BUILD_DIR}/build-binutils"
1.25 -
1.26 - CT_DoStep INFO "Installing binutils"
1.27 -
1.28 - binutils_opts=
1.29 - # If GMP and MPFR were configured, then use that,
1.30 - # otherwise let binutils find the system-wide libraries, if they exist.
1.31 - if [ "${CT_GMP_MPFR}" = "y" ]; then
1.32 - binutils_opts="--with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}"
1.33 - fi
1.34 -
1.35 - CT_DoLog EXTRA "Configuring binutils"
1.36 - CFLAGS="${CT_CFLAGS_FOR_HOST}" \
1.37 - CT_DoExecLog ALL \
1.38 - "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \
1.39 - --build=${CT_BUILD} \
1.40 - --host=${CT_HOST} \
1.41 - --target=${CT_TARGET} \
1.42 - --prefix=${CT_PREFIX_DIR} \
1.43 - --disable-nls \
1.44 - --disable-multilib \
1.45 - --disable-werror \
1.46 - ${binutils_opts} \
1.47 - ${CT_ARCH_WITH_FLOAT} \
1.48 - ${CT_BINUTILS_EXTRA_CONFIG} \
1.49 - ${BINUTILS_SYSROOT_ARG}
1.50 -
1.51 - CT_DoLog EXTRA "Building binutils"
1.52 - CT_DoExecLog ALL make ${PARALLELMFLAGS}
1.53 -
1.54 - CT_DoLog EXTRA "Installing binutils"
1.55 - CT_DoExecLog ALL make install
1.56 -
1.57 - # Make those new tools available to the core C compilers to come.
1.58 - # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
1.59 - # well. Create that.
1.60 - mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
1.61 - mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
1.62 - mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
1.63 - mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
1.64 - for t in ar as ld strip; do
1.65 - ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
1.66 - ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
1.67 - ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
1.68 - ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
1.69 - done 2>&1 |CT_DoLog ALL
1.70 -
1.71 - CT_EndStep
1.72 -}
1.73 -
1.74 -# Now on for the target libraries
1.75 -do_binutils_target() {
1.76 - targets=
1.77 - [ "${CT_BINUTILS_FOR_TARGET_IBERTY}" = "y" ] && targets="${targets} libiberty"
1.78 - [ "${CT_BINUTILS_FOR_TARGET_BFD}" = "y" ] && targets="${targets} bfd"
1.79 - targets="${targets# }"
1.80 -
1.81 - binutils_opts=
1.82 - # If GMP and MPFR were configured, then use that
1.83 - if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
1.84 - binutils_opts="--with-gmp=${CT_SYSROOT_DIR}/usr --with-mpfr=${CT_SYSROOT_DIR}/usr"
1.85 - fi
1.86 -
1.87 - if [ -n "${targets}" ]; then
1.88 - CT_DoStep INFO "Installing binutils for target"
1.89 - mkdir -p "${CT_BUILD_DIR}/build-binutils-for-target"
1.90 - CT_Pushd "${CT_BUILD_DIR}/build-binutils-for-target"
1.91 -
1.92 - CT_DoLog EXTRA "Configuring binutils for target"
1.93 - CT_DoExecLog ALL \
1.94 - "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \
1.95 - --build=${CT_BUILD} \
1.96 - --host=${CT_TARGET} \
1.97 - --target=${CT_TARGET} \
1.98 - --prefix=/usr \
1.99 - --disable-werror \
1.100 - --enable-shared \
1.101 - --enable-static \
1.102 - --disable-nls \
1.103 - --disable-multilib \
1.104 - ${binutils_opts} \
1.105 - ${CT_ARCH_WITH_FLOAT} \
1.106 - ${CT_BINUTILS_EXTRA_CONFIG}
1.107 -
1.108 - build_targets=$(echo "${targets}" |sed -r -e 's/(^| +)/\1all-/g;')
1.109 - install_targets=$(echo "${targets}" |sed -r -e 's/(^| +)/\1install-/g;')
1.110 -
1.111 - CT_DoLog EXTRA "Building binutils' libraries (${targets}) for target"
1.112 - CT_DoExecLog ALL make ${PARALLELMFLAGS} ${build_targets}
1.113 - CT_DoLog EXTRA "Installing binutils' libraries (${targets}) for target"
1.114 - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" ${install_targets}
1.115 -
1.116 - CT_Popd
1.117 - CT_EndStep
1.118 - fi
1.119 -}