mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-29 11:02:13 +03:00
145 lines
3.7 KiB
Plaintext
145 lines
3.7 KiB
Plaintext
Cabal-version: 2.2
|
|
Name: macaw-x86-cli
|
|
Version: 0.1
|
|
Author: Galois Inc.
|
|
Maintainer: langston@galois.com
|
|
Build-type: Simple
|
|
License: BSD-3-Clause
|
|
License-file: LICENSE
|
|
Category: Language
|
|
Synopsis: CLI for running macaw-x86-symbolic control-flow graphs
|
|
-- Description:
|
|
|
|
extra-doc-files: README.md
|
|
extra-source-files:
|
|
test-data/*.cbl
|
|
test-data/*.out.good
|
|
|
|
common shared
|
|
-- Specifying -Wall and -Werror can cause the project to fail to build on
|
|
-- newer versions of GHC simply due to new warnings being added to -Wall. To
|
|
-- prevent this from happening we manually list which warnings should be
|
|
-- considered errors. We also list some warnings that are not in -Wall, though
|
|
-- try to avoid "opinionated" warnings (though this judgement is clearly
|
|
-- subjective).
|
|
--
|
|
-- Warnings are grouped by the GHC version that introduced them, and then
|
|
-- alphabetically.
|
|
--
|
|
-- A list of warnings and the GHC version in which they were introduced is
|
|
-- available here:
|
|
-- https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using-warnings.html
|
|
|
|
-- Since GHC 8.10 or earlier:
|
|
ghc-options:
|
|
-Wall
|
|
-Werror=compat-unqualified-imports
|
|
-Werror=deferred-type-errors
|
|
-Werror=deprecated-flags
|
|
-Werror=deprecations
|
|
-Werror=deriving-defaults
|
|
-Werror=dodgy-foreign-imports
|
|
-Werror=duplicate-exports
|
|
-Werror=empty-enumerations
|
|
-Werror=identities
|
|
-Werror=inaccessible-code
|
|
-Werror=incomplete-patterns
|
|
-Werror=incomplete-record-updates
|
|
-Werror=incomplete-uni-patterns
|
|
-Werror=inline-rule-shadowing
|
|
-Werror=missed-extra-shared-lib
|
|
-Werror=missing-exported-signatures
|
|
-Werror=missing-fields
|
|
-Werror=missing-home-modules
|
|
-Werror=missing-methods
|
|
-Werror=overflowed-literals
|
|
-Werror=overlapping-patterns
|
|
-Werror=partial-fields
|
|
-Werror=partial-type-signatures
|
|
-Werror=simplifiable-class-constraints
|
|
-Werror=star-binder
|
|
-Werror=star-is-type
|
|
-Werror=tabs
|
|
-Werror=typed-holes
|
|
-Werror=unrecognised-pragmas
|
|
-Werror=unrecognised-warning-flags
|
|
-Werror=unsupported-calling-conventions
|
|
-Werror=unsupported-llvm-version
|
|
-Werror=unticked-promoted-constructors
|
|
-Werror=unused-imports
|
|
-Werror=warnings-deprecations
|
|
-Werror=wrong-do-bind
|
|
|
|
if impl(ghc >= 9.2)
|
|
ghc-options:
|
|
-Werror=ambiguous-fields
|
|
-Werror=operator-whitespace
|
|
-Werror=operator-whitespace-ext-conflict
|
|
-Werror=redundant-bang-patterns
|
|
|
|
if impl(ghc >= 9.4)
|
|
ghc-options:
|
|
-Werror=forall-identifier
|
|
-Werror=misplaced-pragmas
|
|
-Werror=redundant-strictness-flags
|
|
-Werror=type-equality-out-of-scope
|
|
-Werror=type-equality-requires-operators
|
|
|
|
ghc-prof-options: -O2 -fprof-auto-top
|
|
default-language: Haskell2010
|
|
|
|
library
|
|
import: shared
|
|
|
|
build-depends:
|
|
base >= 4.13,
|
|
crucible,
|
|
crucible-cli,
|
|
crucible-llvm,
|
|
crucible-syntax,
|
|
macaw-base,
|
|
macaw-symbolic,
|
|
macaw-symbolic-syntax,
|
|
macaw-x86,
|
|
macaw-x86-symbolic,
|
|
macaw-x86-syntax,
|
|
parameterized-utils,
|
|
what4,
|
|
|
|
hs-source-dirs: src
|
|
|
|
exposed-modules:
|
|
Data.Macaw.X86.Symbolic.CLI
|
|
|
|
test-suite macaw-x86-syntax-tests
|
|
import: shared
|
|
type: exitcode-stdio-1.0
|
|
main-is: Test.hs
|
|
hs-source-dirs: test
|
|
build-depends:
|
|
base,
|
|
containers,
|
|
crucible >= 0.1,
|
|
crucible-cli,
|
|
filepath,
|
|
macaw-symbolic,
|
|
macaw-symbolic-syntax,
|
|
macaw-x86,
|
|
macaw-x86-cli,
|
|
macaw-x86-symbolic,
|
|
macaw-x86-syntax,
|
|
parameterized-utils >= 0.1.7,
|
|
tasty,
|
|
tasty-golden,
|
|
text,
|
|
what4,
|
|
|
|
executable macaw-x86
|
|
import: shared
|
|
hs-source-dirs: app
|
|
main-is: Main.hs
|
|
build-depends:
|
|
base >= 4.13,
|
|
crucible-cli,
|
|
macaw-x86-cli,
|