How to Compile and Install the Fudgets Library

Fudgets version h13p -- Haskell 1.4 and Haskell 98

This release of fudgets supports three Haskell compilers:

NOTE: The Fudget library is distributed in binary form for some platforms, so you may not need to compile the library yourself.

NOTE: The Makefiles and auxiliary shell scripts used in the build process may not be as portable as one could wish. Some changes may be required on certain platforms. Particular details to pay attention to include:


Compiling with HBC

Before compiling, check that you have the following programs in your path:

hbc -- The Chalmers Haskell compiler, properly installed
hbcmake -- The make tool, included in the hbc distribution

You can get hbc by anonymous ftp from where you got the fudget library, e.g., from Chalmers:

Host: ftp.cs.chalmers.se
Directory: pub/haskell/chalmers
Files: hbc-0.9999.4.bin-*-*.tar.gz -- get the appropriate one

To compile and install the fudget library, just do

make install

To generate and install code for heap profiling, do

make fudgets_ph
make install

NOTE: Heap profiling does not seem to work in hbc version 0.9999.x, 0<=x<=4.

NOTE: The generational garbage collector doesn't work under all operating systems, e.g., Linux. The Makefile variable HEAP controls the heap setting passed to hbc. Set it to, e.g. -H32M (instead of the default -H16Mg) by compiling with the command

make HEAP=-H32M ...

Compiling with GHC

Before compiling, check that you have the following program in your path:

ghc-4.02 -- The Haskell compiler GHC, version 4.02

You can get GHC from the web page:

http://research.microsoft.com/users/t-simonm/ghc/

You will also need the programs lmlmk and older, version 0.9999.4 or later. Hopefully, there is a suitable binary release of HBC for you platform, in which you find these.

Before you compile and install the fudget library, you almost certainly want to change the following paths:

Then do

make ghc-install
make ghc-contrib
make ghc-install_contrib
make ghc-install_lib

To compile without installing, use the command

make ghc-all
Note that you have to install before compiling the Contrib part.


Compiling with NHC13

!!! This section has not been updated recently !!!
Before compiling, check that you have the following programs in your path:

nhc13 -- The Haskell compiler NHC, properly installed
nhc13make -- The make tool, included in the nhc13 distribution

You can get nhc13 by anonymous ftp from Chalmers:

Host: ftp.cs.chalmers.se
Directory: pub/haskell/nhc13/
Files: nhc13.bin-*-*.tar.gz -- get the appropriate one
nhc13.src.tar.gz -- needed

You need the nhc13 source code and before you can compile the Fudgets Library you need to compile the prelude. Do

cd .../nhc13/src/prelude
make install
To compile and install the fudget library, just do
make nhc-install

The first time you do this, you will be told to create a symbol link to the nhc13 source directory. Do this and reissue the make command.

To compile without installing, use the command

make nhc-install

To generate and install code for heap profiling, do

make nhc-all_ph
make nhc-install