llvm / INSTALL.txt

Full commit
Build and installation instructions

Please don't think of these as canonical build instructions yet, as
this work is rather early along.  Let me tell you what's working for
*me*, and hopefully this information will be enough to get you going.


I'm using GHC 6.8.2 for development.  6.8.1 will probably work.  I'll
be happy to accept patches to get things working with 6.6.x, provided
they don't pervert the code much :-)

(My development environment is Fedora 8 x86_64, in case you're

Firstly, you'll need the SVN version of LLVM:

  svn co llvm-trunk

Build this and install it somewhere.  Here's what I do:

  cd llvn-trunk
  ./configure --prefix=$HOME
  make install

If you're building the Haskell bindings from the darcs repo (strongly
recommended from now), you'll also need a copy of GNU autoconf.

Using GNU Make

There's a GNU Make Makefile in the top-level directory that builds the
LLVM bindings the way I want them built.  In principle, you ought to
be able to simply run something like this:

  make llvm_prefix=/my/llvm/path prefix=/my/preferred/path

These both default to $HOME.

Building by hand

If you want to avoid GNU Make, here's a recipe you can follow.  Run
these in the root of your darcs repo or unpacked source tarball.

If you're building from darcs, run this once (this is why you need
autoconf installed):


Configure the package.  I'm assuming that LLVM is installed in $HOME,
and that you want the bindings installed in $HOME, too.

  runhaskell Setup configure --prefix=$HOME \
    --configure-option --with-llvm-prefix=$HOME --user


  runhaskell Setup build


  runhaskell Setup install

Building examples

In the examples directory are a few example programs.  There's a GNU
Make Makefile in there, so running "make" in that directory will build
the examples, as will "make examples" in the top-level directory.