[ 
https://issues.apache.org/jira/browse/CLOWNFISH-100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Wellnhofer resolved CLOWNFISH-100.
---------------------------------------
    Resolution: Fixed

> Support building with MSYS make
> -------------------------------
>
>                 Key: CLOWNFISH-100
>                 URL: https://issues.apache.org/jira/browse/CLOWNFISH-100
>             Project: Apache Lucy-Clownfish
>          Issue Type: Bug
>          Components: Charmonizer
>            Reporter: Nick Wellnhofer
>            Priority: Minor
>
> Somewhat ironically, we still can't build the C bindings under MSYS and 
> MSYS2, the Unix-like shells for MinGW, using the make utilities they provide. 
> This is because Charmonizer invokes shell commands via C's {{system}} 
> function which always delegates to {{cmd.exe}} under MinGW, whether under 
> MSYS or not. As a result, backslashes are used as directory separators. This 
> causes problems when commands from the generated Makefile are executed by the 
> MSYS shell. Building with {{mingw32-make}} works, though.
> That's what you get when writing a build system based on C instead of a 
> command shell!
> One solution is to keep using {{cmd.exe}} and convert backslashes to forward 
> slashes before writing them to the Makefile. But doing this manually in 
> charmonizer.main is extremely cumbersome and I'm not sure whether this could 
> be automated reliably.
> I think a better solution is to detect whether we're running in a (mostly) 
> POSIX-compatible environment under Windows and execute POSIX commands via 
> {{sh.exe}} (make {{cmd.exe}} call {{sh.exe}} to be precise).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to