ltmain.in: Fix hang with cmd.exe in MSYS
Translating file paths from MSYS to W32 has been causing libtool to
indefinitely hang when 'cmd.exe //c' is called. Instead, 'cygpath' is
packaged on MSYS, so it will now handle the path conversion.
* build-aux/ltmain.in: Replace 'cmd.exe //c' with 'cygpath' usage.
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index d792be2..bc1457e 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -1029,9 +1029,14 @@
{
$debug_cmd
- # awkward: cmd appends spaces to result
- func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
- $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+ # Since MSYS is packaged with cygpath, call cygpath in $PATH; no need
+ # to use LT_CYGPATH in this case.
+ func_convert_core_msys_to_w32_result=`cygpath "$@" 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_convert_core_msys_to_w32_result=
+ fi
}
#end: func_convert_core_msys_to_w32
@@ -1170,7 +1175,7 @@
func_to_host_file_result=$1
if test -n "$1"; then
- func_convert_core_msys_to_w32 "$1"
+ func_convert_core_msys_to_w32 -w "$1"
func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
@@ -1222,7 +1227,7 @@
func_to_host_file_result=$1
if test -n "$1"; then
- func_convert_core_msys_to_w32 "$1"
+ func_convert_core_msys_to_w32 -w "$1"
func_cygpath -u "$func_convert_core_msys_to_w32_result"
func_to_host_file_result=$func_cygpath_result
fi
@@ -1324,7 +1329,7 @@
# and winepath ignores them completely.
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
- func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_convert_core_msys_to_w32 -w -p "$func_to_host_path_tmp1"
func_to_host_path_result=$func_convert_core_msys_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
@@ -1389,7 +1394,7 @@
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
- func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_convert_core_msys_to_w32 -w -p "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \