summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-10-05 01:19:51 (GMT)
committerMichael Hope <michael.hope@linaro.org>2011-10-05 01:19:51 (GMT)
commit04da3418caa214af2c486e6a731cd70489ef8f14 (patch)
tree51aa271e7ea89ab28ebc162b1acdb5e6dc2e01a9
parent4ddbf5c7dcbc6392f196d744d07cb94b584d01ce (diff)
scripts: support extra host compiler flags
Allow the user to configure extra flags to pass to the host compiler at build time. Applies to both C and C++. Useful on Ubuntu to turn off the stack protector and fortify defaults so the program stands a better chance of running on other distros. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: put the custom flags at the end] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-rw-r--r--config/global/build-behave.in10
-rw-r--r--scripts/crosstool-NG.sh.in3
2 files changed, 12 insertions, 1 deletions
diff --git a/config/global/build-behave.in b/config/global/build-behave.in
index 7092a7f..fae9917 100644
--- a/config/global/build-behave.in
+++ b/config/global/build-behave.in
@@ -41,6 +41,16 @@ config USE_PIPES
Use gcc's option -pipe to use pipes rather than temp files when building
the toolchain.
+config EXTRA_FLAGS_FOR_HOST
+ string
+ prompt "Extra host compiler flags"
+ default ""
+ help
+ Extra flags to pass to the host C and C++ compiler.
+
+ May be used to change the default features of the host
+ compiler such as turning off the stack protector or fortify.
+
choice
bool
prompt "Shell to use as CONFIG_SHELL"
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index 6b6aa0e..4499f71 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -476,7 +476,8 @@ if [ -z "${CT_RESTART}" ]; then
# Help gcc
CT_CFLAGS_FOR_HOST=
- [ "${CT_USE_PIPES}" = "y" ] && CT_CFLAGS_FOR_HOST="${CT_CFLAGS_FOR_HOST} -pipe"
+ [ "${CT_USE_PIPES}" = "y" ] && CT_CFLAGS_FOR_HOST+=" -pipe"
+ CT_CFLAGS_FOR_HOST+="${CT_EXTRA_FLAGS_FOR_HOST}"
# Override the configured jobs with what's been given on the command line
[ -n "${CT_JOBS}" ] && CT_PARALLEL_JOBS="${CT_JOBS}"