summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/global/paths.in16
-rw-r--r--scripts/build/cc/100-gcc.sh6
-rw-r--r--scripts/build/internals.sh2
-rw-r--r--scripts/crosstool-NG.sh.in2
4 files changed, 20 insertions, 6 deletions
diff --git a/config/global/paths.in b/config/global/paths.in
index 3e19332..f3059b9 100644
--- a/config/global/paths.in
+++ b/config/global/paths.in
@@ -117,12 +117,22 @@ config INSTALL_DIR_RO
Useful for toolchains destined for production.
-config STRIP_ALL_TOOLCHAIN_EXECUTABLES
+config STRIP_HOST_TOOLCHAIN_EXECUTABLES
bool
- prompt "Strip all toolchain executables"
+ prompt "Strip host toolchain executables"
default y
help
All build host executables contain a lot of unnecessary info.
- By stripping all executables it slightly speeds up the compilation
+ By stripping host executables it slightly speeds up the compilation
of large projects.
NOTE: It does NOT strip the target libraries, only HOST executables
+
+config STRIP_TARGET_TOOLCHAIN_EXECUTABLES
+ bool
+ prompt "Strip target toolchain executables"
+ depends on CC_GCC_4_6_or_later
+ help
+ It means using install-strip target for GCC 4.6 or later.
+ An install-strip make target is provided that installs stripped
+ executables, and may install libraries with unneeded or debugging
+ sections stripped.
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index 28dda1d..6515f96 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -940,7 +940,11 @@ do_gcc_backend() {
CT_DoExecLog ALL make ${JOBSFLAGS} all
CT_DoLog EXTRA "Installing final gcc compiler"
- CT_DoExecLog ALL make ${JOBSFLAGS} install
+ if [ "${CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
+ CT_DoExecLog ALL make ${JOBSFLAGS} install-strip
+ else
+ CT_DoExecLog ALL make ${JOBSFLAGS} install
+ fi
# Remove the libtool "pseudo-libraries": having them in the installed
# tree makes the libtoolized utilities that are built next assume
diff --git a/scripts/build/internals.sh b/scripts/build/internals.sh
index 21f6472..52eaa3d 100644
--- a/scripts/build/internals.sh
+++ b/scripts/build/internals.sh
@@ -11,7 +11,7 @@ do_finish() {
CT_DoStep INFO "Cleaning-up the toolchain's directory"
- if [ "${CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
+ if [ "${CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
case "$CT_HOST" in
*darwin*)
strip_args=""
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index a3514cb..b9b8aee 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -458,7 +458,7 @@ if [ -z "${CT_RESTART}" ]; then
CT_TestAndAbort "Missing: '${t}${tool}${!s}' or '${t}${tool}' or '${tool}' : either needed!" "${CT_CC_LANG_JAVA}" = "y"
;;
strip)
- CT_TestAndAbort "Missing: '${t}${tool}${!s}' or '${t}${tool}' or '${tool}' : either needed!" "${CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES}" = "y"
+ CT_TestAndAbort "Missing: '${t}${tool}${!s}' or '${t}${tool}' or '${tool}' : either needed!" "${CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES}" = "y"
;;
# If any other is missing, only warn at low level
*)