Move MinGW mixed path conversion code to the pathconvert tool

In preparation for adding MinGW support to patch #438.
This commit is contained in:
William S Fulton 2015-08-01 23:08:53 +01:00
commit 026d879058
2 changed files with 18 additions and 11 deletions

View file

@ -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