llvm-tf-12.0: llvm-tf.cabal
Name: llvm-tf
Version: 12.0
License: BSD3
License-File: LICENSE
Synopsis: Bindings to the LLVM compiler toolkit using type families.
Description:
High-level bindings to the LLVM compiler toolkit using type families.
.
A note on versioning:
The versions of this package are loosely based on the LLVM version.
However, we depend on a relatively stable part of LLVM
and provide a relatively stable API for it.
We conform to the Package Versioning Policy PVP,
i.e. we increase the version of this package when its API changes,
but not necessarily when we add support for a new LLVM version.
We support all those LLVM versions
that are supported by our @llvm-ffi@ dependency.
.
This package is a descendant of the @llvm@ package
which used functional dependencies.
The original @llvm@ package will no longer work
with current versions of LLVM nor GHC.
Author: Henning Thielemann, Bryan O'Sullivan, Lennart Augustsson
Maintainer: Henning Thielemann <llvm@henning-thielemann.de>
Homepage: https://wiki.haskell.org/LLVM
Stability: experimental
Category: Compilers/Interpreters, Code Generation
Tested-With: GHC == 7.4.2, GHC == 8.6.5
Cabal-Version: 2.0
Build-Type: Simple
Extra-Source-Files:
Changes.md
Source-Repository head
Type: darcs
Location: http://code.haskell.org/~thielema/llvm-tf/
Source-Repository this
Tag: 12.0
Type: darcs
Location: http://code.haskell.org/~thielema/llvm-tf/
Flag developer
Description: developer mode - warnings let compilation fail
Manual: True
Default: False
Flag buildExamples
Description: Build example executables
Default: False
Library private
Default-Language: Haskell98
Build-Depends:
llvm-ffi >=9.1 && <14.0,
tfp >=1.0 && <1.1,
transformers >=0.3 && <0.7,
storable-record >=0.0.2 && <0.1,
enumset >=0.0.5 && <0.2,
fixed-length >=0.2 && <0.3,
non-empty >=0.2 && <0.4,
semigroups >=0.1 && <1.0,
utility-ht >=0.0.10 && <0.1,
QuickCheck >=2.0 && <3.0,
containers >=0.4 && <0.7,
base >=3 && <5
Hs-Source-Dirs: private
GHC-Options: -Wall
If flag(developer)
GHC-Options: -Werror
If os(darwin)
Ld-Options: -w
Frameworks: vecLib
CPP-Options: -D__MACOS__
C-Sources:
-- cbits/free.c
cbits/malloc.c
Exposed-Modules:
LLVM.Core.CodeGen
LLVM.Core.CodeGenMonad
LLVM.Core.Data
LLVM.Core.Instructions
LLVM.Core.Instructions.Guided
LLVM.Core.Instructions.Private
LLVM.Core.Proxy
LLVM.Core.Type
LLVM.Core.Util
LLVM.Core.Vector
LLVM.Core.UnaryVector
LLVM.ExecutionEngine.Engine
LLVM.ExecutionEngine.Target
LLVM.ExecutionEngine.Marshal
Library
Default-Language: Haskell98
Build-Depends:
private,
llvm-ffi,
tfp,
utility-ht,
base
Hs-Source-Dirs: src
GHC-Options: -Wall
Exposed-Modules:
LLVM.Core
LLVM.Core.Attribute
LLVM.Core.Guided
LLVM.ExecutionEngine
LLVM.Util.Arithmetic
LLVM.Util.File
LLVM.Util.Foreign
LLVM.Util.Intrinsic
LLVM.Util.Loop
LLVM.Util.Memory
LLVM.Util.Optimize
LLVM.Util.Proxy
Test-Suite llvm-test
Type: exitcode-stdio-1.0
Build-Depends:
QuickCheck >=2.11 && <3,
private,
llvm-tf,
tfp,
utility-ht,
base
Default-Language: Haskell98
GHC-Options: -Wall
Hs-Source-Dirs: test
Main-Is: Main.hs
Other-Modules:
Test.Chop
Test.Marshal
Executable llvm-align
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/Align.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-arith
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/Arith.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-array
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/Array.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-brainf
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/BrainF.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-call-conv
If flag(buildExamples)
Build-Depends:
llvm-tf,
llvm-ffi,
tfp,
base
Else
Buildable: False
Main-Is: example/CallConv.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-dot-prod
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
utility-ht,
base
Else
Buildable: False
Main-Is: example/DotProd.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-fibonacci
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/Fibonacci.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-hello-jit
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/HelloJIT.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-intrinsic
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
non-empty,
base
Else
Buildable: False
Main-Is: example/Intrinsic.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-list
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/List.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-struct
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/Struct.hs
C-Sources: example/structCheck.c
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-varargs
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
base
Else
Buildable: False
Main-Is: example/Varargs.hs
Default-Language: Haskell98
GHC-Options: -Wall
Executable llvm-vector
If flag(buildExamples)
Build-Depends:
llvm-tf,
tfp,
transformers,
base
Else
Buildable: False
Hs-Source-Dirs: example
Main-Is: Vector.hs
Other-Modules: Convert
Default-Language: Haskell98
GHC-Options: -Wall