GHC OS X

I am now building GHC HEAD and GHC STABLE nightly on a PowerPC running Mac OS X 10.3.

uname -a
prints the following information

Darwin chil07.orchestra.cse.unsw.EDU.AU 7.3.0 Darwin Kernel Version
7.3.0: Fri Mar  5 14:22:55 PST 2004;
root:xnu/xnu-517.3.15.obj~4/RELEASE_PPC  Power Macintosh powerpc
 

Because of space limitations I can only post the latest binary-distributions here, although in the near future I may look into posting the last five or six successful builds. It is built with profiling and GHCi but no documentation.

You will also require the Haskell Support Framework which I have provided separately and a Fink installed readline. Actually, it's possible to do without Fink. See here.

The Haskell Support Framework should be installed in

/Library/Frameworks
or somewhere locally like
~/Library/Frameworks
but then make sure it goes in your framework path (or else you will have to specify this on the command line.)

It will be necessary to either symlink the readline libraries and includes into the standard load paths or to set the following environment variables (this example in bash):

     export CFLAGS="$CFLAGS -I/sw/include"
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH=/sw/lib
   

Fink is a great tool that is based on Debian's apt-get utility. Using it you can install open-source software that the Fink team has ported across to Mac OS X hassle free. All software is built from source.

Download

Get the files here

Installation

Run ./configure and then type make -k install. The -k option is required because we're not installing docs; otherwise the make dies. The most common option you might want to pass to ./configure is the --prefix one, which allows the files to be installed somewhere else than /usr/local.

Following this you will have to go to the directory into which GHC has been installed an manually ranlib all the libraries. At some point I'll make sure the install rule gets changed in the Makefile. GHC is installed in $prefix/lib/ghc- (e.g. /usr/local/lib/ghc-6.3)

I use the command:

   for i in `find . -name '*.a'`; do ranlib $i; done
   

Doing this without Fink

Stefan Plantikow emailed me with some hints on getting the binary distributions I'm distributing to run without installing Fink.