On Mon, May 02, 2005 at 09:06:42AM -0400, Rob Kinyon wrote: > I'm willing to do any testing needed to get and keep a Cygwin port > happy. If this is something the group wants to pursue, I'll post my > cygghc.
Okay, here's the Cygwin situation right now. This is a summary of discussions with Rob and others on #perl6 and around. Building Pugs on Cygwin doesn't result in a Cygwin executable at all. It doesn't depend on the Cygwin DLL; and doesn't have any fun POSIX functionality. The key points are: * It compiles with the .msi GHC, which is MSYS-based; * HAVE_POSIX is undefined, just like in an MSYS or native win32 build. The original reason it's even possible to build Pugs on Cygwin is that it's just more convenient to use Cygwin as a development environment than MSYS: newer perl5, modern shell and editor, and so on. What's primarily misleading is that $*OS is currently set to 'cygwin'; this is a bug in pugs ($*OS should be the OS running under, not the one this pugs was built with). To make a Cygwin pugs, we would need to use a Cygwin GHC.[1] To the best of my knowledge, nobody maintains public binaries of that; and there is also the somewhat scary warning of a binary GHC being "a moving target" since cygwin1.dll often changes in ABI-breaking ways. In short, a real Cygwin port of pugs is something of a challenge. It might become easier if done in cooperation with cygwin.com. Until we find a champion for that cause, I think it would still be useful to allow pugs to be built, as today, on Windows using Cygwin's gcc and perl5 (just like Corion makes a native build with -- I think -- cc1.exe and a homebrew perl5). The path question becomes the same as it is for any other non-Cygwin tool used in a Cygwin shell; how is it solved there? [1] See: http://www.haskell.org/ghc/docs/5.04/html/building/winbuild.html http://www.reed.edu/~carlislp/ghc6-doc/users_guide/x11221.html -- Gaal Yahas <[EMAIL PROTECTED]> http://gaal.livejournal.com/