scripts: fix double slash in paths
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jan 25 21:59:03 2011 +0100 (2011-01-25)
changeset 22803d480d12124e
parent 2279 a559d9890c02
child 2281 1333e4ac89f0
scripts: fix double slash in paths

Computed paths may contain double slashes.
This is not an issue but it is just ugly to look at.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
scripts/crosstool-NG.sh.in
scripts/functions
     1.1 --- a/scripts/crosstool-NG.sh.in	Tue Jan 25 20:31:16 2011 +0100
     1.2 +++ b/scripts/crosstool-NG.sh.in	Tue Jan 25 21:59:03 2011 +0100
     1.3 @@ -295,6 +295,7 @@
     1.4          CT_SYSROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/${CT_SYSROOT_NAME}"
     1.5          CT_DEBUGROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/debug-root"
     1.6          CT_HEADERS_DIR="${CT_SYSROOT_DIR}/usr/include"
     1.7 +        CT_SanitiseVarDir CT_SYSROOT_DIR CT_DEBUGROOT_DIR CT_HEADERS_DIR 
     1.8          BINUTILS_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
     1.9          CC_CORE_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
    1.10          CC_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
    1.11 @@ -308,6 +309,7 @@
    1.12          CT_SYSROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}"
    1.13          CT_DEBUGROOT_DIR="${CT_SYSROOT_DIR}"
    1.14          CT_HEADERS_DIR="${CT_SYSROOT_DIR}/include"
    1.15 +        CT_SanitiseVarDir CT_SYSROOT_DIR CT_DEBUGROOT_DIR CT_HEADERS_DIR 
    1.16          # hack!  Always use --with-sysroot for binutils.
    1.17          # binutils 2.14 and later obey it, older binutils ignore it.
    1.18          # Lets you build a working 32->64 bit cross gcc
     2.1 --- a/scripts/functions	Tue Jan 25 20:31:16 2011 +0100
     2.2 +++ b/scripts/functions	Tue Jan 25 21:59:03 2011 +0100
     2.3 @@ -159,6 +159,24 @@
     2.4      PATH="${new}"
     2.5  }
     2.6  
     2.7 +# Sanitise the directory name contained in the variable passed as argument:
     2.8 +# - remove duplicate /
     2.9 +# Usage: CT_SanitiseVarDir CT_PREFIX_DIR
    2.10 +CT_SanitiseVarDir() {
    2.11 +    local var
    2.12 +    local old_dir
    2.13 +    local new_dir
    2.14 +
    2.15 +    for var in "$@"; do
    2.16 +        eval "old_dir=\"\${${var}}\""
    2.17 +        new_dir="$( printf "${old_dir}"     \
    2.18 +                    |sed -r -e 's:/+:/:g;'  \
    2.19 +                  )"
    2.20 +        eval "${var}=\"${new_dir}\""
    2.21 +        CT_DoLog DEBUG "Sanitised '${var}': '${old_dir}' -> '${new_dir}'"
    2.22 +    done
    2.23 +}
    2.24 +
    2.25  # Abort the execution with an error message
    2.26  # Usage: CT_Abort <message>
    2.27  CT_Abort() {