summaryrefslogtreecommitdiff
path: root/scripts/build/binutils.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/binutils.sh')
-rw-r--r--scripts/build/binutils.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/build/binutils.sh b/scripts/build/binutils.sh
new file mode 100644
index 0000000..26493c4
--- /dev/null
+++ b/scripts/build/binutils.sh
@@ -0,0 +1,39 @@
+# 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_binutils() {
+ mkdir -p "${CT_BUILD_DIR}/build-binutils"
+ cd "${CT_BUILD_DIR}/build-binutils"
+
+ CT_DoStep INFO "Installing binutils"
+
+ CT_DoLog EXTRA "Configuring binutils"
+ CFLAGS="${CT_CFLAGS_FOR_HOST}" \
+ "${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure" \
+ ${CT_CANADIAN_OPT} \
+ --target=${CT_TARGET} \
+ --host=${CT_HOST} \
+ --prefix=${CT_PREFIX_DIR} \
+ --disable-nls \
+ ${CT_BINUTILS_EXTRA_CONFIG} \
+ ${BINUTILS_SYSROOT_ARG} 2>&1 |CT_DoLog DEBUG
+
+ CT_DoLog EXTRA "Building binutils"
+ make ${PARALLELMFLAGS} 2>&1 |CT_DoLog DEBUG
+
+ CT_DoLog EXTRA "Installing binutils"
+ make install 2>&1 |CT_DoLog DEBUG
+
+ # Make those new tools available to the core C compiler to come:
+ # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
+ # well. Create that (libfloat is one such sucker).
+ mkdir -p "${CT_CC_CORE_PREFIX_DIR}/${CT_TARGET}/bin"
+ mkdir -p "${CT_CC_CORE_PREFIX_DIR}/bin"
+ for t in ar as ld strip; do
+ ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
+ ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
+ done |CT_DoLog DEBUG
+
+ CT_EndStep
+}