Subject: Missing quotes for $progpath in libtool

From: Andreas Schiffler <[email-masked]>
Date: Thu, 05 Sep 2013 08:59:09 -0700

When using libtool (ver 2.4.1)  on cygwin (x86) and some source code is 
compiled from a directory path that has a space in it, "make install" 
will fail.

The repro is a documented in this bug (compile SDL using cygwin in from 
the Desktop of a user with the account name "First Last"):
https://bugzilla.libsdl.org/show_bug.cgi?id=1575

The fix attached to the bug indicate the necessary quoting that need to 
be added:

$ diff libtool libtool-fixed
2797c2797
<       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
---
>       exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
8321c8321
<       if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
---
>       if test "X$ECHO" = "X$SHELL \"$progpath\" --fallback-echo"; then
8323,8324c8323,8324
<       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
<       *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
---
>       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL \"$progpath\" --fallback-echo";;
>       *) qecho="$SHELL `pwd`/\"$progpath\" --fallback-echo";;
8559c8559
<       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
---
>       relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"

The latest stable version 2.4.2 does not seem to have this fixed yet .
Andreas Schiffler@BLACKBOX /cygdrive/i/Sources/libtool-2.4.2
$ grep -r progpath * | grep relink_command
libltdl/config/ltmain.m4sh:      relink_command="(cd `pwd`; $SHELL 
$progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
libltdl/config/ltmain.sh:      relink_command="(cd `pwd`; $SHELL 
$progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"

Thanks,
Andreas