summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/toolchain.in1
-rw-r--r--scripts/build/binutils/binutils.sh9
2 files changed, 9 insertions, 1 deletions
diff --git a/config/toolchain.in b/config/toolchain.in
index 86578c6..3be00f8 100644
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -41,6 +41,7 @@ config STATIC_TOOLCHAIN
you can say 'Y' here, and all the host tools will be linked staticaly.
The impacted tools are:
+ - the GNU binutils
- the cross-gdb
The default is 'N', to build dynamicaly-linked host binaries.
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index 57d35a5..9f55c4d 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -18,6 +18,7 @@ do_binutils_extract() {
# Build binutils
do_binutils() {
local -a extra_config
+ local -a extra_make_flags
mkdir -p "${CT_BUILD_DIR}/build-binutils"
cd "${CT_BUILD_DIR}/build-binutils"
@@ -40,8 +41,14 @@ do_binutils() {
${CT_BINUTILS_EXTRA_CONFIG} \
${BINUTILS_SYSROOT_ARG}
+ if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
+ extra_make_flags+=("LDFLAGS=-all-static")
+ CT_DoLog EXTRA "Prepare binutils for static build"
+ CT_DoExecLog ALL make configure-host
+ fi
+
CT_DoLog EXTRA "Building binutils"
- CT_DoExecLog ALL make ${PARALLELMFLAGS}
+ CT_DoExecLog ALL make "${extra_make_flags[@]}" ${PARALLELMFLAGS}
CT_DoLog EXTRA "Installing binutils"
CT_DoExecLog ALL make install