[project @ 2000-06-13 16:07:20 by simonmar]
authorsimonmar <unknown>
Tue, 13 Jun 2000 16:07:21 +0000 (16:07 +0000)
committersimonmar <unknown>
Tue, 13 Jun 2000 16:07:21 +0000 (16:07 +0000)
commit877aad486de6dcfac29ee647b79eeac930607381
treeb311777fe3e1d8d93334a13a4dafedf916342bf6
parenteab8ac17805fa6393f325f368b980a36590dd846
[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.
16 files changed:
ghc/driver/Main.hs [new file with mode: 0644]
ghc/driver/Makefile
ghc/driver/Package.hs [new file with mode: 0644]
ghc/driver/PackageSrc.hs [new file with mode: 0644]
ghc/driver/ghc-asm.lprl [deleted file]
ghc/driver/ghc-consist.lprl [deleted file]
ghc/driver/ghc-split.lprl [deleted file]
ghc/driver/ghc.lprl [deleted file]
ghc/driver/mangler/Makefile [new file with mode: 0644]
ghc/driver/mangler/ghc-asm.lprl
ghc/driver/prefix.txt [deleted file]
ghc/driver/split/Makefile [new file with mode: 0644]
ghc/driver/split/ghc-split.lprl
ghc/driver/stats/Makefile [new file with mode: 0644]
ghc/driver/stats/ghc-stats.lprl [new file with mode: 0644]
ghc/mk/paths.mk