Move MinGW mixed path conversion code to the pathconvert tool
In preparation for adding MinGW support to patch #438.
This commit is contained in:
parent
cc6804724f
commit
026d879058
2 changed files with 18 additions and 11 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue