On 6/16/2010 8:30 AM, Peter Rosin wrote:
> It was the easiest I could come up with after experimenting a lot. That
> wasn't yesterday though, but IIRC if you want to convert paths with
> spaces, you need to quote the $path for cmd, hence the quotes in the
> echo "$path " construct. The space before the end quote will make the
> argument always contain a space which forces MSYS to add quotes when the
> path is fed to the Windows process (cmd in this case). The quotes are
> added by MSYS after converting the path to windows form. Without that
> space, the string is only quoted if it happens to contain a space, so
> view it as a canonicalizer. The sed script is there to remove those
> quotes (and the space before the end quote). Also, something seem to
> mysteriously add a space at the end, so I'm removing that too while at
> it, but only if it's really there (it felt like a bug that might be
> fixed at some point). It might be possible to use eval to remove the
> quotes, but since the path will typically contain backslashes I didn't
> want to go there.

func_path_conv() assumes that you ALWAYS want to convert from "something
unixish" to win32.  If that's the case -- e.g. it appears to only ever
be called from inside func_cl_wrapper, for which that would always be
true -- then it needs to be documented better.  The current comment:

# Convert a $build path to $host form and store it in $path

doesn't specify that it only works when $host is win32ish.

--
Chuck

_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to