FFI bindings to the LLVM compiler toolkit.

#1port to MacOS X and Windows

There are two problems: LLVM does not support pkg-config and Cabal does not support C++ files well.

First problem should be solved by llvm-pkg-config. It is not nice. Alternatively we could simulate the effect of pkg-config using llvm-config in a custom Setup file. Remaining problem: Where to find llvm-config? There might be multiple ones, e.g. llvm-config-4.0, llvm-config-5.0.

You may solve the second problem with Cabal options: cabal configure --with-gcc=g++ --ghc-option="-pgml=g++" We could add the second option to the GHC-Options fields in llvm.cabal, but that would prevent the user from choosing a different C++ compiler like clang. A cleaner solution should be the upcoming C++ files support in Cabal: https://github.com/haskell/cabal/pull/4810