llvm-party-12.1.0: llvm-party.cabal
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 <moritz.kiefer@purelyfunctional.org>, Benjamin S. Scarlet
maintainer:
Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
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 <http://llvm.org/>. Unlike other current Haskell bindings,
it uses an ADT to represent LLVM IR (<http://llvm.org/docs/LangRef.html>), 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
LLVM.Test.IRBuilder