Win-GHC with GnuWin32 toolset--Mingw32 replacement

Peter Tanski p.tanski at gmail.com
Sun Jan 7 18:32:46 EST 2007


On Jan 7, 2007, at 3:03 PM, Neil Mitchell wrote:
>> configure script; I also wanted to try adding a bootstrap-build of
>> ghc-stage1 using yhc since without -fvia-C I don't think Win-GHC can
>> bootstrap from .hc files or unregisterised.
>
> I would have thought that was unlikely. Yhc can't even bootstrap Yhc
> yet, and from my memory GHC requires GHC 5.04 or greater to build. Yhc
> is quite a way behind that in terms of language features etc. I
> recommend you first try and rewrite GHC in Haskell 98 ;)

 From what I have seen in some parts of GHC, that is, in the Main  
driver, Code Generator (CodeGen), Cmm and Native Code Generator  
(NCG), the Haskell used is fairly standard Haskell98.  I don't know  
about the rest (the *really* interesting Haskell stuff); general  
types such as Data.Generics, tuples and derive-able classes are  
handled with preprocessor macros and such.  What? When Template  
Haskell could do better?  Well, some of the base libraries contain  
ghc-specific rewrite rules.  In any case, my point is I don't think  
Yhc has that far to go--I could be way off :(

>> The vcvarsall.bat in the \Visual Studio X\VC\ directory has goto's
>> that essentially redirect to the \Visual Studio X\Common7\Tools
>> \vsvars32.bat; my vsvars32.bat doesn't have any goto's in it.
>
> The one in my VC98 installation has some if's in it, so a little more
> complex than just set's. It's also named vcvars32.bat instead of
> vSvars32.bat.

You would think MS would attempt to maintain some consistency.  In  
that case the best thing to do is query the main environment  
variables (I will have to research these more), run the batch file  
and then query the known environment variables, such as %INCLUDE% and  
store those settings *both* for the build and for each installation  
(Win-GHC will require CL installed on every machine where it is used,  
of course).  An alternative solution would be to query the Registry  
(say, KEY_CURRENT_USER\Software\Microsoft\VisualStudio\[version]\ 
[something--haven't found out yet]).  I have to find a good program  
for this purpose.

Cheers,
Pete



More information about the Cvs-ghc mailing list