The Brief Version
If you are in a hurry to get started, here's the brief version of the install procedure:
$ ./configure [ --prefix=/usr/local ] $ make [ perhaps become root ] $ make install
The current distribution packages can be found atstatus.html.
An automatic configuration utility is supplied, called configure. The configure script searches your system for Haskell compilers and sets up some scripts and options before you build. In brief, the default behaviour is to build under targets in the current directory, and to install various components under /usr/local, in the subdirectories bin, lib/hat, include/hat, and man/man1. Some components will also be installed eventually in the system directories for ghc or nhc98, whichever compiler is available. Nothing is actually installed at configuration time, only at installation time. The config script has several useful options to override the default build and installation behaviours. Use the --help option for brief details, and see the page about configuration options for full details.
Building and installing from sources
All object files are created in a separate directory tree from the sources (targets/$MACHINE/obj). This means in theory it is possible to build concurrently for different machines from the same shared source tree. (But we haven't tested that recently.)
Run ./configure with any options you require. (You should supply installation directory options at this stage.) This will attempt to detect any existing Haskell compilers and guess which one to build hat with. If you have more than one available, we will choose, in order of preference, ghc, then nhc98. You cannot currently build or use hat with hugs, hbc, or Helium.
Then just run make to build all the components. (The target make help gives a list of individual targets, if you really want to build components individually.)
The time taken to build Hat depends on your machine and which compiler you are using. Here are some sample build times in minutes:
Finally, when you have built all the components you require, type make install to copy the components to their final location. (You may need to become root for this step, depending on the final location you selected at configure time. You must certainly have permission to write package files into the system directories of the compiler that was found at configuration time.)
Ok, so now you should have all the components of hat. If you have any problems, mail firstname.lastname@example.org with a description (and a bugfix if you have one!).
If you use hat regularly, or if you would like to use hat but for some reason cannot, please join the hat mailing list for discussion of features, bugfixes, and so on.
This page last modified: 27th July 2004