self_basename=${self##*/}
self_dirname=$(dirname "$0")
EOL=$'\n'
+if [ "$(uname -o 2>/dev/null)" = "Cygwin" ] \
+ && cygpath --help >/dev/null 2>&1; then
+ FIXPATH='cygpath -m'
+else
+ FIXPATH='echo'
+fi
show_help() {
cat <<EOF
exit 1
}
+fix_path() {
+ $FIXPATH "$1"
+}
+
generate_uuid() {
local hex="0123456789ABCDEF"
local i
if [ "${f##*.}" == "$pat" ]; then
unset file_list[i]
- objf=$(echo ${f%.*}.obj | sed -e 's/^[\./]\+//g' -e 's,/,_,g')
- open_tag File RelativePath="./$f"
+ objf=$(echo ${f%.*}.obj | sed -e 's/^[\./]\+//g' -e 's,[:/],_,g')
+ open_tag File RelativePath="$f"
if [ "$pat" == "asm" ] && $asm_use_custom_step; then
for plat in "${platforms[@]}"; do
;;
--lib) proj_kind="lib"
;;
- --src-path-bare=*) src_path_bare="$optval"
+ --src-path-bare=*) src_path_bare=$(fix_path "$optval")
;;
--static-crt) use_static_runtime=true
;;
;;
-I*)
opt="${opt%/}"
- incs="${incs}${incs:+;}"${opt##-I}""
- yasmincs="${yasmincs} ${opt}"
+ opt=${opt##-I}
+ opt=$(fix_path "$opt")
+ incs="${incs}${incs:+;}"${opt}""
+ yasmincs="${yasmincs} -I${opt}"
;;
-D*) defines="${defines}${defines:+;}${opt##-D}"
;;
libdirs="${libdirs}${libdirs:+;}"\$(OutDir)""
else
# Also try directories for this platform/configuration
- libdirs="${libdirs}${libdirs:+;}"${opt##-L}""
- libdirs="${libdirs}${libdirs:+;}"${opt##-L}/\$(PlatformName)/\$(ConfigurationName)""
- libdirs="${libdirs}${libdirs:+;}"${opt##-L}/\$(PlatformName)""
+ opt=${opt##-L}
+ opt=$(fix_path "$opt")
+ libdirs="${libdirs}${libdirs:+;}"${opt}""
+ libdirs="${libdirs}${libdirs:+;}"${opt}/\$(PlatformName)/\$(ConfigurationName)""
+ libdirs="${libdirs}${libdirs:+;}"${opt}/\$(PlatformName)""
fi
;;
-l*) libs="${libs}${libs:+ }${opt##-l}.lib"
-*) die_unknown $opt
;;
*)
- file_list[${#file_list[@]}]="$opt"
+ file_list[${#file_list[@]}]="$(fix_path $opt)"
case "$opt" in
*.asm) uses_asm=true
;;