[project @ 2000-06-13 16:07:20 by simonmar]
New Driver ========== Most things work now, so I'm committing this for a shake down. Doubtless there'll be some breakage but things should be back to normal by the end of the week. NOTE: GHC 4.06 won't work to build this driver at the moment, due to a bug in its parser. I'll commit a workaround shortly. There are several improvements here: - the driver is written in Haskell, so is allegedly more maintainable than the previous one. It's a bit shorter, at any rate. - the package system has been generalised, so that eg. the RTS is a package, as is GMP and the prelude. Packages are now configured via a configuration file, package.conf. Two versions of package.conf are automatically generated by PackageSrc.hs, one for ghc-inplace and one for the installed ghc. - So that we only have to build the driver once, there's some special hackery to deal with locations of utilities, and other configuration stuff: ghc now has a -B option, which is used in a similar way to gcc's. eg. ghc -B/home/blah/fptools will run ghc in-place in the specified fptools tree, using /home/blah/fptools/ghc/utils/mkdependHS to find mkdependHS for example. ghc-inplace is now a small shell script that simply invokes the above. Whereas ghc -B/usr/local/lib/ghc-4.07 also works, for an installed copy of ghc in /usr/local/lib/ghc-4.07. - the mangler, object splitter and GC stats gatherer are separate scripts in subdirectories of ghc/driver. ghc-asm.lprl and ghc-split.lprl have been copied in the CVS repository to maintain the history (fingers crossed; I've never done this before) Other notes: - Java support isn't there yet. Andy: don't update for the time being until I can sort this. - Windows support is also broken, but will be fixed in due course.