2017-09-28 01:41:37 +03:00
|
|
|
name: macaw-base
|
2018-11-16 21:40:40 +03:00
|
|
|
version: 0.3.4
|
2016-11-29 10:14:04 +03:00
|
|
|
author: Galois, Inc.
|
|
|
|
maintainer: jhendrix@galois.com
|
|
|
|
build-type: Simple
|
2018-11-20 12:43:48 +03:00
|
|
|
cabal-version: >= 1.10
|
2017-09-28 01:59:06 +03:00
|
|
|
license: BSD3
|
|
|
|
license-file: LICENSE
|
2018-01-29 11:20:54 +03:00
|
|
|
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".
|
2016-11-29 10:14:04 +03:00
|
|
|
|
|
|
|
library
|
|
|
|
build-depends:
|
|
|
|
base >= 4,
|
|
|
|
ansi-wl-pprint,
|
|
|
|
binary,
|
2018-12-04 07:52:44 +03:00
|
|
|
binary-symbols >= 0.1.2,
|
2016-11-29 10:14:04 +03:00
|
|
|
bytestring,
|
2016-12-28 00:59:21 +03:00
|
|
|
containers >= 0.5.8.1,
|
2018-09-18 01:32:18 +03:00
|
|
|
elf-edit >= 0.32,
|
2016-11-29 10:14:04 +03:00
|
|
|
galois-dwarf,
|
2017-01-07 03:10:23 +03:00
|
|
|
IntervalMap >= 0.5,
|
2016-11-29 10:14:04 +03:00
|
|
|
lens >= 4.7,
|
|
|
|
mtl,
|
2018-11-16 21:40:40 +03:00
|
|
|
parameterized-utils >= 1.0.7,
|
2018-08-27 21:31:18 +03:00
|
|
|
template-haskell,
|
2016-11-29 10:14:04 +03:00
|
|
|
text,
|
|
|
|
vector,
|
|
|
|
QuickCheck >= 2.7
|
|
|
|
|
|
|
|
hs-source-dirs: src
|
|
|
|
|
|
|
|
exposed-modules:
|
|
|
|
Data.Macaw.AbsDomain.AbsState
|
2017-02-16 10:53:19 +03:00
|
|
|
Data.Macaw.AbsDomain.JumpBounds
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.AbsDomain.Refine
|
|
|
|
Data.Macaw.AbsDomain.StridedInterval
|
2017-11-23 01:07:55 +03:00
|
|
|
Data.Macaw.Analysis.FunctionArgs
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.Architecture.Info
|
|
|
|
Data.Macaw.CFG
|
2017-06-02 21:10:58 +03:00
|
|
|
Data.Macaw.CFG.App
|
2018-06-06 21:28:26 +03:00
|
|
|
Data.Macaw.CFG.AssignRhs
|
2017-07-05 23:31:21 +03:00
|
|
|
Data.Macaw.CFG.Block
|
2017-11-23 01:07:55 +03:00
|
|
|
Data.Macaw.CFG.BlockLabel
|
2017-07-05 23:31:21 +03:00
|
|
|
Data.Macaw.CFG.Core
|
2017-06-30 20:56:46 +03:00
|
|
|
Data.Macaw.CFG.DemandSet
|
|
|
|
Data.Macaw.CFG.Rewriter
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.DebugLogging
|
|
|
|
Data.Macaw.Discovery
|
2017-06-04 21:09:07 +03:00
|
|
|
Data.Macaw.Discovery.AbsEval
|
|
|
|
Data.Macaw.Discovery.State
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.Dwarf
|
2017-05-30 09:25:51 +03:00
|
|
|
Data.Macaw.Fold
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.Memory
|
|
|
|
Data.Macaw.Memory.ElfLoader
|
2018-01-29 12:06:59 +03:00
|
|
|
Data.Macaw.Memory.LoadCommon
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.Memory.Permissions
|
2018-10-18 20:07:20 +03:00
|
|
|
Data.Macaw.Memory.Symbols
|
2018-06-06 21:28:26 +03:00
|
|
|
Data.Macaw.SCFG
|
2016-11-29 10:14:04 +03:00
|
|
|
Data.Macaw.Types
|
2018-01-29 11:20:54 +03:00
|
|
|
Data.Macaw.Utils.Pretty
|
2016-11-29 10:14:04 +03:00
|
|
|
|
2019-01-11 00:43:27 +03:00
|
|
|
ghc-options: -Wall -Wcompat
|
2016-11-29 10:14:04 +03:00
|
|
|
ghc-options: -fno-warn-unticked-promoted-constructors
|
2018-01-29 11:20:54 +03:00
|
|
|
ghc-prof-options: -O2 -fprof-auto-top
|
2018-11-20 12:43:48 +03:00
|
|
|
default-language: Haskell2010
|
|
|
|
|
|
|
|
if impl(ghc >= 8.6)
|
|
|
|
default-extensions: NoStarIsType
|