To initialize a fresh clone of the source repository, you must first run:autoreconf --install
jhc is a haskell compiler which aims to produce the most efficient programs possible via whole program analysis and other optimizations. It is reputed to produce much smaller binaries than other haskell compilers, which is useful if you are trying to keep down the binary size of your trusted computing base.
NOTE: Jhc presently requires an old version (0.9.X) of the bytestring library. Due to this, you'll have an easier time at present compiling it with ghc-7.6.X than with ghc-7.8.X or greater. But it should still be possible, if you have a newer bytestring package installed, try using ghc-pkg to hide it and expose an older one.
See the Installation Page for information about downloading and installing jhc.
For information on running jhc, see The User's Manual.
Join the jhc mailing list for jhc discussion, announcements, and bug reports.
There is a spot on the wiki but it doesn't have much info yet. feel free to expand it.
The development page has information on how to pull the development tree from the darcs repository
The bug tracker tracks known jhc issues, bugs can be added by submitting darcs patches or just posting to the mailing list jhc@haskell.org. NOTE: Issues on this github mirror will also be forwarded to the mailing list when I get around to it (or when I get around to setting up automatic forwarding).
An informal graph of the internal code motion in jhc is here.
If you already have a c cross compiling tool chain, then Jhc is set up to cross compile right out of the box, no compile configuration necessary. But you will need to create a file $HOME/.jhc/targets.ini which tells jhc which c compiler to use.
The parser for targets.ini is very simple, comments are presently not allowed. Here is an example
[armhf]
cc=arm-linux-gnueabihf-gcc-4.9
[armel]
cc=arm-linux-gnueabi-gcc-4.9
[win32]
cc=i386-mingw32-gcc
cflags+=-mwindows -mno-cygwin
executable_extension=.exe
merge=i686
Using the above file, you can then use the -m switch to specify the backend compiler:
jhc -marmhf HelloWorld.hs -o hello
Here is the original website, belonging to John Meacham.