Provided by: cabal-install_3.0.0.0-3build1.1_amd64 bug

NAME

       cabal - a system for building and packaging Haskell libraries and programs

SYNOPSIS

       cabal command <arguments|[options]>...

       Where the commands are

       cabal list - List packages matching a search string.
       cabal info - Display detailed information about a particular package.
       cabal fetch - Downloads packages for later installation.
       cabal get - Download/Extract a package's source code (repository).
       cabal check - Check the package for common mistakes.
       cabal upload - Uploads source packages or documentation to Hackage.
       cabal report - Upload build reports to a remote server.
       cabal init - Create a new .cabal package file.
       cabal user-config - Display and update the user's global cabal configuration.
       cabal gen-bounds - Generate dependency bounds.
       cabal outdated - Check for outdated dependencies
       cabal hscolour - Generate HsColour colourised code, in HTML format.
       cabal configure - Add extra project configuration
       cabal new-configure - Add extra project configuration
       cabal v2-configure - Add extra project configuration
       cabal update - Updates list of known packages.
       cabal new-update - Updates list of known packages.
       cabal v2-update - Updates list of known packages.
       cabal build - Compile targets within the project.
       cabal new-build - Compile targets within the project.
       cabal v2-build - Compile targets within the project.
       cabal repl - Open an interactive session for the given component.
       cabal new-repl - Open an interactive session for the given component.
       cabal v2-repl - Open an interactive session for the given component.
       cabal freeze - Freeze dependencies.
       cabal new-freeze - Freeze dependencies.
       cabal v2-freeze - Freeze dependencies.
       cabal haddock - Build Haddock documentation
       cabal new-haddock - Build Haddock documentation
       cabal v2-haddock - Build Haddock documentation
       cabal install - Install packages.
       cabal new-install - Install packages.
       cabal v2-install - Install packages.
       cabal run - Run an executable.
       cabal new-run - Run an executable.
       cabal v2-run - Run an executable.
       cabal test - Run test-suites
       cabal new-test - Run test-suites
       cabal v2-test - Run test-suites
       cabal bench - Run benchmarks
       cabal new-bench - Run benchmarks
       cabal v2-bench - Run benchmarks
       cabal exec - Give a command access to the store.
       cabal new-exec - Give a command access to the store.
       cabal v2-exec - Give a command access to the store.
       cabal clean - Clean the package store and remove temporary files.
       cabal new-clean - Clean the package store and remove temporary files.
       cabal v2-clean - Clean the package store and remove temporary files.
       cabal sdist - Generate a source distribution file (.tar.gz).
       cabal new-sdist - Generate a source distribution file (.tar.gz).
       cabal v2-sdist - Generate a source distribution file (.tar.gz).
       cabal v1-configure - Prepare to build the package.
       cabal v1-update - Updates list of known packages.
       cabal v1-build - Compile all/specific components.
       cabal v1-repl - Open an interpreter session for the given component.
       cabal v1-freeze - Freeze dependencies.
       cabal v1-haddock - Generate Haddock HTML documentation.
       cabal v1-install - Install packages.
       cabal v1-run - Builds and runs an executable.
       cabal v1-test - Run all/specific tests in the test suite.
       cabal v1-bench - Run all/specific benchmarks.
       cabal v1-exec - Give a command access to the sandbox package repository.
       cabal v1-clean - Clean up after a build.
       cabal v1-sdist - Generate a source distribution file (.tar.gz).
       cabal v1-doctest - Run doctest tests.
       cabal v1-copy - Copy the files of all/specific components to install locations.
       cabal v1-register - Register this package with the compiler.
       cabal v1-reconfigure - Reconfigure the package if necessary.
       cabal v1-sandbox - Create/modify/delete a sandbox.

DESCRIPTION

       Cabal  is  the standard package system for Haskell software. It helps people to configure,
       build and install Haskell software  and  to  distribute  it  easily  to  other  users  and
       developers.

       The  command  line  cabal  tool  (also referred to as cabal-install) helps with installing
       existing packages and developing new packages.  It can be used to work with local packages
       or  to  install  packages from online package archives, including automatically installing
       dependencies. By default it is configured to  use  Hackage,  which  is  Haskell's  central
       package archive that contains thousands of libraries and applications in the Cabal package
       format.

OPTIONS

       Global options:

       -V, --version
              Print version information

       --numeric-version
              Print just the version number

       --config-file FILE
              Set an alternate location for the config file

       --sandbox-config-file FILE
              Set   an   alternate   location   for   the   sandbox   config    file    (default:
              './cabal.sandbox.config')

       --default-user-config FILE
              Set  a location for a cabal.config file for projects without their own cabal.config
              freeze file.

       --require-sandbox
       --no-require-sandbox
              requiring the presence of a sandbox for sandbox-aware commands

       --ignore-sandbox
              Ignore any existing sandbox

       --ignore-expiry
              Ignore expiry dates on signed metadata (use only in exceptional circumstances)

       --http-transport HttpTransport
              Set a transport for http(s) requests. Accepts  'curl',  'wget',  'powershell',  and
              'plain-http'. (default: 'curl')

       --enable-nix
       --disable-nix
              Nix integration: run commands through nix-shell if a 'shell.nix' file exists

       --remote-repo NAME:URL
              The name and url for a remote repository

       --remote-repo-cache DIR
              The location where downloads from all remote repos are cached

       --local-repo DIR
              The location of a local repository

       --logs-dir, --logsdir DIR
              The location to put log files

       --world-file FILE
              The location of the world file

       --store-dir, --storedir DIR
              The location of the nix-local-build store

