diff options
author | Alexey Neyman <stilor@att.net> | 2016-12-13 18:07:21 -0800 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-01-19 18:08:29 -0800 |
commit | 955f5bc0b8a879ba5d1b9a65a31cc235c9fd9be8 (patch) | |
tree | 25765a1f5961a0cc2580a0bbd4a0c50aeef3fd18 /scripts/functions | |
parent | c0cc73cd6f3040ea08dc09384aa289540b3fb2a2 (diff) | |
download | crosstool-ng-955f5bc0b8a879ba5d1b9a65a31cc235c9fd9be8.tar.gz crosstool-ng-955f5bc0b8a879ba5d1b9a65a31cc235c9fd9be8.tar.bz2 crosstool-ng-955f5bc0b8a879ba5d1b9a65a31cc235c9fd9be8.zip |
Get rid of .config.2.
Now handled by CT_LoadConfig.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/functions')
-rw-r--r-- | scripts/functions | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/scripts/functions b/scripts/functions index baaf51ee..9aa4fc7a 100644 --- a/scripts/functions +++ b/scripts/functions @@ -5,12 +5,14 @@ # Licensed under the GPL v2. See COPYING in the root of this package CT_LoadConfig() { + local o + # Parse the configuration file # It has some info about the logging facility, so include it early # It also sets KERNEL/ARCH/... for file inclusion below. Does not handle - # recursive definitions yet. - CT_TestOrAbort "Configuration file not found. Please create one." -r .config.2 - . .config.2 + # recursive definitions yet. We don't need arrays at this point. + CT_TestOrAbort "Configuration file not found. Please create one." -r .config + . .config # Include sub-scripts instead of calling them: that way, we do not have to # export any variable, nor re-parse the configuration and functions files. @@ -31,21 +33,25 @@ CT_LoadConfig() { # Kludge: If any of the configured options needs CT_TARGET, # then rescan the options file now. This also handles recursive variables; # but we don't want to loop forever if there's a circular reference. - touch ${CT_TOP_DIR}/.config.out.1 + oldvals="" try=0 while [ "$try" -le 10 ]; do - . .config.2 - set | ${grep} -E '^CT_' > ${CT_TOP_DIR}/.config.out.2 - if cmp -s ${CT_TOP_DIR}/.config.out.1 ${CT_TOP_DIR}/.config.out.2; then + . .config + vals=`set | ${grep} -E '^CT_'` + if [ "$oldvals" = "$vals" ]; then break fi - mv ${CT_TOP_DIR}/.config.out.2 ${CT_TOP_DIR}/.config.out.1 + oldvals="$vals" try=$[ try + 1 ] done if [ "$try" -gt 10 ]; then CT_Abort "Variables in .config recurse too deep." fi - rm -f ${CT_TOP_DIR}/.config.out.[12] + # Double eval: first eval substitutes option name, second eval unescapes quotes + # and whitespace. + for o in `set | sed -rn 's/^(CT_[A-Za-z0-9_]*_ARRAY)=.*/\1/p'`; do + eval "eval $o=(\"\$$o\")" + done } # Prepare the fault handler |