packages feed

llvm-ffi-3.7.0: llvm-ffi.cabal

Name:          llvm-ffi
Version:       3.7.0
License:       BSD3
License-File:  LICENSE
Synopsis:      FFI bindings to the LLVM compiler toolkit.
Description:
  FFI bindings to the LLVM compiler toolkit.
  .
  Installation is based on @pkg-config@
  since this is best supported by Cabal.
  This requires an @llvm.pc@ file
  which unfortunately is not generated by the LLVM source package.
  You may be lucky that your distribution package includes that file.
  If not, you can generate it yourself
  using the @llvm-pkg-config@ package.
  .
  We try to stay up to date with LLVM releases.
  The current version of this package is compatible with LLVM 3.4-3.7.
  Please understand that the package may or may not work
  against older LLVM releases.
Author:        Henning Thielemann, Bryan O'Sullivan, Lennart Augustsson
Maintainer:    Henning Thielemann <llvm@henning-thielemann.de>
Homepage:      http://haskell.org/haskellwiki/LLVM
Stability:     experimental
Category:      Compilers/Interpreters, Code Generation
Tested-With:   GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==8.0.1
Cabal-Version: >= 1.8
Build-Type:    Simple

Extra-Source-Files:
  include/support.h
  tool/ltrace.config
  tool/ltrace.readme

Flag developer
  Description: developer mode - warnings let compilation fail
  Manual: True
  Default: False

Flag buildExamples
  Description: Build example executables
  Manual: True
  Default: False

Flag specificPkgConfig
  Description: use llvm-3.x.pc instead of llvm.pc
  Default: True

Flag llvm304
  Description: use LLVM-3.4 instead of latest supported LLVM
  Default: False

Flag llvm305
  Description: use LLVM-3.5 instead of latest supported LLVM
  Default: False

Flag llvm306
  Description: use LLVM-3.6 instead of latest supported LLVM
  Default: False

Source-Repository head
  Type:     darcs
  Location: http://hub.darcs.net/thielema/llvm-ffi/

Source-Repository this
  Tag:      3.7.0
  Type:     darcs
  Location: http://hub.darcs.net/thielema/llvm-ffi/

Library
  Build-Depends:
    enumset >=0.0.4 && <0.1,
    base >= 3 && < 5

  Hs-Source-Dirs: src
  GHC-Options: -Wall -fwarn-missing-import-lists

  If flag(developer)
    GHC-Options: -Werror

  Exposed-Modules:
      LLVM.FFI.Analysis
      LLVM.FFI.BitReader
      LLVM.FFI.BitWriter
      LLVM.FFI.Core
      LLVM.FFI.ExecutionEngine
      LLVM.FFI.Support.Host
      LLVM.FFI.Target
      LLVM.FFI.Transforms.IPO
      LLVM.FFI.Transforms.PassManagerBuilder
      LLVM.FFI.Transforms.Scalar
      LLVM.FFI.Transforms.Vectorize
      LLVM.Target.Native

  Other-modules:
      LLVM.Target.ARM
      LLVM.Target.CppBackend
      LLVM.Target.Hexagon
      LLVM.Target.MSP430
      LLVM.Target.Mips
      LLVM.Target.NVPTX
      LLVM.Target.PowerPC
      LLVM.Target.Sparc
      LLVM.Target.X86
      LLVM.Target.XCore

  If flag(llvm304)
    If flag(specificPkgConfig)
      PkgConfig-Depends: llvm-3.4
    Else
      PkgConfig-Depends: llvm == 3.4
    CC-Options: -DHS_LLVM_VERSION=304
    CPP-Options: -DHS_LLVM_VERSION=304
  Else
    If flag(llvm305)
      If flag(specificPkgConfig)
        PkgConfig-Depends: llvm-3.5
      Else
        PkgConfig-Depends: llvm == 3.5
      CC-Options: -DHS_LLVM_VERSION=305
      CPP-Options: -DHS_LLVM_VERSION=305
    Else
      If flag(llvm306)
        If flag(specificPkgConfig)
          PkgConfig-Depends: llvm-3.6
        Else
          PkgConfig-Depends: llvm == 3.6
        CC-Options: -DHS_LLVM_VERSION=306
        CPP-Options: -DHS_LLVM_VERSION=306
      Else
        If flag(specificPkgConfig)
          PkgConfig-Depends: llvm-3.7
        Else
          PkgConfig-Depends: llvm == 3.7
        CC-Options: -DHS_LLVM_VERSION=307
        CPP-Options: -DHS_LLVM_VERSION=307

  CC-Options: -DHAVE_LLVM_SUPPORT_DYNAMICLIBRARY_H=1
  CPP-Options: -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
  CPP-Options: -D__STDC_LIMIT_MACROS
  Include-Dirs: include
  C-Sources:
    cbits/support.cpp

Executable llvm-ffi-example
  If flag(buildExamples)
    Build-Depends:
      llvm-ffi,
      utility-ht >=0.0.9 && <0.1,
      base
  Else
    Buildable: False

  If flag(developer)
    GHC-Options: -Werror

  Hs-Source-Dirs: example
  GHC-Options: -Wall
  Main-Is: JIT.hs