macaw/base/macaw-base.cabal
Joe Hendrix 073e774a43
Introduce CValue; clarify function arguments fields.
This introduces a new datatype CValue for representing constants
in Macaw programs, modifies the existing Value datatype to use then,
and introduces patterns for compatibility with existing datatypes.

The patch also updates the function argument analysis to use more
explicit argument passing rather than monadic updates.  The intent is
to help clarify when data is initialized rather than updated.

Finally this updates a README and does some minor updates.
2019-08-06 09:37:41 -07:00

91 lines
2.4 KiB
Plaintext

name: macaw-base
version: 0.3.10
author: Galois, Inc.
maintainer: jhendrix@galois.com
build-type: Simple
cabal-version: >= 1.10
license: BSD3
license-file: LICENSE
description:
Macaw is a multi-architecture binary analysis library written in
Haskell. @macaw-base@ defines the core algorithms and data types
used across architectures. This includes:
.
* The control-flow graph data structure used to represent control-flow
graphs is defined in "Data.Macaw.CFG".
.
* The datatypes used to add support for new architectures are defined in
"Data.Macaw.Architecture".
.
* The datatypes used to represent memory are defined in "Data.Macaw.Memory".
Functions for constructing memory objects from Elf files are in
"Data.Macaw.Memory.ElfLoader".
.
* The main code discovery algorithm for discovering code are in
"Data.Macaw.Discovery".
.
* Declarations for working with Dwarf debug information are in "Data.Macaw.Dwarf".
library
build-depends:
base >= 4,
ansi-wl-pprint,
binary,
binary-symbols >= 0.1.3,
bytestring,
containers >= 0.5.8.1,
elf-edit >= 0.35,
galois-dwarf,
IntervalMap >= 0.5,
lens >= 4.7,
mtl,
parameterized-utils >= 2.0.0.0.101,
template-haskell,
text,
vector,
QuickCheck >= 2.7
hs-source-dirs: src
exposed-modules:
Data.Macaw.AbsDomain.AbsState
Data.Macaw.AbsDomain.JumpBounds
Data.Macaw.AbsDomain.Refine
Data.Macaw.AbsDomain.StridedInterval
Data.Macaw.Analysis.FunctionArgs
Data.Macaw.Architecture.Info
Data.Macaw.CFG
Data.Macaw.CFG.App
Data.Macaw.CFG.AssignRhs
Data.Macaw.CFG.Block
Data.Macaw.CFG.Core
Data.Macaw.CFG.DemandSet
Data.Macaw.CFG.Rewriter
Data.Macaw.DebugLogging
Data.Macaw.Discovery
Data.Macaw.Discovery.AbsEval
Data.Macaw.Discovery.State
Data.Macaw.Dwarf
Data.Macaw.Fold
Data.Macaw.Memory
Data.Macaw.Memory.ElfLoader
Data.Macaw.Memory.LoadCommon
Data.Macaw.Memory.Permissions
Data.Macaw.Memory.Symbols
Data.Macaw.SCFG
Data.Macaw.Types
Data.Macaw.Utils.Pretty
ghc-options: -Wall -Wcompat
ghc-options: -fno-warn-unticked-promoted-constructors
ghc-prof-options: -O2 -fprof-auto-top
default-language: Haskell2010
default-extensions:
GADTs
ScopedTypeVariables
TypeOperators
if impl(ghc >= 8.6)
default-extensions: NoStarIsType