@hackage llvm-ffi3.9.0

FFI bindings to the LLVM compiler toolkit.

  • Installation

  • Tested Compilers

  • Dependencies (2)

  • Dependents (2)

    @hackage/llvm-tf, @hackage/acme-everything
  • Package Flags

      developer
       (off by default)

      developer mode - warnings let compilation fail

      buildexamples
       (off by default)

      Build example executables

      pkgconfig
       (off by default)

      use pkgconfig (llvm.pc) instead of extra-libraries

      specificpkgconfig
       (on by default)

      use llvm-3.x.pc instead of llvm.pc

      llvm304
       (off by default)

      use LLVM-3.4 instead of latest supported LLVM

      llvm305
       (off by default)

      use LLVM-3.5 instead of latest supported LLVM

      llvm306
       (off by default)

      use LLVM-3.6 instead of latest supported LLVM

      llvm307
       (off by default)

      use LLVM-3.7 instead of latest supported LLVM

      llvm308
       (off by default)

      use LLVM-3.8 instead of latest supported LLVM

FFI bindings to the LLVM compiler toolkit.

Installation cannot be done fully automatically. It would require Cabal code that is bound to certain Cabal versions and is prone to fail. We give several non-automatic ways that also allow you to choose a particular LLVM version.

First possibility is to point Cabal to the LLVM installation directories manually. On Ubuntu this would look like this:

cabal install --extra-include-dirs=/usr/lib/llvm-3.9/include --extra-lib-dirs=/usr/lib/llvm-3.9/lib llvm-ffi

You can store such paths permanently in a pkg-config file like llvm.pc. The optimal way would be if LLVM installations or GNU/Linux distributions would contain such a file, but they don't. Instead, you may generate it using the llvm-pkg-config package or write one manually. Then you run

cabal install -fpkgConfig

We try to stay up to date with LLVM releases. The current version of this package is compatible with LLVM 3.4-3.9. Please understand that the package may or may not work against older LLVM releases.

Warning for inplace builds: Re-configuring the package using, say -fllvm307, and re-buildung it might result in corrupt code. You must make sure that the stuff in cbits is re-compiled. Cabal or GHC may forget about that. You are safe if you run cabal clean.