[Yhc] New Build System

Peter Tanski p.tanski at gmail.com
Tue Mar 6 09:18:33 EST 2007


On Sat, 3 Mar 2007 04:49:16 +0000 Neil Mitchell wrote:
> ... I was wondering if we'd have more success with
> something written purely in Haskell.
<snip>
> * Everything is based on profiles, more on that once its done
> * Compile C files with GHC everywhere (will this go wrong?)
<snip>
> It is not currently useable! The "Main configure" works and does the C
> configure tests and searches for GHC etc. "Main push" works fine.
> "Main yhc" will work if you have all the required packages
> pre-installed by Cabal - likely to only be me - but it does work.

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.

GHC only supports GCC.  (Many apologies for flagging on the Windows- 
native port of GHC.  (I have been desperate to finish the replacement  
library--adequately, i.e., better than or at least comparable to GMP-- 
running out of time (and money) and I admit I spend too much time  
experimenting with new algorithms.  To my knowledge, an almost purely  
SIMD library has not been done before.)

> There are only 3 things left to do which might go wrong/take some  
> time:
>
> 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.

> 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  
Distribution.Simple.

> 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 last January when we were talking about finding and  
obtaining the environment variables from vsvars32.bat.   It probably  
should only use Distribution modules instead of System; it does not  
print the environment variables to a command file; and, it uses both  
Text.Regex and Text.ParserCombinators.Parsec but it might help:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: update-ms-tools.hs
Type: application/octet-stream
Size: 8754 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/yhc/attachments/20070306/20b5ea27/update-ms-tools.obj
-------------- next part --------------

Cheers,
Pete Tanski


More information about the Yhc mailing list