diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2015-08-01 23:08:53 +0100 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2015-08-01 23:08:53 +0100 |
commit | 026d879058b9f68839796015b988008b45065972 (patch) | |
tree | 60da950402dbe26d728706b45ba4a330258c8423 /Tools | |
parent | cc6804724f686ce84408ed40e962179f9bde9d32 (diff) | |
download | swig-026d879058b9f68839796015b988008b45065972.tar.gz |
Move MinGW mixed path conversion code to the pathconvert tool
In preparation for adding MinGW support to patch #438.
Diffstat (limited to 'Tools')
-rwxr-xr-x | Tools/convertpath | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/Tools/convertpath b/Tools/convertpath index fce5ac24b..0cc8b74bb 100755 --- a/Tools/convertpath +++ b/Tools/convertpath @@ -1,25 +1,32 @@ #!/bin/sh -# Unix to Windows relative path conversion in a script. +# Unix to Windows path conversion in a script. # Useful for avoiding backslash quoting difficulties in Makefiles. -# Acts as a much dumbed down 'cygpath -w' tool. +# Acts as a much dumbed down cygpath tool mainly for use on MinGW. usage() { cat <<EOF -Usage: $0 [-w|-u|-h] [path]... +Usage: $0 [-m|-u|-w|-h] [path]... -Convert Windows and Unix paths (intended for simple relative paths only) +Convert Windows and Unix paths - -w Convert backslashes to forward slashes in the paths - -u Convert forward slashes to backslashes in the paths + -m Convert Unix path to mixed path (full paths, MinGW MSYS only) + -u Convert forward slashes to backslashes in the paths (relative paths only) + -w Convert backslashes to forward slashes in the paths (relative paths only) EOF } option="$1" case "$option" in - -w) shift; echo $@ | sed -e 's,/,\\,g' ;; + -m) shift + case $MACHTYPE in + # This echo converts unix to mixed paths. Then zap unexpected trailing space on old versions of MinGW. + *-msys) echo `cmd //c echo "$@" | sed -e "s/[ ]*$//"`;; + *) echo "The -m option is only supported on MinGW MSYS" 1>&2; exit 1 ;; + esac ;; -u) shift; echo $@ | sed -e 's,\\,/,g' ;; + -w) shift; echo $@ | sed -e 's,/,\\,g' ;; -h) shift; usage; ;; *) usage; exit 1 ;; esac |