module Cabal.ReplOptions (
  Option(..)
, Argument(..)
, options
) where

import           Imports

data Option = Option {
  Option -> String
optionName :: String
, Option -> Maybe Char
optionShortName :: Maybe Char
, Option -> Argument
optionArgument :: Argument
, Option -> String
optionHelp :: String
} deriving (Option -> Option -> Bool
(Option -> Option -> Bool)
-> (Option -> Option -> Bool) -> Eq Option
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Option -> Option -> Bool
== :: Option -> Option -> Bool
$c/= :: Option -> Option -> Bool
/= :: Option -> Option -> Bool
Eq, Int -> Option -> ShowS
[Option] -> ShowS
Option -> String
(Int -> Option -> ShowS)
-> (Option -> String) -> ([Option] -> ShowS) -> Show Option
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Option -> ShowS
showsPrec :: Int -> Option -> ShowS
$cshow :: Option -> String
show :: Option -> String
$cshowList :: [Option] -> ShowS
showList :: [Option] -> ShowS
Show)

data Argument = Argument String | NoArgument | OptionalArgument String
  deriving (Argument -> Argument -> Bool
(Argument -> Argument -> Bool)
-> (Argument -> Argument -> Bool) -> Eq Argument
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Argument -> Argument -> Bool
== :: Argument -> Argument -> Bool
$c/= :: Argument -> Argument -> Bool
/= :: Argument -> Argument -> Bool
Eq, Int -> Argument -> ShowS
[Argument] -> ShowS
Argument -> String
(Int -> Argument -> ShowS)
-> (Argument -> String) -> ([Argument] -> ShowS) -> Show Argument
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Argument -> ShowS
showsPrec :: Int -> Argument -> ShowS
$cshow :: Argument -> String
show :: Argument -> String
$cshowList :: [Argument] -> ShowS
showList :: [Argument] -> ShowS
Show)

