Add building some binutils libraries for the target, as some utilities might need them.
/trunk/scripts/build/binutils.sh | 32 32 0 0 ++++++++++++++++++++++++++++++++
/trunk/config/binutils.in | 22 22 0 0 ++++++++++++++++++++++
2 files changed, 54 insertions(+)
1 # This file adds functions to build binutils
2 # Copyright 2007 Yann E. MORIN
3 # Licensed under the GPL v2. See COPYING in the root of this package
6 echo "binutils-${CT_BINUTILS_VERSION}"
11 CT_GetFile "${CT_BINUTILS_FILE}" \
12 ftp://ftp.gnu.org/gnu/binutils \
13 ftp://ftp.kernel.org/pub/linux/devel/binutils
17 do_binutils_extract() {
18 CT_ExtractAndPatch "${CT_BINUTILS_FILE}"
23 mkdir -p "${CT_BUILD_DIR}/build-binutils"
24 cd "${CT_BUILD_DIR}/build-binutils"
26 CT_DoStep INFO "Installing binutils"
28 CT_DoLog EXTRA "Configuring binutils"
29 CFLAGS="${CT_CFLAGS_FOR_HOST}" \
30 "${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure" \
34 --target=${CT_TARGET} \
35 --prefix=${CT_PREFIX_DIR} \
37 ${CT_BINUTILS_EXTRA_CONFIG} \
38 ${BINUTILS_SYSROOT_ARG} 2>&1 |CT_DoLog ALL
40 CT_DoLog EXTRA "Building binutils"
41 make ${PARALLELMFLAGS} 2>&1 |CT_DoLog ALL
43 CT_DoLog EXTRA "Installing binutils"
44 make install 2>&1 |CT_DoLog ALL
46 # Make those new tools available to the core C compilers to come.
47 # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
49 mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
50 mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
51 mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
52 mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
53 for t in ar as ld strip; do
54 ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
55 ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
56 ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
57 ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
60 # Now on for the target libraries
62 [ "${CT_BINUTILS_FOR_TARGET_IBERTY}" = "y" ] && targets="${build_targets} libiberty"
63 [ "${CT_BINUTILS_FOR_TARGET_BFD}" = "y" ] && targets="${build_targets} bfd"
64 targets="${targets# }"
66 if [ -n "${targets}" ]; then
67 CT_DoStep INFO "Installing binutils for target"
68 mkdir -p "${CT_BUILD_DIR}/build-binutils-for-target"
69 CT_Pushd "${CT_BUILD_DIR}/build-binutils-for-target"
71 CT_DoLog EXTRA "Configuring binutils for target"
72 "${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure" \
75 --target=${CT_TARGET} \
77 ${CT_BINUTILS_EXTRA_CONFIG} \
78 --disable-nls 2>&1 |CT_DoLog ALL
80 build_targets=$(echo "${targets}" |sed -r -e 's/(^| +)/\1all-/g;')
81 install_targets=$(echo "${targets}" |sed -r -e 's/(^| +)/\1install-/g;')
83 CT_DoLog EXTRA "Building binutils' libraries (${targets}) for target"
84 make ${PARALLELMFLAGS} ${build_targets} 2>&1 |CT_DoLog ALL
85 CT_DoLog EXTRA "Installing binutils' libraries (${targets}) for target"
86 make DESTDIR="${CT_SYSROOT_DIR}" ${install_targets} 2>&1 |CT_DoLog ALL