Skip to content
Snippets Groups Projects
Commit 877aad48 authored by Simon Marlow's avatar Simon Marlow
Browse files

[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.
parent eab8ac17
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment