[Yhc] New Build System
ndmitchell at gmail.com
Tue Mar 6 09:36:02 EST 2007
I'll answer Andrew's points later, as they are more detailed and
require more thought.
> The first thing that would certainly go wrong is compiling the Yhc
> RTS. It currently compiles only with MS CL--if I correctly
> understand another message you wrote:
> On Fri, 2 Mar 2007 22:54:38 +0000:
> Subject: Re: [Yhc] Problems installing YHC on Windows XP
> > We don't support the gcc from MingW, in fact we don't support GCC on
> > Windows at all. We only support Visual Studio.
That's only an issue of build system, we compile with Visual Studio
because that is what works build system wise. The code should compile
just fine with GHC.
> > 1) Download dependancies automatically and install them with Cabal.
> > Haskell's lack of a good wget/tar combo here may hurt us, but I'll see
> > what code I can find lying around.
> What about a direct interface to darcs? At least that way you could
> sponge off the darcs wrapper for curl.
I have actually implemented this, I just mirrored the repos to some
web space, then execute darcs get --partial. Removes the need for
untar and wget in one step, plus much simpler.
> > 2) Compile Yhi, which requires make-style knowledge about C. Scons had
> > this built in much more, I'll need to roll my own.
> Cabal with hooks might help, or at least pull things from
Talking to Malcom, I think its under 50 lines of code, and quite nice
code at that.
> > Anyone have any thoughts?
> As an alternative to using GHC to control the C-compiler, you might
> consider using VCBUILD from the command line for the current
> yhi .vcproj files. Towards that end, here is an unfinished module I
> started writing
Compiling C with GHC will work everywhere, VC will only work on
Windows, gcc will only work (natively and normally) on Unix - hence
the attraction of GHC. Adding back VS building afterwards would be a
goal, so using your code at that point would be nice. The reason for
favouring GHC is everyone has GHC installed, while I only have VS
installed on one of my 3 development machines.
More information about the Yhc