name: llvm-general version: 3.4.4.1 license: BSD3 license-file: LICENSE author: Benjamin S.Scarlet maintainer: Benjamin S. Scarlet copyright: Benjamin S. Scarlet 2013 build-type: Custom stability: experimental cabal-version: >= 1.8 category: Compilers/Interpreters, Code Generation synopsis: General purpose LLVM bindings description: llvm-general is a set of Haskell bindings for LLVM . Unlike other current Haskell bindings, it uses an ADT to represent LLVM IR (), and so offers two advantages: it handles almost all of the stateful complexities of using the LLVM API to build IR; and it supports moving IR not only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++ into Haskell. extra-source-files: src/LLVM/General/Internal/FFI/Analysis.h src/LLVM/General/Internal/FFI/BinaryOperator.h src/LLVM/General/Internal/FFI/Constant.h src/LLVM/General/Internal/FFI/Function.h src/LLVM/General/Internal/FFI/GlobalValue.h src/LLVM/General/Internal/FFI/InlineAssembly.h src/LLVM/General/Internal/FFI/Instruction.h src/LLVM/General/Internal/FFI/LibFunc.h src/LLVM/General/Internal/FFI/Module.h src/LLVM/General/Internal/FFI/SMDiagnostic.h src/LLVM/General/Internal/FFI/Target.h src/LLVM/General/Internal/FFI/Type.h src/LLVM/General/Internal/FFI/Value.h source-repository head type: git location: git://github.com/bscarlet/llvm-general.git source-repository this type: git location: git://github.com/bscarlet/llvm-general.git branch: llvm-3.4 tag: v3.4.4.1 flag shared-llvm description: link against llvm shared rather than static library default: False flag debug description: compile C(++) shims with debug info for ease of troubleshooting default: False library build-tools: llvm-config ghc-options: -fwarn-unused-imports build-depends: base >= 4.5.0.0 && < 5, utf8-string >= 0.3.7, bytestring >= 0.9.1.10, transformers >= 0.4.0.0, mtl >= 2.2.1, template-haskell >= 2.5.0.0, containers >= 0.4.2.1, parsec >= 3.1.3, array >= 0.4.0.0, setenv >= 0.1.0, llvm-general-pure == 3.4.4.0 extra-libraries: stdc++ hs-source-dirs: src extensions: TupleSections DeriveDataTypeable EmptyDataDecls FlexibleContexts FlexibleInstances StandaloneDeriving ConstraintKinds exposed-modules: LLVM.General LLVM.General.Analysis LLVM.General.CodeGenOpt LLVM.General.CodeModel LLVM.General.CommandLine LLVM.General.Context LLVM.General.Diagnostic LLVM.General.ExecutionEngine LLVM.General.Module LLVM.General.PassManager LLVM.General.Relocation LLVM.General.Target LLVM.General.Target.LibraryFunction LLVM.General.Target.Options LLVM.General.Threading LLVM.General.Transforms other-modules: Control.Monad.AnyCont Control.Monad.AnyCont.Class Control.Monad.Trans.AnyCont LLVM.General.Internal.Analysis LLVM.General.Internal.Atomicity LLVM.General.Internal.Attribute LLVM.General.Internal.BasicBlock LLVM.General.Internal.CallingConvention LLVM.General.Internal.Coding LLVM.General.Internal.CommandLine LLVM.General.Internal.Constant LLVM.General.Internal.Context LLVM.General.Internal.DataLayout LLVM.General.Internal.DecodeAST LLVM.General.Internal.Diagnostic LLVM.General.Internal.EncodeAST LLVM.General.Internal.ExecutionEngine LLVM.General.Internal.FastMathFlags LLVM.General.Internal.FloatingPointPredicate LLVM.General.Internal.Function LLVM.General.Internal.Global LLVM.General.Internal.Inject LLVM.General.Internal.InlineAssembly LLVM.General.Internal.Instruction LLVM.General.Internal.InstructionDefs LLVM.General.Internal.IntegerPredicate LLVM.General.Internal.LibraryFunction LLVM.General.Internal.MemoryBuffer LLVM.General.Internal.Metadata LLVM.General.Internal.Module LLVM.General.Internal.Operand LLVM.General.Internal.PassManager LLVM.General.Internal.RawOStream LLVM.General.Internal.RMWOperation LLVM.General.Internal.String LLVM.General.Internal.Target LLVM.General.Internal.Threading LLVM.General.Internal.Type LLVM.General.Internal.Value LLVM.General.Internal.FFI.Analysis LLVM.General.Internal.FFI.Assembly LLVM.General.Internal.FFI.BasicBlock LLVM.General.Internal.FFI.BinaryOperator LLVM.General.Internal.FFI.Bitcode LLVM.General.Internal.FFI.Builder LLVM.General.Internal.FFI.ByteRangeCallback LLVM.General.Internal.FFI.Cleanup LLVM.General.Internal.FFI.CommandLine LLVM.General.Internal.FFI.Constant LLVM.General.Internal.FFI.Context LLVM.General.Internal.FFI.DataLayout LLVM.General.Internal.FFI.ExecutionEngine LLVM.General.Internal.FFI.Function LLVM.General.Internal.FFI.GlobalAlias LLVM.General.Internal.FFI.GlobalValue LLVM.General.Internal.FFI.GlobalVariable LLVM.General.Internal.FFI.InlineAssembly LLVM.General.Internal.FFI.Instruction LLVM.General.Internal.FFI.InstructionDefs LLVM.General.Internal.FFI.Iterate LLVM.General.Internal.FFI.LLVMCTypes LLVM.General.Internal.FFI.MemoryBuffer LLVM.General.Internal.FFI.Metadata LLVM.General.Internal.FFI.Module LLVM.General.Internal.FFI.PassManager LLVM.General.Internal.FFI.PtrHierarchy LLVM.General.Internal.FFI.RawOStream LLVM.General.Internal.FFI.SMDiagnostic LLVM.General.Internal.FFI.Target LLVM.General.Internal.FFI.Threading LLVM.General.Internal.FFI.Transforms LLVM.General.Internal.FFI.Type LLVM.General.Internal.FFI.User LLVM.General.Internal.FFI.Value include-dirs: src c-sources: src/LLVM/General/Internal/FFI/AssemblyC.cpp src/LLVM/General/Internal/FFI/BitcodeC.cpp src/LLVM/General/Internal/FFI/BuilderC.cpp src/LLVM/General/Internal/FFI/ConstantC.cpp src/LLVM/General/Internal/FFI/CommandLineC.cpp src/LLVM/General/Internal/FFI/ExecutionEngineC.cpp src/LLVM/General/Internal/FFI/FunctionC.cpp src/LLVM/General/Internal/FFI/GlobalAliasC.cpp src/LLVM/General/Internal/FFI/GlobalValueC.cpp src/LLVM/General/Internal/FFI/InlineAssemblyC.cpp src/LLVM/General/Internal/FFI/InstructionC.cpp src/LLVM/General/Internal/FFI/MetadataC.cpp src/LLVM/General/Internal/FFI/ModuleC.cpp src/LLVM/General/Internal/FFI/RawOStreamC.cpp src/LLVM/General/Internal/FFI/PassManagerC.cpp src/LLVM/General/Internal/FFI/SMDiagnosticC.cpp src/LLVM/General/Internal/FFI/TargetC.cpp src/LLVM/General/Internal/FFI/TypeC.cpp src/LLVM/General/Internal/FFI/ValueC.cpp if flag(debug) cc-options: -g test-suite test type: exitcode-stdio-1.0 build-depends: base >= 3 && < 5, test-framework >= 0.5, test-framework-hunit >= 0.2.7, HUnit >= 1.2.4.2, test-framework-quickcheck2 >= 0.3.0.1, QuickCheck >= 2.5.1.1, llvm-general == 3.4.4.1, llvm-general-pure == 3.4.4.0, containers >= 0.4.2.1, mtl >= 2.2.1 hs-source-dirs: test extensions: TupleSections FlexibleInstances FlexibleContexts main-is: Test.hs other-modules: LLVM.General.Test.Analysis LLVM.General.Test.Constants LLVM.General.Test.DataLayout LLVM.General.Test.ExecutionEngine LLVM.General.Test.Global LLVM.General.Test.InlineAssembly LLVM.General.Test.Instructions LLVM.General.Test.Instrumentation LLVM.General.Test.Linking LLVM.General.Test.Metadata LLVM.General.Test.Module LLVM.General.Test.Optimization LLVM.General.Test.Support LLVM.General.Test.Target LLVM.General.Test.Tests