GHC and Win32 API - help wanted

Simon Peyton-Jones
Fri, 28 Jun 2002 13:55:15 +0100

| We suspect that Alastairs fixes may still leave some issues=20
| with concurrency / potentially blocking threads / ffi (at=20
| least in GHC's default configuration on windows), but we'd=20
| like to see just how far the improvements go, as the next=20
| stable release of GHC is imminent.
|   * Could anyone with cvs/fptools/makefile-expertise lend me a hand
|   * if I try again to build only hslibs/win32 from cvs? Or is it=20
|   * completely unreasonable to expect this to work?

Claus, and Mike,

I'm very grateful to you for having a go at this.  Esp now that
Julian and Reuben have moved on to pastures new, we rely
increasingly on help from other people to keep GHC flying.  It's
just too broad a system for Simon M and me to maintain every

I'm no expert on the Win32 library, but:

a) No it is not unreasonable to expect it to build, cleanly,=20
starting from scratch.  It jolly well ought to.

b) I strongly recommend that you build it by checking out
	fptools/mk, glafp-utils	(you get these with fpconfig)
	fptools/ghc, libraries, hslibs=20

Then build GHC, using practically any installed GHC (later than
about 4.02 I think).  Then build 'libraries'.  Then build 'hslibs',=20
which includes win32.

The point here is that we update 'libraries' and 'hslibs' to track
the GHC in the tree, so there's no guarantee that it'll work if you
compile it with some older GHC.  It may, but it may not.

c) I use the standard (  I don't try to=20
install anything, at least not to start with.  Just say use the=20
standard (or even an empty one) and say 'make'.

I did this today, and happily built a HSwin32.o package from
scratch. =20

Mike Thomas says he can't build GHC from scratch on Windows.  I'm sure
you've reported this, Mike, but can you say again what happens
to you.  (Assuming the setup I outline above.)   It's puzzling that
it works for me but not for you.  Make sure you start from a totally
tree.  Lots of stuff has been changing in the HEAD.