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