Provided by: cabal-install_3.0.0.0-3build1.1_amd64
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)