options :: [Option]
options :: [Option]
options = [
    String -> Maybe Char -> Argument -> String -> Option
Option String
"help" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'h') Argument
NoArgument String
"Show this help text"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"verbose" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'v') (String -> Argument
OptionalArgument String
"n") String
"Control verbosity (n is 0--3, default verbosity level is 1)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"builddir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"The directory where Cabal puts generated build files (default dist)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"ghc" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'g') Argument
NoArgument String
"compile with GHC"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"ghcjs" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"compile with GHCJS"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"uhc" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"compile with UHC"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haskell-suite" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"compile with a haskell-suite compiler"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"with-compiler" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'w') (String -> Argument
Argument String
"PATH") String
"give the path to a particular compiler"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"with-hc-pkg" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"give the path to the package tool"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"prefix" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"bake this prefix in preparation of installation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"bindir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for executables"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"libdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for libraries"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"libsubdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"subdirectory of libdir in which libs are installed"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"dynlibdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for dynamic libraries"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"libexecdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for program executables"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"libexecsubdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"subdirectory of libexecdir in which private executables are installed"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"datadir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for read-only data"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"datasubdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"subdirectory of datadir in which data files are installed"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"docdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for documentation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"htmldir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for HTML documentation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddockdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for haddock interfaces"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"sysconfdir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"installation directory for configuration files"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"program-prefix" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PREFIX") String
"prefix to be applied to installed executables"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"program-suffix" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"SUFFIX") String
"suffix to be applied to installed executables"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-library-vanilla" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Vanilla libraries"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-library-vanilla" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Vanilla libraries"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-library-profiling" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'p') Argument
NoArgument String
"Enable Library profiling"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-library-profiling" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Library profiling"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-shared" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Shared library"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-shared" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Shared library"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-static" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Static library"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-static" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Static library"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-executable-dynamic" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Executable dynamic linking"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-executable-dynamic" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Executable dynamic linking"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-executable-static" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Executable fully static linking"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-executable-static" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Executable fully static linking"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-profiling" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Executable and library profiling"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-profiling" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Executable and library profiling"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-executable-profiling" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Executable profiling (DEPRECATED)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-executable-profiling" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Executable profiling (DEPRECATED)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"profiling-detail" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"level") String
"Profiling detail level for executable and library (default, none, exported-functions, toplevel-functions, all-functions, late)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"library-profiling-detail" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"level") String
"Profiling detail level for libraries only."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-optimization" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'O') (String -> Argument
OptionalArgument String
"n") String
"Build with optimization (n is 0--2, default is 1)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-optimization" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Build without optimization"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-debug-info" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
OptionalArgument String
"n") String
"Emit debug info (n is 0--3, default is 0)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-debug-info" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Don't emit debug info"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-build-info" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable build information generation during project building"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-build-info" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable build information generation during project building"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-library-for-ghci" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable compile library for use with GHCi"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-library-for-ghci" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable compile library for use with GHCi"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-split-sections" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable compile library code such that unneeded definitions can be dropped from the final executable (GHC 7.8+)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-split-sections" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable compile library code such that unneeded definitions can be dropped from the final executable (GHC 7.8+)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-split-objs" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable split library into smaller objects to reduce binary sizes (GHC 6.6+)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-split-objs" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable split library into smaller objects to reduce binary sizes (GHC 6.6+)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-executable-stripping" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable strip executables upon installation to reduce binary sizes"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-executable-stripping" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable strip executables upon installation to reduce binary sizes"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-library-stripping" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable strip libraries upon installation to reduce binary sizes"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-library-stripping" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable strip libraries upon installation to reduce binary sizes"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"configure-option" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"OPT") String
"Extra option for configure"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"user" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable doing a per-user installation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"global" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable doing a per-user installation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"package-db" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DB") String
"Append the given package database to the list of package databases used (to satisfy dependencies and register into). May be a specific file, 'global' or 'user'. The initial list is ['global'], ['global', 'user'], or ['global', $sandbox], depending on context. Use 'clear' to reset the list to empty. See the user guide for details."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"flags" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'f') (String -> Argument
Argument String
"FLAGS") String
"Force values for the given flags in Cabal conditionals in the .cabal file. E.g., --flags=\"debug -usebytestrings\" forces the flag \"debug\" to true and \"usebytestrings\" to false."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"extra-include-dirs" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"A list of directories to search for header files"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-deterministic" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Try to be as deterministic as possible (used by the test suite)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-deterministic" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Try to be as deterministic as possible (used by the test suite)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"ipid" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"IPID") String
"Installed package ID to compile this package as"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"cid" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"CID") String
"Installed component ID to compile this component as"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"extra-lib-dirs" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"A list of directories to search for external libraries"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"extra-lib-dirs-static" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"A list of directories to search for external libraries when linking fully static executables"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"extra-framework-dirs" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"A list of directories to search for external frameworks (OS X only)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"extra-prog-path" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"A list of directories to search for required programs (in addition to the normal search locations)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"instantiate-with" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"NAME=MOD") String
"A mapping of signature names to concrete module instantiations."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-tests" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable dependency checking and compilation for test suites listed in the package description file."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-tests" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable dependency checking and compilation for test suites listed in the package description file."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-coverage" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable build package with Haskell Program Coverage. (GHC only)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-coverage" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable build package with Haskell Program Coverage. (GHC only)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-library-coverage" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable build package with Haskell Program Coverage. (GHC only) (DEPRECATED)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-library-coverage" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable build package with Haskell Program Coverage. (GHC only) (DEPRECATED)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-benchmarks" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable dependency checking and compilation for benchmarks listed in the package description file."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-benchmarks" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable dependency checking and compilation for benchmarks listed in the package description file."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-relocatable" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable building a package that is relocatable. (GHC only)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-relocatable" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable building a package that is relocatable. (GHC only)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-response-files" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"enable workaround for old versions of programs like \"ar\" that do not support @file arguments"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"allow-depending-on-private-libs" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Allow depending on private libraries. If set, the library visibility check MUST be done externally."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"coverage-for" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"UNITID") String
"A list of unit-ids of libraries to include in the Haskell Program Coverage report."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"cabal-lib-version" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"VERSION") String
"Select which version of the Cabal lib to use to build packages (useful for testing)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-append" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable appending the new config to the old config file"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-append" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable appending the new config to the old config file"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-backup" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable the backup of the config file before any alterations"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-backup" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable the backup of the config file before any alterations"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"constraint" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'c') (String -> Argument
Argument String
"CONSTRAINT") String
"Specify constraints on a package (version, installed/source, flags)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"preference" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"CONSTRAINT") String
"Specify preferences (soft constraints) on the version of a package"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"solver" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"SOLVER") String
"Select dependency solver to use (default: modular). Choices: modular."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"allow-older" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
OptionalArgument String
"DEPS") String
"Ignore lower bounds in all dependencies or DEPS"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"allow-newer" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
OptionalArgument String
"DEPS") String
"Ignore upper bounds in all dependencies or DEPS"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"write-ghc-environment-files" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"always|never|ghc8.4.4+") String
"Whether to create a .ghc.environment file after a successful build (v2-build only)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-documentation" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable building of documentation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-documentation" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable building of documentation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"doc-index-file" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"A central index of haddock API documentation (template cannot use $pkgid)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"dry-run" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Do not install anything, only print what would be installed."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"only-download" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Do not build anything, only fetch the packages."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"max-backjumps" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"NUM") String
"Maximum number of backjumps allowed while solving (default: 4000). Use a negative number to enable unlimited backtracking. Use 0 to disable backtracking completely."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"reorder-goals" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Try to reorder goals according to certain heuristics. Slows things down on average, but may make backtracking faster for some packages."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"count-conflicts" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Try to speed up solving by preferring goals that are involved in a lot of conflicts (default)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"fine-grained-conflicts" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Skip a version of a package if it does not resolve the conflicts encountered in the last version, as a solver optimization (default)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"minimize-conflict-set" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"When there is no solution, try to improve the error message by finding a minimal conflict set (default: false). May increase run time significantly."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"independent-goals" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Treat several goals on the command line as independent. If several goals depend on the same package, different versions can be chosen."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"prefer-oldest" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Prefer the oldest (instead of the latest) versions of packages available. Useful to determine lower bounds in the build-depends section."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"shadow-installed-packages" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"If multiple package instances of the same version are installed, treat all but one as shadowed."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"strong-flags" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Do not defer flag choices (this used to be the default in cabal-install <= 1.20)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"allow-boot-library-installs" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Allow cabal to install base, ghc-prim, integer-simple, integer-gmp, and template-haskell."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"reject-unconstrained-dependencies" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"none|all") String
"Require these packages to have constraints on them if they are to be selected (default: none)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"reinstall" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Install even if it means installing the same version again."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"avoid-reinstalls" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Do not select versions that would destructively overwrite installed packages."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"force-reinstalls" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Reinstall packages even if they will most likely break other installed packages."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"upgrade-dependencies" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Pick the latest version for all dependencies, rather than trying to pick an installed version."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"only-dependencies" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Install only the dependencies necessary to build the given packages"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"dependencies-only" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"A synonym for --only-dependencies"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"index-state" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"STATE") String
"Use source package index state as it existed at a previous time. Accepts unix-timestamps (e.g. '@1474732068'), ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or 'HEAD' (default: 'HEAD')."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"root-cmd" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"COMMAND") String
"(No longer supported, do not use.)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"build-summary" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"Save build summaries to file (name template can use $pkgid, $compiler, $os, $arch)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"build-log" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"remote-build-reporting" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"LEVEL") String
"Generate build reports to send to a remote server (none, anonymous or detailed)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"report-planning-failure" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Generate build reports when the dependency solver fails. This is used by the Hackage build bot."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-per-component" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable Per-component builds when possible"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-per-component" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable Per-component builds when possible"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"run-tests" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Run package test suites during installation."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"semaphore" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Use a semaphore so GHC can compile components in parallel"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"jobs" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'j') (String -> Argument
OptionalArgument String
"NUM") String
"Run NUM jobs simultaneously (or '$ncpus' if no NUM is given)."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"keep-going" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"After a build failure, continue to build other unaffected packages."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"offline" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Don't download packages from the Internet."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-hoogle" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Generate a hoogle database"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-html" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Generate HTML documentation (the default)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-html-location" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"URL") String
"Location of HTML documentation for pre-requisite packages"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-for-hackage" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Collection of flags to generate documentation suitable for upload to hackage"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-executables" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Run haddock for Executables targets"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-tests" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Run haddock for Test Suite targets"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-benchmarks" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Run haddock for Benchmark targets"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-all" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Run haddock for all targets"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-internal" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Run haddock for internal modules and include all symbols"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-css" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"Use PATH as the haddock stylesheet"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-hyperlink-source" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Hyperlink the documentation to the source code"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-quickjump" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Generate an index for interactive documentation navigation"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-hscolour-css" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"PATH") String
"Use PATH as the HsColour stylesheet"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-contents-location" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"URL") String
"Bake URL in as the location for the contents page"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-base-url" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"URL") String
"Base URL for static files."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-lib" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"location of Haddocks static / auxiliary files"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"haddock-output-dir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"Generate haddock documentation into this directory. This flag is provided as a technology preview and is subject to change in the next releases."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-log" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"Log all test suite results to file (name template can use $pkgid, $compiler, $os, $arch, $test-suite, $result)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-machine-log" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"Produce a machine-readable log file (name template can use $pkgid, $compiler, $os, $arch, $result)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-show-details" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"FILTER") String
"'always': always show results of individual test cases. 'never': never show results of individual test cases. 'failures': show results of failing test cases. 'streaming': show results of test cases in real time.'direct': send results of test cases in real time; no log file."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-keep-tix-files" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"keep .tix files for HPC between test runs"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-wrapper" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"FILE") String
"Run test through a wrapper."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-fail-when-no-test-suites" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Exit with failure when no test suites are found."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-options" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATES") String
"give extra options to test executables (name templates can use $pkgid, $compiler, $os, $arch, $test-suite)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"test-option" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"give extra option to test executables (no need to quote options containing spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"benchmark-options" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATES") String
"give extra options to benchmark executables (name templates can use $pkgid, $compiler, $os, $arch, $benchmark)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"benchmark-option" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"TEMPLATE") String
"give extra option to benchmark executables (no need to quote options containing spaces, name template can use $pkgid, $compiler, $os, $arch, $benchmark)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"project-dir" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"Set the path of the project directory"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"project-file" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"FILE") String
"Set the path of the cabal.project file (relative to the project directory when relative)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"ignore-project" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'z') Argument
NoArgument String
"Ignore local project configuration (unless --project-dir or --project-file is also set)"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"repl-no-load" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable loading of project modules at REPL startup."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"repl-options" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"FLAG") String
"Use the option(s) for the repl"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"repl-multi-file" Maybe Char
forall a. Maybe a
Nothing (String -> Argument
Argument String
"DIR") String
"Write repl options to this directory rather than starting repl mode"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"build-depends" (Char -> Maybe Char
forall a. a -> Maybe a
Just Char
'b') (String -> Argument
Argument String
"DEPENDENCIES") String
"Include additional packages in the environment presented to GHCi."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"no-transitive-deps" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Don't automatically include transitive dependencies of requested packages."
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"enable-multi-repl" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Enable multi-component repl sessions"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"disable-multi-repl" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Disable multi-component repl sessions"
  , String -> Maybe Char -> Argument -> String -> Option
Option String
"keep-temp-files" Maybe Char
forall a. Maybe a
Nothing Argument
NoArgument String
"Keep temporary files"
  ]