cabal-version: 2.2 name: llvm-party version: 12.1.0 license: BSD-3-Clause license-file: LICENSE author: Anthony Cowley, Stephen Diehl, Moritz Kiefer , Benjamin S. Scarlet maintainer: Anthony Cowley, Stephen Diehl, Moritz Kiefer copyright: (c) 2013 Benjamin S. Scarlet and Google Inc. homepage: http://github.com/jappeace/llvm-party/ bug-reports: http://github.com/jappeace/llvm-party/issues build-type: Custom stability: experimental category: Compilers/Interpreters, Code Generation synopsis: General purpose LLVM bindings description: llvm-party 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. This is a fork of llvm-hs, with a major advantage that it's being maintained, for now. extra-source-files: src/LLVM/Internal/FFI/Analysis.h src/LLVM/Internal/FFI/Attribute.h src/LLVM/Internal/FFI/AttributeC.hpp src/LLVM/Internal/FFI/CallingConvention.h src/LLVM/Internal/FFI/Constant.h src/LLVM/Internal/FFI/ErrorHandling.hpp src/LLVM/Internal/FFI/GlobalValue.h src/LLVM/Internal/FFI/InlineAssembly.h src/LLVM/Internal/FFI/Instruction.h src/LLVM/Internal/FFI/LibFunc.h src/LLVM/Internal/FFI/Metadata.h src/LLVM/Internal/FFI/OrcJIT.h src/LLVM/Internal/FFI/SMDiagnostic.h src/LLVM/Internal/FFI/Target.h src/LLVM/Internal/FFI/Target.hpp src/LLVM/Internal/FFI/Type.h src/LLVM/Internal/FFI/Value.h test/debug_metadata_1.ll test/debug_metadata_2.ll test/debug_metadata_3.ll test/debug_metadata_4.ll test/debug_metadata_5.ll test/main_return_38.c README.md LICENSE CHANGELOG.md tested-with: GHC ==8.8.1 extra-source-files: CHANGELOG.md source-repository head type: git location: git://github.com/jappeace/llvm-party.git branch: llvm-12 flag shared-llvm description: link against llvm shared rather than static library default: True flag llvm-with-rtti description: assume llvm was built with LLVM_ENABLE_RTTI=ON (default is OFF) default: False flag debug description: compile C(++) shims with debug info for ease of troubleshooting default: False custom-setup setup-depends: , base <5 , Cabal <3.10.1.0 , containers library default-language: Haskell2010 hs-source-dirs: src build-tool-depends: hsc2hs:hsc2hs ghc-options: -O2 -Wall -fno-warn-name-shadowing -fno-warn-orphans -optcxx=-O3 -optcxx=-Wall -optcxx=-std=c++14 -optcxx=-lstdc++ cxx-options: -O3 -Wall -std=c++14 if flag(llvm-with-rtti) cxx-options: -frtti ghc-options: -optcxx=-frtti else cxx-options: -fno-rtti ghc-options: -optcxx=-fno-rtti if flag(debug) cxx-options: -g ghc-options: -optcxx=-g extra-libraries: stdc++ build-depends: , array >=0.4.0.0 && <0.6 , attoparsec >=0.13 && <0.15 , base >=4.9 && <5 , bytestring >=0.10 && <0.12 , containers >=0.4.2.1 && <0.7 , exceptions >=0.8 && <0.11 , fail <4.10 , mtl >=2.1.3 && <2.3 , template-haskell >=2.5.0.0 && <2.20 , transformers >=0.3 && <0.6 , unordered-containers >=0.2 && <0.3 , utf8-string >=0.3.7 && <1.1 default-extensions: NoImplicitPrelude ConstraintKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances StandaloneDeriving TupleSections exposed-modules: LLVM LLVM.Analysis LLVM.AST LLVM.AST.AddrSpace LLVM.AST.Attribute LLVM.AST.CallingConvention LLVM.AST.COMDAT LLVM.AST.Constant LLVM.AST.DataLayout LLVM.AST.DLL LLVM.AST.Float LLVM.AST.FloatingPointPredicate LLVM.AST.FunctionAttribute LLVM.AST.Global LLVM.AST.InlineAssembly LLVM.AST.Instruction LLVM.AST.IntegerPredicate LLVM.AST.Linkage LLVM.AST.Name LLVM.AST.Operand LLVM.AST.ParameterAttribute LLVM.AST.RMWOperation LLVM.AST.ThreadLocalStorage LLVM.AST.Type LLVM.AST.Typed LLVM.AST.Visibility LLVM.CodeGenOpt LLVM.CodeModel LLVM.CommandLine LLVM.Context LLVM.DataLayout LLVM.Diagnostic LLVM.Exception LLVM.ExecutionEngine LLVM.Internal.Analysis LLVM.Internal.Atomicity LLVM.Internal.Attribute LLVM.Internal.BasicBlock LLVM.Internal.CallingConvention LLVM.Internal.Coding LLVM.Internal.CommandLine LLVM.Internal.Constant LLVM.Internal.Context LLVM.Internal.DataLayout LLVM.Internal.DecodeAST LLVM.Internal.Diagnostic LLVM.Internal.EncodeAST LLVM.Internal.ExecutionEngine LLVM.Internal.FastMathFlags LLVM.Internal.FFI.Analysis LLVM.Internal.FFI.Assembly LLVM.Internal.FFI.Attribute LLVM.Internal.FFI.BasicBlock LLVM.Internal.FFI.BinaryOperator LLVM.Internal.FFI.Bitcode LLVM.Internal.FFI.Builder LLVM.Internal.FFI.ByteRangeCallback LLVM.Internal.FFI.Cleanup LLVM.Internal.FFI.CommandLine LLVM.Internal.FFI.Constant LLVM.Internal.FFI.Context LLVM.Internal.FFI.DataLayout LLVM.Internal.FFI.DynamicLibrary LLVM.Internal.FFI.ExecutionEngine LLVM.Internal.FFI.Function LLVM.Internal.FFI.GlobalAlias LLVM.Internal.FFI.GlobalValue LLVM.Internal.FFI.GlobalVariable LLVM.Internal.FFI.InlineAssembly LLVM.Internal.FFI.Instruction LLVM.Internal.FFI.InstructionDefs LLVM.Internal.FFI.Iterate LLVM.Internal.FFI.LLVMCTypes LLVM.Internal.FFI.MemoryBuffer LLVM.Internal.FFI.Metadata LLVM.Internal.FFI.Module LLVM.Internal.FFI.ObjectFile LLVM.Internal.FFI.OrcJIT LLVM.Internal.FFI.PassManager LLVM.Internal.FFI.PtrHierarchy LLVM.Internal.FFI.RawOStream LLVM.Internal.FFI.RTDyldMemoryManager LLVM.Internal.FFI.ShortByteString LLVM.Internal.FFI.SMDiagnostic LLVM.Internal.FFI.Target LLVM.Internal.FFI.Threading LLVM.Internal.FFI.Transforms LLVM.Internal.FFI.Type LLVM.Internal.FFI.User LLVM.Internal.FFI.Value LLVM.Internal.FloatingPointPredicate LLVM.Internal.Function LLVM.Internal.Global LLVM.Internal.InlineAssembly LLVM.Internal.Instruction LLVM.Internal.InstructionDefs LLVM.Internal.IntegerPredicate LLVM.Internal.LibraryFunction LLVM.Internal.Linking LLVM.Internal.MemoryBuffer LLVM.Internal.Metadata LLVM.Internal.Module LLVM.Internal.ObjectFile LLVM.Internal.Operand LLVM.Internal.OrcJIT LLVM.Internal.PassManager LLVM.Internal.RawOStream LLVM.Internal.RMWOperation LLVM.Internal.String LLVM.Internal.TailCallKind LLVM.Internal.Target LLVM.Internal.Threading LLVM.Internal.Type LLVM.Internal.Value LLVM.IRBuilder LLVM.IRBuilder.Constant LLVM.IRBuilder.Instruction LLVM.IRBuilder.Internal.SnocList LLVM.IRBuilder.Module LLVM.IRBuilder.Monad LLVM.Linking LLVM.Module LLVM.OrcJIT LLVM.PassManager LLVM.Prelude LLVM.Relocation LLVM.Target LLVM.Target.LibraryFunction LLVM.Target.Options LLVM.Threading LLVM.Transforms LLVM.Triple other-modules: Control.Monad.AnyCont Control.Monad.AnyCont.Class Control.Monad.Trans.AnyCont include-dirs: src cxx-sources: src/LLVM/Internal/FFI/AssemblyC.cpp src/LLVM/Internal/FFI/AttributeC.cpp src/LLVM/Internal/FFI/BitcodeC.cpp src/LLVM/Internal/FFI/BuilderC.cpp src/LLVM/Internal/FFI/CallingConventionC.cpp src/LLVM/Internal/FFI/CommandLineC.cpp src/LLVM/Internal/FFI/ConstantC.cpp src/LLVM/Internal/FFI/ErrorHandling.cpp src/LLVM/Internal/FFI/ExecutionEngineC.cpp src/LLVM/Internal/FFI/FunctionC.cpp src/LLVM/Internal/FFI/GlobalAliasC.cpp src/LLVM/Internal/FFI/GlobalValueC.cpp src/LLVM/Internal/FFI/InlineAssemblyC.cpp src/LLVM/Internal/FFI/InstructionC.cpp src/LLVM/Internal/FFI/MetadataC.cpp src/LLVM/Internal/FFI/ModuleC.cpp src/LLVM/Internal/FFI/OrcJITC.cpp src/LLVM/Internal/FFI/PassManagerC.cpp src/LLVM/Internal/FFI/RawOStreamC.cpp src/LLVM/Internal/FFI/RTDyldMemoryManager.cpp src/LLVM/Internal/FFI/SMDiagnosticC.cpp src/LLVM/Internal/FFI/TargetC.cpp src/LLVM/Internal/FFI/TypeC.cpp src/LLVM/Internal/FFI/ValueC.cpp test-suite test default-language: Haskell2010 type: exitcode-stdio-1.0 build-depends: , base >=4.9 && <5 , bytestring >=0.10 , containers >=0.4.2.1 , llvm-party , mtl >=2.1 , pretty-show >=1.6 , process , QuickCheck >=2.5.1.1 , tasty >=0.11 , tasty-hunit >=0.9 , tasty-quickcheck >=0.8 , temporary >=1.2 , transformers >=0.3.0.0 hs-source-dirs: test default-extensions: FlexibleContexts FlexibleInstances TupleSections main-is: Test.hs other-modules: LLVM.Test.Analysis LLVM.Test.Attribute LLVM.Test.CallingConvention LLVM.Test.Constants LLVM.Test.DataLayout LLVM.Test.ExecutionEngine LLVM.Test.FunctionAttribute LLVM.Test.Global LLVM.Test.InlineAssembly LLVM.Test.Instructions LLVM.Test.Instrumentation LLVM.Test.Linking LLVM.Test.Metadata LLVM.Test.Module LLVM.Test.ObjectCode LLVM.Test.Optimization LLVM.Test.OrcJIT LLVM.Test.ParameterAttribute LLVM.Test.Regression LLVM.Test.Support LLVM.Test.Target LLVM.Test.Tests