name: hLLVM version: 0.5.0.1 license: BSD3 license-file: LICENSE author: Ning Wang maintainer: Ning Wang build-Type: Simple cabal-Version: >= 1.20 stability: 0.5 synopsis: A library for analyzing and transforming LLVM (3.5) assembly codes category: Compilers/Interpreters description: A pure Haskell library for analyzing and transforming LLVM assembly codes. It includes: 1) a parser to parse LLVM code in its text form; 2) an internal IR that is designed for Hoopl and direct composition; 3) a set of utility functions to convert LLVM AST to and from the internal IR; 4) a set of utility functions to query the IR. extra-source-files: README.md, LICENSE, CHANGES, TODO source-repository head type: git location: https://github.com/mlite/hLLVM.git flag debug { description: Enable debug support default: False } flag testcoverage { description: Enable test coverage report default: False } library { default-language: Haskell2010 build-depends: base >= 3 && < 5, containers, array, bytestring, mtl, filepath, directory, hooplext == 3.10.0.2, parsec >=3.1.2 && <3.2, cmdargs >=0.10 && <0.11, transformers >= 0.3.0.0, pretty >= 1.1.1.1, data-dword == 0.3, template-haskell >= 2.9.0.0 hs-source-dirs: src exposed-modules: Llvm.Data.Ast, Llvm.Data.Type, Llvm.Data.CoreIr, Llvm.Data.Ir, Llvm.Data.IrType, Llvm.Data.Shared, Llvm.Data.Shared.AtomicEntity, Llvm.Data.Shared.SimpleConst, Llvm.Data.Shared.DataLayout, Llvm.Data.Shared.Util, Llvm.Data.Conversion, Llvm.Data.Conversion.AstSimplification, Llvm.Data.Conversion.AstIrConversion, Llvm.Data.Conversion.AstScanner, Llvm.Data.Conversion.IrAstConversion, Llvm.Data.Conversion.TypeConversion, Llvm.Data.Conversion.LabelMapM, Llvm.Util.Mapping, Llvm.Util.Monadic, Llvm.Query.TypeConstValue, Llvm.Query.Qerror, Llvm.Query.Conversion, Llvm.Query.IrCxt, Llvm.Query.TypeDef, Llvm.Syntax.Printer.Common, Llvm.Syntax.Printer.SharedEntityPrint, Llvm.Syntax.Printer.IrPrint, Llvm.Syntax.Printer.LlvmPrint, Llvm.Syntax.Parser.Basic, Llvm.Syntax.Parser.Block, Llvm.Syntax.Parser.Const, Llvm.Syntax.Parser.DataLayout, Llvm.Syntax.Parser.Instruction, Llvm.Syntax.Parser.Module, Llvm.Syntax.Parser.Rhs, Llvm.Syntax.Parser.Type, Llvm.Pass.Dominator, Llvm.Pass.Liveness, Llvm.Pass.Mem2Reg, Llvm.Pass.NormalGraph, Llvm.Pass.Optimizer, Llvm.Pass.PassManager, Llvm.Pass.PhiFixUp, Llvm.Pass.Rewriter, Llvm.Pass.Uda, Llvm.Pass.PassTester, ParserTester if flag(debug) { if !os(windows) { cc-options: -DDEBUG } else { cc-options: -DNDEBUG } } if flag(testcoverage) { ghc-options: } other-extensions: CPP } executable llvm-test default-language: Haskell2010 main-is: LlvmTest.hs hs-source-dirs: src build-depends: base >= 3 && < 5, containers, array, bytestring, mtl, filepath, directory, template-haskell >= 2.9.0.0, hooplext == 3.10.0.2, parsec >=3.1.2 && <3.2, cmdargs >=0.10 && <0.11, transformers >= 0.3.0.0, pretty >= 1.1.1.1, data-dword == 0.3 if flag(testcoverage) { ghc-options: }