summaryrefslogtreecommitdiff
path: root/scripts/functions
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-11-01 22:50:12 (GMT)
committerAlexey Neyman <stilor@att.net>2018-11-01 22:50:12 (GMT)
commitf232d6d09a895b4be25cd01008f76afd3a673ac2 (patch)
tree3d4ba10e68b92e2f543c0f95a115f274efb1b929 /scripts/functions
parent7c4c6892b9a5ea8e989ecb8a120db4d9f3aa46f6 (diff)
Add an ability to modify an exported variable
... and use that ability to permanently set CTNG_LD_IS in case gold is default linker and we're building glibc. Fixes #988. This was a long-standing breakage in crosstool-NG (at least since it began to run each step in a sub-shell). Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/functions')
-rw-r--r--scripts/functions10
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/functions b/scripts/functions
index 272f368..ab235d8 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -1026,9 +1026,15 @@ CT_DoConfigSub() {
# Normally, each step is executed in a sub-shell and thus cannot modify the
# environment for the next step(s). When this is needed, it can do so by
# invoking this function.
-# Usage: CT_EnvModify VAR VALUE
+# Usage: CT_EnvModify [export] VAR VALUE
CT_EnvModify() {
- echo "${1}=\"${2}\"" >> "${CT_BUILD_DIR}/env.modify.sh"
+ local e
+ if [ "$1" = "export" ]; then
+ shift
+ e="export "
+ fi
+ eval "${e}${1}=\"${2}\""
+ echo "${e}${1}=\"${2}\"" >> "${CT_BUILD_DIR}/env.modify.sh"
}
# Compute the target tuple from what is provided by the user