COMMANDS

       cabal list

       Usage: cabal list [FLAGS]
          or: cabal list [FLAGS] STRINGS

       List all packages, or all packages matching one of the search strings.

       If there is a sandbox in the current directory and config:ignore-sandbox is False, use the
       sandbox package database. Otherwise, use the package database specified with --package-db.
       If not specified, use the user package database.

       Examples:
         cabal list pandoc
           Will find pandoc, pandoc-citeproc, pandoc-lens, ...

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --installed
                     Only print installed packages

              --simple-output
                     Print in a easy-to-parse format

              --package-db DB
                     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.

       cabal info

       Usage: cabal info [FLAGS] PACKAGES

       If there is a sandbox in the current directory and config:ignore-sandbox is False, use the
       sandbox package database. Otherwise, use the package database specified with --package-db.
       If not specified, use the user package database.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --package-db DB
                     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.

       cabal fetch

       Usage: cabal fetch [FLAGS] PACKAGES

       Note  that  it  currently  is  not possible to fetch the dependencies for a package in the
       current directory.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --dependencies, --deps
                     Resolve and fetch dependencies (default)

              --no-dependencies, --no-deps
                     Ignore dependencies

              --dry-run
                     Do not install anything, only print what would be installed.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

       cabal get

       Usage: cabal get [PACKAGES]

       Creates a local copy of a package's source code. By default it gets the source tarball and
       unpacks  it  in a local subdirectory. Alternatively, with -s it will get the code from the
       source repository specified by the package.

       Examples:
         cabal get hlint
           Download the latest stable version of hlint;
         cabal get lens --source-repository=head
           Download the source repository (i.e. git clone from github).

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              -d, --destdir PATH
                     Where to place the package source, defaults to the current directory.

              -s, --source-repository [[head|this|...]]
                     Copy the package's source repository  (ie  git  clone,  darcs  get,  etc  as
                     appropriate).

              --index-state STATE
                     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'). This determines which
                     package versions are available as well as .cabal file revision  is  selected
                     (unless --pristine is used).

              --pristine
                     Unpack  the  original pristine tarball, rather than updating the .cabal file
                     with the latest revision from the package archive.

       cabal check

       Usage: cabal check [FLAGS]

       Expects a .cabal package file in the current directory.

       The checks correspond to the requirements  to  packages  on  Hackage.  If  no  errors  and
       warnings are reported, Hackage will accept this package.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

       cabal upload

       Usage: cabal upload [FLAGS] TARFILES

       You can store your Hackage login in the ~/.cabal/config file Relevant global configuration
       keys:
         username
         password

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --publish
                     Publish the package instead of uploading it as a candidate.

              -d, --documentation
                     Upload documentation instead of a source package. By default,  this  uploads
                     documentation  for  a  package  candidate.  To  upload  documentation  for a
                     published package, combine with --publish.

              -u, --username USERNAME
                     Hackage username.

              -p, --password PASSWORD
                     Hackage password.

              -P, --password-command PASSWORD
                     Command to get Hackage password.

       cabal report

       Usage: cabal report [FLAGS]

       You can store your Hackage login in the ~/.cabal/config file

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              -u, --username USERNAME
                     Hackage username.

              -p, --password PASSWORD
                     Hackage password.

       cabal init

       Usage: cabal init [FLAGS]

       Create a .cabal, Setup.hs, and optionally a LICENSE file.

       Calling init with no  arguments  creates  an  executable,  guessing  as  many  options  as
       possible. The interactive mode can be invoked by the -i/--interactive flag, which will try
       to guess as much as possible and prompt you for the rest. You can change init to always be
       interactive  by  setting  the  interactive  flag  in your configuration file. Command-line
       arguments are provided for scripting purposes.

       Flags:
              -i, --interactive
              -n, --non-interactive
                     interactive mode.

              -q, --quiet
                     Do not generate log messages to stdout.

              --no-comments
                     Do not generate explanatory comments in the .cabal file.

              -m, --minimal
                     Generate a minimal .cabal file, that is, do not include extra empty  fields.
                     Also implies --no-comments.

              --overwrite
                     Overwrite any existing .cabal, LICENSE, or Setup.hs files without warning.

              --package-dir, --packagedir DIRECTORY
                     Root directory of the package (default = current directory).

              -p, --package-name PACKAGE
                     Name of the Cabal package to create.

              --version VERSION
                     Initial version of the package.

              --cabal-version VERSION_RANGE
                     Version of the Cabal specification.

              -l, --license LICENSE
                     Project license.

              -a, --author NAME
                     Name of the project's author.

              -e, --email EMAIL
                     Email address of the maintainer.

              -u, --homepage URL
                     Project homepage and/or repository.

              -s, --synopsis TEXT
                     Short project synopsis.

              -c, --category CATEGORY
                     Project category.

              -x, --extra-source-file FILE
                     Extra source file to be distributed with tarball.

              --lib, --is-library
                     Build a library.

              --exe, --is-executable
                     Build an executable.

              --libandexe, --is-libandexe
                     Build a library and an executable.

              --tests
                     Generate a test suite for the library.

              --test-dir DIR
                     Directory containing tests.

              --simple
                     Create a simple project with sensible defaults.

              --main-is FILE
                     Specify the main module.

              --language LANGUAGE
                     Specify the default language.

              -o, --expose-module MODULE
                     Export a module from the package.

              --extension EXTENSION
                     Use a LANGUAGE extension (in the other-extensions field).

              -d, --dependency PACKAGE
                     Package dependency.

              --application-dir DIR
                     Directory containing package application executable.

              --source-dir, --sourcedir DIR
                     Directory containing package library source.

              --build-tool TOOL
                     Required external build tool.

              -w, --with-compiler PATH
                     give the path to a particular compiler

              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

       cabal user-config

       Usage: cabal user-config init
          or: cabal user-config diff
          or: cabal user-config update

       When  upgrading  cabal, the set of configuration keys and their default values may change.
       This command provides means to merge the existing  config  in  ~/.cabal/config  (i.e.  all
       bindings  that  are  actually defined and not commented out) and the default config of the
       new version.

       init: Creates a new config file at either ~/.cabal/config or  as  specified  by  --config-
       file,  if  given.  An  existing  file  won't be overwritten unless -f or --force is given.
       diff: Shows a pseudo-diff of the user's ~/.cabal/config file and the default configuration
       that  would  be  created  by  cabal if the config file did not exist.  update: Applies the
       pseudo-diff to the configuration that would be created by default, and  write  the  result
       back to ~/.cabal/config.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              -f, --force
                     Overwrite the config file if it already exists.

              -a, --augment CONFIGLINE
                     Additional  setting to augment the config file (replacing a previous setting
                     if it existed).

       cabal gen-bounds

       Usage: cabal gen-bounds [FLAGS]

       Generates bounds for all dependencies that do not currently have them.   Generated  bounds
       are printed to stdout. You can then paste them into your

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

       cabal outdated

       Usage: cabal outdated [FLAGS]

       Checks for outdated dependencies in the package description file or freeze file

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --freeze-file, --v1-freeze-file
                     Act on the freeze file

              --v2-freeze-file, --new-freeze-file
                     Act on the new-style freeze file (default: cabal.project.freeze)

              --project-file PROJECTFILE
                     Act  on  the  new-style freeze file named PROJECTFILE.freeze rather than the
                     default cabal.project.freeze

              --simple-output
                     Only print names of outdated dependencies, one per line

              --exit-code
                     Exit with non-zero when there are outdated dependencies

              -q, --quiet
                     Don't print any output. Implies '--exit-code' and '-v0'

              --ignore PKGS
                     Packages to ignore

              --minor [PKGS]
                     Ignore major version bumps for these packages

       cabal hscolour

       Usage: cabal hscolour [FLAGS]

       Requires the hscolour program.

       Deprecated in favour of 'cabal haddock --hyperlink-source'.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --executables
                     Run hscolour for Executables targets

              --tests
                     Run hscolour for Test Suite targets

              --benchmarks
                     Run hscolour for Benchmark targets

              --foreign-libraries
                     Run hscolour for Foreign Library targets

              --all
                     Run hscolour for all targets

              --css PATH
                     Use a cascading style sheet

       cabal configure

       Usage: cabal configure [FLAGS]

       Adjust how the project is built by setting additional package flags and other flags.

       The configuration options are written to the 'cabal.project.local' file (or  configuration
       from  the  'cabal.project'  file  (if  any).  This  combination  is  used  as  the project
       configuration for all other commands (such as 'build',

       The configure command also checks that the project configuration will work.  In particular
       it checks that there is a consistent set of dependencies for the project as a whole.

       The  'cabal.project.local' file persists across 'clean' but is overwritten on the next use
       of the 'configure' command. The intention is that the

       It is never necessary to use the 'configure' command. It is merely a convenience in  cases
       where  you do not want to specify flags to 'build' (and other commands) every time and yet
       do not want to alter the 'cabal.project' persistently.

       Adjust how the project is built by setting additional package flags and other flags.

       The configuration options are written to the 'cabal.project.local' file (or  configuration
       from  the  'cabal.project'  file  (if  any).  This  combination  is  used  as  the project
       configuration for all other commands (such as 'build',

       The configure command also checks that the project configuration will work.  In particular
       it checks that there is a consistent set of dependencies for the project as a whole.

       The  'cabal.project.local' file persists across 'clean' but is overwritten on the next use
       of the 'configure' command. The intention is that the

       It is never necessary to use the 'configure' command. It is merely a convenience in  cases
       where  you do not want to specify flags to 'build' (and other commands) every time and yet
       do not want to alter the 'cabal.project' persistently.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-configure

       Usage: cabal new-configure [FLAGS]

       Adjust how the project is built by setting additional package flags and other flags.

       The configuration options are written to the 'cabal.project.local' file (or  configuration
       from  the  'cabal.project'  file  (if  any).  This  combination  is  used  as  the project
       configuration for all other commands (such as 'new-build',

       The new-configure command also checks  that  the  project  configuration  will  work.   In
       particular  it  checks that there is a consistent set of dependencies for the project as a
       whole.

       The 'cabal.project.local' file persists across 'new-clean' but is overwritten on the  next
       use of the 'new-configure' command. The intention is that the

       It  is  never  necessary to use the 'new-configure' command. It is merely a convenience in
       cases where you do not want to specify flags to 'new-build'  (and  other  commands)  every
       time and yet do not want to alter the 'cabal.project' persistently.

       Adjust how the project is built by setting additional package flags and other flags.

       The  configuration options are written to the 'cabal.project.local' file (or configuration
       from the  'cabal.project'  file  (if  any).  This  combination  is  used  as  the  project
       configuration for all other commands (such as 'new-build',

       The  new-configure  command  also  checks  that  the  project configuration will work.  In
       particular it checks that there is a consistent set of dependencies for the project  as  a
       whole.

       The  'cabal.project.local' file persists across 'new-clean' but is overwritten on the next
       use of the 'new-configure' command. The intention is that the

       It is never necessary to use the 'new-configure' command. It is merely  a  convenience  in
       cases  where  you  do  not want to specify flags to 'new-build' (and other commands) every
       time and yet do not want to alter the 'cabal.project' persistently.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-configure

       Usage: cabal v2-configure [FLAGS]

       Adjust how the project is built by setting additional package flags and other flags.

       The configuration options are written to the 'cabal.project.local' file (or  configuration
       from  the  'cabal.project'  file  (if  any).  This  combination  is  used  as  the project
       configuration for all other commands (such as 'v2-build',

       The v2-configure command also  checks  that  the  project  configuration  will  work.   In
       particular  it  checks that there is a consistent set of dependencies for the project as a
       whole.

       The 'cabal.project.local' file persists across 'v2-clean' but is overwritten on  the  next
       use of the 'v2-configure' command. The intention is that the

       It  is  never  necessary  to use the 'v2-configure' command. It is merely a convenience in
       cases where you do not want to specify flags to 'v2-build' (and other commands) every time
       and yet do not want to alter the 'cabal.project' persistently.

       Examples:
         cabal v2-configure --with-compiler ghc-7.10.3
           Adjust the project configuration to use the given compiler
           program and check the resulting configuration works.
         cabal v2-configure
           Reset the local configuration to empty and check the overall
           project configuration works.

       Note:  this  command is part of the new project-based system (aka nix-style local builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on what you can  expect  to  work.  If  you  encounter  problems  please  file  issues  at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal update

       Usage: cabal update [FLAGS] [REPOS]

       For all known remote repositories, download the package list.

       For all known remote repositories, download the package list.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-update

       Usage: cabal new-update [FLAGS] [REPOS]

       For all known remote repositories, download the package list.

       For all known remote repositories, download the package list.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-update

       Usage: cabal v2-update [FLAGS] [REPOS]

       For all known remote repositories, download the package list.

       REPO has the format <repo-id>[,<index-state>] where index-state follows  the  same  format
       and syntax that is supported by the --index-state flag.

       Examples:
         cabal v2-update
           Download the package list for all known remote repositories.

         cabal v2-update hackage.haskell.org,@1474732068
         cabal v2-update hackage.haskell.org,2016-09-24T17:47:48Z
         cabal v2-update hackage.haskell.org,HEAD
         cabal v2-update hackage.haskell.org
           Download hackage.haskell.org at a specific index state.

         cabal new update hackage.haskell.org head.hackage
           Download hackage.haskell.org and head.hackage
           head.hackage must be a known repo-id. E.g. from
           your cabal.project(.local) file.

       Note:  this  command is part of the new project-based system (aka nix-style local builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on what you can  expect  to  work.  If  you  encounter  problems  please  file  issues  at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal build

       Usage: cabal build [TARGETS] [FLAGS]

       Build one or more targets from within the project. The available targets are the  packages
       in  the  project  as  well  as  individual  components  within  those  packages, including
       libraries, executables, test-suites or benchmarks. Targets can be  specified  by  name  or
       location.  If  no  target  is  specified  then  the default is to build the package in the
       current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Build one or more targets from within the project. The available targets are the  packages
       in  the  project  as  well  as  individual  components  within  those  packages, including
       libraries, executables, test-suites or benchmarks. Targets can be  specified  by  name  or
       location.  If  no  target  is  specified  then  the default is to build the package in the
       current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --only-configure
              --no-only-configure
                     Instead of performing a full build just run the configure step

       cabal new-build

       Usage: cabal new-build [TARGETS] [FLAGS]

       Build one or more targets from within the project. The available targets are the  packages
       in  the  project  as  well  as  individual  components  within  those  packages, including
       libraries, executables, test-suites or benchmarks. Targets can be  specified  by  name  or
       location.  If  no  target  is  specified  then  the default is to build the package in the
       current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Build one or more targets from within the project. The available targets are the  packages
       in  the  project  as  well  as  individual  components  within  those  packages, including
       libraries, executables, test-suites or benchmarks. Targets can be  specified  by  name  or
       location.  If  no  target  is  specified  then  the default is to build the package in the
       current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --only-configure
              --no-only-configure
                     Instead of performing a full build just run the configure step

       cabal v2-build

       Usage: cabal v2-build [TARGETS] [FLAGS]

       Build one or more targets from within the project. The available targets are the  packages
       in  the  project  as  well  as  individual  components  within  those  packages, including
       libraries, executables, test-suites or benchmarks. Targets can be  specified  by  name  or
       location.  If  no  target  is  specified  then  the default is to build the package in the
       current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Examples:
         cabal v2-build
           Build the package in the current directory or all packages in the project
         cabal v2-build pkgname
           Build the package named pkgname in the project
         cabal v2-build ./pkgfoo
           Build the package in the ./pkgfoo directory
         cabal v2-build cname
           Build the component named cname in the project
         cabal v2-build cname --enable-profiling
           Build the component in profiling mode (including dependencies as needed)

       Note: this command is part of the new project-based system (aka nix-style  local  builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on  what  you  can  expect  to  work.  If  you  encounter  problems  please file issues at
       https://github.com/haskell/cabal/issues and if you have any time to get involved and  help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --only-configure
              --no-only-configure
                     Instead of performing a full build just run the configure step

       cabal repl

       Usage: cabal repl [TARGET] [FLAGS]

       Open  an interactive session for a component within the project. The available targets are
       the same as for the 'build' command: individual components within packages in the project,
       including  libraries,  executables,  test-suites  or  benchmarks.  Packages  can  also  be
       specified in which case the library component in the package will be used, or  the  (first
       listed) executable in the package if there is no library.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Open  an interactive session for a component within the project. The available targets are
       the same as for the 'build' command: individual components within packages in the project,
       including  libraries,  executables,  test-suites  or  benchmarks.  Packages  can  also  be
       specified in which case the library component in the package will be used, or  the  (first
       listed) executable in the package if there is no library.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --repl-options FLAG
                     use this option for the repl

              -b, --build-depends DEPENDENCY
                     Include an additional package in the environment presented to GHCi.

              --no-transitive-deps
                     Don't automatically include transitive dependencies of requested packages.

              -z, --ignore-project
                     Only include explicitly specified packages (and 'base').

       cabal new-repl

       Usage: cabal new-repl [TARGET] [FLAGS]

       Open  an interactive session for a component within the project. The available targets are
       the same as for the 'new-build' command: individual  components  within  packages  in  the
       project, including libraries, executables, test-suites or benchmarks. Packages can also be
       specified in which case the library component in the package will be used, or  the  (first
       listed) executable in the package if there is no library.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Open  an interactive session for a component within the project. The available targets are
       the same as for the 'new-build' command: individual  components  within  packages  in  the
       project, including libraries, executables, test-suites or benchmarks. Packages can also be
       specified in which case the library component in the package will be used, or  the  (first
       listed) executable in the package if there is no library.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --repl-options FLAG
                     use this option for the repl

              -b, --build-depends DEPENDENCY
                     Include an additional package in the environment presented to GHCi.

              --no-transitive-deps
                     Don't automatically include transitive dependencies of requested packages.

              -z, --ignore-project
                     Only include explicitly specified packages (and 'base').

       cabal v2-repl

       Usage: cabal v2-repl [TARGET] [FLAGS]

       Open  an interactive session for a component within the project. The available targets are
       the same as for the 'v2-build' command:  individual  components  within  packages  in  the
       project, including libraries, executables, test-suites or benchmarks. Packages can also be
       specified in which case the library component in the package will be used, or  the  (first
       listed) executable in the package if there is no library.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Examples, open an interactive session:
         cabal v2-repl
           for the default component in the package in the current directory
         cabal v2-repl pkgname
           for the default component in the package named 'pkgname'
         cabal v2-repl ./pkgfoo
           for the default component in the package in the ./pkgfoo directory
         cabal v2-repl cname
           for the component named 'cname'
         cabal v2-repl pkgname:cname
           for the component 'cname' in the package 'pkgname'

         cabal v2-repl --build-depends lens
           add  the  latest  version  of  the  library  'lens'  to  the  default component (or no
       componentif there is no project present)
         cabal v2-repl --build-depends "lens >= 4.15 && < 4.18"
           add a version (constrained between 4.15 and 4.18) of the library 'lens' to the default
       component  (or  no component if there is no project present) Note: this command is part of
       the new project-based system (aka nix-style local builds). These features are currently in
       beta.  Please  see http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
       details and advice on what you can expect to work. If you encounter problems  please  file
       issues at https://github.com/haskell/cabal/issues and if you have any time to get involved
       and help with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --repl-options FLAG
                     use this option for the repl

              -b, --build-depends DEPENDENCY
                     Include an additional package in the environment presented to GHCi.

              --no-transitive-deps
                     Don't automatically include transitive dependencies of requested packages.

              -z, --ignore-project
                     Only include explicitly specified packages (and 'base').

       cabal freeze

       Usage: cabal freeze [FLAGS]

       The project configuration is frozen so that it will be reproducible in future.

       The precise dependency configuration for the project is written to  the  specified).  This
       file  extends  the  configuration  from  the  'cabal.project' file and thus is used as the
       project configuration for all other commands (such as

       The freeze file can be kept in source control. To make small adjustments it may be  edited
       manually,  or  to  make  bigger changes you may wish to delete the file and re-freeze. For
       more control, one approach is to  try  variations  using  once  you  have  a  satisfactory
       solution to freeze it using the 'freeze' command with the same set of flags.

       The project configuration is frozen so that it will be reproducible in future.

       The  precise  dependency  configuration for the project is written to the specified). This
       file extends the configuration from the 'cabal.project' file  and  thus  is  used  as  the
       project configuration for all other commands (such as

       The  freeze file can be kept in source control. To make small adjustments it may be edited
       manually, or to make bigger changes you may wish to delete the  file  and  re-freeze.  For
       more  control,  one  approach  is  to  try  variations  using once you have a satisfactory
       solution to freeze it using the 'freeze' command with the same set of flags.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-freeze

       Usage: cabal new-freeze [FLAGS]

       The project configuration is frozen so that it will be reproducible in future.

       The precise dependency configuration for the project is written to  the  specified).  This
       file  extends  the  configuration  from  the  'cabal.project' file and thus is used as the
       project configuration for all other commands (such as

       The freeze file can be kept in source control. To make small adjustments it may be  edited
       manually,  or  to  make  bigger changes you may wish to delete the file and re-freeze. For
       more control, one approach is to  try  variations  using  once  you  have  a  satisfactory
       solution to freeze it using the 'new-freeze' command with the same set of flags.

       The project configuration is frozen so that it will be reproducible in future.

       The  precise  dependency  configuration for the project is written to the specified). This
       file extends the configuration from the 'cabal.project' file  and  thus  is  used  as  the
       project configuration for all other commands (such as

       The  freeze file can be kept in source control. To make small adjustments it may be edited
       manually, or to make bigger changes you may wish to delete the  file  and  re-freeze.  For
       more  control,  one  approach  is  to  try  variations  using once you have a satisfactory
       solution to freeze it using the 'new-freeze' command with the same set of flags.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-freeze

       Usage: cabal v2-freeze [FLAGS]

       The project configuration is frozen so that it will be reproducible in future.

       The precise dependency configuration for the project is written to  the  specified).  This
       file  extends  the  configuration  from  the  'cabal.project' file and thus is used as the
       project configuration for all other commands (such as

       The freeze file can be kept in source control. To make small adjustments it may be  edited
       manually,  or  to  make  bigger changes you may wish to delete the file and re-freeze. For
       more control, one approach is to  try  variations  using  once  you  have  a  satisfactory
       solution to freeze it using the 'v2-freeze' command with the same set of flags.

       Examples:
         cabal v2-freeze
           Freeze the configuration of the current project

         cabal v2-build --dry-run --constraint="aeson < 1"
           Check what a solution with the given constraints would look like
         cabal v2-freeze --constraint="aeson < 1"
           Freeze a solution using the given constraints

       Note:  this  command is part of the new project-based system (aka nix-style local builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on what you can  expect  to  work.  If  you  encounter  problems  please  file  issues  at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal haddock

       Usage: cabal haddock [FLAGS] TARGET

       Build Haddock documentation for the specified packages within the project.

       Any package in the project can be specified. If no package is specified, the default is to
       build the documentation for the package in the current directory. The default behaviour is
       to build documentation for the exposed modules of the library component (if any). This can
       be changed with the

       Currently,  documentation  for  dependencies  is  NOT  built.  This behavior may change in
       future.

       Additional configuration flags can be specified on the command line and these  extend  the
       project configuration from the 'cabal.project',

       Build Haddock documentation for the specified packages within the project.

       Any package in the project can be specified. If no package is specified, the default is to
       build the documentation for the package in the current directory. The default behaviour is
       to build documentation for the exposed modules of the library component (if any). This can
       be changed with the

       Currently, documentation for dependencies is  NOT  built.  This  behavior  may  change  in
       future.

       Additional  configuration  flags can be specified on the command line and these extend the
       project configuration from the 'cabal.project',

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-haddock

       Usage: cabal new-haddock [FLAGS] TARGET

       Build Haddock documentation for the specified packages within the project.

       Any package in the project can be specified. If no package is specified, the default is to
       build the documentation for the package in the current directory. The default behaviour is
       to build documentation for the exposed modules of the library component (if any). This can
       be changed with the

       Currently,  documentation  for  dependencies  is  NOT  built.  This behavior may change in
       future.

       Additional configuration flags can be specified on the command line and these  extend  the
       project configuration from the 'cabal.project',

       Build Haddock documentation for the specified packages within the project.

       Any package in the project can be specified. If no package is specified, the default is to
       build the documentation for the package in the current directory. The default behaviour is
       to build documentation for the exposed modules of the library component (if any). This can
       be changed with the

       Currently, documentation for dependencies is  NOT  built.  This  behavior  may  change  in
       future.

       Additional  configuration  flags can be specified on the command line and these extend the
       project configuration from the 'cabal.project',

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-haddock

       Usage: cabal v2-haddock [FLAGS] TARGET

       Build Haddock documentation for the specified packages within the project.

       Any package in the project can be specified. If no package is specified, the default is to
       build the documentation for the package in the current directory. The default behaviour is
       to build documentation for the exposed modules of the library component (if any). This can
       be changed with the

       Currently,  documentation  for  dependencies  is  NOT  built.  This behavior may change in
       future.

       Additional configuration flags can be specified on the command line and these  extend  the
       project configuration from the 'cabal.project',

       Examples:
         cabal v2-haddock pkgname    Build documentation for the package named pkgname

       Note:  this  command is part of the new project-based system (aka nix-style local builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on what you can  expect  to  work.  If  you  encounter  problems  please  file  issues  at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal install

       Usage: cabal install [TARGETS] [FLAGS]

       Installs one or more  packages.  This  is  done  by  installing  them  in  the  store  and
       symlinking/copying  the  executables  in  the directory specified by the --installdir flag
       (`~/.cabal/bin/` by default). If you  want  the  installed  executables  to  be  available
       globally, make sure that the PATH environment variable contains that directory.

       If TARGET is a library, it will be added to the global environment. When doing this, cabal
       will try to build a plan that includes all the previously  installed  libraries.  This  is
       currently not implemented.

       Installs  one  or  more  packages.  This  is  done  by  installing  them  in the store and
       symlinking/copying the executables in the directory specified  by  the  --installdir  flag
       (`~/.cabal/bin/`  by  default).  If  you  want  the  installed executables to be available
       globally, make sure that the PATH environment variable contains that directory.

       If TARGET is a library, it will be added to the global environment. When doing this, cabal
       will  try  to  build  a plan that includes all the previously installed libraries. This is
       currently not implemented.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --lib
                     Install libraries rather than executables from the target package.

              --package-env, --env ENV
                     Set the environment file that may be modified.

              --overwrite-policy always|never
                     How to handle already existing symlinks.

              --install-method copy|symlink
                     How to install the executables.

              --installdir DIR
                     Where to install (by symlinking or copying) the executables in.

       cabal new-install

       Usage: cabal new-install [TARGETS] [FLAGS]

       Installs one or more  packages.  This  is  done  by  installing  them  in  the  store  and
       symlinking/copying  the  executables  in  the directory specified by the --installdir flag
       (`~/.cabal/bin/` by default). If you  want  the  installed  executables  to  be  available
       globally, make sure that the PATH environment variable contains that directory.

       If TARGET is a library, it will be added to the global environment. When doing this, cabal
       will try to build a plan that includes all the previously  installed  libraries.  This  is
       currently not implemented.

       Installs  one  or  more  packages.  This  is  done  by  installing  them  in the store and
       symlinking/copying the executables in the directory specified  by  the  --installdir  flag
       (`~/.cabal/bin/`  by  default).  If  you  want  the  installed executables to be available
       globally, make sure that the PATH environment variable contains that directory.

       If TARGET is a library, it will be added to the global environment. When doing this, cabal
       will  try  to  build  a plan that includes all the previously installed libraries. This is
       currently not implemented.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --lib
                     Install libraries rather than executables from the target package.

              --package-env, --env ENV
                     Set the environment file that may be modified.

              --overwrite-policy always|never
                     How to handle already existing symlinks.

              --install-method copy|symlink
                     How to install the executables.

              --installdir DIR
                     Where to install (by symlinking or copying) the executables in.

       cabal v2-install

       Usage: cabal v2-install [TARGETS] [FLAGS]

       Installs one or more  packages.  This  is  done  by  installing  them  in  the  store  and
       symlinking/copying  the  executables  in  the directory specified by the --installdir flag
       (`~/.cabal/bin/` by default). If you  want  the  installed  executables  to  be  available
       globally, make sure that the PATH environment variable contains that directory.

       If TARGET is a library, it will be added to the global environment. When doing this, cabal
       will try to build a plan that includes all the previously  installed  libraries.  This  is
       currently not implemented.

       Examples:
         cabal v2-install
           Install the package in the current directory
         cabal v2-install pkgname
           Install the package named pkgname (fetching it from hackage if necessary)
         cabal v2-install ./pkgfoo
           Install  the  package  in the ./pkgfoo directory Note: this command is part of the new
       project-based system (aka nix-style local builds). These features are currently  in  beta.
       Please see http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details
       and advice on what you can expect to work. If you encounter problems please file issues at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              --lib
                     Install libraries rather than executables from the target package.

              --package-env, --env ENV
                     Set the environment file that may be modified.

              --overwrite-policy always|never
                     How to handle already existing symlinks.

              --install-method copy|symlink
                     How to install the executables.

              --installdir DIR
                     Where to install (by symlinking or copying) the executables in.

       cabal run

       Usage: cabal run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]

       Runs the specified executable-like component (an executable,  a  test,  or  a  benchmark),
       first ensuring it is up to date.

       Any  executable-like  component in any package in the project can be specified.  A package
       can be specified if contains just one executable-like. The default is to use  the  package
       in the current directory if it contains just one executable-like.

       Extra  arguments  can be passed to the program, but use '--' to separate arguments for the
       program from arguments for cabal. The executable is run in an  environment  where  it  can
       find its data files inplace in the build tree.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Runs  the  specified  executable-like  component  (an executable, a test, or a benchmark),
       first ensuring it is up to date.

       Any executable-like component in any package in the project can be specified.   A  package
       can  be  specified if contains just one executable-like. The default is to use the package
       in the current directory if it contains just one executable-like.

       Extra arguments can be passed to the program, but use '--' to separate arguments  for  the
       program  from  arguments  for  cabal. The executable is run in an environment where it can
       find its data files inplace in the build tree.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-run

       Usage: cabal new-run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]

       Runs the specified executable-like component (an executable,  a  test,  or  a  benchmark),
       first ensuring it is up to date.

       Any  executable-like  component in any package in the project can be specified.  A package
       can be specified if contains just one executable-like. The default is to use  the  package
       in the current directory if it contains just one executable-like.

       Extra  arguments  can be passed to the program, but use '--' to separate arguments for the
       program from arguments for cabal. The executable is run in an  environment  where  it  can
       find its data files inplace in the build tree.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Runs  the  specified  executable-like  component  (an executable, a test, or a benchmark),
       first ensuring it is up to date.

       Any executable-like component in any package in the project can be specified.   A  package
       can  be  specified if contains just one executable-like. The default is to use the package
       in the current directory if it contains just one executable-like.

       Extra arguments can be passed to the program, but use '--' to separate arguments  for  the
       program  from  arguments  for  cabal. The executable is run in an environment where it can
       find its data files inplace in the build tree.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-run

       Usage: cabal v2-run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]

       Runs the specified executable-like component (an executable,  a  test,  or  a  benchmark),
       first ensuring it is up to date.

       Any  executable-like  component in any package in the project can be specified.  A package
       can be specified if contains just one executable-like. The default is to use  the  package
       in the current directory if it contains just one executable-like.

       Extra  arguments  can be passed to the program, but use '--' to separate arguments for the
       program from arguments for cabal. The executable is run in an  environment  where  it  can
       find its data files inplace in the build tree.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Examples:
         cabal v2-run
           Run the executable-like in the package in the current directory
         cabal v2-run foo-tool
           Run the named executable-like (in any package in the project)
         cabal v2-run pkgfoo:foo-tool
           Run the executable-like 'foo-tool' in the package 'pkgfoo'
         cabal v2-run foo -O2 -- dothing --fooflag
           Build with '-O2' and run the program, passing it extra arguments.

       Note:  this  command is part of the new project-based system (aka nix-style local builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on what you can  expect  to  work.  If  you  encounter  problems  please  file  issues  at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal test

       Usage: cabal test [TARGETS] [FLAGS]

       Runs the specified test-suites, first ensuring they are up to date.

       Any test-suite in any package in the project can be specified. A package can be  specified
       in  which  case  all the test-suites in the package are run. The default is to run all the
       test-suites in the package in the current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       To pass command-line arguments to a test suite, see the run command.

       Runs the specified test-suites, first ensuring they are up to date.

       Any test-suite in any package in the project can be specified. A package can be  specified
       in  which  case  all the test-suites in the package are run. The default is to run all the
       test-suites in the package in the current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       To pass command-line arguments to a test suite, see the run command.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-test

       Usage: cabal new-test [TARGETS] [FLAGS]

       Runs the specified test-suites, first ensuring they are up to date.

       Any test-suite in any package in the project can be specified. A package can be  specified
       in  which  case  all the test-suites in the package are run. The default is to run all the
       test-suites in the package in the current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       To pass command-line arguments to a test suite, see the new-run command.

       Runs the specified test-suites, first ensuring they are up to date.

       Any test-suite in any package in the project can be specified. A package can be  specified
       in  which  case  all the test-suites in the package are run. The default is to run all the
       test-suites in the package in the current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       To pass command-line arguments to a test suite, see the new-run command.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-test

       Usage: cabal v2-test [TARGETS] [FLAGS]

       Runs the specified test-suites, first ensuring they are up to date.

       Any test-suite in any package in the project can be specified. A package can be  specified
       in  which  case  all the test-suites in the package are run. The default is to run all the
       test-suites in the package in the current directory.

       Dependencies are built or rebuilt as necessary.  Additional  configuration  flags  can  be
       specified  on  the  command  line  and  these  extend  the  project configuration from the
       'cabal.project', 'cabal.project.local' and other files.

       To pass command-line arguments to a test suite, see the v2-run command.

       Examples:
         cabal v2-test
           Run all the test-suites in the package in the current directory
         cabal v2-test pkgname
           Run all the test-suites in the package named pkgname
         cabal v2-test cname
           Run the test-suite named cname
         cabal v2-test cname --enable-coverage
           Run the test-suite built with code coverage (including local libs used)

       Note: this command is part of the new project-based system (aka nix-style  local  builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on  what  you  can  expect  to  work.  If  you  encounter  problems  please file issues at
       https://github.com/haskell/cabal/issues and if you have any time to get involved and  help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal bench

       Usage: cabal bench [TARGETS] [FLAGS]

       Runs the specified benchmarks, first ensuring they are up to date.

       Any  benchmark  in any package in the project can be specified. A package can be specified
       in which case all the benchmarks in the package are run. The default is  to  run  all  the
       benchmarks in the package in the current directory.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Runs the specified benchmarks, first ensuring they are up to date.

       Any  benchmark  in any package in the project can be specified. A package can be specified
       in which case all the benchmarks in the package are run. The default is  to  run  all  the
       benchmarks in the package in the current directory.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-bench

       Usage: cabal new-bench [TARGETS] [FLAGS]

       Runs the specified benchmarks, first ensuring they are up to date.

       Any  benchmark  in any package in the project can be specified. A package can be specified
       in which case all the benchmarks in the package are run. The default is  to  run  all  the
       benchmarks in the package in the current directory.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Runs the specified benchmarks, first ensuring they are up to date.

       Any  benchmark  in any package in the project can be specified. A package can be specified
       in which case all the benchmarks in the package are run. The default is  to  run  all  the
       benchmarks in the package in the current directory.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-bench

       Usage: cabal v2-bench [TARGETS] [FLAGS]

       Runs the specified benchmarks, first ensuring they are up to date.

       Any  benchmark  in any package in the project can be specified. A package can be specified
       in which case all the benchmarks in the package are run. The default is  to  run  all  the
       benchmarks in the package in the current directory.

       Dependencies  are  built  or  rebuilt  as necessary. Additional configuration flags can be
       specified on the command  line  and  these  extend  the  project  configuration  from  the
       'cabal.project', 'cabal.project.local' and other files.

       Examples:
         cabal v2-bench
           Run all the benchmarks in the package in the current directory
         cabal v2-bench pkgname
           Run all the benchmarks in the package named pkgname
         cabal v2-bench cname
           Run the benchmark named cname
         cabal v2-bench cname -O2
           Run the benchmark built with '-O2' (including local libs used)

       Note:  this  command is part of the new project-based system (aka nix-style local builds).
       These       features       are       currently       in       beta.       Please       see
       http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for details and advice
       on what you can  expect  to  work.  If  you  encounter  problems  please  file  issues  at
       https://github.com/haskell/cabal/issues  and if you have any time to get involved and help
       with testing, fixing bugs etc then that is very much appreciated.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal exec

       Usage: cabal exec [FLAGS] [--] COMMAND [--] [ARGS]

       During development it is often useful to run  build  tasks  and  perform  one-off  program
       executions  to  experiment with the behavior of build tools. It is convenient to run these
       tools in the same way cabal itself would. The `cabal exec` command provides a  way  to  do
       so.

       Compiler  tools  will  be configured to see the same subset of the store that builds would
       see. The PATH is modified to  make  all  executables  in  the  dependency  tree  available
       (provided  they  have  been  built  already). Commands are also rewritten in the way cabal
       itself would. For example, `cabal exec ghc` will consult the configuration  to  choose  an
       appropriate version of ghc and to include any ghc-specific flags requested.

       During  development  it  is  often  useful  to run build tasks and perform one-off program
       executions to experiment with the behavior of build tools. It is convenient to  run  these
       tools  in  the  same way cabal itself would. The `cabal exec` command provides a way to do
       so.

       Compiler tools will be configured to see the same subset of the store  that  builds  would
       see.  The  PATH  is  modified  to  make  all  executables in the dependency tree available
       (provided they have been built already). Commands are also  rewritten  in  the  way  cabal
       itself  would.  For  example, `cabal exec ghc` will consult the configuration to choose an
       appropriate version of ghc and to include any ghc-specific flags requested.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal new-exec

       Usage: cabal new-exec [FLAGS] [--] COMMAND [--] [ARGS]

       During development it is often useful to run  build  tasks  and  perform  one-off  program
       executions  to  experiment with the behavior of build tools. It is convenient to run these
       tools in the same way cabal itself would. The `cabal new-exec` command provides a  way  to
       do so.

       Compiler  tools  will  be configured to see the same subset of the store that builds would
       see. The PATH is modified to  make  all  executables  in  the  dependency  tree  available
       (provided  they  have  been  built  already). Commands are also rewritten in the way cabal
       itself would. For example, `cabal new-exec ghc` will consult the configuration  to  choose
       an appropriate version of ghc and to include any ghc-specific flags requested.

       During  development  it  is  often  useful  to run build tasks and perform one-off program
       executions to experiment with the behavior of build tools. It is convenient to  run  these
       tools  in  the same way cabal itself would. The `cabal new-exec` command provides a way to
       do so.

       Compiler tools will be configured to see the same subset of the store  that  builds  would
       see.  The  PATH  is  modified  to  make  all  executables in the dependency tree available
       (provided they have been built already). Commands are also  rewritten  in  the  way  cabal
       itself  would.  For example, `cabal new-exec ghc` will consult the configuration to choose
       an appropriate version of ghc and to include any ghc-specific flags requested.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v2-exec

       Usage: cabal v2-exec [FLAGS] [--] COMMAND [--] [ARGS]

       During development it is often useful to run  build  tasks  and  perform  one-off  program
       executions  to  experiment with the behavior of build tools. It is convenient to run these
       tools in the same way cabal itself would. The `cabal v2-exec` command provides a way to do
       so.

       Compiler  tools  will  be configured to see the same subset of the store that builds would
       see. The PATH is modified to  make  all  executables  in  the  dependency  tree  available
       (provided  they  have  been  built  already). Commands are also rewritten in the way cabal
       itself would. For example, `cabal v2-exec ghc` will consult the configuration to choose an
       appropriate version of ghc and to include any ghc-specific flags requested.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum number of backjumps allowed while solving  (default:  4000).  Use  a
                     negative   number  to  enable  unlimited  backtracking.  Use  0  to  disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try to reorder goals according to certain heuristics. Slows things  down  on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try  to  speed  up solving by preferring goals that are involved in a lot of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When there is no solution, try to improve the error  message  by  finding  a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat  several  goals  on  the command line as independent. If several goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If multiple package instances of the same version are installed,  treat  all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do  not  defer flag choices (this used to be the default in cabal-install <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow cabal to install  base,  ghc-prim,  integer-simple,  integer-gmp,  and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require  these  packages  to  have  constraints  on  them  if they are to be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do  not  select  versions  that  would  destructively  overwrite   installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall  packages  even  if  they  will  most likely break other installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick the latest version for all dependencies, rather than trying to pick  an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save  build summaries to file (name template can use $pkgid, $compiler, $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate build reports to send  to  a  remote  server  (none,  anonymous  or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal clean

       Usage: cabal new-clean [FLAGS]

       Removes  all  temporary  files  created during the building process (.hi, .o, preprocessed
       sources, etc.) and also empties out the local caches (by default).

       Removes all temporary files created during the building  process  (.hi,  .o,  preprocessed
       sources, etc.) and also empties out the local caches (by default).

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              -s, --save-config
                     Save configuration, only remove build artifacts

       cabal new-clean

       Usage: cabal new-clean [FLAGS]

       Removes  all  temporary  files  created during the building process (.hi, .o, preprocessed
       sources, etc.) and also empties out the local caches (by default).

       Removes all temporary files created during the building  process  (.hi,  .o,  preprocessed
       sources, etc.) and also empties out the local caches (by default).

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              -s, --save-config
                     Save configuration, only remove build artifacts

       cabal v2-clean

       Usage: cabal new-clean [FLAGS]

       Removes  all  temporary  files  created during the building process (.hi, .o, preprocessed
       sources, etc.) and also empties out the local caches (by default).

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              -s, --save-config
                     Save configuration, only remove build artifacts

       cabal sdist

       Usage: cabal sdist [FLAGS] [PACKAGES]

       Generates tarballs of project packages suitable for upload to Hackage.

       Generates tarballs of project packages suitable for upload to Hackage.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              -l, --list-only
                     Just list the sources, do not make a tarball

              -z, --null-sep
                     Separate the source files with NUL bytes rather than newlines.

              -o, --output-dir, --outputdir PATH
                     Choose the output directory of this command. '-' sends all output to stdout

       cabal new-sdist

       Usage: cabal new-sdist [FLAGS] [PACKAGES]

       Generates tarballs of project packages suitable for upload to Hackage.

       Generates tarballs of project packages suitable for upload to Hackage.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              -l, --list-only
                     Just list the sources, do not make a tarball

              -z, --null-sep
                     Separate the source files with NUL bytes rather than newlines.

              -o, --output-dir, --outputdir PATH
                     Choose the output directory of this command. '-' sends all output to stdout

       cabal v2-sdist

       Usage: cabal v2-sdist [FLAGS] [PACKAGES]

       Generates tarballs of project packages suitable for upload to Hackage.

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              -l, --list-only
                     Just list the sources, do not make a tarball

              -z, --null-sep
                     Separate the source files with NUL bytes rather than newlines.

              -o, --output-dir, --outputdir PATH
                     Choose the output directory of this command. '-' sends all output to stdout

       cabal v1-configure

       Usage: cabal v1-configure [FLAGS]

       Configure how the package is built by setting package (and other) flags.

       The configuration affects several other commands, including v1-build,  v1-test,  v1-bench,
       v1-run, v1-repl.

       The flags --with-PROG and --PROG-option(s) can be used with the following programs:
         alex ar c2hs cpphs doctest gcc ghc ghc-pkg ghcjs ghcjs-pkg greencard haddock
         happy haskell-suite haskell-suite-pkg hmake hpc hsc2hs hscolour jhc ld
         pkg-config runghc strip tar uhc

       Examples:
         cabal v1-configure
           Configure with defaults;
         cabal v1-configure --enable-tests -fcustomflag
           Configure building package including tests,
           with some package-specific flag.

       The v1-configure command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

       cabal v1-update

       Usage: cabal v1-update [FLAGS]

       For all known remote repositories, download the package list.

       Relevant global configuration keys:
         remote-repo
         remote-repo-cache
         local-repo

       The v1-update command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --index-state STATE
                     Update the source package index to its 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').

       cabal v1-build

       Usage: cabal v1-build [FLAGS]
          or: cabal v1-build COMPONENTS [FLAGS]

       Components encompass executables, tests, and benchmarks.

       Affected by configuration options, see `v1-configure`.

       Examples:
         cabal v1-build               All the components in the package
         cabal v1-build foo           A component (i.e. lib, exe, test suite)

       The flags --with-PROG and --PROG-option(s) can be used with the following programs:
         alex ar c2hs cpphs doctest gcc ghc ghc-pkg ghcjs ghcjs-pkg greencard haddock
         happy haskell-suite haskell-suite-pkg hmake hpc hsc2hs hscolour jhc ld
         pkg-config runghc strip tar uhc

       The v1-build command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --only
                     Don't reinstall add-source dependencies (sandbox-only)

       cabal v1-repl

       Usage: cabal v1-repl [COMPONENT] [FLAGS]

       If  the  current  directory contains no package, ignores COMPONENT parameters and opens an
       interactive interpreter session; if a sandbox is present, its  package  database  will  be
       used.

       Otherwise,  (re)configures with the given or default flags, and loads the interpreter with
       the relevant modules. For executables, tests and benchmarks, loads the  main  module  (and
       its dependencies); for libraries all exposed/other modules.

       The  default  component  is  the  library  itself,  or  the executable if that is the only
       component.

       Support for loading specific modules is planned  but  not  implemented  yet.  For  certain
       scenarios,  `cabal  v1-exec  -- ghci :l Foo` may be used instead. Note that `v1-exec` will
       not (re)configure and you will have to specify the location of other modules, if required.

       Examples:
         cabal v1-repl               The first component in the package
         cabal v1-repl foo           A named component (i.e. lib, exe, test suite)
         cabal v1-repl --ghc-options="-lstdc++"  Specifying flags for interpreter

       The v1-repl command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --reload
                     Used from within an interpreter to update files.

              --repl-options FLAG
                     use this option for the repl

              --only
                     Don't reinstall add-source dependencies (sandbox-only)

       cabal v1-freeze

       Usage: cabal freeze [FLAGS]

       Calculates  a valid set of dependencies and their exact versions. If successful, saves the
       result to the file `cabal.config`.

       The package versions specified in `cabal.config` will be used for any future installs.

       An existing `cabal.config` is ignored and overwritten.

       The v1-freeze command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --dry-run
                     Do not freeze anything, only print what would be frozen

              --enable-tests
              --disable-tests
                     freezing  of the dependencies of any tests suites in the package description
                     file.

              --enable-benchmarks
              --disable-benchmarks
                     freezing of the  dependencies  of  any  benchmarks  suites  in  the  package
                     description file.

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

       cabal v1-haddock

       Usage: cabal v1-haddock [FLAGS]
          or: cabal v1-haddock COMPONENTS [FLAGS]

       Requires the program haddock, version 2.x.

       The v1-haddock command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --keep-temp-files
                     Keep temporary files

              --hoogle
                     Generate a hoogle database

              --html
                     Generate HTML documentation (the default)

              --html-location URL
                     Location of HTML documentation for pre-requisite packages

              --for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --executables
                     Run haddock for Executables targets

              --tests
                     Run haddock for Test Suite targets

              --benchmarks
                     Run haddock for Benchmark targets

              --foreign-libraries
                     Run haddock for Foreign Library targets

              --all
                     Run haddock for all targets

              --internal
                     Run haddock for internal modules and include all symbols

              --css PATH
                     Use PATH as the haddock stylesheet

              --hyperlink-source, --hyperlink-sources, --hyperlinked-source
                     Hyperlink the documentation to the source code

              --quickjump
                     Generate an index for interactive documentation navigation

              --hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --contents-location URL
                     Bake URL in as the location for the contents page

              --with-ghc PATH
                     give the path to ghc

              --with-haddock PATH
                     give the path to haddock

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --ghc-options OPTS
                     give extra options to ghc

              --haddock-options OPTS
                     give extra options to haddock

       cabal v1-install

       Usage: cabal v1-install [FLAGS]
          or: cabal v1-install [FLAGS] PACKAGES

       Installs one or more packages. By default, the installed package will be registered in the
       user's  package  database or, if a sandbox is present in the current directory, inside the
       sandbox.

       If PACKAGES are specified, downloads and installs those packages. Otherwise,  install  the
       package  in  the  current  directory  (and/or its dependencies) (there must be exactly one
       .cabal file in the current directory).

       When using a sandbox, the flags for `v1-install` only affect the current command and  have
       no  effect  on  future  commands.  (To  achieve  that,  `v1-configure`  must be used.)  In
       contrast, without a sandbox, the  flags  to  `v1-install`  are  saved  and  affect  future
       commands  such  as `v1-build` and `v1-repl`. See the help for `v1-configure` for a list of
       commands being affected.

       Installed executables will by default (and without a sandbox) be put into `~/.cabal/bin/`.
       If  you  want  installed  executable  to  be  available  globally, make sure that the PATH
       environment variable contains that directory.  When using a sandbox, executables  will  be
       put into `$SANDBOX/bin/` (by default: `./.cabal-sandbox/bin/`).

       When  specifying --bindir, consider also specifying --datadir; this way the sandbox can be
       deleted and the executable should continue working as long as bindir and datadir are  left
       untouched.

       The flags --with-PROG and --PROG-option(s) can be used with the following programs:
         alex ar c2hs cpphs doctest gcc ghc ghc-pkg ghcjs ghcjs-pkg greencard haddock
         happy haskell-suite haskell-suite-pkg hmake hpc hsc2hs hscolour jhc ld
         pkg-config runghc strip tar uhc

       Examples:
         cabal v1-install                     Package in the current directory
         cabal v1-install foo                 Package from the hackage server
         cabal v1-install foo-1.0             Specific version of a package
         cabal v1-install 'foo < 2'           Constrained package version
         cabal v1-install haddock --bindir=$HOME/hask-bin/ --datadir=$HOME/hask-data/
                                           Change installation destination

       The v1-install command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling detail level for executable and library (default, none,  exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile  library code such that unneeded definitions can be dropped from the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A list of directories to search for required programs (in  addition  to  the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency  checking  and  compilation for test suites listed in the package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency checking and compilation for benchmarks  listed  in  the  package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow depending on private libraries. If set, the library  visibility  check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select  which  version of the Cabal lib to use to build packages (useful for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

              --enable-documentation
              --disable-documentation
                     building of documentation

              --doc-index-file TEMPLATE
                     A central index of haddock API documentation (template cannot use $pkgid)

              --dry-run
                     Do not install anything, only print what would be installed.

              --max-backjumps NUM
                     Maximum  number  of  backjumps  allowed while solving (default: 4000). Use a
                     negative  number  to  enable  unlimited  backtracking.  Use  0  to   disable
                     backtracking completely.

              --reorder-goals
              --no-reorder-goals
                     Try  to  reorder goals according to certain heuristics. Slows things down on
                     average, but may make backtracking faster for some packages.

              --count-conflicts
              --no-count-conflicts
                     Try to speed up solving by preferring goals that are involved in  a  lot  of
                     conflicts (default).

              --minimize-conflict-set
              --no-minimize-conflict-set
                     When  there  is  no  solution, try to improve the error message by finding a
                     minimal conflict set (default: false). May increase run time significantly.

              --independent-goals
              --no-independent-goals
                     Treat several goals on the command line as  independent.  If  several  goals
                     depend on the same package, different versions can be chosen.

              --shadow-installed-packages
              --no-shadow-installed-packages
                     If  multiple  package instances of the same version are installed, treat all
                     but one as shadowed.

              --strong-flags
              --no-strong-flags
                     Do not defer flag choices (this used to be the default in  cabal-install  <=
                     1.20).

              --allow-boot-library-installs
              --no-allow-boot-library-installs
                     Allow  cabal  to  install  base,  ghc-prim, integer-simple, integer-gmp, and
                     template-haskell.

              --reject-unconstrained-dependencies none|all
                     Require these packages to have  constraints  on  them  if  they  are  to  be
                     selected (default: none).

              --reinstall
              --no-reinstall
                     Install even if it means installing the same version again.

              --avoid-reinstalls
              --no-avoid-reinstalls
                     Do   not  select  versions  that  would  destructively  overwrite  installed
                     packages.

              --force-reinstalls
              --no-force-reinstalls
                     Reinstall packages even if they  will  most  likely  break  other  installed
                     packages.

              --upgrade-dependencies
              --no-upgrade-dependencies
                     Pick  the latest version for all dependencies, rather than trying to pick an
                     installed version.

              --only-dependencies
              --no-only-dependencies
                     Install only the dependencies necessary to build the given packages

              --dependencies-only
              --no-dependencies-only
                     A synonym for --only-dependencies

              --index-state STATE
                     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').

              --root-cmd COMMAND
                     (No longer supported, do not use.)

              --symlink-bindir DIR
                     Add symlinks to installed executables into this directory.

              --build-summary TEMPLATE
                     Save build summaries to file (name template can use $pkgid, $compiler,  $os,
                     $arch)

              --build-log TEMPLATE
                     Log all builds to file (name template can use $pkgid, $compiler, $os, $arch)

              --remote-build-reporting LEVEL
                     Generate  build  reports  to  send  to  a  remote server (none, anonymous or
                     detailed).

              --report-planning-failure
                     Generate build reports when the dependency solver fails. This is used by the
                     Hackage build bot.

              --enable-per-component
              --disable-per-component
                     Per-component builds when possible

              --one-shot
              --no-one-shot
                     Do not record the packages in the world file.

              --run-tests
                     Run package test suites during installation.

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --keep-going
                     After a build failure, continue to build other unaffected packages.

              --offline
              --no-offline
                     Don't download packages from the Internet.

              --project-file FILE
                     Set the name of the cabal.project file to search for in parent directories

              --only
                     Only installs the package in the current directory.

              --haddock-hoogle
                     Generate a hoogle database

              --haddock-html
                     Generate HTML documentation (the default)

              --haddock-html-location URL
                     Location of HTML documentation for pre-requisite packages

              --haddock-for-hackage
                     Collection of flags to generate documentation suitable for upload to hackage

              --haddock-executables
                     Run haddock for Executables targets

              --haddock-tests
                     Run haddock for Test Suite targets

              --haddock-benchmarks
                     Run haddock for Benchmark targets

              --haddock-all
                     Run haddock for all targets

              --haddock-internal
                     Run haddock for internal modules and include all symbols

              --haddock-css PATH
                     Use PATH as the haddock stylesheet

              --haddock-hyperlink-source,   --haddock-hyperlink-sources,   --haddock-hyperlinked-
              source
                     Hyperlink the documentation to the source code

              --haddock-quickjump
                     Generate an index for interactive documentation navigation

              --haddock-hscolour-css PATH
                     Use PATH as the HsColour stylesheet

              --haddock-contents-location URL
                     Bake URL in as the location for the contents page

              --test-log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --test-machine-log TEMPLATE
                     Produce   a  machine-readable  log  file  (name  template  can  use  $pkgid,
                     $compiler, $os, $arch, $result)

              --test-show-details FILTER

              --test-keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --test-fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give extra options to test  executables  (name  templates  can  use  $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give  extra  option to test executables (no need to quote options containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

       cabal v1-run

       Usage: cabal v1-run [FLAGS] [EXECUTABLE] [-- EXECUTABLE_FLAGS]

       Builds and then runs the specified executable. If no  executable  is  specified,  but  the
       package contains just one executable, that one is built and executed.

       Use `cabal v1-test --show-details=streaming` to run a test-suite and get its full output.

       Examples:
         cabal v1-run
           Run the only executable in the current package;
         cabal v1-run foo -- --fooflag
           Works similar to `./foo --fooflag`.

       The v1-run command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --only
                     Don't reinstall add-source dependencies (sandbox-only)

       cabal v1-test

       Usage: cabal v1-test [FLAGS]
          or: cabal v1-test TESTCOMPONENTS [FLAGS]

       If necessary (re)configures with `--enable-tests` flag and builds the test suite.

       Remember that the tests' dependencies must be installed if there are additional ones; e.g.
       with `cabal v1-install --only-dependencies --enable-tests`.

       By  defining UserHooks in a custom Setup.hs, the package can define actions to be executed
       before and after running tests.

       The v1-test command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --log TEMPLATE
                     Log all test suite results to file (name template can use $pkgid, $compiler,
                     $os, $arch, $test-suite, $result)

              --machine-log TEMPLATE
                     Produce  a  machine-readable  log  file  (name  template  can  use   $pkgid,
                     $compiler, $os, $arch, $result)

              --show-details FILTER

              --keep-tix-files
                     keep .tix files for HPC between test runs

              --test-wrapper FILE
                     Run test through a wrapper.

              --fail-when-no-test-suites
                     Exit with failure when no test suites are found.

              --test-options TEMPLATES
                     give  extra  options  to  test  executables  (name templates can use $pkgid,
                     $compiler, $os, $arch, $test-suite)

              --test-option TEMPLATE
                     give extra option to test executables (no need to quote  options  containing
                     spaces, name template can use $pkgid, $compiler, $os, $arch, $test-suite)

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --only
                     Don't reinstall add-source dependencies (sandbox-only)

       cabal v1-bench

       Usage: cabal v1-bench [FLAGS]
          or: cabal v1-bench BENCHCOMPONENTS [FLAGS]

       If necessary (re)configures with `--enable-benchmarks` flag and builds the benchmarks.

       Remember that the benchmarks' dependencies must be installed if there are additional ones;
       e.g. with `cabal v1-install --only-dependencies --enable-benchmarks`.

       By defining UserHooks in a custom Setup.hs, the package can define actions to be  executed
       before and after running benchmarks.

       The v1-bench command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --benchmark-options TEMPLATES
                     give extra options to benchmark executables (name templates can use  $pkgid,
                     $compiler, $os, $arch, $benchmark)

              --benchmark-option TEMPLATE
                     give  extra  option  to  benchmark  executables  (no  need  to quote options
                     containing spaces, name template can  use  $pkgid,  $compiler,  $os,  $arch,
                     $benchmark)

              -j, --jobs [NUM]
                     Run NUM jobs simultaneously (or '$ncpus' if no NUM is given).

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give  an  extra  option  to  ghcjs-pkg  (no need to quote options containing
                     spaces)

              --greencard-option OPT
                     give an extra option to greencard  (no  need  to  quote  options  containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give  an  extra option to haskell-suite (no need to quote options containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give an  extra  option  to  haskell-suite-pkg  (no  need  to  quote  options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give  an  extra  option  to  hscolour  (no  need to quote options containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give an extra option to pkg-config (no  need  to  quote  options  containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --only
                     Don't reinstall add-source dependencies (sandbox-only)

       cabal v1-exec

       Usage: cabal v1-exec [FLAGS] [--] COMMAND [--] [ARGS]

       A   directly   invoked  GHC  will  not  automatically  be  aware  of  any  sandboxes:  the
       GHC_PACKAGE_PATH environment variable controls what GHC uses. `cabal v1-exec` can be  used
       to  modify  this  variable: COMMAND will be executed in a modified environment and thereby
       uses the sandbox package database.

       If there is no sandbox, behaves as identity (executing COMMAND).

       Note that other cabal commands change the environment variable appropriately  already,  so
       there  is no need to wrap those in `cabal v1-exec`. But with `cabal v1-exec`, the user has
       more control and can, for example, execute custom scripts which indirectly execute GHC.

       Note that `cabal v1-repl` is different from `cabal v1-exec -- ghci` as the latter will not
       forward any additional flags being defined in the local package to ghci.

       See `cabal sandbox`.

       Examples:
         cabal v1-exec -- ghci -Wall
           Start a repl session with sandbox packages and all warnings;
         cabal v1-exec gitit -- -f gitit.cnf
           Give gitit access to the sandbox packages, and pass it a flag;
         cabal v1-exec runghc Foo.hs
           Execute runghc on Foo.hs with runghc configured to use the
           sandbox package database (if a sandbox is being used).

       The v1-exec command is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

       cabal v1-clean

       Usage: cabal v1-clean [FLAGS]

       Removes .hi, .o, preprocessed sources, etc.

       The v1-clean command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -s, --save-configure
                     Do  not  remove  the configuration file (dist/setup-config) during cleaning.
                     Saves need to reconfigure.

       cabal v1-sdist

       Usage: cabal v1-sdist [FLAGS]

       The v1-sdist command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --list-sources FILE
                     Just write a list of the package's sources to a file

              --snapshot
                     Produce a snapshot source distribution

              --output-directory DIR
                     Generate  a  source  distribution in the given directory, without creating a
                     tarball

       cabal v1-doctest

       Usage: cabal v1-doctest [FLAGS]

       Requires the program doctest, version 0.12.

       The v1-doctest command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --with-doctest PATH
                     give the path to doctest

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --doctest-options OPTS
                     give extra options to doctest

       cabal v1-copy

       Usage: cabal v1-copy [FLAGS]
          or: cabal v1-copy COMPONENTS [FLAGS]

       Components  encompass  executables  and  libraries.  Does  not call register, and allows a
       prefix at install time. Without the --destdir flag, configure determines location.

       Examples:
         cabal v1-copy               All the components in the package
         cabal v1-copy foo           A component (i.e. lib, exe, test suite) The v1-copy  command
       is a part of the legacy v1 style of cabal usage.

       It  is  a  legacy feature and will be removed in a future release of cabal-install. Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --destdir DIR
                     directory to copy files to, prepended to installation directories

              --target-package-db DATABASE
                     package database to copy files into. Required when using ${pkgroot} prefix.

       cabal v1-register

       Usage: cabal v1-register [FLAGS]

       The v1-register command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              --user
                     upon  registration,  register  this  package  in  the  user's  local package
                     database

              --global
                     (default)upon registration, register this package in the system-wide package
                     database

              --inplace
                     register  the package in the build location, so it can be used without being
                     installed

              --gen-script
                     instead of registering, generate a script to register later

              --gen-pkg-config [PKG]
                     instead of registering, generate a package registration file/directory

              --print-ipid
                     print the installed package ID calculated for this package

       cabal v1-reconfigure

       Usage: cabal v1-reconfigure [FLAGS]

       Run `configure` with the most recently used flags, or append FLAGS to  the  most  recently
       used  configuration.  Accepts  the same flags as `cabal v1-configure'.  If the package has
       never been configured, the default flags are used.

       Examples:
         cabal v1-reconfigure
           Configure with the most recently used flags.
         cabal v1-reconfigure -w PATH
           Reconfigure with the most recently used flags,
           but use the compiler at PATH.

       The v1-reconfigure command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --builddir, --distdir, --distpref DIR
                     The directory where Cabal puts generated build files (default dist)

              -g, --ghc
                     compile with GHC

              --ghcjs
                     compile with GHCJS

              --uhc
                     compile with UHC

              --haskell-suite
                     compile with a haskell-suite compiler

              --cabal-file PATH
                     use this Cabal file

              -w, --with-compiler PATH
                     give the path to a particular compiler

              --with-hc-pkg PATH
                     give the path to the package tool

              --prefix DIR
                     bake this prefix in preparation of installation

              --bindir DIR
                     installation directory for executables

              --libdir DIR
                     installation directory for libraries

              --libsubdir DIR
                     subdirectory of libdir in which libs are installed

              --dynlibdir DIR
                     installation directory for dynamic libraries

              --libexecdir DIR
                     installation directory for program executables

              --libexecsubdir DIR
                     subdirectory of libexecdir in which private executables are installed

              --datadir DIR
                     installation directory for read-only data

              --datasubdir DIR
                     subdirectory of datadir in which data files are installed

              --docdir DIR
                     installation directory for documentation

              --htmldir DIR
                     installation directory for HTML documentation

              --haddockdir DIR
                     installation directory for haddock interfaces

              --sysconfdir DIR
                     installation directory for configuration files

              --program-prefix PREFIX
                     prefix to be applied to installed executables

              --program-suffix SUFFIX
                     suffix to be applied to installed executables

              --enable-library-vanilla
              --disable-library-vanilla
                     Vanilla libraries

              -p, --enable-library-profiling
              --disable-library-profiling
                     Library profiling

              --enable-shared
              --disable-shared
                     Shared library

              --enable-static
              --disable-static
                     Static library

              --enable-executable-dynamic
              --disable-executable-dynamic
                     Executable dynamic linking

              --enable-executable-static
              --disable-executable-static
                     Executable fully static linking

              --enable-profiling
              --disable-profiling
                     Executable and library profiling

              --enable-executable-profiling
              --disable-executable-profiling
                     Executable profiling (DEPRECATED)

              --profiling-detail level
                     Profiling  detail level for executable and library (default, none, exported-
                     functions, toplevel-functions,  all-functions).

              --library-profiling-detail level
                     Profiling detail level for libraries only.

              -O, --enable-optimization, --enable-optimisation [n]
                     Build with optimization (n is 0--2, default is 1)

              --disable-optimization, --disable-optimisation
                     Build without optimization

              --enable-debug-info [n]
                     Emit debug info (n is 0--3, default is 0)

              --disable-debug-info
                     Don't emit debug info

              --enable-library-for-ghci
              --disable-library-for-ghci
                     compile library for use with GHCi

              --enable-split-sections
              --disable-split-sections
                     compile library code such that unneeded definitions can be dropped from  the
                     final executable (GHC 7.8+)

              --enable-split-objs
              --disable-split-objs
                     split library into smaller objects to reduce binary sizes (GHC 6.6+)

              --enable-executable-stripping
              --disable-executable-stripping
                     strip executables upon installation to reduce binary sizes

              --enable-library-stripping
              --disable-library-stripping
                     strip libraries upon installation to reduce binary sizes

              --configure-option OPT
                     Extra option for configure

              --user
              --global
                     doing a per-user installation

              --package-db DB
                     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.

              -f, --flags FLAGS
                     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.

              --extra-include-dirs PATH
                     A list of directories to search for header files

              --enable-deterministic
              --disable-deterministic
                     Try to be as deterministic as possible (used by the test suite)

              --ipid IPID
                     Installed package ID to compile this package as

              --cid CID
                     Installed component ID to compile this component as

              --extra-lib-dirs PATH
                     A list of directories to search for external libraries

              --extra-framework-dirs PATH
                     A list of directories to search for external frameworks (OS X only)

              --extra-prog-path PATH
                     A  list  of  directories to search for required programs (in addition to the
                     normal search locations)

              --instantiate-with NAME=MOD
                     A mapping of signature names to concrete module instantiations.

              --enable-tests
              --disable-tests
                     dependency checking and compilation for test suites listed  in  the  package
                     description file.

              --enable-coverage
              --disable-coverage
                     build package with Haskell Program Coverage. (GHC only)

              --enable-library-coverage
              --disable-library-coverage
                     build package with Haskell Program Coverage. (GHC only) (DEPRECATED)

              --enable-benchmarks
              --disable-benchmarks
                     dependency  checking  and  compilation  for benchmarks listed in the package
                     description file.

              --enable-relocatable
              --disable-relocatable
                     building a package that is relocatable. (GHC only)

              --disable-response-files
                     enable workaround for old versions of programs like "ar" that do not support
                     @file arguments

              --allow-depending-on-private-libs
                     Allow  depending  on private libraries. If set, the library visibility check
                     MUST be done externally.

              --with-alex PATH
                     give the path to alex

              --with-ar PATH
                     give the path to ar

              --with-c2hs PATH
                     give the path to c2hs

              --with-cpphs PATH
                     give the path to cpphs

              --with-doctest PATH
                     give the path to doctest

              --with-gcc PATH
                     give the path to gcc

              --with-ghc PATH
                     give the path to ghc

              --with-ghc-pkg PATH
                     give the path to ghc-pkg

              --with-ghcjs PATH
                     give the path to ghcjs

              --with-ghcjs-pkg PATH
                     give the path to ghcjs-pkg

              --with-greencard PATH
                     give the path to greencard

              --with-haddock PATH
                     give the path to haddock

              --with-happy PATH
                     give the path to happy

              --with-haskell-suite PATH
                     give the path to haskell-suite

              --with-haskell-suite-pkg PATH
                     give the path to haskell-suite-pkg

              --with-hmake PATH
                     give the path to hmake

              --with-hpc PATH
                     give the path to hpc

              --with-hsc2hs PATH
                     give the path to hsc2hs

              --with-hscolour PATH
                     give the path to hscolour

              --with-jhc PATH
                     give the path to jhc

              --with-ld PATH
                     give the path to ld

              --with-pkg-config PATH
                     give the path to pkg-config

              --with-runghc PATH
                     give the path to runghc

              --with-strip PATH
                     give the path to strip

              --with-tar PATH
                     give the path to tar

              --with-uhc PATH
                     give the path to uhc

              --alex-option OPT
                     give an extra option to alex (no need to quote options containing spaces)

              --ar-option OPT
                     give an extra option to ar (no need to quote options containing spaces)

              --c2hs-option OPT
                     give an extra option to c2hs (no need to quote options containing spaces)

              --cpphs-option OPT
                     give an extra option to cpphs (no need to quote options containing spaces)

              --doctest-option OPT
                     give an extra option to doctest (no need to quote options containing spaces)

              --gcc-option OPT
                     give an extra option to gcc (no need to quote options containing spaces)

              --ghc-option OPT
                     give an extra option to ghc (no need to quote options containing spaces)

              --ghc-pkg-option OPT
                     give an extra option to ghc-pkg (no need to quote options containing spaces)

              --ghcjs-option OPT
                     give an extra option to ghcjs (no need to quote options containing spaces)

              --ghcjs-pkg-option OPT
                     give an extra option to ghcjs-pkg  (no  need  to  quote  options  containing
                     spaces)

              --greencard-option OPT
                     give  an  extra  option  to  greencard  (no need to quote options containing
                     spaces)

              --haddock-option OPT
                     give an extra option to haddock (no need to quote options containing spaces)

              --happy-option OPT
                     give an extra option to happy (no need to quote options containing spaces)

              --haskell-suite-option OPT
                     give an extra option to haskell-suite (no need to quote  options  containing
                     spaces)

              --haskell-suite-pkg-option OPT
                     give  an  extra  option  to  haskell-suite-pkg  (no  need  to  quote options
                     containing spaces)

              --hmake-option OPT
                     give an extra option to hmake (no need to quote options containing spaces)

              --hpc-option OPT
                     give an extra option to hpc (no need to quote options containing spaces)

              --hsc2hs-option OPT
                     give an extra option to hsc2hs (no need to quote options containing spaces)

              --hscolour-option OPT
                     give an extra option to  hscolour  (no  need  to  quote  options  containing
                     spaces)

              --jhc-option OPT
                     give an extra option to jhc (no need to quote options containing spaces)

              --ld-option OPT
                     give an extra option to ld (no need to quote options containing spaces)

              --pkg-config-option OPT
                     give  an  extra  option  to  pkg-config (no need to quote options containing
                     spaces)

              --runghc-option OPT
                     give an extra option to runghc (no need to quote options containing spaces)

              --strip-option OPT
                     give an extra option to strip (no need to quote options containing spaces)

              --tar-option OPT
                     give an extra option to tar (no need to quote options containing spaces)

              --uhc-option OPT
                     give an extra option to uhc (no need to quote options containing spaces)

              --alex-options OPTS
                     give extra options to alex

              --ar-options OPTS
                     give extra options to ar

              --c2hs-options OPTS
                     give extra options to c2hs

              --cpphs-options OPTS
                     give extra options to cpphs

              --doctest-options OPTS
                     give extra options to doctest

              --gcc-options OPTS
                     give extra options to gcc

              --ghc-options OPTS
                     give extra options to ghc

              --ghc-pkg-options OPTS
                     give extra options to ghc-pkg

              --ghcjs-options OPTS
                     give extra options to ghcjs

              --ghcjs-pkg-options OPTS
                     give extra options to ghcjs-pkg

              --greencard-options OPTS
                     give extra options to greencard

              --haddock-options OPTS
                     give extra options to haddock

              --happy-options OPTS
                     give extra options to happy

              --haskell-suite-options OPTS
                     give extra options to haskell-suite

              --haskell-suite-pkg-options OPTS
                     give extra options to haskell-suite-pkg

              --hmake-options OPTS
                     give extra options to hmake

              --hpc-options OPTS
                     give extra options to hpc

              --hsc2hs-options OPTS
                     give extra options to hsc2hs

              --hscolour-options OPTS
                     give extra options to hscolour

              --jhc-options OPTS
                     give extra options to jhc

              --ld-options OPTS
                     give extra options to ld

              --pkg-config-options OPTS
                     give extra options to pkg-config

              --runghc-options OPTS
                     give extra options to runghc

              --strip-options OPTS
                     give extra options to strip

              --tar-options OPTS
                     give extra options to tar

              --uhc-options OPTS
                     give extra options to uhc

              --cabal-lib-version VERSION
                     Select which version of the Cabal lib to use to build packages  (useful  for
                     testing).

              --constraint CONSTRAINT
                     Specify constraints on a package (version, installed/source, flags)

              --preference CONSTRAINT
                     Specify preferences (soft constraints) on the version of a package

              --solver SOLVER
                     Select dependency solver to use (default: modular). Choices: modular.

              --allow-older [DEPS]
                     Ignore lower bounds in all dependencies or DEPS

              --allow-newer [DEPS]
                     Ignore upper bounds in all dependencies or DEPS

              --write-ghc-environment-files always|never|ghc8.4.4+
                     Whether to create a .ghc.environment file after a successful build (v2-build
                     only)

       cabal v1-sandbox

       Usage: cabal v1-sandbox init          [FLAGS]
          or: cabal v1-sandbox delete        [FLAGS]
          or: cabal v1-sandbox add-source    [FLAGS] PATHS
          or: cabal v1-sandbox delete-source [FLAGS] PATHS
          or: cabal v1-sandbox list-sources  [FLAGS]
          or: cabal v1-sandbox hc-pkg        [FLAGS] [--] COMMAND [--] [ARGS]

       Sandboxes are isolated package databases that can be used to prevent dependency  conflicts
       that  arise  when  many  different  packages  are installed in the same database (i.e. the
       user's database in the home directory).

       A sandbox in the current directory (created by `v1-sandbox init`) will be used instead  of
       the  user's  database  for  commands  such  as  `v1-install`  and `v1-build`. Note that (a
       directly invoked) GHC will not automatically be aware of sandboxes;  only  if  called  via
       appropriate cabal commands, e.g. `v1-repl`, `v1-build`, `v1-exec`.

       Currently,  cabal will not search for a sandbox in folders above the current one, so cabal
       will not see the sandbox if you are in a subfolder of a sandbox.

       Subcommands:

       init:
         Initialize a sandbox in the current directory. An existing package database
         will not be modified, but settings (such as the location of the database)
         can be modified this way.

       delete:
         Remove the sandbox; deleting all the packages installed inside.

       add-source:
         Make one or more local packages available in the sandbox. PATHS may be
         relative or absolute. Typical usecase is when you need to make a (temporary)
         modification to a dependency: You download the package into a different
         directory, make the modification, and add that directory to the sandbox with
         `add-source`.

         Unless given `--snapshot`, any add-source'd dependency that was modified
         since the last build will be re-installed automatically.

       delete-source:
         Remove an add-source dependency; however, this will not delete the
         package(s) that have been installed in the sandbox from this dependency. You
         can either unregister the package(s) via `cabal v1-sandbox hc-pkg
         unregister` or re-create the sandbox (`v1-sandbox delete; v1-sandbox init`).

       list-sources:
         List the directories of local packages made available via `cabal v1-sandbox
         add-source`.

       hc-pkg:
         Similar to `ghc-pkg`, but for the sandbox package database. Can be used to
         list specific/all packages that are installed in the sandbox. For
         subcommands, see the help for ghc-pkg. Affected by the compiler version
         specified by `v1-configure`.

       Relevant global configuration keys:
         require-sandbox
         ignore-sandbox

       Examples:
         Set up a sandbox with one local dependency, located at ../foo:
           cabal v1-sandbox init
           cabal v1-sandbox add-source ../foo
           cabal v1-install --only-dependencies
         Reset the sandbox:
           cabal v1-sandbox delete
           cabal v1-sandbox init
           cabal v1-install --only-dependencies
         List the packages in the sandbox:
           cabal v1-sandbox hc-pkg list
         Unregister the `broken` package from the sandbox:
           cabal v1-sandbox hc-pkg -- --force unregister broken

       The v1-sandbox command is a part of the legacy v1 style of cabal usage.

       It is a legacy feature and will be removed in a future release  of  cabal-install.  Please
       file a bug if you cannot replicate a working v1- use case with the new-style commands.

       For more information, see: https://wiki.haskell.org/Cabal/NewBuild

       Flags:
              -v, --verbose [n]
                     Control verbosity (n is 0--3, default verbosity level is 1)

              --snapshot
                     Take a snapshot instead of creating a link (only applies to 'add-source')

              --sandbox DIR
                     Sandbox location (default: './.cabal-sandbox').

FILES

       ~/.cabal/config
              The defaults that can be overridden with command-line options.

       ~/.cabal/world
              A list of all packages whose installation has been explicitly requested.

BUGS

       To   browse   the   list   of   known   issues   or   report   a   new   one   please  see
       https://github.com/haskell/cabal/labels/cabal-install.

                                                                                         CABAL(1)