jhc is maintained via the Darcs revision control system. The darcs repository is located at http://repetae.net/repos/jhc, you can also browse the repository via darcsweb.
If you simply wish to use jhc, it is much easier to build from the distribution tarball, as described on the Building Page. If you are interested in developing or modifying jhc itself, then building from darcs as described on this page is recommended.
In order to build from the darcs repo, you need the following things installed:
* GHC 6.12.1 or better
* A recent version of DrIFT
* pandoc if you wish to build documentation
* graphviz if you wish to create code motion graphs
* a working perl install for various sundry tasks
* the happy haskell parser generator
* darcs 2.0 or better
* You need the following haskell libraries
* binary
* zlib
* utf8-string
* bytestring
* containers
* one of editline or readline
* mtl
If the dependencies are installed properly, the following will produce a working tree:
darcs get http://repetae.net/repos/jhc
cd jhc
autoreconf -i
./configure
Now you can begin to build jhc, in order to do so, switch to the jhc directory and do:
make jhc
after jhc has finished building, you can create the standard libraries via
make libs
jhc can now be tested via
make HelloWorld
however, during development, it is sometimes easier to use the raw haskell source of the libraries directly. in order to do that, you can run jhc with the following options when run in the development tree.
./jhc --noauto -ilib/base -ilib/jhc -ilib/haskell98 examples/HelloWorld.hs -o helloworld