Cabal revisions of cryptol-3.5.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Cabal-version: 2.4-Name: cryptol-Version: 3.5.0-Synopsis: Cryptol: The Language of Cryptography-Description: Cryptol is a domain-specific language for specifying cryptographic algorithms. A Cryptol implementation of an algorithm resembles its mathematical specification more closely than an implementation in a general purpose language. For more, see <http://www.cryptol.net/>.-License: BSD-3-Clause-License-file: LICENSE-Author: Galois, Inc.-Maintainer: cryptol@galois.com-Homepage: https://tools.galois.com/cryptol-Bug-reports: https://github.com/GaloisInc/cryptol/issues-Copyright: 2013-2025 Galois Inc.-Category: Language-Build-type: Simple-extra-source-files: bench/data/*.cry- lib/*.cry lib/*.smt2 lib/*.h- cryptol.buildinfo.json--extra-doc-files: CHANGES.md--data-files: **/*.cry **/*.smt2 **/*.h-data-dir: lib--source-repository head- type: git- location: https://github.com/GaloisInc/cryptol.git--source-repository this- type: git- location: https://github.com/GaloisInc/cryptol.git- -- add a tag on release branches- tag: 3.5.0---flag static- default: False- description: Create a statically-linked binary--flag relocatable- default: True- description: Don't use the Cabal-provided data directory for looking up Cryptol libraries. This is useful when the data directory can't be known ahead of time, like for a relocatable distribution.--flag ffi- default: True- description: Enable the foreign function interface--library- Default-language:- Haskell2010- Build-depends: base >= 4.9 && < 5,- aeson >= 2.0 && < 2.3,- arithmoi >= 0.12,- async >= 2.2 && < 2.3,- base-compat >= 0.6 && < 0.13,- bv-sized >= 1.0 && < 1.1,- bytestring >= 0.10,- array >= 0.4,- containers >= 0.5,- criterion-measurement,- cryptohash-sha256 >= 0.11 && < 0.12,- deepseq >= 1.3,- directory >= 1.2.2.0,- exceptions,- file-embed >= 0.0.16,- filepath >= 1.3,- gitrev >= 1.0,- ghc-prim,- GraphSCC >= 1.0.4,- heredoc >= 0.2,- language-c99,- language-c99-simple,- libBF >= 0.6 && < 0.7,- MemoTrie >= 0.6 && < 0.7,- monad-control >= 1.0,- monadLib >= 3.7.2,- parameterized-utils >= 2.0.2,- pretty,- prettyprinter >= 1.7.0,- pretty-show,- primitive,- process >= 1.2,- rme-what4 ^>= 0.1,- sbv >= 9.1 && < 10.11,- simple-smt >= 0.9.8,- stm >= 2.4,- strict,- text >= 1.1,- tf-random >= 0.5,- toml-parser >= 2.0 && <2.1,- transformers-base >= 0.4,- vector,- mtl >= 2.2.1,- time >= 1.6.0.1,- panic >= 0.3,- what4 >= 1.6 && < 1.8-- if impl(ghc >= 9.0)- build-depends: ghc-bignum >= 1.0 && < 1.4- else- build-depends: integer-gmp >= 1.0 && < 1.1-- if flag(ffi)- build-depends: hgmp,- libffi >= 0.2- include-dirs: lib- if os(windows)- build-depends: Win32- else- build-depends: unix- cpp-options: -DFFI_ENABLED-- Build-tool-depends: alex:alex, happy:happy- hs-source-dirs: src-- Exposed-modules: Cryptol.Parser,- Cryptol.Parser.Lexer,- Cryptol.Parser.Token,- Cryptol.Parser.Layout,- Cryptol.Parser.AST,- Cryptol.Parser.AST.Builder,- Cryptol.Parser.Position,- Cryptol.Parser.Names,- Cryptol.Parser.Name,- Cryptol.Parser.NoPat,- Cryptol.Parser.ExpandPropGuards,- Cryptol.Parser.NoInclude,- Cryptol.Parser.Selector,- Cryptol.Parser.Utils,- Cryptol.Parser.Unlit,-- Cryptol.Utils.Fixity,- Cryptol.Utils.Ident,- Cryptol.Utils.RecordMap,- Cryptol.Utils.PP,- Cryptol.Utils.Panic,- Cryptol.Utils.Debug,- Cryptol.Utils.Misc,- Cryptol.Utils.Patterns,- Cryptol.Utils.Logger,- Cryptol.Utils.Benchmark,- Cryptol.Utils.Types,- Cryptol.Version,-- Cryptol.ModuleSystem,- Cryptol.ModuleSystem.Base,- Cryptol.ModuleSystem.Env,- Cryptol.ModuleSystem.Fingerprint,- Cryptol.ModuleSystem.Interface,- Cryptol.ModuleSystem.Monad,- Cryptol.ModuleSystem.Name,- Cryptol.ModuleSystem.Names,- Cryptol.ModuleSystem.NamingEnv,- Cryptol.ModuleSystem.NamingEnv.Types,- Cryptol.ModuleSystem.Binds- Cryptol.ModuleSystem.Exports,- Cryptol.ModuleSystem.Renamer,- Cryptol.ModuleSystem.Renamer.Imports,- Cryptol.ModuleSystem.Renamer.ImplicitImports,- Cryptol.ModuleSystem.Renamer.Monad,- Cryptol.ModuleSystem.Renamer.Error,-- Cryptol.TypeCheck,- Cryptol.TypeCheck.Type,- Cryptol.TypeCheck.TCon,- Cryptol.TypeCheck.TypePat,- Cryptol.TypeCheck.SimpType,- Cryptol.TypeCheck.AST,- Cryptol.TypeCheck.Docstrings,- Cryptol.TypeCheck.Parseable,- Cryptol.TypeCheck.Monad,- Cryptol.TypeCheck.Infer,- Cryptol.TypeCheck.InferTypes,- Cryptol.TypeCheck.Interface,- Cryptol.TypeCheck.Error,- Cryptol.TypeCheck.Kind,- Cryptol.TypeCheck.Subst,- Cryptol.TypeCheck.Subst.Type,- Cryptol.TypeCheck.Instantiate,- Cryptol.TypeCheck.Unify,- Cryptol.TypeCheck.PP,- Cryptol.TypeCheck.Solve,- Cryptol.TypeCheck.Default,- Cryptol.TypeCheck.SimpleSolver,- Cryptol.TypeCheck.TypeMap,- Cryptol.TypeCheck.TypeOf,- Cryptol.TypeCheck.Sanity,- Cryptol.TypeCheck.FFI,- Cryptol.TypeCheck.FFI.Error,- Cryptol.TypeCheck.FFI.FFIType,- Cryptol.TypeCheck.Module,- Cryptol.TypeCheck.ModuleInstance,- Cryptol.TypeCheck.ModuleBacktickInstance,-- Cryptol.TypeCheck.Solver.Types,- Cryptol.TypeCheck.Solver.SMT,- Cryptol.TypeCheck.Solver.InfNat,- Cryptol.TypeCheck.Solver.Class,- Cryptol.TypeCheck.Solver.Selector,- Cryptol.TypeCheck.Solver.Utils,-- Cryptol.TypeCheck.Solver.Numeric,- Cryptol.TypeCheck.Solver.Improve,- Cryptol.TypeCheck.Solver.Numeric.Fin,- Cryptol.TypeCheck.Solver.Numeric.Interval,-- Cryptol.Transform.MonoValues,- Cryptol.Transform.Specialize,-- Cryptol.IR.FreeVars,- Cryptol.IR.TraverseNames,- Cryptol.IR.Builder,- Cryptol.IR.Prove,-- Cryptol.Backend,- Cryptol.Backend.Arch,- Cryptol.Backend.Concrete,-- Cryptol.Backend.FloatHelpers,- Cryptol.Backend.Monad,- Cryptol.Backend.SeqMap,- Cryptol.Backend.SBV,- Cryptol.Backend.What4,- Cryptol.Backend.WordValue,-- Cryptol.Eval,- Cryptol.Eval.Concrete,- Cryptol.Eval.Env,- Cryptol.Eval.FFI,- Cryptol.Eval.FFI.ForeignSrc,- Cryptol.Eval.FFI.Error,- Cryptol.Eval.FFI.C,- Cryptol.Eval.FFI.Abstract,- Cryptol.Eval.FFI.Abstract.Call,- Cryptol.Eval.FFI.Abstract.Export,- Cryptol.Eval.FFI.Abstract.Import,- Cryptol.Eval.FFI.GenHeader,- Cryptol.Eval.Generic,- Cryptol.Eval.Prims,- Cryptol.Eval.Reference,- Cryptol.Eval.SBV,- Cryptol.Eval.Type,- Cryptol.Eval.Value,- Cryptol.Eval.What4,-- Cryptol.AES,- Cryptol.F2,- Cryptol.SHA,- Cryptol.PrimeEC,-- Cryptol.Testing.Random,-- Cryptol.Symbolic,- Cryptol.Symbolic.SBV,- Cryptol.Symbolic.What4,-- Cryptol.REPL.Command,- Cryptol.REPL.Help,- Cryptol.REPL.Browse,- Cryptol.REPL.Monad,- Cryptol.REPL.Trie,-- Cryptol.Project- Cryptol.Project.Config- Cryptol.Project.Monad- Cryptol.Project.Cache- Cryptol.Project.WildMatch-- Autogen-modules: Paths_cryptol- Other-modules: Cryptol.Parser.LexerUtils,- Cryptol.Parser.ParserUtils,- Cryptol.Prelude,- GHC.Num.Compat,- Paths_cryptol,- GitRev-- GHC-options: -Wall -fsimpl-tick-factor=140 -O2- if impl(ghc >= 8.0.1)- ghc-options: -Wno-redundant-constraints-- if flag(relocatable)- cpp-options: -DRELOCATABLE---- The portions of the Cryptol REPL that are specific to the Cryptol executable.--- We factor this out into a separate internal library because (1) it has some--- dependencies (e.g., ansi-terminal and haskeline) that the Cryptol library--- does not need to depend on, and (2) we want to be able to test this code in--- the cryptol-api-tests test suite.-library cryptol-repl-internal- exposed-modules: REPL.Haskeline- REPL.Logo- Autogen-modules: Paths_cryptol- Other-modules: Paths_cryptol- hs-source-dirs: cryptol-repl-internal- default-language: Haskell2010- GHC-options: -Wall -O2- if os(linux) && flag(static)- ld-options: -static -pthread- ghc-options: -optl-fuse-ld=bfd- build-depends: ansi-terminal- , base >= 4.9 && < 5- , base-compat- , containers- , cryptol- , directory- , filepath- , haskeline >= 0.7 && < 0.9- , exceptions- , monad-control- , text- , transformers--executable cryptol- Default-language:- Haskell2010- Main-is: Main.hs- hs-source-dirs: cryptol- Other-modules: OptParser- build-depends: base >= 4.9 && < 5- , base-compat- , cryptol- , cryptol-repl-internal- , directory- , filepath- GHC-options: -Wall -threaded -rtsopts "-with-rtsopts=-N1 -A64m" -O2- if impl(ghc >= 8.0.1)- ghc-options: -Wno-redundant-constraints-- if os(linux) && flag(static)- ld-options: -static -pthread- ghc-options: -optl-fuse-ld=bfd--executable cryptol-html- Default-language:- Haskell2010- main-is: CryHtml.hs- hs-source-dirs: utils- build-depends:- base >= 4.9 && < 5,- text,- cryptol,- blaze-html- GHC-options: -Wall-- if os(linux) && flag(static)- ld-options: -static -pthread- ghc-options: -optl-fuse-ld=bfd--executable check-exercises- Default-language:- Haskell2010- Main-is: CheckExercises.hs- hs-source-dirs: cryptol- build-depends: ansi-terminal- , base >= 4.9 && < 5- , containers- , directory- , extra- , filepath- , mtl- , optparse-applicative- , process- , temporary- , text- GHC-options: -Wall---- Test cases that require the use of the Cryptol API to test effectively. Most--- other test cases should be added to the integration tests (which only require--- the Cryptol executable and/or the REPL) under tests/.-test-suite cryptol-api-tests- type: exitcode-stdio-1.0- main-is: Main.hs- hs-source-dirs: api-tests- default-language: Haskell2010- GHC-options: -Wall -threaded -rtsopts "-with-rtsopts=-N1 -A64m" -O2- if os(linux) && flag(static)- ld-options: -static -pthread- ghc-options: -optl-fuse-ld=bfd- build-depends: base >= 4.9 && < 5- , cryptol- , cryptol-repl-internal- , haskeline- , tasty- , tasty-hunit--benchmark cryptol-bench- type: exitcode-stdio-1.0- main-is: Main.hs- hs-source-dirs: bench- default-language: Haskell2010- GHC-options: -Wall -threaded -rtsopts "-with-rtsopts=-N1 -A64m" -O2- if impl(ghc >= 8.0.1)- ghc-options: -Wno-redundant-constraints- if os(linux) && flag(static)- ld-options: -static -pthread- ghc-options: -optl-fuse-ld=bfd- build-depends: base >= 4.9 && < 5- , criterion- , cryptol- , deepseq- , directory- , filepath- , sbv- , text+Cabal-version: 2.4 +Name: cryptol +Version: 3.5.0 +x-revision: 1 +Synopsis: Cryptol: The Language of Cryptography +Description: Cryptol is a domain-specific language for specifying cryptographic algorithms. A Cryptol implementation of an algorithm resembles its mathematical specification more closely than an implementation in a general purpose language. For more, see <http://www.cryptol.net/>. +License: BSD-3-Clause +License-file: LICENSE +Author: Galois, Inc. +Maintainer: cryptol@galois.com +Homepage: https://tools.galois.com/cryptol +Bug-reports: https://github.com/GaloisInc/cryptol/issues +Copyright: 2013-2025 Galois Inc. +Category: Language +Build-type: Simple +extra-source-files: bench/data/*.cry + lib/*.cry lib/*.smt2 lib/*.h + cryptol.buildinfo.json + +extra-doc-files: CHANGES.md + +data-files: **/*.cry **/*.smt2 **/*.h +data-dir: lib + +source-repository head + type: git + location: https://github.com/GaloisInc/cryptol.git + +source-repository this + type: git + location: https://github.com/GaloisInc/cryptol.git + -- add a tag on release branches + tag: 3.5.0 + + +flag static + default: False + description: Create a statically-linked binary + +flag relocatable + default: True + description: Don't use the Cabal-provided data directory for looking up Cryptol libraries. This is useful when the data directory can't be known ahead of time, like for a relocatable distribution. + +flag ffi + default: True + description: Enable the foreign function interface + +library + Default-language: + Haskell2010 + Build-depends: base >= 4.9 && < 4.20, + aeson >= 2.0 && < 2.3, + arithmoi >= 0.12, + async >= 2.2 && < 2.3, + base-compat >= 0.6 && < 0.13, + bv-sized >= 1.0 && < 1.1, + bytestring >= 0.10, + array >= 0.4, + containers >= 0.5, + criterion-measurement, + cryptohash-sha256 >= 0.11 && < 0.12, + deepseq >= 1.3, + directory >= 1.2.2.0, + exceptions, + file-embed >= 0.0.16, + filepath >= 1.3, + gitrev >= 1.0, + ghc-prim, + GraphSCC >= 1.0.4, + heredoc >= 0.2, + language-c99, + language-c99-simple, + libBF >= 0.6 && < 0.7, + MemoTrie >= 0.6 && < 0.7, + monad-control >= 1.0, + monadLib >= 3.7.2, + parameterized-utils >= 2.0.2, + pretty, + prettyprinter >= 1.7.0, + pretty-show, + primitive, + process >= 1.2, + rme-what4 ^>= 0.1, + sbv >= 9.1 && < 10.11, + simple-smt >= 0.9.8, + stm >= 2.4, + strict, + text >= 1.1, + tf-random >= 0.5, + toml-parser >= 2.0 && <2.1, + transformers-base >= 0.4, + vector, + mtl >= 2.2.1, + time >= 1.6.0.1, + panic >= 0.3, + what4 >= 1.6 && < 1.8 + + if impl(ghc >= 9.0) + build-depends: ghc-bignum >= 1.0 && < 1.4 + else + build-depends: integer-gmp >= 1.0 && < 1.1 + + if flag(ffi) + build-depends: hgmp, + libffi >= 0.2 + include-dirs: lib + if os(windows) + build-depends: Win32 + else + build-depends: unix + cpp-options: -DFFI_ENABLED + + Build-tool-depends: alex:alex, happy:happy + hs-source-dirs: src + + Exposed-modules: Cryptol.Parser, + Cryptol.Parser.Lexer, + Cryptol.Parser.Token, + Cryptol.Parser.Layout, + Cryptol.Parser.AST, + Cryptol.Parser.AST.Builder, + Cryptol.Parser.Position, + Cryptol.Parser.Names, + Cryptol.Parser.Name, + Cryptol.Parser.NoPat, + Cryptol.Parser.ExpandPropGuards, + Cryptol.Parser.NoInclude, + Cryptol.Parser.Selector, + Cryptol.Parser.Utils, + Cryptol.Parser.Unlit, + + Cryptol.Utils.Fixity, + Cryptol.Utils.Ident, + Cryptol.Utils.RecordMap, + Cryptol.Utils.PP, + Cryptol.Utils.Panic, + Cryptol.Utils.Debug, + Cryptol.Utils.Misc, + Cryptol.Utils.Patterns, + Cryptol.Utils.Logger, + Cryptol.Utils.Benchmark, + Cryptol.Utils.Types, + Cryptol.Version, + + Cryptol.ModuleSystem, + Cryptol.ModuleSystem.Base, + Cryptol.ModuleSystem.Env, + Cryptol.ModuleSystem.Fingerprint, + Cryptol.ModuleSystem.Interface, + Cryptol.ModuleSystem.Monad, + Cryptol.ModuleSystem.Name, + Cryptol.ModuleSystem.Names, + Cryptol.ModuleSystem.NamingEnv, + Cryptol.ModuleSystem.NamingEnv.Types, + Cryptol.ModuleSystem.Binds + Cryptol.ModuleSystem.Exports, + Cryptol.ModuleSystem.Renamer, + Cryptol.ModuleSystem.Renamer.Imports, + Cryptol.ModuleSystem.Renamer.ImplicitImports, + Cryptol.ModuleSystem.Renamer.Monad, + Cryptol.ModuleSystem.Renamer.Error, + + Cryptol.TypeCheck, + Cryptol.TypeCheck.Type, + Cryptol.TypeCheck.TCon, + Cryptol.TypeCheck.TypePat, + Cryptol.TypeCheck.SimpType, + Cryptol.TypeCheck.AST, + Cryptol.TypeCheck.Docstrings, + Cryptol.TypeCheck.Parseable, + Cryptol.TypeCheck.Monad, + Cryptol.TypeCheck.Infer, + Cryptol.TypeCheck.InferTypes, + Cryptol.TypeCheck.Interface, + Cryptol.TypeCheck.Error, + Cryptol.TypeCheck.Kind, + Cryptol.TypeCheck.Subst, + Cryptol.TypeCheck.Subst.Type, + Cryptol.TypeCheck.Instantiate, + Cryptol.TypeCheck.Unify, + Cryptol.TypeCheck.PP, + Cryptol.TypeCheck.Solve, + Cryptol.TypeCheck.Default, + Cryptol.TypeCheck.SimpleSolver, + Cryptol.TypeCheck.TypeMap, + Cryptol.TypeCheck.TypeOf, + Cryptol.TypeCheck.Sanity, + Cryptol.TypeCheck.FFI, + Cryptol.TypeCheck.FFI.Error, + Cryptol.TypeCheck.FFI.FFIType, + Cryptol.TypeCheck.Module, + Cryptol.TypeCheck.ModuleInstance, + Cryptol.TypeCheck.ModuleBacktickInstance, + + Cryptol.TypeCheck.Solver.Types, + Cryptol.TypeCheck.Solver.SMT, + Cryptol.TypeCheck.Solver.InfNat, + Cryptol.TypeCheck.Solver.Class, + Cryptol.TypeCheck.Solver.Selector, + Cryptol.TypeCheck.Solver.Utils, + + Cryptol.TypeCheck.Solver.Numeric, + Cryptol.TypeCheck.Solver.Improve, + Cryptol.TypeCheck.Solver.Numeric.Fin, + Cryptol.TypeCheck.Solver.Numeric.Interval, + + Cryptol.Transform.MonoValues, + Cryptol.Transform.Specialize, + + Cryptol.IR.FreeVars, + Cryptol.IR.TraverseNames, + Cryptol.IR.Builder, + Cryptol.IR.Prove, + + Cryptol.Backend, + Cryptol.Backend.Arch, + Cryptol.Backend.Concrete, + + Cryptol.Backend.FloatHelpers, + Cryptol.Backend.Monad, + Cryptol.Backend.SeqMap, + Cryptol.Backend.SBV, + Cryptol.Backend.What4, + Cryptol.Backend.WordValue, + + Cryptol.Eval, + Cryptol.Eval.Concrete, + Cryptol.Eval.Env, + Cryptol.Eval.FFI, + Cryptol.Eval.FFI.ForeignSrc, + Cryptol.Eval.FFI.Error, + Cryptol.Eval.FFI.C, + Cryptol.Eval.FFI.Abstract, + Cryptol.Eval.FFI.Abstract.Call, + Cryptol.Eval.FFI.Abstract.Export, + Cryptol.Eval.FFI.Abstract.Import, + Cryptol.Eval.FFI.GenHeader, + Cryptol.Eval.Generic, + Cryptol.Eval.Prims, + Cryptol.Eval.Reference, + Cryptol.Eval.SBV, + Cryptol.Eval.Type, + Cryptol.Eval.Value, + Cryptol.Eval.What4, + + Cryptol.AES, + Cryptol.F2, + Cryptol.SHA, + Cryptol.PrimeEC, + + Cryptol.Testing.Random, + + Cryptol.Symbolic, + Cryptol.Symbolic.SBV, + Cryptol.Symbolic.What4, + + Cryptol.REPL.Command, + Cryptol.REPL.Help, + Cryptol.REPL.Browse, + Cryptol.REPL.Monad, + Cryptol.REPL.Trie, + + Cryptol.Project + Cryptol.Project.Config + Cryptol.Project.Monad + Cryptol.Project.Cache + Cryptol.Project.WildMatch + + Autogen-modules: Paths_cryptol + Other-modules: Cryptol.Parser.LexerUtils, + Cryptol.Parser.ParserUtils, + Cryptol.Prelude, + GHC.Num.Compat, + Paths_cryptol, + GitRev + + GHC-options: -Wall -fsimpl-tick-factor=140 -O2 + if impl(ghc >= 8.0.1) + ghc-options: -Wno-redundant-constraints + + if flag(relocatable) + cpp-options: -DRELOCATABLE + +-- The portions of the Cryptol REPL that are specific to the Cryptol executable. +-- We factor this out into a separate internal library because (1) it has some +-- dependencies (e.g., ansi-terminal and haskeline) that the Cryptol library +-- does not need to depend on, and (2) we want to be able to test this code in +-- the cryptol-api-tests test suite. +library cryptol-repl-internal + exposed-modules: REPL.Haskeline + REPL.Logo + Autogen-modules: Paths_cryptol + Other-modules: Paths_cryptol + hs-source-dirs: cryptol-repl-internal + default-language: Haskell2010 + GHC-options: -Wall -O2 + if os(linux) && flag(static) + ld-options: -static -pthread + ghc-options: -optl-fuse-ld=bfd + build-depends: ansi-terminal + , base >= 4.9 && < 5 + , base-compat + , containers + , cryptol + , directory + , filepath + , haskeline >= 0.7 && < 0.9 + , exceptions + , monad-control + , text + , transformers + +executable cryptol + Default-language: + Haskell2010 + Main-is: Main.hs + hs-source-dirs: cryptol + Other-modules: OptParser + build-depends: base >= 4.9 && < 5 + , base-compat + , cryptol + , cryptol-repl-internal + , directory + , filepath + GHC-options: -Wall -threaded -rtsopts "-with-rtsopts=-N1 -A64m" -O2 + if impl(ghc >= 8.0.1) + ghc-options: -Wno-redundant-constraints + + if os(linux) && flag(static) + ld-options: -static -pthread + ghc-options: -optl-fuse-ld=bfd + +executable cryptol-html + Default-language: + Haskell2010 + main-is: CryHtml.hs + hs-source-dirs: utils + build-depends: + base >= 4.9 && < 5, + text, + cryptol, + blaze-html + GHC-options: -Wall + + if os(linux) && flag(static) + ld-options: -static -pthread + ghc-options: -optl-fuse-ld=bfd + +executable check-exercises + Default-language: + Haskell2010 + Main-is: CheckExercises.hs + hs-source-dirs: cryptol + build-depends: ansi-terminal + , base >= 4.9 && < 5 + , containers + , directory + , extra + , filepath + , mtl + , optparse-applicative + , process + , temporary + , text + GHC-options: -Wall + +-- Test cases that require the use of the Cryptol API to test effectively. Most +-- other test cases should be added to the integration tests (which only require +-- the Cryptol executable and/or the REPL) under tests/. +test-suite cryptol-api-tests + type: exitcode-stdio-1.0 + main-is: Main.hs + hs-source-dirs: api-tests + default-language: Haskell2010 + GHC-options: -Wall -threaded -rtsopts "-with-rtsopts=-N1 -A64m" -O2 + if os(linux) && flag(static) + ld-options: -static -pthread + ghc-options: -optl-fuse-ld=bfd + build-depends: base >= 4.9 && < 5 + , cryptol + , cryptol-repl-internal + , haskeline + , tasty + , tasty-hunit + +benchmark cryptol-bench + type: exitcode-stdio-1.0 + main-is: Main.hs + hs-source-dirs: bench + default-language: Haskell2010 + GHC-options: -Wall -threaded -rtsopts "-with-rtsopts=-N1 -A64m" -O2 + if impl(ghc >= 8.0.1) + ghc-options: -Wno-redundant-constraints + if os(linux) && flag(static) + ld-options: -static -pthread + ghc-options: -optl-fuse-ld=bfd + build-depends: base >= 4.9 && < 5 + , criterion + , cryptol + , deepseq + , directory + , filepath + , sbv + , text