COMMANDS¶
cabal list
Usage: cabal list [FLAGS]
or: cabal list [FLAGS] STRINGS
List all packages, or all packages matching one of the search
strings.
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
-i, --ignore-case
-I, --strict-case
Ignore case distinctions
--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'],
depending on context. Use 'clear' to reset the list to empty. See the user
guide for details.
-w, --with-compiler PATH
give the path to a particular compiler
cabal info
Usage: cabal info [FLAGS] PACKAGES
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'],
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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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 of lens (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).
--only-package-description
Unpack only the package description file.
--package-description-only
A synonym for --only-package-description.
--pristine
Unpack the original pristine tarball, rather than
updating the .cabal file with the latest revision from the package
archive.
cabal unpack
Usage: cabal unpack [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 unpack hlint
Download the latest stable version of hlint;
cabal unpack lens --source-repository=head
Download the source repository of lens (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).
--only-package-description
Unpack only the package description file.
--package-description-only
A synonym for --only-package-description.
--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 ~/.config/cabal/config
file Relevant global configuration keys:
username
password
password-command
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 COMMAND
Command to get Hackage password.
cabal report
Usage: cabal report [FLAGS]
You can store your Hackage login in the ~/.config/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 [PROJECT ROOT] [FLAGS]
Create a .cabal, CHANGELOG.md, minimal initial Haskell code and
optionally a LICENSE file.
Calling init with no arguments runs interactive mode, which will
try to guess as much as possible and prompt you for the rest.
Non-interactive mode can be invoked by the -n/--non-interactive flag, which
will let you specify the options via flags and will use the defaults for the
rest. It is also possible to call init with a single argument, which denotes
the project's desired root directory.
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 CABALSPECVERSION
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.
--extra-doc-file FILE
Extra doc 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, standalone or for a 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 DEPENDENCIES
Package dependencies. Permits comma separated list of
dependencies.
--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. For 'init', this
flag is used to set the bounds inferred for the 'base' package.
-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 ~/.config/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 ~/.config/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 ~/.config/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 ~/.config/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 .cabal file.
Flags:
-v, --verbose [
n]
Control verbosity (n is 0--3, default verbosity level is
1)
cabal outdated
Usage: cabal outdated [FLAGS] [PACKAGES]
Checks for outdated dependencies in the package description file
or freeze file
Flags:
--project-file
FILE
Set the name of the cabal.project file to search for in
parent directories
-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)
--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 list-bin
Usage: cabal list-bin [FLAGS] TARGET
List the path to a build product.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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 '$project_file.local', if '--project-file' is specified) which
extends the configuration from the 'cabal.project' file (if any). This
combination is used as the project configuration for all other commands
(such as 'build', 'repl' etc) though it can be extended/overridden on a
per-command basis.
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 'cabal.project' file should be kept in source control but the
'cabal.project.local' should not.
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.
Examples:
cabal configure --with-compiler ghc-7.10.3
Adjust the project configuration to use the given compiler
program and check the resulting configuration works.
cabal configure
Reset the local configuration to empty. To check that the
project configuration works, use 'cabal build'.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
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 '$project_file.local', if '--project-file' is specified) which
extends the configuration from the 'cabal.project' file (if any). This
combination is used as the project configuration for all other commands
(such as 'new-build', 'new-repl' etc) though it can be extended/overridden
on a per-command basis.
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 'cabal.project' file should be kept in source control but the
'cabal.project.local' should not.
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.
Examples:
cabal new-configure --with-compiler ghc-7.10.3
Adjust the project configuration to use the given compiler
program and check the resulting configuration works.
cabal new-configure
Reset the local configuration to empty. To check that the
project configuration works, use 'cabal build'.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
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 '$project_file.local', if '--project-file' is specified) which
extends the configuration from the 'cabal.project' file (if any). This
combination is used as the project configuration for all other commands
(such as 'v2-build', 'v2-repl' etc) though it can be extended/overridden on
a per-command basis.
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 'cabal.project' file should be kept in source control but the
'cabal.project.local' should not.
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. To check that the
project configuration works, use 'cabal build'.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
cabal update
Usage: cabal 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 update
Download the package list for all known remote repositories.
cabal update hackage.haskell.org,@1474732068
cabal update hackage.haskell.org,2016-09-24T17:47:48Z
cabal update hackage.haskell.org,HEAD
cabal update hackage.haskell.org
Download hackage.haskell.org at a specific index state.
cabal 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.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
cabal new-update
Usage: cabal new-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 new-update
Download the package list for all known remote repositories.
cabal new-update hackage.haskell.org,@1474732068
cabal new-update hackage.haskell.org,2016-09-24T17:47:48Z
cabal new-update hackage.haskell.org,HEAD
cabal new-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.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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 v2-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.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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.
Examples:
cabal build
Build the package in the current directory or all packages in the project
cabal build pkgname
Build the package named pkgname in the project
cabal build ./pkgfoo
Build the package in the ./pkgfoo directory
cabal build cname
Build the component named cname in the project
cabal build cname --enable-profiling
Build the component in profiling mode (including dependencies as needed)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
--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.
Examples:
cabal new-build
Build the package in the current directory or all packages in the project
cabal new-build pkgname
Build the package named pkgname in the project
cabal new-build ./pkgfoo
Build the package in the ./pkgfoo directory
cabal new-build cname
Build the component named cname in the project
cabal new-build cname --enable-profiling
Build the component in profiling mode (including dependencies as needed)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
--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)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
--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.
Examples, open an interactive session:
cabal repl
for the default component in the package in the current directory
cabal repl pkgname
for the default component in the package named 'pkgname'
cabal repl ./pkgfoo
for the default component in the package in the ./pkgfoo directory
cabal repl cname
for the component named 'cname'
cabal repl pkgname:cname
for the component 'cname' in the package 'pkgname'
cabal 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 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)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--repl-no-load
Disable loading of project modules at REPL startup.
--repl-options FLAG
Use the option(s) for the repl
-b, --build-depends DEPENDENCIES
Include additional packages in the environment presented
to GHCi.
--no-transitive-deps
Don't automatically include transitive dependencies of
requested packages.
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.
Examples, open an interactive session:
cabal new-repl
for the default component in the package in the current directory
cabal new-repl pkgname
for the default component in the package named 'pkgname'
cabal new-repl ./pkgfoo
for the default component in the package in the ./pkgfoo directory
cabal new-repl cname
for the component named 'cname'
cabal new-repl pkgname:cname
for the component 'cname' in the package 'pkgname'
cabal new-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 new-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)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--repl-no-load
Disable loading of project modules at REPL startup.
--repl-options FLAG
Use the option(s) for the repl
-b, --build-depends DEPENDENCIES
Include additional packages in the environment presented
to GHCi.
--no-transitive-deps
Don't automatically include transitive dependencies of
requested packages.
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)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--repl-no-load
Disable loading of project modules at REPL startup.
--repl-options FLAG
Use the option(s) for the repl
-b, --build-depends DEPENDENCIES
Include additional packages in the environment presented
to GHCi.
--no-transitive-deps
Don't automatically include transitive dependencies of
requested packages.
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 'cabal.project.freeze' file (or '$project_file.freeze' if
'--project-file' is 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 'build', 'repl' etc).
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 'build --dry-run' with solver flags such as
'--constraint="pkg < 1.2"' and once you have a satisfactory
solution to freeze it using the 'freeze' command with the same set of
flags.
Examples:
cabal freeze
Freeze the configuration of the current project
cabal build --dry-run --constraint="aeson < 1"
Check what a solution with the given constraints would look like
cabal freeze --constraint="aeson < 1"
Freeze a solution using the given constraints
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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 'cabal.project.freeze' file (or '$project_file.freeze' if
'--project-file' is 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 'new-build', 'new-repl' etc).
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 'new-build --dry-run' with solver flags such as
'--constraint="pkg < 1.2"' and once you have a satisfactory
solution to freeze it using the 'new-freeze' command with the same set of
flags.
Examples:
cabal new-freeze
Freeze the configuration of the current project
cabal new-build --dry-run --constraint="aeson < 1"
Check what a solution with the given constraints would look like
cabal new-freeze --constraint="aeson < 1"
Freeze a solution using the given constraints
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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 'cabal.project.freeze' file (or '$project_file.freeze' if
'--project-file' is 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 'v2-build', 'v2-repl' etc).
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 'v2-build --dry-run' with solver flags such as
'--constraint="pkg < 1.2"' and 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
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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 '--internal', '--executables', '--tests', '--benchmarks' or '--all'
flags.
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',
'cabal.project.local' and other files.
Examples:
cabal haddock pkgname Build documentation for the package named pkgname
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--open
Open generated documentation in the browser
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 '--internal', '--executables', '--tests', '--benchmarks' or '--all'
flags.
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',
'cabal.project.local' and other files.
Examples:
cabal new-haddock pkgname Build documentation for the package named
pkgname
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--open
Open generated documentation in the browser
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 '--internal', '--executables', '--tests', '--benchmarks' or '--all'
flags.
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',
'cabal.project.local' and other files.
Examples:
cabal v2-haddock pkgname Build documentation for the package named
pkgname
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--open
Open generated documentation in the browser
cabal haddock-project
Usage: cabal haddocks [FLAGS]
or: cabal haddocks COMPONENTS [FLAGS]
Require the programm haddock, version 2.26.
Flags:
--hackage
A short-cut option to build documentation linked to
hackage; it implies --quickjump, --gen-index, --gen-contents,
--hyperlinked-source and --html-location
--local
A short-cut option to build self contained documentation;
it implies --quickjump, --gen-index, --gen-contents and
--hyperlinked-source.
--output [DIRECTORY]
Output directory
--prologue [PATH]
File path to a prologue file in haddock format
--gen-index
Generate index
--gen-contents
Generate contents
--hoogle
Generate a hoogle database
--html-location URL
Location of HTML documentation for pre-requisite
packages
--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
--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
--keep-temp-files
Keep temporary files
-v, --verbose [n]
Control verbosity (n is 0--3, default verbosity level is
1)
--lib DIR
location of Haddocks static / auxiliary files
--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 new-haddock-project
Usage: cabal haddocks [FLAGS]
or: cabal haddocks COMPONENTS [FLAGS]
Require the programm haddock, version 2.26.
Flags:
--hackage
A short-cut option to build documentation linked to
hackage; it implies --quickjump, --gen-index, --gen-contents,
--hyperlinked-source and --html-location
--local
A short-cut option to build self contained documentation;
it implies --quickjump, --gen-index, --gen-contents and
--hyperlinked-source.
--output [DIRECTORY]
Output directory
--prologue [PATH]
File path to a prologue file in haddock format
--gen-index
Generate index
--gen-contents
Generate contents
--hoogle
Generate a hoogle database
--html-location URL
Location of HTML documentation for pre-requisite
packages
--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
--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
--keep-temp-files
Keep temporary files
-v, --verbose [n]
Control verbosity (n is 0--3, default verbosity level is
1)
--lib DIR
location of Haddocks static / auxiliary files
--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 v2-haddock-project
Usage: cabal haddocks [FLAGS]
or: cabal haddocks COMPONENTS [FLAGS]
Require the programm haddock, version 2.26.
Flags:
--hackage
A short-cut option to build documentation linked to
hackage; it implies --quickjump, --gen-index, --gen-contents,
--hyperlinked-source and --html-location
--local
A short-cut option to build self contained documentation;
it implies --quickjump, --gen-index, --gen-contents and
--hyperlinked-source.
--output [DIRECTORY]
Output directory
--prologue [PATH]
File path to a prologue file in haddock format
--gen-index
Generate index
--gen-contents
Generate contents
--hoogle
Generate a hoogle database
--html-location URL
Location of HTML documentation for pre-requisite
packages
--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
--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
--keep-temp-files
Keep temporary files
-v, --verbose [n]
Control verbosity (n is 0--3, default verbosity level is
1)
--lib DIR
location of Haddocks static / auxiliary files
--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 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 (`~/.local/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 and --lib (provisional) is used, 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 install
Install the package in the current directory
cabal install pkgname
Install the package named pkgname (fetching it from hackage if necessary)
cabal install ./pkgfoo
Install the package in the ./pkgfoo directory
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
--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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--lib
--package-env, --env ENV
Set the environment file that may be modified.
--overwrite-policy always|never|prompt
How to handle already existing symlinks.
--install-method default|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 (`~/.local/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 and --lib (provisional) is used, 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 new-install
Install the package in the current directory
cabal new-install pkgname
Install the package named pkgname (fetching it from hackage if necessary)
cabal new-install ./pkgfoo
Install the package in the ./pkgfoo directory
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
--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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--lib
--package-env, --env ENV
Set the environment file that may be modified.
--overwrite-policy always|never|prompt
How to handle already existing symlinks.
--install-method default|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 (`~/.local/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 and --lib (provisional) is used, 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
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
--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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
--lib
--package-env, --env ENV
Set the environment file that may be modified.
--overwrite-policy always|never|prompt
How to handle already existing symlinks.
--install-method default|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,
preferring a single executable. 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 run
Run the executable-like in the package in the current directory
cabal run foo-tool
Run the named executable-like (in any package in the project)
cabal run pkgfoo:foo-tool
Run the executable-like 'foo-tool' in the package 'pkgfoo'
cabal run foo -O2 -- dothing --fooflag
Build with '-O2' and run the program, passing it extra arguments.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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,
preferring a single executable. 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 new-run
Run the executable-like in the package in the current directory
cabal new-run foo-tool
Run the named executable-like (in any package in the project)
cabal new-run pkgfoo:foo-tool
Run the executable-like 'foo-tool' in the package 'pkgfoo'
cabal new-run foo -O2 -- dothing --fooflag
Build with '-O2' and run the program, passing it extra arguments.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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,
preferring a single executable. 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.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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.
Examples:
cabal test
Run all the test-suites in the package in the current directory
cabal test pkgname
Run all the test-suites in the package named pkgname
cabal test cname
Run the test-suite named cname
cabal test cname --enable-coverage
Run the test-suite built with code coverage (including local libs used)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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.
Examples:
cabal new-test
Run all the test-suites in the package in the current directory
cabal new-test pkgname
Run all the test-suites in the package named pkgname
cabal new-test cname
Run the test-suite named cname
cabal new-test cname --enable-coverage
Run the test-suite built with code coverage (including local libs used)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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.
Examples:
cabal bench
Run all the benchmarks in the package in the current directory
cabal bench pkgname
Run all the benchmarks in the package named pkgname
cabal bench cname
Run the benchmark named cname
cabal bench cname -O2
Run the benchmark built with '-O2' (including local libs used)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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.
Examples:
cabal new-bench
Run all the benchmarks in the package in the current directory
cabal new-bench pkgname
Run all the benchmarks in the package named pkgname
cabal new-bench cname
Run the benchmark named cname
cabal new-bench cname -O2
Run the benchmark built with '-O2' (including local libs used)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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)
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
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.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
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.
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
--project-file FILE
Set the name of the cabal.project file to search for in
parent directories
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).
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).
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.
Flags:
--project-file
FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
-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)
-l, --list-only
Just list the sources, do not make a tarball
--null-sep
Separate the source files with NUL bytes rather than
newlines.
-o, --output-directory, --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.
Flags:
--project-file
FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
-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)
-l, --list-only
Just list the sources, do not make a tarball
--null-sep
Separate the source files with NUL bytes rather than
newlines.
-o, --output-directory, --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:
--project-file
FILE
Set the name of the cabal.project file to search for in
parent directories
-z, --ignore-project
--no-ignore-project
Ignore local project configuration
-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)
-l, --list-only
Just list the sources, do not make a tarball
--null-sep
Separate the source files with NUL bytes rather than
newlines.
-o, --output-directory, --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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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-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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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
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;
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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-no-load
Disable loading of project modules at REPL startup.
--repl-options FLAG
Use the option(s) for the repl
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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
--index-location URL
Use a separately-generated HTML index
--base-url URL
Base URL for static files.
--lib DIR
location of Haddocks static / auxiliary files
--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. 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).
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 be put into `~/.local/bin/`.
If you want installed executable to be available globally, make sure that
the PATH environment variable contains that directory.
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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.
--only-download
Do not build anything, only fetch the packages.
--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).
--fine-grained-conflicts
--no-fine-grained-conflicts
Skip a version of a package if it does not resolve the
conflicts encountered in the last version, as a solver optimization
(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.
--prefer-oldest
--no-prefer-oldest
Prefer the oldest (instead of the latest) versions of
packages available. Useful to determine lower bounds in the build-depends
section.
--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
--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.
--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
--haddock-base-url URL
Base URL for static files.
--haddock-lib DIR
location of Haddocks static / auxiliary files
--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)
--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)
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
Flags:
-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
-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)
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
Flags:
-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
-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)
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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-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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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 nix-style commands.
For more information, see:
https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
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,
late).
--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-build-info
Enable build information generation during project
building
--disable-build-info
Disable build information generation during project
building
--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-lib-dirs-static PATH
A list of directories to search for external libraries
when linking fully static executables
--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).
--enable-append
--disable-append
appending the new config to the old config file
--enable-backup
--disable-backup
the backup of the config file before any
alterations
-c, --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)