1CABAL(1) General Commands Manual CABAL(1)
2
3
4
6 cabal - a system for building and packaging Haskell libraries and pro‐
7 grams
8
10 cabal command <arguments|[options]>...
11
12 Where the commands are
13
14 cabal list - List packages matching a search string.
15 cabal info - Display detailed information about a particular package.
16 cabal fetch - Downloads packages for later installation.
17 cabal get - Download/Extract a package's source code (repository).
18 cabal check - Check the package for common mistakes.
19 cabal upload - Uploads source packages or documentation to Hackage.
20 cabal report - Upload build reports to a remote server.
21 cabal init - Create a new .cabal package file.
22 cabal user-config - Display and update the user's global cabal configu‐
23 ration.
24 cabal gen-bounds - Generate dependency bounds.
25 cabal outdated - Check for outdated dependencies
26 cabal hscolour - Generate HsColour colourised code, in HTML format.
27 cabal configure - Add extra project configuration
28 cabal new-configure - Add extra project configuration
29 cabal v2-configure - Add extra project configuration
30 cabal update - Updates list of known packages.
31 cabal new-update - Updates list of known packages.
32 cabal v2-update - Updates list of known packages.
33 cabal build - Compile targets within the project.
34 cabal new-build - Compile targets within the project.
35 cabal v2-build - Compile targets within the project.
36 cabal repl - Open an interactive session for the given component.
37 cabal new-repl - Open an interactive session for the given component.
38 cabal v2-repl - Open an interactive session for the given component.
39 cabal freeze - Freeze dependencies.
40 cabal new-freeze - Freeze dependencies.
41 cabal v2-freeze - Freeze dependencies.
42 cabal haddock - Build Haddock documentation
43 cabal new-haddock - Build Haddock documentation
44 cabal v2-haddock - Build Haddock documentation
45 cabal install - Install packages.
46 cabal new-install - Install packages.
47 cabal v2-install - Install packages.
48 cabal run - Run an executable.
49 cabal new-run - Run an executable.
50 cabal v2-run - Run an executable.
51 cabal test - Run test-suites
52 cabal new-test - Run test-suites
53 cabal v2-test - Run test-suites
54 cabal bench - Run benchmarks
55 cabal new-bench - Run benchmarks
56 cabal v2-bench - Run benchmarks
57 cabal exec - Give a command access to the store.
58 cabal new-exec - Give a command access to the store.
59 cabal v2-exec - Give a command access to the store.
60 cabal clean - Clean the package store and remove temporary files.
61 cabal new-clean - Clean the package store and remove temporary files.
62 cabal v2-clean - Clean the package store and remove temporary files.
63 cabal sdist - Generate a source distribution file (.tar.gz).
64 cabal new-sdist - Generate a source distribution file (.tar.gz).
65 cabal v2-sdist - Generate a source distribution file (.tar.gz).
66 cabal v1-configure - Prepare to build the package.
67 cabal v1-update - Updates list of known packages.
68 cabal v1-build - Compile all/specific components.
69 cabal v1-repl - Open an interpreter session for the given component.
70 cabal v1-freeze - Freeze dependencies.
71 cabal v1-haddock - Generate Haddock HTML documentation.
72 cabal v1-install - Install packages.
73 cabal v1-run - Builds and runs an executable.
74 cabal v1-test - Run all/specific tests in the test suite.
75 cabal v1-bench - Run all/specific benchmarks.
76 cabal v1-exec - Give a command access to the sandbox package reposi‐
77 tory.
78 cabal v1-clean - Clean up after a build.
79 cabal v1-sdist - Generate a source distribution file (.tar.gz).
80 cabal v1-doctest - Run doctest tests.
81 cabal v1-copy - Copy the files of all/specific components to install
82 locations.
83 cabal v1-register - Register this package with the compiler.
84 cabal v1-reconfigure - Reconfigure the package if necessary.
85 cabal v1-sandbox - Create/modify/delete a sandbox.
86
88 Cabal is the standard package system for Haskell software. It helps
89 people to configure, build and install Haskell software and to distrib‐
90 ute it easily to other users and developers.
91
92 The command line cabal tool (also referred to as cabal-install) helps
93 with installing existing packages and developing new packages. It can
94 be used to work with local packages or to install packages from online
95 package archives, including automatically installing dependencies. By
96 default it is configured to use Hackage, which is Haskell's central
97 package archive that contains thousands of libraries and applications
98 in the Cabal package format.
99
101 Global options:
102
103 -V, --version
104 Print version information
105
106 --numeric-version
107 Print just the version number
108
109 --config-file FILE
110 Set an alternate location for the config file
111
112 --sandbox-config-file FILE
113 Set an alternate location for the sandbox config file (default:
114 './cabal.sandbox.config')
115
116 --default-user-config FILE
117 Set a location for a cabal.config file for projects without
118 their own cabal.config freeze file.
119
120 --require-sandbox
121 --no-require-sandbox
122 requiring the presence of a sandbox for sandbox-aware commands
123
124 --ignore-sandbox
125 Ignore any existing sandbox
126
127 --ignore-expiry
128 Ignore expiry dates on signed metadata (use only in exceptional
129 circumstances)
130
131 --http-transport HttpTransport
132 Set a transport for http(s) requests. Accepts 'curl', 'wget',
133 'powershell', and 'plain-http'. (default: 'curl')
134
135 --enable-nix
136 --disable-nix
137 Nix integration: run commands through nix-shell if a 'shell.nix'
138 file exists
139
140 --remote-repo NAME:URL
141 The name and url for a remote repository
142
143 --local-no-index-repo NAME:PATH
144 The name and a path for a local no-index repository
145
146 --remote-repo-cache DIR
147 The location where downloads from all remote repos are cached
148
149 --local-repo DIR
150 The location of a local repository
151
152 --logs-dir, --logsdir DIR
153 The location to put log files
154
155 --world-file FILE
156 The location of the world file
157
158 --store-dir, --storedir DIR
159 The location of the nix-local-build store
160
161
163 cabal list
164
165 Usage: cabal list [FLAGS]
166 or: cabal list [FLAGS] STRINGS
167
168
169 List all packages, or all packages matching one of the search strings.
170
171 If there is a sandbox in the current directory and config:ignore-sand‐
172 box is False, use the sandbox package database. Otherwise, use the
173 package database specified with --package-db. If not specified, use the
174 user package database.
175
176
177 Examples:
178 cabal list pandoc
179 Will find pandoc, pandoc-citeproc, pandoc-lens, ...
180
181
182 Flags:
183 -v, --verbose [n]
184 Control verbosity (n is 0--3, default verbosity level is
185 1)
186
187 --installed
188 Only print installed packages
189
190 --simple-output
191 Print in a easy-to-parse format
192
193 --package-db DB
194 Append the given package database to the list of package
195 databases used (to satisfy dependencies and register
196 into). May be a specific file, 'global' or 'user'. The
197 initial list is ['global'], ['global', 'user'], or
198 ['global', $sandbox], depending on context. Use 'clear'
199 to reset the list to empty. See the user guide for de‐
200 tails.
201
202
203 cabal info
204
205 Usage: cabal info [FLAGS] PACKAGES
206
207
208 If there is a sandbox in the current directory and config:ignore-sand‐
209 box is False, use the sandbox package database. Otherwise, use the
210 package database specified with --package-db. If not specified, use the
211 user package database.
212
213
214 Flags:
215 -v, --verbose [n]
216 Control verbosity (n is 0--3, default verbosity level is
217 1)
218
219 --package-db DB
220 Append the given package database to the list of package
221 databases used (to satisfy dependencies and register
222 into). May be a specific file, 'global' or 'user'. The
223 initial list is ['global'], ['global', 'user'], or
224 ['global', $sandbox], depending on context. Use 'clear'
225 to reset the list to empty. See the user guide for de‐
226 tails.
227
228
229 cabal fetch
230
231 Usage: cabal fetch [FLAGS] PACKAGES
232
233
234 Note that it currently is not possible to fetch the dependencies for a
235 package in the current directory.
236
237
238 Flags:
239 -v, --verbose [n]
240 Control verbosity (n is 0--3, default verbosity level is
241 1)
242
243 --dependencies, --deps
244 Resolve and fetch dependencies (default)
245
246 --no-dependencies, --no-deps
247 Ignore dependencies
248
249 --dry-run
250 Do not install anything, only print what would be in‐
251 stalled.
252
253 --enable-tests
254 --disable-tests
255 dependency checking and compilation for test suites
256 listed in the package description file.
257
258 --enable-benchmarks
259 --disable-benchmarks
260 dependency checking and compilation for benchmarks listed
261 in the package description file.
262
263 --solver SOLVER
264 Select dependency solver to use (default: modular).
265 Choices: modular.
266
267 --max-backjumps NUM
268 Maximum number of backjumps allowed while solving (de‐
269 fault: 4000). Use a negative number to enable unlimited
270 backtracking. Use 0 to disable backtracking completely.
271
272 --reorder-goals
273 --no-reorder-goals
274 Try to reorder goals according to certain heuristics.
275 Slows things down on average, but may make backtracking
276 faster for some packages.
277
278 --count-conflicts
279 --no-count-conflicts
280 Try to speed up solving by preferring goals that are in‐
281 volved in a lot of conflicts (default).
282
283 --fine-grained-conflicts
284 --no-fine-grained-conflicts
285 Skip a version of a package if it does not resolve the
286 conflicts encountered in the last version, as a solver
287 optimization (default).
288
289 --minimize-conflict-set
290 --no-minimize-conflict-set
291 When there is no solution, try to improve the error mes‐
292 sage by finding a minimal conflict set (default: false).
293 May increase run time significantly.
294
295 --independent-goals
296 --no-independent-goals
297 Treat several goals on the command line as independent.
298 If several goals depend on the same package, different
299 versions can be chosen.
300
301 --shadow-installed-packages
302 --no-shadow-installed-packages
303 If multiple package instances of the same version are in‐
304 stalled, treat all but one as shadowed.
305
306 --strong-flags
307 --no-strong-flags
308 Do not defer flag choices (this used to be the default in
309 cabal-install <= 1.20).
310
311 --allow-boot-library-installs
312 --no-allow-boot-library-installs
313 Allow cabal to install base, ghc-prim, integer-simple,
314 integer-gmp, and template-haskell.
315
316 --reject-unconstrained-dependencies none|all
317 Require these packages to have constraints on them if
318 they are to be selected (default: none).
319
320
321 cabal get
322
323 Usage: cabal get [PACKAGES]
324
325
326 Creates a local copy of a package's source code. By default it gets the
327 source tarball and unpacks it in a local subdirectory. Alternatively,
328 with -s it will get the code from the source repository specified by
329 the package.
330
331
332 Examples:
333 cabal get hlint
334 Download the latest stable version of hlint;
335 cabal get lens --source-repository=head
336 Download the source repository (i.e. git clone from github).
337
338
339 Flags:
340 -v, --verbose [n]
341 Control verbosity (n is 0--3, default verbosity level is
342 1)
343
344 -d, --destdir PATH
345 Where to place the package source, defaults to the cur‐
346 rent directory.
347
348 -s, --source-repository [[head|this|...]]
349 Copy the package's source repository (ie git clone, darcs
350 get, etc as appropriate).
351
352 --index-state STATE
353 Use source package index state as it existed at a previ‐
354 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
355 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
356 'HEAD' (default: 'HEAD'). This determines which package
357 versions are available as well as .cabal file revision is
358 selected (unless --pristine is used).
359
360 --pristine
361 Unpack the original pristine tarball, rather than updat‐
362 ing the .cabal file with the latest revision from the
363 package archive.
364
365
366 cabal check
367
368 Usage: cabal check [FLAGS]
369
370
371 Expects a .cabal package file in the current directory.
372
373 The checks correspond to the requirements to packages on Hackage. If no
374 errors and warnings are reported, Hackage will accept this package.
375
376
377 Flags:
378 -v, --verbose [n]
379 Control verbosity (n is 0--3, default verbosity level is
380 1)
381
382
383 cabal upload
384
385 Usage: cabal upload [FLAGS] TARFILES
386
387
388 You can store your Hackage login in the ~/.cabal/config file Relevant
389 global configuration keys:
390 username
391 password
392
393
394 Flags:
395 -v, --verbose [n]
396 Control verbosity (n is 0--3, default verbosity level is
397 1)
398
399 --publish
400 Publish the package instead of uploading it as a candi‐
401 date.
402
403 -d, --documentation
404 Upload documentation instead of a source package. By de‐
405 fault, this uploads documentation for a package candi‐
406 date. To upload documentation for a published package,
407 combine with --publish.
408
409 -u, --username USERNAME
410 Hackage username.
411
412 -p, --password PASSWORD
413 Hackage password.
414
415 -P, --password-command PASSWORD
416 Command to get Hackage password.
417
418
419 cabal report
420
421 Usage: cabal report [FLAGS]
422
423
424 You can store your Hackage login in the ~/.cabal/config file
425
426
427 Flags:
428 -v, --verbose [n]
429 Control verbosity (n is 0--3, default verbosity level is
430 1)
431
432 -u, --username USERNAME
433 Hackage username.
434
435 -p, --password PASSWORD
436 Hackage password.
437
438
439 cabal init
440
441 Usage: cabal init [FLAGS]
442
443
444 Create a .cabal, Setup.hs, and optionally a LICENSE file.
445
446 Calling init with no arguments creates an executable, guessing as many
447 options as possible. The interactive mode can be invoked by the
448 -i/--interactive flag, which will try to guess as much as possible and
449 prompt you for the rest. You can change init to always be interactive
450 by setting the interactive flag in your configuration file. Command-
451 line arguments are provided for scripting purposes.
452
453
454 Flags:
455 -i, --interactive
456 -n, --non-interactive
457 interactive mode.
458
459 -q, --quiet
460 Do not generate log messages to stdout.
461
462 --no-comments
463 Do not generate explanatory comments in the .cabal file.
464
465 -m, --minimal
466 Generate a minimal .cabal file, that is, do not include
467 extra empty fields. Also implies --no-comments.
468
469 --overwrite
470 Overwrite any existing .cabal, LICENSE, or Setup.hs files
471 without warning.
472
473 --package-dir, --packagedir DIRECTORY
474 Root directory of the package (default = current direc‐
475 tory).
476
477 -p, --package-name PACKAGE
478 Name of the Cabal package to create.
479
480 --version VERSION
481 Initial version of the package.
482
483 --cabal-version VERSION_RANGE
484 Version of the Cabal specification.
485
486 -l, --license LICENSE
487 Project license.
488
489 -a, --author NAME
490 Name of the project's author.
491
492 -e, --email EMAIL
493 Email address of the maintainer.
494
495 -u, --homepage URL
496 Project homepage and/or repository.
497
498 -s, --synopsis TEXT
499 Short project synopsis.
500
501 -c, --category CATEGORY
502 Project category.
503
504 -x, --extra-source-file FILE
505 Extra source file to be distributed with tarball.
506
507 --lib, --is-library
508 Build a library.
509
510 --exe, --is-executable
511 Build an executable.
512
513 --libandexe, --is-libandexe
514 Build a library and an executable.
515
516 --tests
517 Generate a test suite for the library.
518
519 --test-dir DIR
520 Directory containing tests.
521
522 --simple
523 Create a simple project with sensible defaults.
524
525 --main-is FILE
526 Specify the main module.
527
528 --language LANGUAGE
529 Specify the default language.
530
531 -o, --expose-module MODULE
532 Export a module from the package.
533
534 --extension EXTENSION
535 Use a LANGUAGE extension (in the other-extensions field).
536
537 -d, --dependency PACKAGE
538 Package dependency.
539
540 --application-dir DIR
541 Directory containing package application executable.
542
543 --source-dir, --sourcedir DIR
544 Directory containing package library source.
545
546 --build-tool TOOL
547 Required external build tool.
548
549 -w, --with-compiler PATH
550 give the path to a particular compiler
551
552 -v, --verbose [n]
553 Control verbosity (n is 0--3, default verbosity level is
554 1)
555
556
557 cabal user-config
558
559 Usage: cabal user-config init
560 or: cabal user-config diff
561 or: cabal user-config update
562
563
564 When upgrading cabal, the set of configuration keys and their default
565 values may change. This command provides means to merge the existing
566 config in ~/.cabal/config (i.e. all bindings that are actually defined
567 and not commented out) and the default config of the new version.
568
569 init: Creates a new config file at either ~/.cabal/config or as speci‐
570 fied by --config-file, if given. An existing file won't be overwritten
571 unless -f or --force is given. diff: Shows a pseudo-diff of the user's
572 ~/.cabal/config file and the default configuration that would be cre‐
573 ated by cabal if the config file did not exist. update: Applies the
574 pseudo-diff to the configuration that would be created by default, and
575 write the result back to ~/.cabal/config.
576
577
578 Flags:
579 -v, --verbose [n]
580 Control verbosity (n is 0--3, default verbosity level is
581 1)
582
583 -f, --force
584 Overwrite the config file if it already exists.
585
586 -a, --augment CONFIGLINE
587 Additional setting to augment the config file (replacing
588 a previous setting if it existed).
589
590
591 cabal gen-bounds
592
593 Usage: cabal gen-bounds [FLAGS]
594
595
596 Generates bounds for all dependencies that do not currently have them.
597 Generated bounds are printed to stdout. You can then paste them into
598 your
599
600
601
602 Flags:
603 -v, --verbose [n]
604 Control verbosity (n is 0--3, default verbosity level is
605 1)
606
607
608 cabal outdated
609
610 Usage: cabal outdated [FLAGS]
611
612
613 Checks for outdated dependencies in the package description file or
614 freeze file
615
616
617 Flags:
618 -v, --verbose [n]
619 Control verbosity (n is 0--3, default verbosity level is
620 1)
621
622 --freeze-file, --v1-freeze-file
623 Act on the freeze file
624
625 --v2-freeze-file, --new-freeze-file
626 Act on the new-style freeze file (default: ca‐
627 bal.project.freeze)
628
629 --project-file PROJECTFILE
630 Act on the new-style freeze file named PROJECTFILE.freeze
631 rather than the default cabal.project.freeze
632
633 --simple-output
634 Only print names of outdated dependencies, one per line
635
636 --exit-code
637 Exit with non-zero when there are outdated dependencies
638
639 -q, --quiet
640 Don't print any output. Implies '--exit-code' and '-v0'
641
642 --ignore PKGS
643 Packages to ignore
644
645 --minor [PKGS]
646 Ignore major version bumps for these packages
647
648
649 cabal hscolour
650
651 Usage: cabal hscolour [FLAGS]
652
653
654 Requires the hscolour program.
655
656
657 Deprecated in favour of 'cabal haddock --hyperlink-source'.
658
659 Flags:
660 -v, --verbose [n]
661 Control verbosity (n is 0--3, default verbosity level is
662 1)
663
664 --builddir, --distdir, --distpref DIR
665 The directory where Cabal puts generated build files (de‐
666 fault dist)
667
668 --executables
669 Run hscolour for Executables targets
670
671 --tests
672 Run hscolour for Test Suite targets
673
674 --benchmarks
675 Run hscolour for Benchmark targets
676
677 --foreign-libraries
678 Run hscolour for Foreign Library targets
679
680 --all
681 Run hscolour for all targets
682
683 --css PATH
684 Use a cascading style sheet
685
686
687 cabal configure
688
689 Usage: cabal configure [FLAGS]
690
691
692 Adjust how the project is built by setting additional package flags and
693 other flags.
694
695 The configuration options are written to the 'cabal.project.local' file
696 (or configuration from the 'cabal.project' file (if any). This combina‐
697 tion is used as the project configuration for all other commands (such
698 as 'build',
699
700 The configure command also checks that the project configuration will
701 work. In particular it checks that there is a consistent set of depen‐
702 dencies for the project as a whole.
703
704 The 'cabal.project.local' file persists across 'clean' but is overwrit‐
705 ten on the next use of the 'configure' command. The intention is that
706 the
707
708 It is never necessary to use the 'configure' command. It is merely a
709 convenience in cases where you do not want to specify flags to 'build'
710 (and other commands) every time and yet do not want to alter the 'ca‐
711 bal.project' persistently.
712
713
714 Adjust how the project is built by setting additional package flags and
715 other flags.
716
717 The configuration options are written to the 'cabal.project.local' file
718 (or configuration from the 'cabal.project' file (if any). This combina‐
719 tion is used as the project configuration for all other commands (such
720 as 'build',
721
722 The configure command also checks that the project configuration will
723 work. In particular it checks that there is a consistent set of depen‐
724 dencies for the project as a whole.
725
726 The 'cabal.project.local' file persists across 'clean' but is overwrit‐
727 ten on the next use of the 'configure' command. The intention is that
728 the
729
730 It is never necessary to use the 'configure' command. It is merely a
731 convenience in cases where you do not want to specify flags to 'build'
732 (and other commands) every time and yet do not want to alter the 'ca‐
733 bal.project' persistently.
734
735
736 Flags:
737 -v, --verbose [n]
738 Control verbosity (n is 0--3, default verbosity level is
739 1)
740
741 --builddir, --distdir, --distpref DIR
742 The directory where Cabal puts generated build files (de‐
743 fault dist)
744
745 -g, --ghc
746 compile with GHC
747
748 --ghcjs
749 compile with GHCJS
750
751 --uhc
752 compile with UHC
753
754 --haskell-suite
755 compile with a haskell-suite compiler
756
757 --cabal-file PATH
758 use this Cabal file
759
760 -w, --with-compiler PATH
761 give the path to a particular compiler
762
763 --with-hc-pkg PATH
764 give the path to the package tool
765
766 --prefix DIR
767 bake this prefix in preparation of installation
768
769 --bindir DIR
770 installation directory for executables
771
772 --libdir DIR
773 installation directory for libraries
774
775 --libsubdir DIR
776 subdirectory of libdir in which libs are installed
777
778 --dynlibdir DIR
779 installation directory for dynamic libraries
780
781 --libexecdir DIR
782 installation directory for program executables
783
784 --libexecsubdir DIR
785 subdirectory of libexecdir in which private executables
786 are installed
787
788 --datadir DIR
789 installation directory for read-only data
790
791 --datasubdir DIR
792 subdirectory of datadir in which data files are installed
793
794 --docdir DIR
795 installation directory for documentation
796
797 --htmldir DIR
798 installation directory for HTML documentation
799
800 --haddockdir DIR
801 installation directory for haddock interfaces
802
803 --sysconfdir DIR
804 installation directory for configuration files
805
806 --program-prefix PREFIX
807 prefix to be applied to installed executables
808
809 --program-suffix SUFFIX
810 suffix to be applied to installed executables
811
812 --enable-library-vanilla
813 --disable-library-vanilla
814 Vanilla libraries
815
816 -p, --enable-library-profiling
817 --disable-library-profiling
818 Library profiling
819
820 --enable-shared
821 --disable-shared
822 Shared library
823
824 --enable-static
825 --disable-static
826 Static library
827
828 --enable-executable-dynamic
829 --disable-executable-dynamic
830 Executable dynamic linking
831
832 --enable-executable-static
833 --disable-executable-static
834 Executable fully static linking
835
836 --enable-profiling
837 --disable-profiling
838 Executable and library profiling
839
840 --enable-executable-profiling
841 --disable-executable-profiling
842 Executable profiling (DEPRECATED)
843
844 --profiling-detail level
845 Profiling detail level for executable and library (de‐
846 fault, none, exported-functions, toplevel-functions,
847 all-functions).
848
849 --library-profiling-detail level
850 Profiling detail level for libraries only.
851
852 -O, --enable-optimization, --enable-optimisation [n]
853 Build with optimization (n is 0--2, default is 1)
854
855 --disable-optimization, --disable-optimisation
856 Build without optimization
857
858 --enable-debug-info [n]
859 Emit debug info (n is 0--3, default is 0)
860
861 --disable-debug-info
862 Don't emit debug info
863
864 --enable-library-for-ghci
865 --disable-library-for-ghci
866 compile library for use with GHCi
867
868 --enable-split-sections
869 --disable-split-sections
870 compile library code such that unneeded definitions can
871 be dropped from the final executable (GHC 7.8+)
872
873 --enable-split-objs
874 --disable-split-objs
875 split library into smaller objects to reduce binary sizes
876 (GHC 6.6+)
877
878 --enable-executable-stripping
879 --disable-executable-stripping
880 strip executables upon installation to reduce binary
881 sizes
882
883 --enable-library-stripping
884 --disable-library-stripping
885 strip libraries upon installation to reduce binary sizes
886
887 --configure-option OPT
888 Extra option for configure
889
890 --user
891 --global
892 doing a per-user installation
893
894 --package-db DB
895 Append the given package database to the list of package
896 databases used (to satisfy dependencies and register
897 into). May be a specific file, 'global' or 'user'. The
898 initial list is ['global'], ['global', 'user'], or
899 ['global', $sandbox], depending on context. Use 'clear'
900 to reset the list to empty. See the user guide for de‐
901 tails.
902
903 -f, --flags FLAGS
904 Force values for the given flags in Cabal conditionals in
905 the .cabal file. E.g., --flags="debug -usebytestrings"
906 forces the flag "debug" to true and "usebytestrings" to
907 false.
908
909 --extra-include-dirs PATH
910 A list of directories to search for header files
911
912 --enable-deterministic
913 --disable-deterministic
914 Try to be as deterministic as possible (used by the test
915 suite)
916
917 --ipid IPID
918 Installed package ID to compile this package as
919
920 --cid CID
921 Installed component ID to compile this component as
922
923 --extra-lib-dirs PATH
924 A list of directories to search for external libraries
925
926 --extra-framework-dirs PATH
927 A list of directories to search for external frameworks
928 (OS X only)
929
930 --extra-prog-path PATH
931 A list of directories to search for required programs (in
932 addition to the normal search locations)
933
934 --instantiate-with NAME=MOD
935 A mapping of signature names to concrete module instanti‐
936 ations.
937
938 --enable-tests
939 --disable-tests
940 dependency checking and compilation for test suites
941 listed in the package description file.
942
943 --enable-coverage
944 --disable-coverage
945 build package with Haskell Program Coverage. (GHC only)
946
947 --enable-library-coverage
948 --disable-library-coverage
949 build package with Haskell Program Coverage. (GHC only)
950 (DEPRECATED)
951
952 --enable-benchmarks
953 --disable-benchmarks
954 dependency checking and compilation for benchmarks listed
955 in the package description file.
956
957 --enable-relocatable
958 --disable-relocatable
959 building a package that is relocatable. (GHC only)
960
961 --disable-response-files
962 enable workaround for old versions of programs like "ar"
963 that do not support @file arguments
964
965 --allow-depending-on-private-libs
966 Allow depending on private libraries. If set, the library
967 visibility check MUST be done externally.
968
969 --with-alex PATH
970 give the path to alex
971
972 --with-ar PATH
973 give the path to ar
974
975 --with-c2hs PATH
976 give the path to c2hs
977
978 --with-cpphs PATH
979 give the path to cpphs
980
981 --with-doctest PATH
982 give the path to doctest
983
984 --with-gcc PATH
985 give the path to gcc
986
987 --with-ghc PATH
988 give the path to ghc
989
990 --with-ghc-pkg PATH
991 give the path to ghc-pkg
992
993 --with-ghcjs PATH
994 give the path to ghcjs
995
996 --with-ghcjs-pkg PATH
997 give the path to ghcjs-pkg
998
999 --with-greencard PATH
1000 give the path to greencard
1001
1002 --with-haddock PATH
1003 give the path to haddock
1004
1005 --with-happy PATH
1006 give the path to happy
1007
1008 --with-haskell-suite PATH
1009 give the path to haskell-suite
1010
1011 --with-haskell-suite-pkg PATH
1012 give the path to haskell-suite-pkg
1013
1014 --with-hmake PATH
1015 give the path to hmake
1016
1017 --with-hpc PATH
1018 give the path to hpc
1019
1020 --with-hsc2hs PATH
1021 give the path to hsc2hs
1022
1023 --with-hscolour PATH
1024 give the path to hscolour
1025
1026 --with-jhc PATH
1027 give the path to jhc
1028
1029 --with-ld PATH
1030 give the path to ld
1031
1032 --with-pkg-config PATH
1033 give the path to pkg-config
1034
1035 --with-runghc PATH
1036 give the path to runghc
1037
1038 --with-strip PATH
1039 give the path to strip
1040
1041 --with-tar PATH
1042 give the path to tar
1043
1044 --with-uhc PATH
1045 give the path to uhc
1046
1047 --alex-option OPT
1048 give an extra option to alex (no need to quote options
1049 containing spaces)
1050
1051 --ar-option OPT
1052 give an extra option to ar (no need to quote options con‐
1053 taining spaces)
1054
1055 --c2hs-option OPT
1056 give an extra option to c2hs (no need to quote options
1057 containing spaces)
1058
1059 --cpphs-option OPT
1060 give an extra option to cpphs (no need to quote options
1061 containing spaces)
1062
1063 --doctest-option OPT
1064 give an extra option to doctest (no need to quote options
1065 containing spaces)
1066
1067 --gcc-option OPT
1068 give an extra option to gcc (no need to quote options
1069 containing spaces)
1070
1071 --ghc-option OPT
1072 give an extra option to ghc (no need to quote options
1073 containing spaces)
1074
1075 --ghc-pkg-option OPT
1076 give an extra option to ghc-pkg (no need to quote options
1077 containing spaces)
1078
1079 --ghcjs-option OPT
1080 give an extra option to ghcjs (no need to quote options
1081 containing spaces)
1082
1083 --ghcjs-pkg-option OPT
1084 give an extra option to ghcjs-pkg (no need to quote op‐
1085 tions containing spaces)
1086
1087 --greencard-option OPT
1088 give an extra option to greencard (no need to quote op‐
1089 tions containing spaces)
1090
1091 --haddock-option OPT
1092 give an extra option to haddock (no need to quote options
1093 containing spaces)
1094
1095 --happy-option OPT
1096 give an extra option to happy (no need to quote options
1097 containing spaces)
1098
1099 --haskell-suite-option OPT
1100 give an extra option to haskell-suite (no need to quote
1101 options containing spaces)
1102
1103 --haskell-suite-pkg-option OPT
1104 give an extra option to haskell-suite-pkg (no need to
1105 quote options containing spaces)
1106
1107 --hmake-option OPT
1108 give an extra option to hmake (no need to quote options
1109 containing spaces)
1110
1111 --hpc-option OPT
1112 give an extra option to hpc (no need to quote options
1113 containing spaces)
1114
1115 --hsc2hs-option OPT
1116 give an extra option to hsc2hs (no need to quote options
1117 containing spaces)
1118
1119 --hscolour-option OPT
1120 give an extra option to hscolour (no need to quote op‐
1121 tions containing spaces)
1122
1123 --jhc-option OPT
1124 give an extra option to jhc (no need to quote options
1125 containing spaces)
1126
1127 --ld-option OPT
1128 give an extra option to ld (no need to quote options con‐
1129 taining spaces)
1130
1131 --pkg-config-option OPT
1132 give an extra option to pkg-config (no need to quote op‐
1133 tions containing spaces)
1134
1135 --runghc-option OPT
1136 give an extra option to runghc (no need to quote options
1137 containing spaces)
1138
1139 --strip-option OPT
1140 give an extra option to strip (no need to quote options
1141 containing spaces)
1142
1143 --tar-option OPT
1144 give an extra option to tar (no need to quote options
1145 containing spaces)
1146
1147 --uhc-option OPT
1148 give an extra option to uhc (no need to quote options
1149 containing spaces)
1150
1151 --alex-options OPTS
1152 give extra options to alex
1153
1154 --ar-options OPTS
1155 give extra options to ar
1156
1157 --c2hs-options OPTS
1158 give extra options to c2hs
1159
1160 --cpphs-options OPTS
1161 give extra options to cpphs
1162
1163 --doctest-options OPTS
1164 give extra options to doctest
1165
1166 --gcc-options OPTS
1167 give extra options to gcc
1168
1169 --ghc-options OPTS
1170 give extra options to ghc
1171
1172 --ghc-pkg-options OPTS
1173 give extra options to ghc-pkg
1174
1175 --ghcjs-options OPTS
1176 give extra options to ghcjs
1177
1178 --ghcjs-pkg-options OPTS
1179 give extra options to ghcjs-pkg
1180
1181 --greencard-options OPTS
1182 give extra options to greencard
1183
1184 --haddock-options OPTS
1185 give extra options to haddock
1186
1187 --happy-options OPTS
1188 give extra options to happy
1189
1190 --haskell-suite-options OPTS
1191 give extra options to haskell-suite
1192
1193 --haskell-suite-pkg-options OPTS
1194 give extra options to haskell-suite-pkg
1195
1196 --hmake-options OPTS
1197 give extra options to hmake
1198
1199 --hpc-options OPTS
1200 give extra options to hpc
1201
1202 --hsc2hs-options OPTS
1203 give extra options to hsc2hs
1204
1205 --hscolour-options OPTS
1206 give extra options to hscolour
1207
1208 --jhc-options OPTS
1209 give extra options to jhc
1210
1211 --ld-options OPTS
1212 give extra options to ld
1213
1214 --pkg-config-options OPTS
1215 give extra options to pkg-config
1216
1217 --runghc-options OPTS
1218 give extra options to runghc
1219
1220 --strip-options OPTS
1221 give extra options to strip
1222
1223 --tar-options OPTS
1224 give extra options to tar
1225
1226 --uhc-options OPTS
1227 give extra options to uhc
1228
1229 --cabal-lib-version VERSION
1230 Select which version of the Cabal lib to use to build
1231 packages (useful for testing).
1232
1233 --constraint CONSTRAINT
1234 Specify constraints on a package (version, in‐
1235 stalled/source, flags)
1236
1237 --preference CONSTRAINT
1238 Specify preferences (soft constraints) on the version of
1239 a package
1240
1241 --solver SOLVER
1242 Select dependency solver to use (default: modular).
1243 Choices: modular.
1244
1245 --allow-older [DEPS]
1246 Ignore lower bounds in all dependencies or DEPS
1247
1248 --allow-newer [DEPS]
1249 Ignore upper bounds in all dependencies or DEPS
1250
1251 --write-ghc-environment-files always|never|ghc8.4.4+
1252 Whether to create a .ghc.environment file after a suc‐
1253 cessful build (v2-build only)
1254
1255 --enable-documentation
1256 --disable-documentation
1257 building of documentation
1258
1259 --doc-index-file TEMPLATE
1260 A central index of haddock API documentation (template
1261 cannot use $pkgid)
1262
1263 --dry-run
1264 Do not install anything, only print what would be in‐
1265 stalled.
1266
1267 --max-backjumps NUM
1268 Maximum number of backjumps allowed while solving (de‐
1269 fault: 4000). Use a negative number to enable unlimited
1270 backtracking. Use 0 to disable backtracking completely.
1271
1272 --reorder-goals
1273 --no-reorder-goals
1274 Try to reorder goals according to certain heuristics.
1275 Slows things down on average, but may make backtracking
1276 faster for some packages.
1277
1278 --count-conflicts
1279 --no-count-conflicts
1280 Try to speed up solving by preferring goals that are in‐
1281 volved in a lot of conflicts (default).
1282
1283 --fine-grained-conflicts
1284 --no-fine-grained-conflicts
1285 Skip a version of a package if it does not resolve the
1286 conflicts encountered in the last version, as a solver
1287 optimization (default).
1288
1289 --minimize-conflict-set
1290 --no-minimize-conflict-set
1291 When there is no solution, try to improve the error mes‐
1292 sage by finding a minimal conflict set (default: false).
1293 May increase run time significantly.
1294
1295 --independent-goals
1296 --no-independent-goals
1297 Treat several goals on the command line as independent.
1298 If several goals depend on the same package, different
1299 versions can be chosen.
1300
1301 --shadow-installed-packages
1302 --no-shadow-installed-packages
1303 If multiple package instances of the same version are in‐
1304 stalled, treat all but one as shadowed.
1305
1306 --strong-flags
1307 --no-strong-flags
1308 Do not defer flag choices (this used to be the default in
1309 cabal-install <= 1.20).
1310
1311 --allow-boot-library-installs
1312 --no-allow-boot-library-installs
1313 Allow cabal to install base, ghc-prim, integer-simple,
1314 integer-gmp, and template-haskell.
1315
1316 --reject-unconstrained-dependencies none|all
1317 Require these packages to have constraints on them if
1318 they are to be selected (default: none).
1319
1320 --reinstall
1321 --no-reinstall
1322 Install even if it means installing the same version
1323 again.
1324
1325 --avoid-reinstalls
1326 --no-avoid-reinstalls
1327 Do not select versions that would destructively overwrite
1328 installed packages.
1329
1330 --force-reinstalls
1331 --no-force-reinstalls
1332 Reinstall packages even if they will most likely break
1333 other installed packages.
1334
1335 --upgrade-dependencies
1336 --no-upgrade-dependencies
1337 Pick the latest version for all dependencies, rather than
1338 trying to pick an installed version.
1339
1340 --only-dependencies
1341 --no-only-dependencies
1342 Install only the dependencies necessary to build the
1343 given packages
1344
1345 --dependencies-only
1346 --no-dependencies-only
1347 A synonym for --only-dependencies
1348
1349 --index-state STATE
1350 Use source package index state as it existed at a previ‐
1351 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
1352 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
1353 'HEAD' (default: 'HEAD').
1354
1355 --root-cmd COMMAND
1356 (No longer supported, do not use.)
1357
1358 --symlink-bindir DIR
1359 Add symlinks to installed executables into this direc‐
1360 tory.
1361
1362 --build-summary TEMPLATE
1363 Save build summaries to file (name template can use
1364 $pkgid, $compiler, $os, $arch)
1365
1366 --build-log TEMPLATE
1367 Log all builds to file (name template can use $pkgid,
1368 $compiler, $os, $arch)
1369
1370 --remote-build-reporting LEVEL
1371 Generate build reports to send to a remote server (none,
1372 anonymous or detailed).
1373
1374 --report-planning-failure
1375 Generate build reports when the dependency solver fails.
1376 This is used by the Hackage build bot.
1377
1378 --enable-per-component
1379 --disable-per-component
1380 Per-component builds when possible
1381
1382 --one-shot
1383 --no-one-shot
1384 Do not record the packages in the world file.
1385
1386 --run-tests
1387 Run package test suites during installation.
1388
1389 -j, --jobs [NUM]
1390 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
1391 given).
1392
1393 --keep-going
1394 After a build failure, continue to build other unaffected
1395 packages.
1396
1397 --offline
1398 --no-offline
1399 Don't download packages from the Internet.
1400
1401 --project-file FILE
1402 Set the name of the cabal.project file to search for in
1403 parent directories
1404
1405 --only
1406 Only installs the package in the current directory.
1407
1408 --haddock-hoogle
1409 Generate a hoogle database
1410
1411 --haddock-html
1412 Generate HTML documentation (the default)
1413
1414 --haddock-html-location URL
1415 Location of HTML documentation for pre-requisite packages
1416
1417 --haddock-for-hackage
1418 Collection of flags to generate documentation suitable
1419 for upload to hackage
1420
1421 --haddock-executables
1422 Run haddock for Executables targets
1423
1424 --haddock-tests
1425 Run haddock for Test Suite targets
1426
1427 --haddock-benchmarks
1428 Run haddock for Benchmark targets
1429
1430 --haddock-all
1431 Run haddock for all targets
1432
1433 --haddock-internal
1434 Run haddock for internal modules and include all symbols
1435
1436 --haddock-css PATH
1437 Use PATH as the haddock stylesheet
1438
1439 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
1440 dock-hyperlinked-source
1441 Hyperlink the documentation to the source code
1442
1443 --haddock-quickjump
1444 Generate an index for interactive documentation naviga‐
1445 tion
1446
1447 --haddock-hscolour-css PATH
1448 Use PATH as the HsColour stylesheet
1449
1450 --haddock-contents-location URL
1451 Bake URL in as the location for the contents page
1452
1453 --test-log TEMPLATE
1454 Log all test suite results to file (name template can use
1455 $pkgid, $compiler, $os, $arch, $test-suite, $result)
1456
1457 --test-machine-log TEMPLATE
1458 Produce a machine-readable log file (name template can
1459 use $pkgid, $compiler, $os, $arch, $result)
1460
1461 --test-show-details FILTER
1462
1463 --test-keep-tix-files
1464 keep .tix files for HPC between test runs
1465
1466 --test-wrapper FILE
1467 Run test through a wrapper.
1468
1469 --test-fail-when-no-test-suites
1470 Exit with failure when no test suites are found.
1471
1472 --test-options TEMPLATES
1473 give extra options to test executables (name templates
1474 can use $pkgid, $compiler, $os, $arch, $test-suite)
1475
1476 --test-option TEMPLATE
1477 give extra option to test executables (no need to quote
1478 options containing spaces, name template can use $pkgid,
1479 $compiler, $os, $arch, $test-suite)
1480
1481 --benchmark-options TEMPLATES
1482 give extra options to benchmark executables (name tem‐
1483 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
1484
1485 --benchmark-option TEMPLATE
1486 give extra option to benchmark executables (no need to
1487 quote options containing spaces, name template can use
1488 $pkgid, $compiler, $os, $arch, $benchmark)
1489
1490
1491 cabal new-configure
1492
1493 Usage: cabal new-configure [FLAGS]
1494
1495
1496 Adjust how the project is built by setting additional package flags and
1497 other flags.
1498
1499 The configuration options are written to the 'cabal.project.local' file
1500 (or configuration from the 'cabal.project' file (if any). This combina‐
1501 tion is used as the project configuration for all other commands (such
1502 as 'new-build',
1503
1504 The new-configure command also checks that the project configuration
1505 will work. In particular it checks that there is a consistent set of
1506 dependencies for the project as a whole.
1507
1508 The 'cabal.project.local' file persists across 'new-clean' but is over‐
1509 written on the next use of the 'new-configure' command. The intention
1510 is that the
1511
1512 It is never necessary to use the 'new-configure' command. It is merely
1513 a convenience in cases where you do not want to specify flags to 'new-
1514 build' (and other commands) every time and yet do not want to alter the
1515 'cabal.project' persistently.
1516
1517
1518 Adjust how the project is built by setting additional package flags and
1519 other flags.
1520
1521 The configuration options are written to the 'cabal.project.local' file
1522 (or configuration from the 'cabal.project' file (if any). This combina‐
1523 tion is used as the project configuration for all other commands (such
1524 as 'new-build',
1525
1526 The new-configure command also checks that the project configuration
1527 will work. In particular it checks that there is a consistent set of
1528 dependencies for the project as a whole.
1529
1530 The 'cabal.project.local' file persists across 'new-clean' but is over‐
1531 written on the next use of the 'new-configure' command. The intention
1532 is that the
1533
1534 It is never necessary to use the 'new-configure' command. It is merely
1535 a convenience in cases where you do not want to specify flags to 'new-
1536 build' (and other commands) every time and yet do not want to alter the
1537 'cabal.project' persistently.
1538
1539
1540 Flags:
1541 -v, --verbose [n]
1542 Control verbosity (n is 0--3, default verbosity level is
1543 1)
1544
1545 --builddir, --distdir, --distpref DIR
1546 The directory where Cabal puts generated build files (de‐
1547 fault dist)
1548
1549 -g, --ghc
1550 compile with GHC
1551
1552 --ghcjs
1553 compile with GHCJS
1554
1555 --uhc
1556 compile with UHC
1557
1558 --haskell-suite
1559 compile with a haskell-suite compiler
1560
1561 --cabal-file PATH
1562 use this Cabal file
1563
1564 -w, --with-compiler PATH
1565 give the path to a particular compiler
1566
1567 --with-hc-pkg PATH
1568 give the path to the package tool
1569
1570 --prefix DIR
1571 bake this prefix in preparation of installation
1572
1573 --bindir DIR
1574 installation directory for executables
1575
1576 --libdir DIR
1577 installation directory for libraries
1578
1579 --libsubdir DIR
1580 subdirectory of libdir in which libs are installed
1581
1582 --dynlibdir DIR
1583 installation directory for dynamic libraries
1584
1585 --libexecdir DIR
1586 installation directory for program executables
1587
1588 --libexecsubdir DIR
1589 subdirectory of libexecdir in which private executables
1590 are installed
1591
1592 --datadir DIR
1593 installation directory for read-only data
1594
1595 --datasubdir DIR
1596 subdirectory of datadir in which data files are installed
1597
1598 --docdir DIR
1599 installation directory for documentation
1600
1601 --htmldir DIR
1602 installation directory for HTML documentation
1603
1604 --haddockdir DIR
1605 installation directory for haddock interfaces
1606
1607 --sysconfdir DIR
1608 installation directory for configuration files
1609
1610 --program-prefix PREFIX
1611 prefix to be applied to installed executables
1612
1613 --program-suffix SUFFIX
1614 suffix to be applied to installed executables
1615
1616 --enable-library-vanilla
1617 --disable-library-vanilla
1618 Vanilla libraries
1619
1620 -p, --enable-library-profiling
1621 --disable-library-profiling
1622 Library profiling
1623
1624 --enable-shared
1625 --disable-shared
1626 Shared library
1627
1628 --enable-static
1629 --disable-static
1630 Static library
1631
1632 --enable-executable-dynamic
1633 --disable-executable-dynamic
1634 Executable dynamic linking
1635
1636 --enable-executable-static
1637 --disable-executable-static
1638 Executable fully static linking
1639
1640 --enable-profiling
1641 --disable-profiling
1642 Executable and library profiling
1643
1644 --enable-executable-profiling
1645 --disable-executable-profiling
1646 Executable profiling (DEPRECATED)
1647
1648 --profiling-detail level
1649 Profiling detail level for executable and library (de‐
1650 fault, none, exported-functions, toplevel-functions,
1651 all-functions).
1652
1653 --library-profiling-detail level
1654 Profiling detail level for libraries only.
1655
1656 -O, --enable-optimization, --enable-optimisation [n]
1657 Build with optimization (n is 0--2, default is 1)
1658
1659 --disable-optimization, --disable-optimisation
1660 Build without optimization
1661
1662 --enable-debug-info [n]
1663 Emit debug info (n is 0--3, default is 0)
1664
1665 --disable-debug-info
1666 Don't emit debug info
1667
1668 --enable-library-for-ghci
1669 --disable-library-for-ghci
1670 compile library for use with GHCi
1671
1672 --enable-split-sections
1673 --disable-split-sections
1674 compile library code such that unneeded definitions can
1675 be dropped from the final executable (GHC 7.8+)
1676
1677 --enable-split-objs
1678 --disable-split-objs
1679 split library into smaller objects to reduce binary sizes
1680 (GHC 6.6+)
1681
1682 --enable-executable-stripping
1683 --disable-executable-stripping
1684 strip executables upon installation to reduce binary
1685 sizes
1686
1687 --enable-library-stripping
1688 --disable-library-stripping
1689 strip libraries upon installation to reduce binary sizes
1690
1691 --configure-option OPT
1692 Extra option for configure
1693
1694 --user
1695 --global
1696 doing a per-user installation
1697
1698 --package-db DB
1699 Append the given package database to the list of package
1700 databases used (to satisfy dependencies and register
1701 into). May be a specific file, 'global' or 'user'. The
1702 initial list is ['global'], ['global', 'user'], or
1703 ['global', $sandbox], depending on context. Use 'clear'
1704 to reset the list to empty. See the user guide for de‐
1705 tails.
1706
1707 -f, --flags FLAGS
1708 Force values for the given flags in Cabal conditionals in
1709 the .cabal file. E.g., --flags="debug -usebytestrings"
1710 forces the flag "debug" to true and "usebytestrings" to
1711 false.
1712
1713 --extra-include-dirs PATH
1714 A list of directories to search for header files
1715
1716 --enable-deterministic
1717 --disable-deterministic
1718 Try to be as deterministic as possible (used by the test
1719 suite)
1720
1721 --ipid IPID
1722 Installed package ID to compile this package as
1723
1724 --cid CID
1725 Installed component ID to compile this component as
1726
1727 --extra-lib-dirs PATH
1728 A list of directories to search for external libraries
1729
1730 --extra-framework-dirs PATH
1731 A list of directories to search for external frameworks
1732 (OS X only)
1733
1734 --extra-prog-path PATH
1735 A list of directories to search for required programs (in
1736 addition to the normal search locations)
1737
1738 --instantiate-with NAME=MOD
1739 A mapping of signature names to concrete module instanti‐
1740 ations.
1741
1742 --enable-tests
1743 --disable-tests
1744 dependency checking and compilation for test suites
1745 listed in the package description file.
1746
1747 --enable-coverage
1748 --disable-coverage
1749 build package with Haskell Program Coverage. (GHC only)
1750
1751 --enable-library-coverage
1752 --disable-library-coverage
1753 build package with Haskell Program Coverage. (GHC only)
1754 (DEPRECATED)
1755
1756 --enable-benchmarks
1757 --disable-benchmarks
1758 dependency checking and compilation for benchmarks listed
1759 in the package description file.
1760
1761 --enable-relocatable
1762 --disable-relocatable
1763 building a package that is relocatable. (GHC only)
1764
1765 --disable-response-files
1766 enable workaround for old versions of programs like "ar"
1767 that do not support @file arguments
1768
1769 --allow-depending-on-private-libs
1770 Allow depending on private libraries. If set, the library
1771 visibility check MUST be done externally.
1772
1773 --with-alex PATH
1774 give the path to alex
1775
1776 --with-ar PATH
1777 give the path to ar
1778
1779 --with-c2hs PATH
1780 give the path to c2hs
1781
1782 --with-cpphs PATH
1783 give the path to cpphs
1784
1785 --with-doctest PATH
1786 give the path to doctest
1787
1788 --with-gcc PATH
1789 give the path to gcc
1790
1791 --with-ghc PATH
1792 give the path to ghc
1793
1794 --with-ghc-pkg PATH
1795 give the path to ghc-pkg
1796
1797 --with-ghcjs PATH
1798 give the path to ghcjs
1799
1800 --with-ghcjs-pkg PATH
1801 give the path to ghcjs-pkg
1802
1803 --with-greencard PATH
1804 give the path to greencard
1805
1806 --with-haddock PATH
1807 give the path to haddock
1808
1809 --with-happy PATH
1810 give the path to happy
1811
1812 --with-haskell-suite PATH
1813 give the path to haskell-suite
1814
1815 --with-haskell-suite-pkg PATH
1816 give the path to haskell-suite-pkg
1817
1818 --with-hmake PATH
1819 give the path to hmake
1820
1821 --with-hpc PATH
1822 give the path to hpc
1823
1824 --with-hsc2hs PATH
1825 give the path to hsc2hs
1826
1827 --with-hscolour PATH
1828 give the path to hscolour
1829
1830 --with-jhc PATH
1831 give the path to jhc
1832
1833 --with-ld PATH
1834 give the path to ld
1835
1836 --with-pkg-config PATH
1837 give the path to pkg-config
1838
1839 --with-runghc PATH
1840 give the path to runghc
1841
1842 --with-strip PATH
1843 give the path to strip
1844
1845 --with-tar PATH
1846 give the path to tar
1847
1848 --with-uhc PATH
1849 give the path to uhc
1850
1851 --alex-option OPT
1852 give an extra option to alex (no need to quote options
1853 containing spaces)
1854
1855 --ar-option OPT
1856 give an extra option to ar (no need to quote options con‐
1857 taining spaces)
1858
1859 --c2hs-option OPT
1860 give an extra option to c2hs (no need to quote options
1861 containing spaces)
1862
1863 --cpphs-option OPT
1864 give an extra option to cpphs (no need to quote options
1865 containing spaces)
1866
1867 --doctest-option OPT
1868 give an extra option to doctest (no need to quote options
1869 containing spaces)
1870
1871 --gcc-option OPT
1872 give an extra option to gcc (no need to quote options
1873 containing spaces)
1874
1875 --ghc-option OPT
1876 give an extra option to ghc (no need to quote options
1877 containing spaces)
1878
1879 --ghc-pkg-option OPT
1880 give an extra option to ghc-pkg (no need to quote options
1881 containing spaces)
1882
1883 --ghcjs-option OPT
1884 give an extra option to ghcjs (no need to quote options
1885 containing spaces)
1886
1887 --ghcjs-pkg-option OPT
1888 give an extra option to ghcjs-pkg (no need to quote op‐
1889 tions containing spaces)
1890
1891 --greencard-option OPT
1892 give an extra option to greencard (no need to quote op‐
1893 tions containing spaces)
1894
1895 --haddock-option OPT
1896 give an extra option to haddock (no need to quote options
1897 containing spaces)
1898
1899 --happy-option OPT
1900 give an extra option to happy (no need to quote options
1901 containing spaces)
1902
1903 --haskell-suite-option OPT
1904 give an extra option to haskell-suite (no need to quote
1905 options containing spaces)
1906
1907 --haskell-suite-pkg-option OPT
1908 give an extra option to haskell-suite-pkg (no need to
1909 quote options containing spaces)
1910
1911 --hmake-option OPT
1912 give an extra option to hmake (no need to quote options
1913 containing spaces)
1914
1915 --hpc-option OPT
1916 give an extra option to hpc (no need to quote options
1917 containing spaces)
1918
1919 --hsc2hs-option OPT
1920 give an extra option to hsc2hs (no need to quote options
1921 containing spaces)
1922
1923 --hscolour-option OPT
1924 give an extra option to hscolour (no need to quote op‐
1925 tions containing spaces)
1926
1927 --jhc-option OPT
1928 give an extra option to jhc (no need to quote options
1929 containing spaces)
1930
1931 --ld-option OPT
1932 give an extra option to ld (no need to quote options con‐
1933 taining spaces)
1934
1935 --pkg-config-option OPT
1936 give an extra option to pkg-config (no need to quote op‐
1937 tions containing spaces)
1938
1939 --runghc-option OPT
1940 give an extra option to runghc (no need to quote options
1941 containing spaces)
1942
1943 --strip-option OPT
1944 give an extra option to strip (no need to quote options
1945 containing spaces)
1946
1947 --tar-option OPT
1948 give an extra option to tar (no need to quote options
1949 containing spaces)
1950
1951 --uhc-option OPT
1952 give an extra option to uhc (no need to quote options
1953 containing spaces)
1954
1955 --alex-options OPTS
1956 give extra options to alex
1957
1958 --ar-options OPTS
1959 give extra options to ar
1960
1961 --c2hs-options OPTS
1962 give extra options to c2hs
1963
1964 --cpphs-options OPTS
1965 give extra options to cpphs
1966
1967 --doctest-options OPTS
1968 give extra options to doctest
1969
1970 --gcc-options OPTS
1971 give extra options to gcc
1972
1973 --ghc-options OPTS
1974 give extra options to ghc
1975
1976 --ghc-pkg-options OPTS
1977 give extra options to ghc-pkg
1978
1979 --ghcjs-options OPTS
1980 give extra options to ghcjs
1981
1982 --ghcjs-pkg-options OPTS
1983 give extra options to ghcjs-pkg
1984
1985 --greencard-options OPTS
1986 give extra options to greencard
1987
1988 --haddock-options OPTS
1989 give extra options to haddock
1990
1991 --happy-options OPTS
1992 give extra options to happy
1993
1994 --haskell-suite-options OPTS
1995 give extra options to haskell-suite
1996
1997 --haskell-suite-pkg-options OPTS
1998 give extra options to haskell-suite-pkg
1999
2000 --hmake-options OPTS
2001 give extra options to hmake
2002
2003 --hpc-options OPTS
2004 give extra options to hpc
2005
2006 --hsc2hs-options OPTS
2007 give extra options to hsc2hs
2008
2009 --hscolour-options OPTS
2010 give extra options to hscolour
2011
2012 --jhc-options OPTS
2013 give extra options to jhc
2014
2015 --ld-options OPTS
2016 give extra options to ld
2017
2018 --pkg-config-options OPTS
2019 give extra options to pkg-config
2020
2021 --runghc-options OPTS
2022 give extra options to runghc
2023
2024 --strip-options OPTS
2025 give extra options to strip
2026
2027 --tar-options OPTS
2028 give extra options to tar
2029
2030 --uhc-options OPTS
2031 give extra options to uhc
2032
2033 --cabal-lib-version VERSION
2034 Select which version of the Cabal lib to use to build
2035 packages (useful for testing).
2036
2037 --constraint CONSTRAINT
2038 Specify constraints on a package (version, in‐
2039 stalled/source, flags)
2040
2041 --preference CONSTRAINT
2042 Specify preferences (soft constraints) on the version of
2043 a package
2044
2045 --solver SOLVER
2046 Select dependency solver to use (default: modular).
2047 Choices: modular.
2048
2049 --allow-older [DEPS]
2050 Ignore lower bounds in all dependencies or DEPS
2051
2052 --allow-newer [DEPS]
2053 Ignore upper bounds in all dependencies or DEPS
2054
2055 --write-ghc-environment-files always|never|ghc8.4.4+
2056 Whether to create a .ghc.environment file after a suc‐
2057 cessful build (v2-build only)
2058
2059 --enable-documentation
2060 --disable-documentation
2061 building of documentation
2062
2063 --doc-index-file TEMPLATE
2064 A central index of haddock API documentation (template
2065 cannot use $pkgid)
2066
2067 --dry-run
2068 Do not install anything, only print what would be in‐
2069 stalled.
2070
2071 --max-backjumps NUM
2072 Maximum number of backjumps allowed while solving (de‐
2073 fault: 4000). Use a negative number to enable unlimited
2074 backtracking. Use 0 to disable backtracking completely.
2075
2076 --reorder-goals
2077 --no-reorder-goals
2078 Try to reorder goals according to certain heuristics.
2079 Slows things down on average, but may make backtracking
2080 faster for some packages.
2081
2082 --count-conflicts
2083 --no-count-conflicts
2084 Try to speed up solving by preferring goals that are in‐
2085 volved in a lot of conflicts (default).
2086
2087 --fine-grained-conflicts
2088 --no-fine-grained-conflicts
2089 Skip a version of a package if it does not resolve the
2090 conflicts encountered in the last version, as a solver
2091 optimization (default).
2092
2093 --minimize-conflict-set
2094 --no-minimize-conflict-set
2095 When there is no solution, try to improve the error mes‐
2096 sage by finding a minimal conflict set (default: false).
2097 May increase run time significantly.
2098
2099 --independent-goals
2100 --no-independent-goals
2101 Treat several goals on the command line as independent.
2102 If several goals depend on the same package, different
2103 versions can be chosen.
2104
2105 --shadow-installed-packages
2106 --no-shadow-installed-packages
2107 If multiple package instances of the same version are in‐
2108 stalled, treat all but one as shadowed.
2109
2110 --strong-flags
2111 --no-strong-flags
2112 Do not defer flag choices (this used to be the default in
2113 cabal-install <= 1.20).
2114
2115 --allow-boot-library-installs
2116 --no-allow-boot-library-installs
2117 Allow cabal to install base, ghc-prim, integer-simple,
2118 integer-gmp, and template-haskell.
2119
2120 --reject-unconstrained-dependencies none|all
2121 Require these packages to have constraints on them if
2122 they are to be selected (default: none).
2123
2124 --reinstall
2125 --no-reinstall
2126 Install even if it means installing the same version
2127 again.
2128
2129 --avoid-reinstalls
2130 --no-avoid-reinstalls
2131 Do not select versions that would destructively overwrite
2132 installed packages.
2133
2134 --force-reinstalls
2135 --no-force-reinstalls
2136 Reinstall packages even if they will most likely break
2137 other installed packages.
2138
2139 --upgrade-dependencies
2140 --no-upgrade-dependencies
2141 Pick the latest version for all dependencies, rather than
2142 trying to pick an installed version.
2143
2144 --only-dependencies
2145 --no-only-dependencies
2146 Install only the dependencies necessary to build the
2147 given packages
2148
2149 --dependencies-only
2150 --no-dependencies-only
2151 A synonym for --only-dependencies
2152
2153 --index-state STATE
2154 Use source package index state as it existed at a previ‐
2155 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
2156 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
2157 'HEAD' (default: 'HEAD').
2158
2159 --root-cmd COMMAND
2160 (No longer supported, do not use.)
2161
2162 --symlink-bindir DIR
2163 Add symlinks to installed executables into this direc‐
2164 tory.
2165
2166 --build-summary TEMPLATE
2167 Save build summaries to file (name template can use
2168 $pkgid, $compiler, $os, $arch)
2169
2170 --build-log TEMPLATE
2171 Log all builds to file (name template can use $pkgid,
2172 $compiler, $os, $arch)
2173
2174 --remote-build-reporting LEVEL
2175 Generate build reports to send to a remote server (none,
2176 anonymous or detailed).
2177
2178 --report-planning-failure
2179 Generate build reports when the dependency solver fails.
2180 This is used by the Hackage build bot.
2181
2182 --enable-per-component
2183 --disable-per-component
2184 Per-component builds when possible
2185
2186 --one-shot
2187 --no-one-shot
2188 Do not record the packages in the world file.
2189
2190 --run-tests
2191 Run package test suites during installation.
2192
2193 -j, --jobs [NUM]
2194 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
2195 given).
2196
2197 --keep-going
2198 After a build failure, continue to build other unaffected
2199 packages.
2200
2201 --offline
2202 --no-offline
2203 Don't download packages from the Internet.
2204
2205 --project-file FILE
2206 Set the name of the cabal.project file to search for in
2207 parent directories
2208
2209 --only
2210 Only installs the package in the current directory.
2211
2212 --haddock-hoogle
2213 Generate a hoogle database
2214
2215 --haddock-html
2216 Generate HTML documentation (the default)
2217
2218 --haddock-html-location URL
2219 Location of HTML documentation for pre-requisite packages
2220
2221 --haddock-for-hackage
2222 Collection of flags to generate documentation suitable
2223 for upload to hackage
2224
2225 --haddock-executables
2226 Run haddock for Executables targets
2227
2228 --haddock-tests
2229 Run haddock for Test Suite targets
2230
2231 --haddock-benchmarks
2232 Run haddock for Benchmark targets
2233
2234 --haddock-all
2235 Run haddock for all targets
2236
2237 --haddock-internal
2238 Run haddock for internal modules and include all symbols
2239
2240 --haddock-css PATH
2241 Use PATH as the haddock stylesheet
2242
2243 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
2244 dock-hyperlinked-source
2245 Hyperlink the documentation to the source code
2246
2247 --haddock-quickjump
2248 Generate an index for interactive documentation naviga‐
2249 tion
2250
2251 --haddock-hscolour-css PATH
2252 Use PATH as the HsColour stylesheet
2253
2254 --haddock-contents-location URL
2255 Bake URL in as the location for the contents page
2256
2257 --test-log TEMPLATE
2258 Log all test suite results to file (name template can use
2259 $pkgid, $compiler, $os, $arch, $test-suite, $result)
2260
2261 --test-machine-log TEMPLATE
2262 Produce a machine-readable log file (name template can
2263 use $pkgid, $compiler, $os, $arch, $result)
2264
2265 --test-show-details FILTER
2266
2267 --test-keep-tix-files
2268 keep .tix files for HPC between test runs
2269
2270 --test-wrapper FILE
2271 Run test through a wrapper.
2272
2273 --test-fail-when-no-test-suites
2274 Exit with failure when no test suites are found.
2275
2276 --test-options TEMPLATES
2277 give extra options to test executables (name templates
2278 can use $pkgid, $compiler, $os, $arch, $test-suite)
2279
2280 --test-option TEMPLATE
2281 give extra option to test executables (no need to quote
2282 options containing spaces, name template can use $pkgid,
2283 $compiler, $os, $arch, $test-suite)
2284
2285 --benchmark-options TEMPLATES
2286 give extra options to benchmark executables (name tem‐
2287 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
2288
2289 --benchmark-option TEMPLATE
2290 give extra option to benchmark executables (no need to
2291 quote options containing spaces, name template can use
2292 $pkgid, $compiler, $os, $arch, $benchmark)
2293
2294
2295 cabal v2-configure
2296
2297 Usage: cabal v2-configure [FLAGS]
2298
2299
2300 Adjust how the project is built by setting additional package flags and
2301 other flags.
2302
2303 The configuration options are written to the 'cabal.project.local' file
2304 (or configuration from the 'cabal.project' file (if any). This combina‐
2305 tion is used as the project configuration for all other commands (such
2306 as 'v2-build',
2307
2308 The v2-configure command also checks that the project configuration
2309 will work. In particular it checks that there is a consistent set of
2310 dependencies for the project as a whole.
2311
2312 The 'cabal.project.local' file persists across 'v2-clean' but is over‐
2313 written on the next use of the 'v2-configure' command. The intention is
2314 that the
2315
2316 It is never necessary to use the 'v2-configure' command. It is merely a
2317 convenience in cases where you do not want to specify flags to
2318 'v2-build' (and other commands) every time and yet do not want to alter
2319 the 'cabal.project' persistently.
2320
2321
2322 Examples:
2323 cabal v2-configure --with-compiler ghc-7.10.3
2324 Adjust the project configuration to use the given compiler
2325 program and check the resulting configuration works.
2326 cabal v2-configure
2327 Reset the local configuration to empty and check the overall
2328 project configuration works.
2329
2330 Note: this command is part of the new project-based system (aka nix-
2331 style local builds). These features are currently in beta. Please see
2332 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
2333 details and advice on what you can expect to work. If you encounter
2334 problems please file issues at https://github.com/haskell/cabal/issues
2335 and if you have any time to get involved and help with testing, fixing
2336 bugs etc then that is very much appreciated.
2337
2338
2339 Flags:
2340 -v, --verbose [n]
2341 Control verbosity (n is 0--3, default verbosity level is
2342 1)
2343
2344 --builddir, --distdir, --distpref DIR
2345 The directory where Cabal puts generated build files (de‐
2346 fault dist)
2347
2348 -g, --ghc
2349 compile with GHC
2350
2351 --ghcjs
2352 compile with GHCJS
2353
2354 --uhc
2355 compile with UHC
2356
2357 --haskell-suite
2358 compile with a haskell-suite compiler
2359
2360 --cabal-file PATH
2361 use this Cabal file
2362
2363 -w, --with-compiler PATH
2364 give the path to a particular compiler
2365
2366 --with-hc-pkg PATH
2367 give the path to the package tool
2368
2369 --prefix DIR
2370 bake this prefix in preparation of installation
2371
2372 --bindir DIR
2373 installation directory for executables
2374
2375 --libdir DIR
2376 installation directory for libraries
2377
2378 --libsubdir DIR
2379 subdirectory of libdir in which libs are installed
2380
2381 --dynlibdir DIR
2382 installation directory for dynamic libraries
2383
2384 --libexecdir DIR
2385 installation directory for program executables
2386
2387 --libexecsubdir DIR
2388 subdirectory of libexecdir in which private executables
2389 are installed
2390
2391 --datadir DIR
2392 installation directory for read-only data
2393
2394 --datasubdir DIR
2395 subdirectory of datadir in which data files are installed
2396
2397 --docdir DIR
2398 installation directory for documentation
2399
2400 --htmldir DIR
2401 installation directory for HTML documentation
2402
2403 --haddockdir DIR
2404 installation directory for haddock interfaces
2405
2406 --sysconfdir DIR
2407 installation directory for configuration files
2408
2409 --program-prefix PREFIX
2410 prefix to be applied to installed executables
2411
2412 --program-suffix SUFFIX
2413 suffix to be applied to installed executables
2414
2415 --enable-library-vanilla
2416 --disable-library-vanilla
2417 Vanilla libraries
2418
2419 -p, --enable-library-profiling
2420 --disable-library-profiling
2421 Library profiling
2422
2423 --enable-shared
2424 --disable-shared
2425 Shared library
2426
2427 --enable-static
2428 --disable-static
2429 Static library
2430
2431 --enable-executable-dynamic
2432 --disable-executable-dynamic
2433 Executable dynamic linking
2434
2435 --enable-executable-static
2436 --disable-executable-static
2437 Executable fully static linking
2438
2439 --enable-profiling
2440 --disable-profiling
2441 Executable and library profiling
2442
2443 --enable-executable-profiling
2444 --disable-executable-profiling
2445 Executable profiling (DEPRECATED)
2446
2447 --profiling-detail level
2448 Profiling detail level for executable and library (de‐
2449 fault, none, exported-functions, toplevel-functions,
2450 all-functions).
2451
2452 --library-profiling-detail level
2453 Profiling detail level for libraries only.
2454
2455 -O, --enable-optimization, --enable-optimisation [n]
2456 Build with optimization (n is 0--2, default is 1)
2457
2458 --disable-optimization, --disable-optimisation
2459 Build without optimization
2460
2461 --enable-debug-info [n]
2462 Emit debug info (n is 0--3, default is 0)
2463
2464 --disable-debug-info
2465 Don't emit debug info
2466
2467 --enable-library-for-ghci
2468 --disable-library-for-ghci
2469 compile library for use with GHCi
2470
2471 --enable-split-sections
2472 --disable-split-sections
2473 compile library code such that unneeded definitions can
2474 be dropped from the final executable (GHC 7.8+)
2475
2476 --enable-split-objs
2477 --disable-split-objs
2478 split library into smaller objects to reduce binary sizes
2479 (GHC 6.6+)
2480
2481 --enable-executable-stripping
2482 --disable-executable-stripping
2483 strip executables upon installation to reduce binary
2484 sizes
2485
2486 --enable-library-stripping
2487 --disable-library-stripping
2488 strip libraries upon installation to reduce binary sizes
2489
2490 --configure-option OPT
2491 Extra option for configure
2492
2493 --user
2494 --global
2495 doing a per-user installation
2496
2497 --package-db DB
2498 Append the given package database to the list of package
2499 databases used (to satisfy dependencies and register
2500 into). May be a specific file, 'global' or 'user'. The
2501 initial list is ['global'], ['global', 'user'], or
2502 ['global', $sandbox], depending on context. Use 'clear'
2503 to reset the list to empty. See the user guide for de‐
2504 tails.
2505
2506 -f, --flags FLAGS
2507 Force values for the given flags in Cabal conditionals in
2508 the .cabal file. E.g., --flags="debug -usebytestrings"
2509 forces the flag "debug" to true and "usebytestrings" to
2510 false.
2511
2512 --extra-include-dirs PATH
2513 A list of directories to search for header files
2514
2515 --enable-deterministic
2516 --disable-deterministic
2517 Try to be as deterministic as possible (used by the test
2518 suite)
2519
2520 --ipid IPID
2521 Installed package ID to compile this package as
2522
2523 --cid CID
2524 Installed component ID to compile this component as
2525
2526 --extra-lib-dirs PATH
2527 A list of directories to search for external libraries
2528
2529 --extra-framework-dirs PATH
2530 A list of directories to search for external frameworks
2531 (OS X only)
2532
2533 --extra-prog-path PATH
2534 A list of directories to search for required programs (in
2535 addition to the normal search locations)
2536
2537 --instantiate-with NAME=MOD
2538 A mapping of signature names to concrete module instanti‐
2539 ations.
2540
2541 --enable-tests
2542 --disable-tests
2543 dependency checking and compilation for test suites
2544 listed in the package description file.
2545
2546 --enable-coverage
2547 --disable-coverage
2548 build package with Haskell Program Coverage. (GHC only)
2549
2550 --enable-library-coverage
2551 --disable-library-coverage
2552 build package with Haskell Program Coverage. (GHC only)
2553 (DEPRECATED)
2554
2555 --enable-benchmarks
2556 --disable-benchmarks
2557 dependency checking and compilation for benchmarks listed
2558 in the package description file.
2559
2560 --enable-relocatable
2561 --disable-relocatable
2562 building a package that is relocatable. (GHC only)
2563
2564 --disable-response-files
2565 enable workaround for old versions of programs like "ar"
2566 that do not support @file arguments
2567
2568 --allow-depending-on-private-libs
2569 Allow depending on private libraries. If set, the library
2570 visibility check MUST be done externally.
2571
2572 --with-alex PATH
2573 give the path to alex
2574
2575 --with-ar PATH
2576 give the path to ar
2577
2578 --with-c2hs PATH
2579 give the path to c2hs
2580
2581 --with-cpphs PATH
2582 give the path to cpphs
2583
2584 --with-doctest PATH
2585 give the path to doctest
2586
2587 --with-gcc PATH
2588 give the path to gcc
2589
2590 --with-ghc PATH
2591 give the path to ghc
2592
2593 --with-ghc-pkg PATH
2594 give the path to ghc-pkg
2595
2596 --with-ghcjs PATH
2597 give the path to ghcjs
2598
2599 --with-ghcjs-pkg PATH
2600 give the path to ghcjs-pkg
2601
2602 --with-greencard PATH
2603 give the path to greencard
2604
2605 --with-haddock PATH
2606 give the path to haddock
2607
2608 --with-happy PATH
2609 give the path to happy
2610
2611 --with-haskell-suite PATH
2612 give the path to haskell-suite
2613
2614 --with-haskell-suite-pkg PATH
2615 give the path to haskell-suite-pkg
2616
2617 --with-hmake PATH
2618 give the path to hmake
2619
2620 --with-hpc PATH
2621 give the path to hpc
2622
2623 --with-hsc2hs PATH
2624 give the path to hsc2hs
2625
2626 --with-hscolour PATH
2627 give the path to hscolour
2628
2629 --with-jhc PATH
2630 give the path to jhc
2631
2632 --with-ld PATH
2633 give the path to ld
2634
2635 --with-pkg-config PATH
2636 give the path to pkg-config
2637
2638 --with-runghc PATH
2639 give the path to runghc
2640
2641 --with-strip PATH
2642 give the path to strip
2643
2644 --with-tar PATH
2645 give the path to tar
2646
2647 --with-uhc PATH
2648 give the path to uhc
2649
2650 --alex-option OPT
2651 give an extra option to alex (no need to quote options
2652 containing spaces)
2653
2654 --ar-option OPT
2655 give an extra option to ar (no need to quote options con‐
2656 taining spaces)
2657
2658 --c2hs-option OPT
2659 give an extra option to c2hs (no need to quote options
2660 containing spaces)
2661
2662 --cpphs-option OPT
2663 give an extra option to cpphs (no need to quote options
2664 containing spaces)
2665
2666 --doctest-option OPT
2667 give an extra option to doctest (no need to quote options
2668 containing spaces)
2669
2670 --gcc-option OPT
2671 give an extra option to gcc (no need to quote options
2672 containing spaces)
2673
2674 --ghc-option OPT
2675 give an extra option to ghc (no need to quote options
2676 containing spaces)
2677
2678 --ghc-pkg-option OPT
2679 give an extra option to ghc-pkg (no need to quote options
2680 containing spaces)
2681
2682 --ghcjs-option OPT
2683 give an extra option to ghcjs (no need to quote options
2684 containing spaces)
2685
2686 --ghcjs-pkg-option OPT
2687 give an extra option to ghcjs-pkg (no need to quote op‐
2688 tions containing spaces)
2689
2690 --greencard-option OPT
2691 give an extra option to greencard (no need to quote op‐
2692 tions containing spaces)
2693
2694 --haddock-option OPT
2695 give an extra option to haddock (no need to quote options
2696 containing spaces)
2697
2698 --happy-option OPT
2699 give an extra option to happy (no need to quote options
2700 containing spaces)
2701
2702 --haskell-suite-option OPT
2703 give an extra option to haskell-suite (no need to quote
2704 options containing spaces)
2705
2706 --haskell-suite-pkg-option OPT
2707 give an extra option to haskell-suite-pkg (no need to
2708 quote options containing spaces)
2709
2710 --hmake-option OPT
2711 give an extra option to hmake (no need to quote options
2712 containing spaces)
2713
2714 --hpc-option OPT
2715 give an extra option to hpc (no need to quote options
2716 containing spaces)
2717
2718 --hsc2hs-option OPT
2719 give an extra option to hsc2hs (no need to quote options
2720 containing spaces)
2721
2722 --hscolour-option OPT
2723 give an extra option to hscolour (no need to quote op‐
2724 tions containing spaces)
2725
2726 --jhc-option OPT
2727 give an extra option to jhc (no need to quote options
2728 containing spaces)
2729
2730 --ld-option OPT
2731 give an extra option to ld (no need to quote options con‐
2732 taining spaces)
2733
2734 --pkg-config-option OPT
2735 give an extra option to pkg-config (no need to quote op‐
2736 tions containing spaces)
2737
2738 --runghc-option OPT
2739 give an extra option to runghc (no need to quote options
2740 containing spaces)
2741
2742 --strip-option OPT
2743 give an extra option to strip (no need to quote options
2744 containing spaces)
2745
2746 --tar-option OPT
2747 give an extra option to tar (no need to quote options
2748 containing spaces)
2749
2750 --uhc-option OPT
2751 give an extra option to uhc (no need to quote options
2752 containing spaces)
2753
2754 --alex-options OPTS
2755 give extra options to alex
2756
2757 --ar-options OPTS
2758 give extra options to ar
2759
2760 --c2hs-options OPTS
2761 give extra options to c2hs
2762
2763 --cpphs-options OPTS
2764 give extra options to cpphs
2765
2766 --doctest-options OPTS
2767 give extra options to doctest
2768
2769 --gcc-options OPTS
2770 give extra options to gcc
2771
2772 --ghc-options OPTS
2773 give extra options to ghc
2774
2775 --ghc-pkg-options OPTS
2776 give extra options to ghc-pkg
2777
2778 --ghcjs-options OPTS
2779 give extra options to ghcjs
2780
2781 --ghcjs-pkg-options OPTS
2782 give extra options to ghcjs-pkg
2783
2784 --greencard-options OPTS
2785 give extra options to greencard
2786
2787 --haddock-options OPTS
2788 give extra options to haddock
2789
2790 --happy-options OPTS
2791 give extra options to happy
2792
2793 --haskell-suite-options OPTS
2794 give extra options to haskell-suite
2795
2796 --haskell-suite-pkg-options OPTS
2797 give extra options to haskell-suite-pkg
2798
2799 --hmake-options OPTS
2800 give extra options to hmake
2801
2802 --hpc-options OPTS
2803 give extra options to hpc
2804
2805 --hsc2hs-options OPTS
2806 give extra options to hsc2hs
2807
2808 --hscolour-options OPTS
2809 give extra options to hscolour
2810
2811 --jhc-options OPTS
2812 give extra options to jhc
2813
2814 --ld-options OPTS
2815 give extra options to ld
2816
2817 --pkg-config-options OPTS
2818 give extra options to pkg-config
2819
2820 --runghc-options OPTS
2821 give extra options to runghc
2822
2823 --strip-options OPTS
2824 give extra options to strip
2825
2826 --tar-options OPTS
2827 give extra options to tar
2828
2829 --uhc-options OPTS
2830 give extra options to uhc
2831
2832 --cabal-lib-version VERSION
2833 Select which version of the Cabal lib to use to build
2834 packages (useful for testing).
2835
2836 --constraint CONSTRAINT
2837 Specify constraints on a package (version, in‐
2838 stalled/source, flags)
2839
2840 --preference CONSTRAINT
2841 Specify preferences (soft constraints) on the version of
2842 a package
2843
2844 --solver SOLVER
2845 Select dependency solver to use (default: modular).
2846 Choices: modular.
2847
2848 --allow-older [DEPS]
2849 Ignore lower bounds in all dependencies or DEPS
2850
2851 --allow-newer [DEPS]
2852 Ignore upper bounds in all dependencies or DEPS
2853
2854 --write-ghc-environment-files always|never|ghc8.4.4+
2855 Whether to create a .ghc.environment file after a suc‐
2856 cessful build (v2-build only)
2857
2858 --enable-documentation
2859 --disable-documentation
2860 building of documentation
2861
2862 --doc-index-file TEMPLATE
2863 A central index of haddock API documentation (template
2864 cannot use $pkgid)
2865
2866 --dry-run
2867 Do not install anything, only print what would be in‐
2868 stalled.
2869
2870 --max-backjumps NUM
2871 Maximum number of backjumps allowed while solving (de‐
2872 fault: 4000). Use a negative number to enable unlimited
2873 backtracking. Use 0 to disable backtracking completely.
2874
2875 --reorder-goals
2876 --no-reorder-goals
2877 Try to reorder goals according to certain heuristics.
2878 Slows things down on average, but may make backtracking
2879 faster for some packages.
2880
2881 --count-conflicts
2882 --no-count-conflicts
2883 Try to speed up solving by preferring goals that are in‐
2884 volved in a lot of conflicts (default).
2885
2886 --fine-grained-conflicts
2887 --no-fine-grained-conflicts
2888 Skip a version of a package if it does not resolve the
2889 conflicts encountered in the last version, as a solver
2890 optimization (default).
2891
2892 --minimize-conflict-set
2893 --no-minimize-conflict-set
2894 When there is no solution, try to improve the error mes‐
2895 sage by finding a minimal conflict set (default: false).
2896 May increase run time significantly.
2897
2898 --independent-goals
2899 --no-independent-goals
2900 Treat several goals on the command line as independent.
2901 If several goals depend on the same package, different
2902 versions can be chosen.
2903
2904 --shadow-installed-packages
2905 --no-shadow-installed-packages
2906 If multiple package instances of the same version are in‐
2907 stalled, treat all but one as shadowed.
2908
2909 --strong-flags
2910 --no-strong-flags
2911 Do not defer flag choices (this used to be the default in
2912 cabal-install <= 1.20).
2913
2914 --allow-boot-library-installs
2915 --no-allow-boot-library-installs
2916 Allow cabal to install base, ghc-prim, integer-simple,
2917 integer-gmp, and template-haskell.
2918
2919 --reject-unconstrained-dependencies none|all
2920 Require these packages to have constraints on them if
2921 they are to be selected (default: none).
2922
2923 --reinstall
2924 --no-reinstall
2925 Install even if it means installing the same version
2926 again.
2927
2928 --avoid-reinstalls
2929 --no-avoid-reinstalls
2930 Do not select versions that would destructively overwrite
2931 installed packages.
2932
2933 --force-reinstalls
2934 --no-force-reinstalls
2935 Reinstall packages even if they will most likely break
2936 other installed packages.
2937
2938 --upgrade-dependencies
2939 --no-upgrade-dependencies
2940 Pick the latest version for all dependencies, rather than
2941 trying to pick an installed version.
2942
2943 --only-dependencies
2944 --no-only-dependencies
2945 Install only the dependencies necessary to build the
2946 given packages
2947
2948 --dependencies-only
2949 --no-dependencies-only
2950 A synonym for --only-dependencies
2951
2952 --index-state STATE
2953 Use source package index state as it existed at a previ‐
2954 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
2955 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
2956 'HEAD' (default: 'HEAD').
2957
2958 --root-cmd COMMAND
2959 (No longer supported, do not use.)
2960
2961 --symlink-bindir DIR
2962 Add symlinks to installed executables into this direc‐
2963 tory.
2964
2965 --build-summary TEMPLATE
2966 Save build summaries to file (name template can use
2967 $pkgid, $compiler, $os, $arch)
2968
2969 --build-log TEMPLATE
2970 Log all builds to file (name template can use $pkgid,
2971 $compiler, $os, $arch)
2972
2973 --remote-build-reporting LEVEL
2974 Generate build reports to send to a remote server (none,
2975 anonymous or detailed).
2976
2977 --report-planning-failure
2978 Generate build reports when the dependency solver fails.
2979 This is used by the Hackage build bot.
2980
2981 --enable-per-component
2982 --disable-per-component
2983 Per-component builds when possible
2984
2985 --one-shot
2986 --no-one-shot
2987 Do not record the packages in the world file.
2988
2989 --run-tests
2990 Run package test suites during installation.
2991
2992 -j, --jobs [NUM]
2993 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
2994 given).
2995
2996 --keep-going
2997 After a build failure, continue to build other unaffected
2998 packages.
2999
3000 --offline
3001 --no-offline
3002 Don't download packages from the Internet.
3003
3004 --project-file FILE
3005 Set the name of the cabal.project file to search for in
3006 parent directories
3007
3008 --only
3009 Only installs the package in the current directory.
3010
3011 --haddock-hoogle
3012 Generate a hoogle database
3013
3014 --haddock-html
3015 Generate HTML documentation (the default)
3016
3017 --haddock-html-location URL
3018 Location of HTML documentation for pre-requisite packages
3019
3020 --haddock-for-hackage
3021 Collection of flags to generate documentation suitable
3022 for upload to hackage
3023
3024 --haddock-executables
3025 Run haddock for Executables targets
3026
3027 --haddock-tests
3028 Run haddock for Test Suite targets
3029
3030 --haddock-benchmarks
3031 Run haddock for Benchmark targets
3032
3033 --haddock-all
3034 Run haddock for all targets
3035
3036 --haddock-internal
3037 Run haddock for internal modules and include all symbols
3038
3039 --haddock-css PATH
3040 Use PATH as the haddock stylesheet
3041
3042 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
3043 dock-hyperlinked-source
3044 Hyperlink the documentation to the source code
3045
3046 --haddock-quickjump
3047 Generate an index for interactive documentation naviga‐
3048 tion
3049
3050 --haddock-hscolour-css PATH
3051 Use PATH as the HsColour stylesheet
3052
3053 --haddock-contents-location URL
3054 Bake URL in as the location for the contents page
3055
3056 --test-log TEMPLATE
3057 Log all test suite results to file (name template can use
3058 $pkgid, $compiler, $os, $arch, $test-suite, $result)
3059
3060 --test-machine-log TEMPLATE
3061 Produce a machine-readable log file (name template can
3062 use $pkgid, $compiler, $os, $arch, $result)
3063
3064 --test-show-details FILTER
3065
3066 --test-keep-tix-files
3067 keep .tix files for HPC between test runs
3068
3069 --test-wrapper FILE
3070 Run test through a wrapper.
3071
3072 --test-fail-when-no-test-suites
3073 Exit with failure when no test suites are found.
3074
3075 --test-options TEMPLATES
3076 give extra options to test executables (name templates
3077 can use $pkgid, $compiler, $os, $arch, $test-suite)
3078
3079 --test-option TEMPLATE
3080 give extra option to test executables (no need to quote
3081 options containing spaces, name template can use $pkgid,
3082 $compiler, $os, $arch, $test-suite)
3083
3084 --benchmark-options TEMPLATES
3085 give extra options to benchmark executables (name tem‐
3086 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
3087
3088 --benchmark-option TEMPLATE
3089 give extra option to benchmark executables (no need to
3090 quote options containing spaces, name template can use
3091 $pkgid, $compiler, $os, $arch, $benchmark)
3092
3093
3094 cabal update
3095
3096 Usage: cabal update [FLAGS] [REPOS]
3097
3098
3099 For all known remote repositories, download the package list.
3100
3101
3102 For all known remote repositories, download the package list.
3103
3104
3105 Flags:
3106 -v, --verbose [n]
3107 Control verbosity (n is 0--3, default verbosity level is
3108 1)
3109
3110 --builddir, --distdir, --distpref DIR
3111 The directory where Cabal puts generated build files (de‐
3112 fault dist)
3113
3114 -g, --ghc
3115 compile with GHC
3116
3117 --ghcjs
3118 compile with GHCJS
3119
3120 --uhc
3121 compile with UHC
3122
3123 --haskell-suite
3124 compile with a haskell-suite compiler
3125
3126 --cabal-file PATH
3127 use this Cabal file
3128
3129 -w, --with-compiler PATH
3130 give the path to a particular compiler
3131
3132 --with-hc-pkg PATH
3133 give the path to the package tool
3134
3135 --prefix DIR
3136 bake this prefix in preparation of installation
3137
3138 --bindir DIR
3139 installation directory for executables
3140
3141 --libdir DIR
3142 installation directory for libraries
3143
3144 --libsubdir DIR
3145 subdirectory of libdir in which libs are installed
3146
3147 --dynlibdir DIR
3148 installation directory for dynamic libraries
3149
3150 --libexecdir DIR
3151 installation directory for program executables
3152
3153 --libexecsubdir DIR
3154 subdirectory of libexecdir in which private executables
3155 are installed
3156
3157 --datadir DIR
3158 installation directory for read-only data
3159
3160 --datasubdir DIR
3161 subdirectory of datadir in which data files are installed
3162
3163 --docdir DIR
3164 installation directory for documentation
3165
3166 --htmldir DIR
3167 installation directory for HTML documentation
3168
3169 --haddockdir DIR
3170 installation directory for haddock interfaces
3171
3172 --sysconfdir DIR
3173 installation directory for configuration files
3174
3175 --program-prefix PREFIX
3176 prefix to be applied to installed executables
3177
3178 --program-suffix SUFFIX
3179 suffix to be applied to installed executables
3180
3181 --enable-library-vanilla
3182 --disable-library-vanilla
3183 Vanilla libraries
3184
3185 -p, --enable-library-profiling
3186 --disable-library-profiling
3187 Library profiling
3188
3189 --enable-shared
3190 --disable-shared
3191 Shared library
3192
3193 --enable-static
3194 --disable-static
3195 Static library
3196
3197 --enable-executable-dynamic
3198 --disable-executable-dynamic
3199 Executable dynamic linking
3200
3201 --enable-executable-static
3202 --disable-executable-static
3203 Executable fully static linking
3204
3205 --enable-profiling
3206 --disable-profiling
3207 Executable and library profiling
3208
3209 --enable-executable-profiling
3210 --disable-executable-profiling
3211 Executable profiling (DEPRECATED)
3212
3213 --profiling-detail level
3214 Profiling detail level for executable and library (de‐
3215 fault, none, exported-functions, toplevel-functions,
3216 all-functions).
3217
3218 --library-profiling-detail level
3219 Profiling detail level for libraries only.
3220
3221 -O, --enable-optimization, --enable-optimisation [n]
3222 Build with optimization (n is 0--2, default is 1)
3223
3224 --disable-optimization, --disable-optimisation
3225 Build without optimization
3226
3227 --enable-debug-info [n]
3228 Emit debug info (n is 0--3, default is 0)
3229
3230 --disable-debug-info
3231 Don't emit debug info
3232
3233 --enable-library-for-ghci
3234 --disable-library-for-ghci
3235 compile library for use with GHCi
3236
3237 --enable-split-sections
3238 --disable-split-sections
3239 compile library code such that unneeded definitions can
3240 be dropped from the final executable (GHC 7.8+)
3241
3242 --enable-split-objs
3243 --disable-split-objs
3244 split library into smaller objects to reduce binary sizes
3245 (GHC 6.6+)
3246
3247 --enable-executable-stripping
3248 --disable-executable-stripping
3249 strip executables upon installation to reduce binary
3250 sizes
3251
3252 --enable-library-stripping
3253 --disable-library-stripping
3254 strip libraries upon installation to reduce binary sizes
3255
3256 --configure-option OPT
3257 Extra option for configure
3258
3259 --user
3260 --global
3261 doing a per-user installation
3262
3263 --package-db DB
3264 Append the given package database to the list of package
3265 databases used (to satisfy dependencies and register
3266 into). May be a specific file, 'global' or 'user'. The
3267 initial list is ['global'], ['global', 'user'], or
3268 ['global', $sandbox], depending on context. Use 'clear'
3269 to reset the list to empty. See the user guide for de‐
3270 tails.
3271
3272 -f, --flags FLAGS
3273 Force values for the given flags in Cabal conditionals in
3274 the .cabal file. E.g., --flags="debug -usebytestrings"
3275 forces the flag "debug" to true and "usebytestrings" to
3276 false.
3277
3278 --extra-include-dirs PATH
3279 A list of directories to search for header files
3280
3281 --enable-deterministic
3282 --disable-deterministic
3283 Try to be as deterministic as possible (used by the test
3284 suite)
3285
3286 --ipid IPID
3287 Installed package ID to compile this package as
3288
3289 --cid CID
3290 Installed component ID to compile this component as
3291
3292 --extra-lib-dirs PATH
3293 A list of directories to search for external libraries
3294
3295 --extra-framework-dirs PATH
3296 A list of directories to search for external frameworks
3297 (OS X only)
3298
3299 --extra-prog-path PATH
3300 A list of directories to search for required programs (in
3301 addition to the normal search locations)
3302
3303 --instantiate-with NAME=MOD
3304 A mapping of signature names to concrete module instanti‐
3305 ations.
3306
3307 --enable-tests
3308 --disable-tests
3309 dependency checking and compilation for test suites
3310 listed in the package description file.
3311
3312 --enable-coverage
3313 --disable-coverage
3314 build package with Haskell Program Coverage. (GHC only)
3315
3316 --enable-library-coverage
3317 --disable-library-coverage
3318 build package with Haskell Program Coverage. (GHC only)
3319 (DEPRECATED)
3320
3321 --enable-benchmarks
3322 --disable-benchmarks
3323 dependency checking and compilation for benchmarks listed
3324 in the package description file.
3325
3326 --enable-relocatable
3327 --disable-relocatable
3328 building a package that is relocatable. (GHC only)
3329
3330 --disable-response-files
3331 enable workaround for old versions of programs like "ar"
3332 that do not support @file arguments
3333
3334 --allow-depending-on-private-libs
3335 Allow depending on private libraries. If set, the library
3336 visibility check MUST be done externally.
3337
3338 --with-alex PATH
3339 give the path to alex
3340
3341 --with-ar PATH
3342 give the path to ar
3343
3344 --with-c2hs PATH
3345 give the path to c2hs
3346
3347 --with-cpphs PATH
3348 give the path to cpphs
3349
3350 --with-doctest PATH
3351 give the path to doctest
3352
3353 --with-gcc PATH
3354 give the path to gcc
3355
3356 --with-ghc PATH
3357 give the path to ghc
3358
3359 --with-ghc-pkg PATH
3360 give the path to ghc-pkg
3361
3362 --with-ghcjs PATH
3363 give the path to ghcjs
3364
3365 --with-ghcjs-pkg PATH
3366 give the path to ghcjs-pkg
3367
3368 --with-greencard PATH
3369 give the path to greencard
3370
3371 --with-haddock PATH
3372 give the path to haddock
3373
3374 --with-happy PATH
3375 give the path to happy
3376
3377 --with-haskell-suite PATH
3378 give the path to haskell-suite
3379
3380 --with-haskell-suite-pkg PATH
3381 give the path to haskell-suite-pkg
3382
3383 --with-hmake PATH
3384 give the path to hmake
3385
3386 --with-hpc PATH
3387 give the path to hpc
3388
3389 --with-hsc2hs PATH
3390 give the path to hsc2hs
3391
3392 --with-hscolour PATH
3393 give the path to hscolour
3394
3395 --with-jhc PATH
3396 give the path to jhc
3397
3398 --with-ld PATH
3399 give the path to ld
3400
3401 --with-pkg-config PATH
3402 give the path to pkg-config
3403
3404 --with-runghc PATH
3405 give the path to runghc
3406
3407 --with-strip PATH
3408 give the path to strip
3409
3410 --with-tar PATH
3411 give the path to tar
3412
3413 --with-uhc PATH
3414 give the path to uhc
3415
3416 --alex-option OPT
3417 give an extra option to alex (no need to quote options
3418 containing spaces)
3419
3420 --ar-option OPT
3421 give an extra option to ar (no need to quote options con‐
3422 taining spaces)
3423
3424 --c2hs-option OPT
3425 give an extra option to c2hs (no need to quote options
3426 containing spaces)
3427
3428 --cpphs-option OPT
3429 give an extra option to cpphs (no need to quote options
3430 containing spaces)
3431
3432 --doctest-option OPT
3433 give an extra option to doctest (no need to quote options
3434 containing spaces)
3435
3436 --gcc-option OPT
3437 give an extra option to gcc (no need to quote options
3438 containing spaces)
3439
3440 --ghc-option OPT
3441 give an extra option to ghc (no need to quote options
3442 containing spaces)
3443
3444 --ghc-pkg-option OPT
3445 give an extra option to ghc-pkg (no need to quote options
3446 containing spaces)
3447
3448 --ghcjs-option OPT
3449 give an extra option to ghcjs (no need to quote options
3450 containing spaces)
3451
3452 --ghcjs-pkg-option OPT
3453 give an extra option to ghcjs-pkg (no need to quote op‐
3454 tions containing spaces)
3455
3456 --greencard-option OPT
3457 give an extra option to greencard (no need to quote op‐
3458 tions containing spaces)
3459
3460 --haddock-option OPT
3461 give an extra option to haddock (no need to quote options
3462 containing spaces)
3463
3464 --happy-option OPT
3465 give an extra option to happy (no need to quote options
3466 containing spaces)
3467
3468 --haskell-suite-option OPT
3469 give an extra option to haskell-suite (no need to quote
3470 options containing spaces)
3471
3472 --haskell-suite-pkg-option OPT
3473 give an extra option to haskell-suite-pkg (no need to
3474 quote options containing spaces)
3475
3476 --hmake-option OPT
3477 give an extra option to hmake (no need to quote options
3478 containing spaces)
3479
3480 --hpc-option OPT
3481 give an extra option to hpc (no need to quote options
3482 containing spaces)
3483
3484 --hsc2hs-option OPT
3485 give an extra option to hsc2hs (no need to quote options
3486 containing spaces)
3487
3488 --hscolour-option OPT
3489 give an extra option to hscolour (no need to quote op‐
3490 tions containing spaces)
3491
3492 --jhc-option OPT
3493 give an extra option to jhc (no need to quote options
3494 containing spaces)
3495
3496 --ld-option OPT
3497 give an extra option to ld (no need to quote options con‐
3498 taining spaces)
3499
3500 --pkg-config-option OPT
3501 give an extra option to pkg-config (no need to quote op‐
3502 tions containing spaces)
3503
3504 --runghc-option OPT
3505 give an extra option to runghc (no need to quote options
3506 containing spaces)
3507
3508 --strip-option OPT
3509 give an extra option to strip (no need to quote options
3510 containing spaces)
3511
3512 --tar-option OPT
3513 give an extra option to tar (no need to quote options
3514 containing spaces)
3515
3516 --uhc-option OPT
3517 give an extra option to uhc (no need to quote options
3518 containing spaces)
3519
3520 --alex-options OPTS
3521 give extra options to alex
3522
3523 --ar-options OPTS
3524 give extra options to ar
3525
3526 --c2hs-options OPTS
3527 give extra options to c2hs
3528
3529 --cpphs-options OPTS
3530 give extra options to cpphs
3531
3532 --doctest-options OPTS
3533 give extra options to doctest
3534
3535 --gcc-options OPTS
3536 give extra options to gcc
3537
3538 --ghc-options OPTS
3539 give extra options to ghc
3540
3541 --ghc-pkg-options OPTS
3542 give extra options to ghc-pkg
3543
3544 --ghcjs-options OPTS
3545 give extra options to ghcjs
3546
3547 --ghcjs-pkg-options OPTS
3548 give extra options to ghcjs-pkg
3549
3550 --greencard-options OPTS
3551 give extra options to greencard
3552
3553 --haddock-options OPTS
3554 give extra options to haddock
3555
3556 --happy-options OPTS
3557 give extra options to happy
3558
3559 --haskell-suite-options OPTS
3560 give extra options to haskell-suite
3561
3562 --haskell-suite-pkg-options OPTS
3563 give extra options to haskell-suite-pkg
3564
3565 --hmake-options OPTS
3566 give extra options to hmake
3567
3568 --hpc-options OPTS
3569 give extra options to hpc
3570
3571 --hsc2hs-options OPTS
3572 give extra options to hsc2hs
3573
3574 --hscolour-options OPTS
3575 give extra options to hscolour
3576
3577 --jhc-options OPTS
3578 give extra options to jhc
3579
3580 --ld-options OPTS
3581 give extra options to ld
3582
3583 --pkg-config-options OPTS
3584 give extra options to pkg-config
3585
3586 --runghc-options OPTS
3587 give extra options to runghc
3588
3589 --strip-options OPTS
3590 give extra options to strip
3591
3592 --tar-options OPTS
3593 give extra options to tar
3594
3595 --uhc-options OPTS
3596 give extra options to uhc
3597
3598 --cabal-lib-version VERSION
3599 Select which version of the Cabal lib to use to build
3600 packages (useful for testing).
3601
3602 --constraint CONSTRAINT
3603 Specify constraints on a package (version, in‐
3604 stalled/source, flags)
3605
3606 --preference CONSTRAINT
3607 Specify preferences (soft constraints) on the version of
3608 a package
3609
3610 --solver SOLVER
3611 Select dependency solver to use (default: modular).
3612 Choices: modular.
3613
3614 --allow-older [DEPS]
3615 Ignore lower bounds in all dependencies or DEPS
3616
3617 --allow-newer [DEPS]
3618 Ignore upper bounds in all dependencies or DEPS
3619
3620 --write-ghc-environment-files always|never|ghc8.4.4+
3621 Whether to create a .ghc.environment file after a suc‐
3622 cessful build (v2-build only)
3623
3624 --enable-documentation
3625 --disable-documentation
3626 building of documentation
3627
3628 --doc-index-file TEMPLATE
3629 A central index of haddock API documentation (template
3630 cannot use $pkgid)
3631
3632 --dry-run
3633 Do not install anything, only print what would be in‐
3634 stalled.
3635
3636 --max-backjumps NUM
3637 Maximum number of backjumps allowed while solving (de‐
3638 fault: 4000). Use a negative number to enable unlimited
3639 backtracking. Use 0 to disable backtracking completely.
3640
3641 --reorder-goals
3642 --no-reorder-goals
3643 Try to reorder goals according to certain heuristics.
3644 Slows things down on average, but may make backtracking
3645 faster for some packages.
3646
3647 --count-conflicts
3648 --no-count-conflicts
3649 Try to speed up solving by preferring goals that are in‐
3650 volved in a lot of conflicts (default).
3651
3652 --fine-grained-conflicts
3653 --no-fine-grained-conflicts
3654 Skip a version of a package if it does not resolve the
3655 conflicts encountered in the last version, as a solver
3656 optimization (default).
3657
3658 --minimize-conflict-set
3659 --no-minimize-conflict-set
3660 When there is no solution, try to improve the error mes‐
3661 sage by finding a minimal conflict set (default: false).
3662 May increase run time significantly.
3663
3664 --independent-goals
3665 --no-independent-goals
3666 Treat several goals on the command line as independent.
3667 If several goals depend on the same package, different
3668 versions can be chosen.
3669
3670 --shadow-installed-packages
3671 --no-shadow-installed-packages
3672 If multiple package instances of the same version are in‐
3673 stalled, treat all but one as shadowed.
3674
3675 --strong-flags
3676 --no-strong-flags
3677 Do not defer flag choices (this used to be the default in
3678 cabal-install <= 1.20).
3679
3680 --allow-boot-library-installs
3681 --no-allow-boot-library-installs
3682 Allow cabal to install base, ghc-prim, integer-simple,
3683 integer-gmp, and template-haskell.
3684
3685 --reject-unconstrained-dependencies none|all
3686 Require these packages to have constraints on them if
3687 they are to be selected (default: none).
3688
3689 --reinstall
3690 --no-reinstall
3691 Install even if it means installing the same version
3692 again.
3693
3694 --avoid-reinstalls
3695 --no-avoid-reinstalls
3696 Do not select versions that would destructively overwrite
3697 installed packages.
3698
3699 --force-reinstalls
3700 --no-force-reinstalls
3701 Reinstall packages even if they will most likely break
3702 other installed packages.
3703
3704 --upgrade-dependencies
3705 --no-upgrade-dependencies
3706 Pick the latest version for all dependencies, rather than
3707 trying to pick an installed version.
3708
3709 --only-dependencies
3710 --no-only-dependencies
3711 Install only the dependencies necessary to build the
3712 given packages
3713
3714 --dependencies-only
3715 --no-dependencies-only
3716 A synonym for --only-dependencies
3717
3718 --index-state STATE
3719 Use source package index state as it existed at a previ‐
3720 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
3721 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
3722 'HEAD' (default: 'HEAD').
3723
3724 --root-cmd COMMAND
3725 (No longer supported, do not use.)
3726
3727 --symlink-bindir DIR
3728 Add symlinks to installed executables into this direc‐
3729 tory.
3730
3731 --build-summary TEMPLATE
3732 Save build summaries to file (name template can use
3733 $pkgid, $compiler, $os, $arch)
3734
3735 --build-log TEMPLATE
3736 Log all builds to file (name template can use $pkgid,
3737 $compiler, $os, $arch)
3738
3739 --remote-build-reporting LEVEL
3740 Generate build reports to send to a remote server (none,
3741 anonymous or detailed).
3742
3743 --report-planning-failure
3744 Generate build reports when the dependency solver fails.
3745 This is used by the Hackage build bot.
3746
3747 --enable-per-component
3748 --disable-per-component
3749 Per-component builds when possible
3750
3751 --one-shot
3752 --no-one-shot
3753 Do not record the packages in the world file.
3754
3755 --run-tests
3756 Run package test suites during installation.
3757
3758 -j, --jobs [NUM]
3759 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
3760 given).
3761
3762 --keep-going
3763 After a build failure, continue to build other unaffected
3764 packages.
3765
3766 --offline
3767 --no-offline
3768 Don't download packages from the Internet.
3769
3770 --project-file FILE
3771 Set the name of the cabal.project file to search for in
3772 parent directories
3773
3774 --only
3775 Only installs the package in the current directory.
3776
3777 --haddock-hoogle
3778 Generate a hoogle database
3779
3780 --haddock-html
3781 Generate HTML documentation (the default)
3782
3783 --haddock-html-location URL
3784 Location of HTML documentation for pre-requisite packages
3785
3786 --haddock-for-hackage
3787 Collection of flags to generate documentation suitable
3788 for upload to hackage
3789
3790 --haddock-executables
3791 Run haddock for Executables targets
3792
3793 --haddock-tests
3794 Run haddock for Test Suite targets
3795
3796 --haddock-benchmarks
3797 Run haddock for Benchmark targets
3798
3799 --haddock-all
3800 Run haddock for all targets
3801
3802 --haddock-internal
3803 Run haddock for internal modules and include all symbols
3804
3805 --haddock-css PATH
3806 Use PATH as the haddock stylesheet
3807
3808 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
3809 dock-hyperlinked-source
3810 Hyperlink the documentation to the source code
3811
3812 --haddock-quickjump
3813 Generate an index for interactive documentation naviga‐
3814 tion
3815
3816 --haddock-hscolour-css PATH
3817 Use PATH as the HsColour stylesheet
3818
3819 --haddock-contents-location URL
3820 Bake URL in as the location for the contents page
3821
3822 --test-log TEMPLATE
3823 Log all test suite results to file (name template can use
3824 $pkgid, $compiler, $os, $arch, $test-suite, $result)
3825
3826 --test-machine-log TEMPLATE
3827 Produce a machine-readable log file (name template can
3828 use $pkgid, $compiler, $os, $arch, $result)
3829
3830 --test-show-details FILTER
3831
3832 --test-keep-tix-files
3833 keep .tix files for HPC between test runs
3834
3835 --test-wrapper FILE
3836 Run test through a wrapper.
3837
3838 --test-fail-when-no-test-suites
3839 Exit with failure when no test suites are found.
3840
3841 --test-options TEMPLATES
3842 give extra options to test executables (name templates
3843 can use $pkgid, $compiler, $os, $arch, $test-suite)
3844
3845 --test-option TEMPLATE
3846 give extra option to test executables (no need to quote
3847 options containing spaces, name template can use $pkgid,
3848 $compiler, $os, $arch, $test-suite)
3849
3850 --benchmark-options TEMPLATES
3851 give extra options to benchmark executables (name tem‐
3852 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
3853
3854 --benchmark-option TEMPLATE
3855 give extra option to benchmark executables (no need to
3856 quote options containing spaces, name template can use
3857 $pkgid, $compiler, $os, $arch, $benchmark)
3858
3859
3860 cabal new-update
3861
3862 Usage: cabal new-update [FLAGS] [REPOS]
3863
3864
3865 For all known remote repositories, download the package list.
3866
3867
3868 For all known remote repositories, download the package list.
3869
3870
3871 Flags:
3872 -v, --verbose [n]
3873 Control verbosity (n is 0--3, default verbosity level is
3874 1)
3875
3876 --builddir, --distdir, --distpref DIR
3877 The directory where Cabal puts generated build files (de‐
3878 fault dist)
3879
3880 -g, --ghc
3881 compile with GHC
3882
3883 --ghcjs
3884 compile with GHCJS
3885
3886 --uhc
3887 compile with UHC
3888
3889 --haskell-suite
3890 compile with a haskell-suite compiler
3891
3892 --cabal-file PATH
3893 use this Cabal file
3894
3895 -w, --with-compiler PATH
3896 give the path to a particular compiler
3897
3898 --with-hc-pkg PATH
3899 give the path to the package tool
3900
3901 --prefix DIR
3902 bake this prefix in preparation of installation
3903
3904 --bindir DIR
3905 installation directory for executables
3906
3907 --libdir DIR
3908 installation directory for libraries
3909
3910 --libsubdir DIR
3911 subdirectory of libdir in which libs are installed
3912
3913 --dynlibdir DIR
3914 installation directory for dynamic libraries
3915
3916 --libexecdir DIR
3917 installation directory for program executables
3918
3919 --libexecsubdir DIR
3920 subdirectory of libexecdir in which private executables
3921 are installed
3922
3923 --datadir DIR
3924 installation directory for read-only data
3925
3926 --datasubdir DIR
3927 subdirectory of datadir in which data files are installed
3928
3929 --docdir DIR
3930 installation directory for documentation
3931
3932 --htmldir DIR
3933 installation directory for HTML documentation
3934
3935 --haddockdir DIR
3936 installation directory for haddock interfaces
3937
3938 --sysconfdir DIR
3939 installation directory for configuration files
3940
3941 --program-prefix PREFIX
3942 prefix to be applied to installed executables
3943
3944 --program-suffix SUFFIX
3945 suffix to be applied to installed executables
3946
3947 --enable-library-vanilla
3948 --disable-library-vanilla
3949 Vanilla libraries
3950
3951 -p, --enable-library-profiling
3952 --disable-library-profiling
3953 Library profiling
3954
3955 --enable-shared
3956 --disable-shared
3957 Shared library
3958
3959 --enable-static
3960 --disable-static
3961 Static library
3962
3963 --enable-executable-dynamic
3964 --disable-executable-dynamic
3965 Executable dynamic linking
3966
3967 --enable-executable-static
3968 --disable-executable-static
3969 Executable fully static linking
3970
3971 --enable-profiling
3972 --disable-profiling
3973 Executable and library profiling
3974
3975 --enable-executable-profiling
3976 --disable-executable-profiling
3977 Executable profiling (DEPRECATED)
3978
3979 --profiling-detail level
3980 Profiling detail level for executable and library (de‐
3981 fault, none, exported-functions, toplevel-functions,
3982 all-functions).
3983
3984 --library-profiling-detail level
3985 Profiling detail level for libraries only.
3986
3987 -O, --enable-optimization, --enable-optimisation [n]
3988 Build with optimization (n is 0--2, default is 1)
3989
3990 --disable-optimization, --disable-optimisation
3991 Build without optimization
3992
3993 --enable-debug-info [n]
3994 Emit debug info (n is 0--3, default is 0)
3995
3996 --disable-debug-info
3997 Don't emit debug info
3998
3999 --enable-library-for-ghci
4000 --disable-library-for-ghci
4001 compile library for use with GHCi
4002
4003 --enable-split-sections
4004 --disable-split-sections
4005 compile library code such that unneeded definitions can
4006 be dropped from the final executable (GHC 7.8+)
4007
4008 --enable-split-objs
4009 --disable-split-objs
4010 split library into smaller objects to reduce binary sizes
4011 (GHC 6.6+)
4012
4013 --enable-executable-stripping
4014 --disable-executable-stripping
4015 strip executables upon installation to reduce binary
4016 sizes
4017
4018 --enable-library-stripping
4019 --disable-library-stripping
4020 strip libraries upon installation to reduce binary sizes
4021
4022 --configure-option OPT
4023 Extra option for configure
4024
4025 --user
4026 --global
4027 doing a per-user installation
4028
4029 --package-db DB
4030 Append the given package database to the list of package
4031 databases used (to satisfy dependencies and register
4032 into). May be a specific file, 'global' or 'user'. The
4033 initial list is ['global'], ['global', 'user'], or
4034 ['global', $sandbox], depending on context. Use 'clear'
4035 to reset the list to empty. See the user guide for de‐
4036 tails.
4037
4038 -f, --flags FLAGS
4039 Force values for the given flags in Cabal conditionals in
4040 the .cabal file. E.g., --flags="debug -usebytestrings"
4041 forces the flag "debug" to true and "usebytestrings" to
4042 false.
4043
4044 --extra-include-dirs PATH
4045 A list of directories to search for header files
4046
4047 --enable-deterministic
4048 --disable-deterministic
4049 Try to be as deterministic as possible (used by the test
4050 suite)
4051
4052 --ipid IPID
4053 Installed package ID to compile this package as
4054
4055 --cid CID
4056 Installed component ID to compile this component as
4057
4058 --extra-lib-dirs PATH
4059 A list of directories to search for external libraries
4060
4061 --extra-framework-dirs PATH
4062 A list of directories to search for external frameworks
4063 (OS X only)
4064
4065 --extra-prog-path PATH
4066 A list of directories to search for required programs (in
4067 addition to the normal search locations)
4068
4069 --instantiate-with NAME=MOD
4070 A mapping of signature names to concrete module instanti‐
4071 ations.
4072
4073 --enable-tests
4074 --disable-tests
4075 dependency checking and compilation for test suites
4076 listed in the package description file.
4077
4078 --enable-coverage
4079 --disable-coverage
4080 build package with Haskell Program Coverage. (GHC only)
4081
4082 --enable-library-coverage
4083 --disable-library-coverage
4084 build package with Haskell Program Coverage. (GHC only)
4085 (DEPRECATED)
4086
4087 --enable-benchmarks
4088 --disable-benchmarks
4089 dependency checking and compilation for benchmarks listed
4090 in the package description file.
4091
4092 --enable-relocatable
4093 --disable-relocatable
4094 building a package that is relocatable. (GHC only)
4095
4096 --disable-response-files
4097 enable workaround for old versions of programs like "ar"
4098 that do not support @file arguments
4099
4100 --allow-depending-on-private-libs
4101 Allow depending on private libraries. If set, the library
4102 visibility check MUST be done externally.
4103
4104 --with-alex PATH
4105 give the path to alex
4106
4107 --with-ar PATH
4108 give the path to ar
4109
4110 --with-c2hs PATH
4111 give the path to c2hs
4112
4113 --with-cpphs PATH
4114 give the path to cpphs
4115
4116 --with-doctest PATH
4117 give the path to doctest
4118
4119 --with-gcc PATH
4120 give the path to gcc
4121
4122 --with-ghc PATH
4123 give the path to ghc
4124
4125 --with-ghc-pkg PATH
4126 give the path to ghc-pkg
4127
4128 --with-ghcjs PATH
4129 give the path to ghcjs
4130
4131 --with-ghcjs-pkg PATH
4132 give the path to ghcjs-pkg
4133
4134 --with-greencard PATH
4135 give the path to greencard
4136
4137 --with-haddock PATH
4138 give the path to haddock
4139
4140 --with-happy PATH
4141 give the path to happy
4142
4143 --with-haskell-suite PATH
4144 give the path to haskell-suite
4145
4146 --with-haskell-suite-pkg PATH
4147 give the path to haskell-suite-pkg
4148
4149 --with-hmake PATH
4150 give the path to hmake
4151
4152 --with-hpc PATH
4153 give the path to hpc
4154
4155 --with-hsc2hs PATH
4156 give the path to hsc2hs
4157
4158 --with-hscolour PATH
4159 give the path to hscolour
4160
4161 --with-jhc PATH
4162 give the path to jhc
4163
4164 --with-ld PATH
4165 give the path to ld
4166
4167 --with-pkg-config PATH
4168 give the path to pkg-config
4169
4170 --with-runghc PATH
4171 give the path to runghc
4172
4173 --with-strip PATH
4174 give the path to strip
4175
4176 --with-tar PATH
4177 give the path to tar
4178
4179 --with-uhc PATH
4180 give the path to uhc
4181
4182 --alex-option OPT
4183 give an extra option to alex (no need to quote options
4184 containing spaces)
4185
4186 --ar-option OPT
4187 give an extra option to ar (no need to quote options con‐
4188 taining spaces)
4189
4190 --c2hs-option OPT
4191 give an extra option to c2hs (no need to quote options
4192 containing spaces)
4193
4194 --cpphs-option OPT
4195 give an extra option to cpphs (no need to quote options
4196 containing spaces)
4197
4198 --doctest-option OPT
4199 give an extra option to doctest (no need to quote options
4200 containing spaces)
4201
4202 --gcc-option OPT
4203 give an extra option to gcc (no need to quote options
4204 containing spaces)
4205
4206 --ghc-option OPT
4207 give an extra option to ghc (no need to quote options
4208 containing spaces)
4209
4210 --ghc-pkg-option OPT
4211 give an extra option to ghc-pkg (no need to quote options
4212 containing spaces)
4213
4214 --ghcjs-option OPT
4215 give an extra option to ghcjs (no need to quote options
4216 containing spaces)
4217
4218 --ghcjs-pkg-option OPT
4219 give an extra option to ghcjs-pkg (no need to quote op‐
4220 tions containing spaces)
4221
4222 --greencard-option OPT
4223 give an extra option to greencard (no need to quote op‐
4224 tions containing spaces)
4225
4226 --haddock-option OPT
4227 give an extra option to haddock (no need to quote options
4228 containing spaces)
4229
4230 --happy-option OPT
4231 give an extra option to happy (no need to quote options
4232 containing spaces)
4233
4234 --haskell-suite-option OPT
4235 give an extra option to haskell-suite (no need to quote
4236 options containing spaces)
4237
4238 --haskell-suite-pkg-option OPT
4239 give an extra option to haskell-suite-pkg (no need to
4240 quote options containing spaces)
4241
4242 --hmake-option OPT
4243 give an extra option to hmake (no need to quote options
4244 containing spaces)
4245
4246 --hpc-option OPT
4247 give an extra option to hpc (no need to quote options
4248 containing spaces)
4249
4250 --hsc2hs-option OPT
4251 give an extra option to hsc2hs (no need to quote options
4252 containing spaces)
4253
4254 --hscolour-option OPT
4255 give an extra option to hscolour (no need to quote op‐
4256 tions containing spaces)
4257
4258 --jhc-option OPT
4259 give an extra option to jhc (no need to quote options
4260 containing spaces)
4261
4262 --ld-option OPT
4263 give an extra option to ld (no need to quote options con‐
4264 taining spaces)
4265
4266 --pkg-config-option OPT
4267 give an extra option to pkg-config (no need to quote op‐
4268 tions containing spaces)
4269
4270 --runghc-option OPT
4271 give an extra option to runghc (no need to quote options
4272 containing spaces)
4273
4274 --strip-option OPT
4275 give an extra option to strip (no need to quote options
4276 containing spaces)
4277
4278 --tar-option OPT
4279 give an extra option to tar (no need to quote options
4280 containing spaces)
4281
4282 --uhc-option OPT
4283 give an extra option to uhc (no need to quote options
4284 containing spaces)
4285
4286 --alex-options OPTS
4287 give extra options to alex
4288
4289 --ar-options OPTS
4290 give extra options to ar
4291
4292 --c2hs-options OPTS
4293 give extra options to c2hs
4294
4295 --cpphs-options OPTS
4296 give extra options to cpphs
4297
4298 --doctest-options OPTS
4299 give extra options to doctest
4300
4301 --gcc-options OPTS
4302 give extra options to gcc
4303
4304 --ghc-options OPTS
4305 give extra options to ghc
4306
4307 --ghc-pkg-options OPTS
4308 give extra options to ghc-pkg
4309
4310 --ghcjs-options OPTS
4311 give extra options to ghcjs
4312
4313 --ghcjs-pkg-options OPTS
4314 give extra options to ghcjs-pkg
4315
4316 --greencard-options OPTS
4317 give extra options to greencard
4318
4319 --haddock-options OPTS
4320 give extra options to haddock
4321
4322 --happy-options OPTS
4323 give extra options to happy
4324
4325 --haskell-suite-options OPTS
4326 give extra options to haskell-suite
4327
4328 --haskell-suite-pkg-options OPTS
4329 give extra options to haskell-suite-pkg
4330
4331 --hmake-options OPTS
4332 give extra options to hmake
4333
4334 --hpc-options OPTS
4335 give extra options to hpc
4336
4337 --hsc2hs-options OPTS
4338 give extra options to hsc2hs
4339
4340 --hscolour-options OPTS
4341 give extra options to hscolour
4342
4343 --jhc-options OPTS
4344 give extra options to jhc
4345
4346 --ld-options OPTS
4347 give extra options to ld
4348
4349 --pkg-config-options OPTS
4350 give extra options to pkg-config
4351
4352 --runghc-options OPTS
4353 give extra options to runghc
4354
4355 --strip-options OPTS
4356 give extra options to strip
4357
4358 --tar-options OPTS
4359 give extra options to tar
4360
4361 --uhc-options OPTS
4362 give extra options to uhc
4363
4364 --cabal-lib-version VERSION
4365 Select which version of the Cabal lib to use to build
4366 packages (useful for testing).
4367
4368 --constraint CONSTRAINT
4369 Specify constraints on a package (version, in‐
4370 stalled/source, flags)
4371
4372 --preference CONSTRAINT
4373 Specify preferences (soft constraints) on the version of
4374 a package
4375
4376 --solver SOLVER
4377 Select dependency solver to use (default: modular).
4378 Choices: modular.
4379
4380 --allow-older [DEPS]
4381 Ignore lower bounds in all dependencies or DEPS
4382
4383 --allow-newer [DEPS]
4384 Ignore upper bounds in all dependencies or DEPS
4385
4386 --write-ghc-environment-files always|never|ghc8.4.4+
4387 Whether to create a .ghc.environment file after a suc‐
4388 cessful build (v2-build only)
4389
4390 --enable-documentation
4391 --disable-documentation
4392 building of documentation
4393
4394 --doc-index-file TEMPLATE
4395 A central index of haddock API documentation (template
4396 cannot use $pkgid)
4397
4398 --dry-run
4399 Do not install anything, only print what would be in‐
4400 stalled.
4401
4402 --max-backjumps NUM
4403 Maximum number of backjumps allowed while solving (de‐
4404 fault: 4000). Use a negative number to enable unlimited
4405 backtracking. Use 0 to disable backtracking completely.
4406
4407 --reorder-goals
4408 --no-reorder-goals
4409 Try to reorder goals according to certain heuristics.
4410 Slows things down on average, but may make backtracking
4411 faster for some packages.
4412
4413 --count-conflicts
4414 --no-count-conflicts
4415 Try to speed up solving by preferring goals that are in‐
4416 volved in a lot of conflicts (default).
4417
4418 --fine-grained-conflicts
4419 --no-fine-grained-conflicts
4420 Skip a version of a package if it does not resolve the
4421 conflicts encountered in the last version, as a solver
4422 optimization (default).
4423
4424 --minimize-conflict-set
4425 --no-minimize-conflict-set
4426 When there is no solution, try to improve the error mes‐
4427 sage by finding a minimal conflict set (default: false).
4428 May increase run time significantly.
4429
4430 --independent-goals
4431 --no-independent-goals
4432 Treat several goals on the command line as independent.
4433 If several goals depend on the same package, different
4434 versions can be chosen.
4435
4436 --shadow-installed-packages
4437 --no-shadow-installed-packages
4438 If multiple package instances of the same version are in‐
4439 stalled, treat all but one as shadowed.
4440
4441 --strong-flags
4442 --no-strong-flags
4443 Do not defer flag choices (this used to be the default in
4444 cabal-install <= 1.20).
4445
4446 --allow-boot-library-installs
4447 --no-allow-boot-library-installs
4448 Allow cabal to install base, ghc-prim, integer-simple,
4449 integer-gmp, and template-haskell.
4450
4451 --reject-unconstrained-dependencies none|all
4452 Require these packages to have constraints on them if
4453 they are to be selected (default: none).
4454
4455 --reinstall
4456 --no-reinstall
4457 Install even if it means installing the same version
4458 again.
4459
4460 --avoid-reinstalls
4461 --no-avoid-reinstalls
4462 Do not select versions that would destructively overwrite
4463 installed packages.
4464
4465 --force-reinstalls
4466 --no-force-reinstalls
4467 Reinstall packages even if they will most likely break
4468 other installed packages.
4469
4470 --upgrade-dependencies
4471 --no-upgrade-dependencies
4472 Pick the latest version for all dependencies, rather than
4473 trying to pick an installed version.
4474
4475 --only-dependencies
4476 --no-only-dependencies
4477 Install only the dependencies necessary to build the
4478 given packages
4479
4480 --dependencies-only
4481 --no-dependencies-only
4482 A synonym for --only-dependencies
4483
4484 --index-state STATE
4485 Use source package index state as it existed at a previ‐
4486 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
4487 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
4488 'HEAD' (default: 'HEAD').
4489
4490 --root-cmd COMMAND
4491 (No longer supported, do not use.)
4492
4493 --symlink-bindir DIR
4494 Add symlinks to installed executables into this direc‐
4495 tory.
4496
4497 --build-summary TEMPLATE
4498 Save build summaries to file (name template can use
4499 $pkgid, $compiler, $os, $arch)
4500
4501 --build-log TEMPLATE
4502 Log all builds to file (name template can use $pkgid,
4503 $compiler, $os, $arch)
4504
4505 --remote-build-reporting LEVEL
4506 Generate build reports to send to a remote server (none,
4507 anonymous or detailed).
4508
4509 --report-planning-failure
4510 Generate build reports when the dependency solver fails.
4511 This is used by the Hackage build bot.
4512
4513 --enable-per-component
4514 --disable-per-component
4515 Per-component builds when possible
4516
4517 --one-shot
4518 --no-one-shot
4519 Do not record the packages in the world file.
4520
4521 --run-tests
4522 Run package test suites during installation.
4523
4524 -j, --jobs [NUM]
4525 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
4526 given).
4527
4528 --keep-going
4529 After a build failure, continue to build other unaffected
4530 packages.
4531
4532 --offline
4533 --no-offline
4534 Don't download packages from the Internet.
4535
4536 --project-file FILE
4537 Set the name of the cabal.project file to search for in
4538 parent directories
4539
4540 --only
4541 Only installs the package in the current directory.
4542
4543 --haddock-hoogle
4544 Generate a hoogle database
4545
4546 --haddock-html
4547 Generate HTML documentation (the default)
4548
4549 --haddock-html-location URL
4550 Location of HTML documentation for pre-requisite packages
4551
4552 --haddock-for-hackage
4553 Collection of flags to generate documentation suitable
4554 for upload to hackage
4555
4556 --haddock-executables
4557 Run haddock for Executables targets
4558
4559 --haddock-tests
4560 Run haddock for Test Suite targets
4561
4562 --haddock-benchmarks
4563 Run haddock for Benchmark targets
4564
4565 --haddock-all
4566 Run haddock for all targets
4567
4568 --haddock-internal
4569 Run haddock for internal modules and include all symbols
4570
4571 --haddock-css PATH
4572 Use PATH as the haddock stylesheet
4573
4574 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
4575 dock-hyperlinked-source
4576 Hyperlink the documentation to the source code
4577
4578 --haddock-quickjump
4579 Generate an index for interactive documentation naviga‐
4580 tion
4581
4582 --haddock-hscolour-css PATH
4583 Use PATH as the HsColour stylesheet
4584
4585 --haddock-contents-location URL
4586 Bake URL in as the location for the contents page
4587
4588 --test-log TEMPLATE
4589 Log all test suite results to file (name template can use
4590 $pkgid, $compiler, $os, $arch, $test-suite, $result)
4591
4592 --test-machine-log TEMPLATE
4593 Produce a machine-readable log file (name template can
4594 use $pkgid, $compiler, $os, $arch, $result)
4595
4596 --test-show-details FILTER
4597
4598 --test-keep-tix-files
4599 keep .tix files for HPC between test runs
4600
4601 --test-wrapper FILE
4602 Run test through a wrapper.
4603
4604 --test-fail-when-no-test-suites
4605 Exit with failure when no test suites are found.
4606
4607 --test-options TEMPLATES
4608 give extra options to test executables (name templates
4609 can use $pkgid, $compiler, $os, $arch, $test-suite)
4610
4611 --test-option TEMPLATE
4612 give extra option to test executables (no need to quote
4613 options containing spaces, name template can use $pkgid,
4614 $compiler, $os, $arch, $test-suite)
4615
4616 --benchmark-options TEMPLATES
4617 give extra options to benchmark executables (name tem‐
4618 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
4619
4620 --benchmark-option TEMPLATE
4621 give extra option to benchmark executables (no need to
4622 quote options containing spaces, name template can use
4623 $pkgid, $compiler, $os, $arch, $benchmark)
4624
4625
4626 cabal v2-update
4627
4628 Usage: cabal v2-update [FLAGS] [REPOS]
4629
4630
4631 For all known remote repositories, download the package list.
4632
4633
4634 REPO has the format <repo-id>[,<index-state>] where index-state follows
4635 the same format and syntax that is supported by the --index-state flag.
4636
4637 Examples:
4638 cabal v2-update
4639 Download the package list for all known remote repositories.
4640
4641 cabal v2-update hackage.haskell.org,@1474732068
4642 cabal v2-update hackage.haskell.org,2016-09-24T17:47:48Z
4643 cabal v2-update hackage.haskell.org,HEAD
4644 cabal v2-update hackage.haskell.org
4645 Download hackage.haskell.org at a specific index state.
4646
4647 cabal new update hackage.haskell.org head.hackage
4648 Download hackage.haskell.org and head.hackage
4649 head.hackage must be a known repo-id. E.g. from
4650 your cabal.project(.local) file.
4651
4652 Note: this command is part of the new project-based system (aka nix-
4653 style local builds). These features are currently in beta. Please see
4654 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
4655 details and advice on what you can expect to work. If you encounter
4656 problems please file issues at https://github.com/haskell/cabal/issues
4657 and if you have any time to get involved and help with testing, fixing
4658 bugs etc then that is very much appreciated.
4659
4660
4661 Flags:
4662 -v, --verbose [n]
4663 Control verbosity (n is 0--3, default verbosity level is
4664 1)
4665
4666 --builddir, --distdir, --distpref DIR
4667 The directory where Cabal puts generated build files (de‐
4668 fault dist)
4669
4670 -g, --ghc
4671 compile with GHC
4672
4673 --ghcjs
4674 compile with GHCJS
4675
4676 --uhc
4677 compile with UHC
4678
4679 --haskell-suite
4680 compile with a haskell-suite compiler
4681
4682 --cabal-file PATH
4683 use this Cabal file
4684
4685 -w, --with-compiler PATH
4686 give the path to a particular compiler
4687
4688 --with-hc-pkg PATH
4689 give the path to the package tool
4690
4691 --prefix DIR
4692 bake this prefix in preparation of installation
4693
4694 --bindir DIR
4695 installation directory for executables
4696
4697 --libdir DIR
4698 installation directory for libraries
4699
4700 --libsubdir DIR
4701 subdirectory of libdir in which libs are installed
4702
4703 --dynlibdir DIR
4704 installation directory for dynamic libraries
4705
4706 --libexecdir DIR
4707 installation directory for program executables
4708
4709 --libexecsubdir DIR
4710 subdirectory of libexecdir in which private executables
4711 are installed
4712
4713 --datadir DIR
4714 installation directory for read-only data
4715
4716 --datasubdir DIR
4717 subdirectory of datadir in which data files are installed
4718
4719 --docdir DIR
4720 installation directory for documentation
4721
4722 --htmldir DIR
4723 installation directory for HTML documentation
4724
4725 --haddockdir DIR
4726 installation directory for haddock interfaces
4727
4728 --sysconfdir DIR
4729 installation directory for configuration files
4730
4731 --program-prefix PREFIX
4732 prefix to be applied to installed executables
4733
4734 --program-suffix SUFFIX
4735 suffix to be applied to installed executables
4736
4737 --enable-library-vanilla
4738 --disable-library-vanilla
4739 Vanilla libraries
4740
4741 -p, --enable-library-profiling
4742 --disable-library-profiling
4743 Library profiling
4744
4745 --enable-shared
4746 --disable-shared
4747 Shared library
4748
4749 --enable-static
4750 --disable-static
4751 Static library
4752
4753 --enable-executable-dynamic
4754 --disable-executable-dynamic
4755 Executable dynamic linking
4756
4757 --enable-executable-static
4758 --disable-executable-static
4759 Executable fully static linking
4760
4761 --enable-profiling
4762 --disable-profiling
4763 Executable and library profiling
4764
4765 --enable-executable-profiling
4766 --disable-executable-profiling
4767 Executable profiling (DEPRECATED)
4768
4769 --profiling-detail level
4770 Profiling detail level for executable and library (de‐
4771 fault, none, exported-functions, toplevel-functions,
4772 all-functions).
4773
4774 --library-profiling-detail level
4775 Profiling detail level for libraries only.
4776
4777 -O, --enable-optimization, --enable-optimisation [n]
4778 Build with optimization (n is 0--2, default is 1)
4779
4780 --disable-optimization, --disable-optimisation
4781 Build without optimization
4782
4783 --enable-debug-info [n]
4784 Emit debug info (n is 0--3, default is 0)
4785
4786 --disable-debug-info
4787 Don't emit debug info
4788
4789 --enable-library-for-ghci
4790 --disable-library-for-ghci
4791 compile library for use with GHCi
4792
4793 --enable-split-sections
4794 --disable-split-sections
4795 compile library code such that unneeded definitions can
4796 be dropped from the final executable (GHC 7.8+)
4797
4798 --enable-split-objs
4799 --disable-split-objs
4800 split library into smaller objects to reduce binary sizes
4801 (GHC 6.6+)
4802
4803 --enable-executable-stripping
4804 --disable-executable-stripping
4805 strip executables upon installation to reduce binary
4806 sizes
4807
4808 --enable-library-stripping
4809 --disable-library-stripping
4810 strip libraries upon installation to reduce binary sizes
4811
4812 --configure-option OPT
4813 Extra option for configure
4814
4815 --user
4816 --global
4817 doing a per-user installation
4818
4819 --package-db DB
4820 Append the given package database to the list of package
4821 databases used (to satisfy dependencies and register
4822 into). May be a specific file, 'global' or 'user'. The
4823 initial list is ['global'], ['global', 'user'], or
4824 ['global', $sandbox], depending on context. Use 'clear'
4825 to reset the list to empty. See the user guide for de‐
4826 tails.
4827
4828 -f, --flags FLAGS
4829 Force values for the given flags in Cabal conditionals in
4830 the .cabal file. E.g., --flags="debug -usebytestrings"
4831 forces the flag "debug" to true and "usebytestrings" to
4832 false.
4833
4834 --extra-include-dirs PATH
4835 A list of directories to search for header files
4836
4837 --enable-deterministic
4838 --disable-deterministic
4839 Try to be as deterministic as possible (used by the test
4840 suite)
4841
4842 --ipid IPID
4843 Installed package ID to compile this package as
4844
4845 --cid CID
4846 Installed component ID to compile this component as
4847
4848 --extra-lib-dirs PATH
4849 A list of directories to search for external libraries
4850
4851 --extra-framework-dirs PATH
4852 A list of directories to search for external frameworks
4853 (OS X only)
4854
4855 --extra-prog-path PATH
4856 A list of directories to search for required programs (in
4857 addition to the normal search locations)
4858
4859 --instantiate-with NAME=MOD
4860 A mapping of signature names to concrete module instanti‐
4861 ations.
4862
4863 --enable-tests
4864 --disable-tests
4865 dependency checking and compilation for test suites
4866 listed in the package description file.
4867
4868 --enable-coverage
4869 --disable-coverage
4870 build package with Haskell Program Coverage. (GHC only)
4871
4872 --enable-library-coverage
4873 --disable-library-coverage
4874 build package with Haskell Program Coverage. (GHC only)
4875 (DEPRECATED)
4876
4877 --enable-benchmarks
4878 --disable-benchmarks
4879 dependency checking and compilation for benchmarks listed
4880 in the package description file.
4881
4882 --enable-relocatable
4883 --disable-relocatable
4884 building a package that is relocatable. (GHC only)
4885
4886 --disable-response-files
4887 enable workaround for old versions of programs like "ar"
4888 that do not support @file arguments
4889
4890 --allow-depending-on-private-libs
4891 Allow depending on private libraries. If set, the library
4892 visibility check MUST be done externally.
4893
4894 --with-alex PATH
4895 give the path to alex
4896
4897 --with-ar PATH
4898 give the path to ar
4899
4900 --with-c2hs PATH
4901 give the path to c2hs
4902
4903 --with-cpphs PATH
4904 give the path to cpphs
4905
4906 --with-doctest PATH
4907 give the path to doctest
4908
4909 --with-gcc PATH
4910 give the path to gcc
4911
4912 --with-ghc PATH
4913 give the path to ghc
4914
4915 --with-ghc-pkg PATH
4916 give the path to ghc-pkg
4917
4918 --with-ghcjs PATH
4919 give the path to ghcjs
4920
4921 --with-ghcjs-pkg PATH
4922 give the path to ghcjs-pkg
4923
4924 --with-greencard PATH
4925 give the path to greencard
4926
4927 --with-haddock PATH
4928 give the path to haddock
4929
4930 --with-happy PATH
4931 give the path to happy
4932
4933 --with-haskell-suite PATH
4934 give the path to haskell-suite
4935
4936 --with-haskell-suite-pkg PATH
4937 give the path to haskell-suite-pkg
4938
4939 --with-hmake PATH
4940 give the path to hmake
4941
4942 --with-hpc PATH
4943 give the path to hpc
4944
4945 --with-hsc2hs PATH
4946 give the path to hsc2hs
4947
4948 --with-hscolour PATH
4949 give the path to hscolour
4950
4951 --with-jhc PATH
4952 give the path to jhc
4953
4954 --with-ld PATH
4955 give the path to ld
4956
4957 --with-pkg-config PATH
4958 give the path to pkg-config
4959
4960 --with-runghc PATH
4961 give the path to runghc
4962
4963 --with-strip PATH
4964 give the path to strip
4965
4966 --with-tar PATH
4967 give the path to tar
4968
4969 --with-uhc PATH
4970 give the path to uhc
4971
4972 --alex-option OPT
4973 give an extra option to alex (no need to quote options
4974 containing spaces)
4975
4976 --ar-option OPT
4977 give an extra option to ar (no need to quote options con‐
4978 taining spaces)
4979
4980 --c2hs-option OPT
4981 give an extra option to c2hs (no need to quote options
4982 containing spaces)
4983
4984 --cpphs-option OPT
4985 give an extra option to cpphs (no need to quote options
4986 containing spaces)
4987
4988 --doctest-option OPT
4989 give an extra option to doctest (no need to quote options
4990 containing spaces)
4991
4992 --gcc-option OPT
4993 give an extra option to gcc (no need to quote options
4994 containing spaces)
4995
4996 --ghc-option OPT
4997 give an extra option to ghc (no need to quote options
4998 containing spaces)
4999
5000 --ghc-pkg-option OPT
5001 give an extra option to ghc-pkg (no need to quote options
5002 containing spaces)
5003
5004 --ghcjs-option OPT
5005 give an extra option to ghcjs (no need to quote options
5006 containing spaces)
5007
5008 --ghcjs-pkg-option OPT
5009 give an extra option to ghcjs-pkg (no need to quote op‐
5010 tions containing spaces)
5011
5012 --greencard-option OPT
5013 give an extra option to greencard (no need to quote op‐
5014 tions containing spaces)
5015
5016 --haddock-option OPT
5017 give an extra option to haddock (no need to quote options
5018 containing spaces)
5019
5020 --happy-option OPT
5021 give an extra option to happy (no need to quote options
5022 containing spaces)
5023
5024 --haskell-suite-option OPT
5025 give an extra option to haskell-suite (no need to quote
5026 options containing spaces)
5027
5028 --haskell-suite-pkg-option OPT
5029 give an extra option to haskell-suite-pkg (no need to
5030 quote options containing spaces)
5031
5032 --hmake-option OPT
5033 give an extra option to hmake (no need to quote options
5034 containing spaces)
5035
5036 --hpc-option OPT
5037 give an extra option to hpc (no need to quote options
5038 containing spaces)
5039
5040 --hsc2hs-option OPT
5041 give an extra option to hsc2hs (no need to quote options
5042 containing spaces)
5043
5044 --hscolour-option OPT
5045 give an extra option to hscolour (no need to quote op‐
5046 tions containing spaces)
5047
5048 --jhc-option OPT
5049 give an extra option to jhc (no need to quote options
5050 containing spaces)
5051
5052 --ld-option OPT
5053 give an extra option to ld (no need to quote options con‐
5054 taining spaces)
5055
5056 --pkg-config-option OPT
5057 give an extra option to pkg-config (no need to quote op‐
5058 tions containing spaces)
5059
5060 --runghc-option OPT
5061 give an extra option to runghc (no need to quote options
5062 containing spaces)
5063
5064 --strip-option OPT
5065 give an extra option to strip (no need to quote options
5066 containing spaces)
5067
5068 --tar-option OPT
5069 give an extra option to tar (no need to quote options
5070 containing spaces)
5071
5072 --uhc-option OPT
5073 give an extra option to uhc (no need to quote options
5074 containing spaces)
5075
5076 --alex-options OPTS
5077 give extra options to alex
5078
5079 --ar-options OPTS
5080 give extra options to ar
5081
5082 --c2hs-options OPTS
5083 give extra options to c2hs
5084
5085 --cpphs-options OPTS
5086 give extra options to cpphs
5087
5088 --doctest-options OPTS
5089 give extra options to doctest
5090
5091 --gcc-options OPTS
5092 give extra options to gcc
5093
5094 --ghc-options OPTS
5095 give extra options to ghc
5096
5097 --ghc-pkg-options OPTS
5098 give extra options to ghc-pkg
5099
5100 --ghcjs-options OPTS
5101 give extra options to ghcjs
5102
5103 --ghcjs-pkg-options OPTS
5104 give extra options to ghcjs-pkg
5105
5106 --greencard-options OPTS
5107 give extra options to greencard
5108
5109 --haddock-options OPTS
5110 give extra options to haddock
5111
5112 --happy-options OPTS
5113 give extra options to happy
5114
5115 --haskell-suite-options OPTS
5116 give extra options to haskell-suite
5117
5118 --haskell-suite-pkg-options OPTS
5119 give extra options to haskell-suite-pkg
5120
5121 --hmake-options OPTS
5122 give extra options to hmake
5123
5124 --hpc-options OPTS
5125 give extra options to hpc
5126
5127 --hsc2hs-options OPTS
5128 give extra options to hsc2hs
5129
5130 --hscolour-options OPTS
5131 give extra options to hscolour
5132
5133 --jhc-options OPTS
5134 give extra options to jhc
5135
5136 --ld-options OPTS
5137 give extra options to ld
5138
5139 --pkg-config-options OPTS
5140 give extra options to pkg-config
5141
5142 --runghc-options OPTS
5143 give extra options to runghc
5144
5145 --strip-options OPTS
5146 give extra options to strip
5147
5148 --tar-options OPTS
5149 give extra options to tar
5150
5151 --uhc-options OPTS
5152 give extra options to uhc
5153
5154 --cabal-lib-version VERSION
5155 Select which version of the Cabal lib to use to build
5156 packages (useful for testing).
5157
5158 --constraint CONSTRAINT
5159 Specify constraints on a package (version, in‐
5160 stalled/source, flags)
5161
5162 --preference CONSTRAINT
5163 Specify preferences (soft constraints) on the version of
5164 a package
5165
5166 --solver SOLVER
5167 Select dependency solver to use (default: modular).
5168 Choices: modular.
5169
5170 --allow-older [DEPS]
5171 Ignore lower bounds in all dependencies or DEPS
5172
5173 --allow-newer [DEPS]
5174 Ignore upper bounds in all dependencies or DEPS
5175
5176 --write-ghc-environment-files always|never|ghc8.4.4+
5177 Whether to create a .ghc.environment file after a suc‐
5178 cessful build (v2-build only)
5179
5180 --enable-documentation
5181 --disable-documentation
5182 building of documentation
5183
5184 --doc-index-file TEMPLATE
5185 A central index of haddock API documentation (template
5186 cannot use $pkgid)
5187
5188 --dry-run
5189 Do not install anything, only print what would be in‐
5190 stalled.
5191
5192 --max-backjumps NUM
5193 Maximum number of backjumps allowed while solving (de‐
5194 fault: 4000). Use a negative number to enable unlimited
5195 backtracking. Use 0 to disable backtracking completely.
5196
5197 --reorder-goals
5198 --no-reorder-goals
5199 Try to reorder goals according to certain heuristics.
5200 Slows things down on average, but may make backtracking
5201 faster for some packages.
5202
5203 --count-conflicts
5204 --no-count-conflicts
5205 Try to speed up solving by preferring goals that are in‐
5206 volved in a lot of conflicts (default).
5207
5208 --fine-grained-conflicts
5209 --no-fine-grained-conflicts
5210 Skip a version of a package if it does not resolve the
5211 conflicts encountered in the last version, as a solver
5212 optimization (default).
5213
5214 --minimize-conflict-set
5215 --no-minimize-conflict-set
5216 When there is no solution, try to improve the error mes‐
5217 sage by finding a minimal conflict set (default: false).
5218 May increase run time significantly.
5219
5220 --independent-goals
5221 --no-independent-goals
5222 Treat several goals on the command line as independent.
5223 If several goals depend on the same package, different
5224 versions can be chosen.
5225
5226 --shadow-installed-packages
5227 --no-shadow-installed-packages
5228 If multiple package instances of the same version are in‐
5229 stalled, treat all but one as shadowed.
5230
5231 --strong-flags
5232 --no-strong-flags
5233 Do not defer flag choices (this used to be the default in
5234 cabal-install <= 1.20).
5235
5236 --allow-boot-library-installs
5237 --no-allow-boot-library-installs
5238 Allow cabal to install base, ghc-prim, integer-simple,
5239 integer-gmp, and template-haskell.
5240
5241 --reject-unconstrained-dependencies none|all
5242 Require these packages to have constraints on them if
5243 they are to be selected (default: none).
5244
5245 --reinstall
5246 --no-reinstall
5247 Install even if it means installing the same version
5248 again.
5249
5250 --avoid-reinstalls
5251 --no-avoid-reinstalls
5252 Do not select versions that would destructively overwrite
5253 installed packages.
5254
5255 --force-reinstalls
5256 --no-force-reinstalls
5257 Reinstall packages even if they will most likely break
5258 other installed packages.
5259
5260 --upgrade-dependencies
5261 --no-upgrade-dependencies
5262 Pick the latest version for all dependencies, rather than
5263 trying to pick an installed version.
5264
5265 --only-dependencies
5266 --no-only-dependencies
5267 Install only the dependencies necessary to build the
5268 given packages
5269
5270 --dependencies-only
5271 --no-dependencies-only
5272 A synonym for --only-dependencies
5273
5274 --index-state STATE
5275 Use source package index state as it existed at a previ‐
5276 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
5277 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
5278 'HEAD' (default: 'HEAD').
5279
5280 --root-cmd COMMAND
5281 (No longer supported, do not use.)
5282
5283 --symlink-bindir DIR
5284 Add symlinks to installed executables into this direc‐
5285 tory.
5286
5287 --build-summary TEMPLATE
5288 Save build summaries to file (name template can use
5289 $pkgid, $compiler, $os, $arch)
5290
5291 --build-log TEMPLATE
5292 Log all builds to file (name template can use $pkgid,
5293 $compiler, $os, $arch)
5294
5295 --remote-build-reporting LEVEL
5296 Generate build reports to send to a remote server (none,
5297 anonymous or detailed).
5298
5299 --report-planning-failure
5300 Generate build reports when the dependency solver fails.
5301 This is used by the Hackage build bot.
5302
5303 --enable-per-component
5304 --disable-per-component
5305 Per-component builds when possible
5306
5307 --one-shot
5308 --no-one-shot
5309 Do not record the packages in the world file.
5310
5311 --run-tests
5312 Run package test suites during installation.
5313
5314 -j, --jobs [NUM]
5315 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
5316 given).
5317
5318 --keep-going
5319 After a build failure, continue to build other unaffected
5320 packages.
5321
5322 --offline
5323 --no-offline
5324 Don't download packages from the Internet.
5325
5326 --project-file FILE
5327 Set the name of the cabal.project file to search for in
5328 parent directories
5329
5330 --only
5331 Only installs the package in the current directory.
5332
5333 --haddock-hoogle
5334 Generate a hoogle database
5335
5336 --haddock-html
5337 Generate HTML documentation (the default)
5338
5339 --haddock-html-location URL
5340 Location of HTML documentation for pre-requisite packages
5341
5342 --haddock-for-hackage
5343 Collection of flags to generate documentation suitable
5344 for upload to hackage
5345
5346 --haddock-executables
5347 Run haddock for Executables targets
5348
5349 --haddock-tests
5350 Run haddock for Test Suite targets
5351
5352 --haddock-benchmarks
5353 Run haddock for Benchmark targets
5354
5355 --haddock-all
5356 Run haddock for all targets
5357
5358 --haddock-internal
5359 Run haddock for internal modules and include all symbols
5360
5361 --haddock-css PATH
5362 Use PATH as the haddock stylesheet
5363
5364 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
5365 dock-hyperlinked-source
5366 Hyperlink the documentation to the source code
5367
5368 --haddock-quickjump
5369 Generate an index for interactive documentation naviga‐
5370 tion
5371
5372 --haddock-hscolour-css PATH
5373 Use PATH as the HsColour stylesheet
5374
5375 --haddock-contents-location URL
5376 Bake URL in as the location for the contents page
5377
5378 --test-log TEMPLATE
5379 Log all test suite results to file (name template can use
5380 $pkgid, $compiler, $os, $arch, $test-suite, $result)
5381
5382 --test-machine-log TEMPLATE
5383 Produce a machine-readable log file (name template can
5384 use $pkgid, $compiler, $os, $arch, $result)
5385
5386 --test-show-details FILTER
5387
5388 --test-keep-tix-files
5389 keep .tix files for HPC between test runs
5390
5391 --test-wrapper FILE
5392 Run test through a wrapper.
5393
5394 --test-fail-when-no-test-suites
5395 Exit with failure when no test suites are found.
5396
5397 --test-options TEMPLATES
5398 give extra options to test executables (name templates
5399 can use $pkgid, $compiler, $os, $arch, $test-suite)
5400
5401 --test-option TEMPLATE
5402 give extra option to test executables (no need to quote
5403 options containing spaces, name template can use $pkgid,
5404 $compiler, $os, $arch, $test-suite)
5405
5406 --benchmark-options TEMPLATES
5407 give extra options to benchmark executables (name tem‐
5408 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
5409
5410 --benchmark-option TEMPLATE
5411 give extra option to benchmark executables (no need to
5412 quote options containing spaces, name template can use
5413 $pkgid, $compiler, $os, $arch, $benchmark)
5414
5415
5416 cabal build
5417
5418 Usage: cabal build [TARGETS] [FLAGS]
5419
5420
5421 Build one or more targets from within the project. The available tar‐
5422 gets are the packages in the project as well as individual components
5423 within those packages, including libraries, executables, test-suites or
5424 benchmarks. Targets can be specified by name or location. If no target
5425 is specified then the default is to build the package in the current
5426 directory.
5427
5428 Dependencies are built or rebuilt as necessary. Additional configura‐
5429 tion flags can be specified on the command line and these extend the
5430 project configuration from the 'cabal.project', 'cabal.project.local'
5431 and other files.
5432
5433
5434 Build one or more targets from within the project. The available tar‐
5435 gets are the packages in the project as well as individual components
5436 within those packages, including libraries, executables, test-suites or
5437 benchmarks. Targets can be specified by name or location. If no target
5438 is specified then the default is to build the package in the current
5439 directory.
5440
5441 Dependencies are built or rebuilt as necessary. Additional configura‐
5442 tion flags can be specified on the command line and these extend the
5443 project configuration from the 'cabal.project', 'cabal.project.local'
5444 and other files.
5445
5446
5447 Flags:
5448 -v, --verbose [n]
5449 Control verbosity (n is 0--3, default verbosity level is
5450 1)
5451
5452 --builddir, --distdir, --distpref DIR
5453 The directory where Cabal puts generated build files (de‐
5454 fault dist)
5455
5456 -g, --ghc
5457 compile with GHC
5458
5459 --ghcjs
5460 compile with GHCJS
5461
5462 --uhc
5463 compile with UHC
5464
5465 --haskell-suite
5466 compile with a haskell-suite compiler
5467
5468 --cabal-file PATH
5469 use this Cabal file
5470
5471 -w, --with-compiler PATH
5472 give the path to a particular compiler
5473
5474 --with-hc-pkg PATH
5475 give the path to the package tool
5476
5477 --prefix DIR
5478 bake this prefix in preparation of installation
5479
5480 --bindir DIR
5481 installation directory for executables
5482
5483 --libdir DIR
5484 installation directory for libraries
5485
5486 --libsubdir DIR
5487 subdirectory of libdir in which libs are installed
5488
5489 --dynlibdir DIR
5490 installation directory for dynamic libraries
5491
5492 --libexecdir DIR
5493 installation directory for program executables
5494
5495 --libexecsubdir DIR
5496 subdirectory of libexecdir in which private executables
5497 are installed
5498
5499 --datadir DIR
5500 installation directory for read-only data
5501
5502 --datasubdir DIR
5503 subdirectory of datadir in which data files are installed
5504
5505 --docdir DIR
5506 installation directory for documentation
5507
5508 --htmldir DIR
5509 installation directory for HTML documentation
5510
5511 --haddockdir DIR
5512 installation directory for haddock interfaces
5513
5514 --sysconfdir DIR
5515 installation directory for configuration files
5516
5517 --program-prefix PREFIX
5518 prefix to be applied to installed executables
5519
5520 --program-suffix SUFFIX
5521 suffix to be applied to installed executables
5522
5523 --enable-library-vanilla
5524 --disable-library-vanilla
5525 Vanilla libraries
5526
5527 -p, --enable-library-profiling
5528 --disable-library-profiling
5529 Library profiling
5530
5531 --enable-shared
5532 --disable-shared
5533 Shared library
5534
5535 --enable-static
5536 --disable-static
5537 Static library
5538
5539 --enable-executable-dynamic
5540 --disable-executable-dynamic
5541 Executable dynamic linking
5542
5543 --enable-executable-static
5544 --disable-executable-static
5545 Executable fully static linking
5546
5547 --enable-profiling
5548 --disable-profiling
5549 Executable and library profiling
5550
5551 --enable-executable-profiling
5552 --disable-executable-profiling
5553 Executable profiling (DEPRECATED)
5554
5555 --profiling-detail level
5556 Profiling detail level for executable and library (de‐
5557 fault, none, exported-functions, toplevel-functions,
5558 all-functions).
5559
5560 --library-profiling-detail level
5561 Profiling detail level for libraries only.
5562
5563 -O, --enable-optimization, --enable-optimisation [n]
5564 Build with optimization (n is 0--2, default is 1)
5565
5566 --disable-optimization, --disable-optimisation
5567 Build without optimization
5568
5569 --enable-debug-info [n]
5570 Emit debug info (n is 0--3, default is 0)
5571
5572 --disable-debug-info
5573 Don't emit debug info
5574
5575 --enable-library-for-ghci
5576 --disable-library-for-ghci
5577 compile library for use with GHCi
5578
5579 --enable-split-sections
5580 --disable-split-sections
5581 compile library code such that unneeded definitions can
5582 be dropped from the final executable (GHC 7.8+)
5583
5584 --enable-split-objs
5585 --disable-split-objs
5586 split library into smaller objects to reduce binary sizes
5587 (GHC 6.6+)
5588
5589 --enable-executable-stripping
5590 --disable-executable-stripping
5591 strip executables upon installation to reduce binary
5592 sizes
5593
5594 --enable-library-stripping
5595 --disable-library-stripping
5596 strip libraries upon installation to reduce binary sizes
5597
5598 --configure-option OPT
5599 Extra option for configure
5600
5601 --user
5602 --global
5603 doing a per-user installation
5604
5605 --package-db DB
5606 Append the given package database to the list of package
5607 databases used (to satisfy dependencies and register
5608 into). May be a specific file, 'global' or 'user'. The
5609 initial list is ['global'], ['global', 'user'], or
5610 ['global', $sandbox], depending on context. Use 'clear'
5611 to reset the list to empty. See the user guide for de‐
5612 tails.
5613
5614 -f, --flags FLAGS
5615 Force values for the given flags in Cabal conditionals in
5616 the .cabal file. E.g., --flags="debug -usebytestrings"
5617 forces the flag "debug" to true and "usebytestrings" to
5618 false.
5619
5620 --extra-include-dirs PATH
5621 A list of directories to search for header files
5622
5623 --enable-deterministic
5624 --disable-deterministic
5625 Try to be as deterministic as possible (used by the test
5626 suite)
5627
5628 --ipid IPID
5629 Installed package ID to compile this package as
5630
5631 --cid CID
5632 Installed component ID to compile this component as
5633
5634 --extra-lib-dirs PATH
5635 A list of directories to search for external libraries
5636
5637 --extra-framework-dirs PATH
5638 A list of directories to search for external frameworks
5639 (OS X only)
5640
5641 --extra-prog-path PATH
5642 A list of directories to search for required programs (in
5643 addition to the normal search locations)
5644
5645 --instantiate-with NAME=MOD
5646 A mapping of signature names to concrete module instanti‐
5647 ations.
5648
5649 --enable-tests
5650 --disable-tests
5651 dependency checking and compilation for test suites
5652 listed in the package description file.
5653
5654 --enable-coverage
5655 --disable-coverage
5656 build package with Haskell Program Coverage. (GHC only)
5657
5658 --enable-library-coverage
5659 --disable-library-coverage
5660 build package with Haskell Program Coverage. (GHC only)
5661 (DEPRECATED)
5662
5663 --enable-benchmarks
5664 --disable-benchmarks
5665 dependency checking and compilation for benchmarks listed
5666 in the package description file.
5667
5668 --enable-relocatable
5669 --disable-relocatable
5670 building a package that is relocatable. (GHC only)
5671
5672 --disable-response-files
5673 enable workaround for old versions of programs like "ar"
5674 that do not support @file arguments
5675
5676 --allow-depending-on-private-libs
5677 Allow depending on private libraries. If set, the library
5678 visibility check MUST be done externally.
5679
5680 --with-alex PATH
5681 give the path to alex
5682
5683 --with-ar PATH
5684 give the path to ar
5685
5686 --with-c2hs PATH
5687 give the path to c2hs
5688
5689 --with-cpphs PATH
5690 give the path to cpphs
5691
5692 --with-doctest PATH
5693 give the path to doctest
5694
5695 --with-gcc PATH
5696 give the path to gcc
5697
5698 --with-ghc PATH
5699 give the path to ghc
5700
5701 --with-ghc-pkg PATH
5702 give the path to ghc-pkg
5703
5704 --with-ghcjs PATH
5705 give the path to ghcjs
5706
5707 --with-ghcjs-pkg PATH
5708 give the path to ghcjs-pkg
5709
5710 --with-greencard PATH
5711 give the path to greencard
5712
5713 --with-haddock PATH
5714 give the path to haddock
5715
5716 --with-happy PATH
5717 give the path to happy
5718
5719 --with-haskell-suite PATH
5720 give the path to haskell-suite
5721
5722 --with-haskell-suite-pkg PATH
5723 give the path to haskell-suite-pkg
5724
5725 --with-hmake PATH
5726 give the path to hmake
5727
5728 --with-hpc PATH
5729 give the path to hpc
5730
5731 --with-hsc2hs PATH
5732 give the path to hsc2hs
5733
5734 --with-hscolour PATH
5735 give the path to hscolour
5736
5737 --with-jhc PATH
5738 give the path to jhc
5739
5740 --with-ld PATH
5741 give the path to ld
5742
5743 --with-pkg-config PATH
5744 give the path to pkg-config
5745
5746 --with-runghc PATH
5747 give the path to runghc
5748
5749 --with-strip PATH
5750 give the path to strip
5751
5752 --with-tar PATH
5753 give the path to tar
5754
5755 --with-uhc PATH
5756 give the path to uhc
5757
5758 --alex-option OPT
5759 give an extra option to alex (no need to quote options
5760 containing spaces)
5761
5762 --ar-option OPT
5763 give an extra option to ar (no need to quote options con‐
5764 taining spaces)
5765
5766 --c2hs-option OPT
5767 give an extra option to c2hs (no need to quote options
5768 containing spaces)
5769
5770 --cpphs-option OPT
5771 give an extra option to cpphs (no need to quote options
5772 containing spaces)
5773
5774 --doctest-option OPT
5775 give an extra option to doctest (no need to quote options
5776 containing spaces)
5777
5778 --gcc-option OPT
5779 give an extra option to gcc (no need to quote options
5780 containing spaces)
5781
5782 --ghc-option OPT
5783 give an extra option to ghc (no need to quote options
5784 containing spaces)
5785
5786 --ghc-pkg-option OPT
5787 give an extra option to ghc-pkg (no need to quote options
5788 containing spaces)
5789
5790 --ghcjs-option OPT
5791 give an extra option to ghcjs (no need to quote options
5792 containing spaces)
5793
5794 --ghcjs-pkg-option OPT
5795 give an extra option to ghcjs-pkg (no need to quote op‐
5796 tions containing spaces)
5797
5798 --greencard-option OPT
5799 give an extra option to greencard (no need to quote op‐
5800 tions containing spaces)
5801
5802 --haddock-option OPT
5803 give an extra option to haddock (no need to quote options
5804 containing spaces)
5805
5806 --happy-option OPT
5807 give an extra option to happy (no need to quote options
5808 containing spaces)
5809
5810 --haskell-suite-option OPT
5811 give an extra option to haskell-suite (no need to quote
5812 options containing spaces)
5813
5814 --haskell-suite-pkg-option OPT
5815 give an extra option to haskell-suite-pkg (no need to
5816 quote options containing spaces)
5817
5818 --hmake-option OPT
5819 give an extra option to hmake (no need to quote options
5820 containing spaces)
5821
5822 --hpc-option OPT
5823 give an extra option to hpc (no need to quote options
5824 containing spaces)
5825
5826 --hsc2hs-option OPT
5827 give an extra option to hsc2hs (no need to quote options
5828 containing spaces)
5829
5830 --hscolour-option OPT
5831 give an extra option to hscolour (no need to quote op‐
5832 tions containing spaces)
5833
5834 --jhc-option OPT
5835 give an extra option to jhc (no need to quote options
5836 containing spaces)
5837
5838 --ld-option OPT
5839 give an extra option to ld (no need to quote options con‐
5840 taining spaces)
5841
5842 --pkg-config-option OPT
5843 give an extra option to pkg-config (no need to quote op‐
5844 tions containing spaces)
5845
5846 --runghc-option OPT
5847 give an extra option to runghc (no need to quote options
5848 containing spaces)
5849
5850 --strip-option OPT
5851 give an extra option to strip (no need to quote options
5852 containing spaces)
5853
5854 --tar-option OPT
5855 give an extra option to tar (no need to quote options
5856 containing spaces)
5857
5858 --uhc-option OPT
5859 give an extra option to uhc (no need to quote options
5860 containing spaces)
5861
5862 --alex-options OPTS
5863 give extra options to alex
5864
5865 --ar-options OPTS
5866 give extra options to ar
5867
5868 --c2hs-options OPTS
5869 give extra options to c2hs
5870
5871 --cpphs-options OPTS
5872 give extra options to cpphs
5873
5874 --doctest-options OPTS
5875 give extra options to doctest
5876
5877 --gcc-options OPTS
5878 give extra options to gcc
5879
5880 --ghc-options OPTS
5881 give extra options to ghc
5882
5883 --ghc-pkg-options OPTS
5884 give extra options to ghc-pkg
5885
5886 --ghcjs-options OPTS
5887 give extra options to ghcjs
5888
5889 --ghcjs-pkg-options OPTS
5890 give extra options to ghcjs-pkg
5891
5892 --greencard-options OPTS
5893 give extra options to greencard
5894
5895 --haddock-options OPTS
5896 give extra options to haddock
5897
5898 --happy-options OPTS
5899 give extra options to happy
5900
5901 --haskell-suite-options OPTS
5902 give extra options to haskell-suite
5903
5904 --haskell-suite-pkg-options OPTS
5905 give extra options to haskell-suite-pkg
5906
5907 --hmake-options OPTS
5908 give extra options to hmake
5909
5910 --hpc-options OPTS
5911 give extra options to hpc
5912
5913 --hsc2hs-options OPTS
5914 give extra options to hsc2hs
5915
5916 --hscolour-options OPTS
5917 give extra options to hscolour
5918
5919 --jhc-options OPTS
5920 give extra options to jhc
5921
5922 --ld-options OPTS
5923 give extra options to ld
5924
5925 --pkg-config-options OPTS
5926 give extra options to pkg-config
5927
5928 --runghc-options OPTS
5929 give extra options to runghc
5930
5931 --strip-options OPTS
5932 give extra options to strip
5933
5934 --tar-options OPTS
5935 give extra options to tar
5936
5937 --uhc-options OPTS
5938 give extra options to uhc
5939
5940 --cabal-lib-version VERSION
5941 Select which version of the Cabal lib to use to build
5942 packages (useful for testing).
5943
5944 --constraint CONSTRAINT
5945 Specify constraints on a package (version, in‐
5946 stalled/source, flags)
5947
5948 --preference CONSTRAINT
5949 Specify preferences (soft constraints) on the version of
5950 a package
5951
5952 --solver SOLVER
5953 Select dependency solver to use (default: modular).
5954 Choices: modular.
5955
5956 --allow-older [DEPS]
5957 Ignore lower bounds in all dependencies or DEPS
5958
5959 --allow-newer [DEPS]
5960 Ignore upper bounds in all dependencies or DEPS
5961
5962 --write-ghc-environment-files always|never|ghc8.4.4+
5963 Whether to create a .ghc.environment file after a suc‐
5964 cessful build (v2-build only)
5965
5966 --enable-documentation
5967 --disable-documentation
5968 building of documentation
5969
5970 --doc-index-file TEMPLATE
5971 A central index of haddock API documentation (template
5972 cannot use $pkgid)
5973
5974 --dry-run
5975 Do not install anything, only print what would be in‐
5976 stalled.
5977
5978 --max-backjumps NUM
5979 Maximum number of backjumps allowed while solving (de‐
5980 fault: 4000). Use a negative number to enable unlimited
5981 backtracking. Use 0 to disable backtracking completely.
5982
5983 --reorder-goals
5984 --no-reorder-goals
5985 Try to reorder goals according to certain heuristics.
5986 Slows things down on average, but may make backtracking
5987 faster for some packages.
5988
5989 --count-conflicts
5990 --no-count-conflicts
5991 Try to speed up solving by preferring goals that are in‐
5992 volved in a lot of conflicts (default).
5993
5994 --fine-grained-conflicts
5995 --no-fine-grained-conflicts
5996 Skip a version of a package if it does not resolve the
5997 conflicts encountered in the last version, as a solver
5998 optimization (default).
5999
6000 --minimize-conflict-set
6001 --no-minimize-conflict-set
6002 When there is no solution, try to improve the error mes‐
6003 sage by finding a minimal conflict set (default: false).
6004 May increase run time significantly.
6005
6006 --independent-goals
6007 --no-independent-goals
6008 Treat several goals on the command line as independent.
6009 If several goals depend on the same package, different
6010 versions can be chosen.
6011
6012 --shadow-installed-packages
6013 --no-shadow-installed-packages
6014 If multiple package instances of the same version are in‐
6015 stalled, treat all but one as shadowed.
6016
6017 --strong-flags
6018 --no-strong-flags
6019 Do not defer flag choices (this used to be the default in
6020 cabal-install <= 1.20).
6021
6022 --allow-boot-library-installs
6023 --no-allow-boot-library-installs
6024 Allow cabal to install base, ghc-prim, integer-simple,
6025 integer-gmp, and template-haskell.
6026
6027 --reject-unconstrained-dependencies none|all
6028 Require these packages to have constraints on them if
6029 they are to be selected (default: none).
6030
6031 --reinstall
6032 --no-reinstall
6033 Install even if it means installing the same version
6034 again.
6035
6036 --avoid-reinstalls
6037 --no-avoid-reinstalls
6038 Do not select versions that would destructively overwrite
6039 installed packages.
6040
6041 --force-reinstalls
6042 --no-force-reinstalls
6043 Reinstall packages even if they will most likely break
6044 other installed packages.
6045
6046 --upgrade-dependencies
6047 --no-upgrade-dependencies
6048 Pick the latest version for all dependencies, rather than
6049 trying to pick an installed version.
6050
6051 --only-dependencies
6052 --no-only-dependencies
6053 Install only the dependencies necessary to build the
6054 given packages
6055
6056 --dependencies-only
6057 --no-dependencies-only
6058 A synonym for --only-dependencies
6059
6060 --index-state STATE
6061 Use source package index state as it existed at a previ‐
6062 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
6063 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
6064 'HEAD' (default: 'HEAD').
6065
6066 --root-cmd COMMAND
6067 (No longer supported, do not use.)
6068
6069 --symlink-bindir DIR
6070 Add symlinks to installed executables into this direc‐
6071 tory.
6072
6073 --build-summary TEMPLATE
6074 Save build summaries to file (name template can use
6075 $pkgid, $compiler, $os, $arch)
6076
6077 --build-log TEMPLATE
6078 Log all builds to file (name template can use $pkgid,
6079 $compiler, $os, $arch)
6080
6081 --remote-build-reporting LEVEL
6082 Generate build reports to send to a remote server (none,
6083 anonymous or detailed).
6084
6085 --report-planning-failure
6086 Generate build reports when the dependency solver fails.
6087 This is used by the Hackage build bot.
6088
6089 --enable-per-component
6090 --disable-per-component
6091 Per-component builds when possible
6092
6093 --one-shot
6094 --no-one-shot
6095 Do not record the packages in the world file.
6096
6097 --run-tests
6098 Run package test suites during installation.
6099
6100 -j, --jobs [NUM]
6101 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
6102 given).
6103
6104 --keep-going
6105 After a build failure, continue to build other unaffected
6106 packages.
6107
6108 --offline
6109 --no-offline
6110 Don't download packages from the Internet.
6111
6112 --project-file FILE
6113 Set the name of the cabal.project file to search for in
6114 parent directories
6115
6116 --only
6117 Only installs the package in the current directory.
6118
6119 --haddock-hoogle
6120 Generate a hoogle database
6121
6122 --haddock-html
6123 Generate HTML documentation (the default)
6124
6125 --haddock-html-location URL
6126 Location of HTML documentation for pre-requisite packages
6127
6128 --haddock-for-hackage
6129 Collection of flags to generate documentation suitable
6130 for upload to hackage
6131
6132 --haddock-executables
6133 Run haddock for Executables targets
6134
6135 --haddock-tests
6136 Run haddock for Test Suite targets
6137
6138 --haddock-benchmarks
6139 Run haddock for Benchmark targets
6140
6141 --haddock-all
6142 Run haddock for all targets
6143
6144 --haddock-internal
6145 Run haddock for internal modules and include all symbols
6146
6147 --haddock-css PATH
6148 Use PATH as the haddock stylesheet
6149
6150 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
6151 dock-hyperlinked-source
6152 Hyperlink the documentation to the source code
6153
6154 --haddock-quickjump
6155 Generate an index for interactive documentation naviga‐
6156 tion
6157
6158 --haddock-hscolour-css PATH
6159 Use PATH as the HsColour stylesheet
6160
6161 --haddock-contents-location URL
6162 Bake URL in as the location for the contents page
6163
6164 --test-log TEMPLATE
6165 Log all test suite results to file (name template can use
6166 $pkgid, $compiler, $os, $arch, $test-suite, $result)
6167
6168 --test-machine-log TEMPLATE
6169 Produce a machine-readable log file (name template can
6170 use $pkgid, $compiler, $os, $arch, $result)
6171
6172 --test-show-details FILTER
6173
6174 --test-keep-tix-files
6175 keep .tix files for HPC between test runs
6176
6177 --test-wrapper FILE
6178 Run test through a wrapper.
6179
6180 --test-fail-when-no-test-suites
6181 Exit with failure when no test suites are found.
6182
6183 --test-options TEMPLATES
6184 give extra options to test executables (name templates
6185 can use $pkgid, $compiler, $os, $arch, $test-suite)
6186
6187 --test-option TEMPLATE
6188 give extra option to test executables (no need to quote
6189 options containing spaces, name template can use $pkgid,
6190 $compiler, $os, $arch, $test-suite)
6191
6192 --benchmark-options TEMPLATES
6193 give extra options to benchmark executables (name tem‐
6194 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
6195
6196 --benchmark-option TEMPLATE
6197 give extra option to benchmark executables (no need to
6198 quote options containing spaces, name template can use
6199 $pkgid, $compiler, $os, $arch, $benchmark)
6200
6201 --only-configure
6202 --no-only-configure
6203 Instead of performing a full build just run the configure
6204 step
6205
6206
6207 cabal new-build
6208
6209 Usage: cabal new-build [TARGETS] [FLAGS]
6210
6211
6212 Build one or more targets from within the project. The available tar‐
6213 gets are the packages in the project as well as individual components
6214 within those packages, including libraries, executables, test-suites or
6215 benchmarks. Targets can be specified by name or location. If no target
6216 is specified then the default is to build the package in the current
6217 directory.
6218
6219 Dependencies are built or rebuilt as necessary. Additional configura‐
6220 tion flags can be specified on the command line and these extend the
6221 project configuration from the 'cabal.project', 'cabal.project.local'
6222 and other files.
6223
6224
6225 Build one or more targets from within the project. The available tar‐
6226 gets are the packages in the project as well as individual components
6227 within those packages, including libraries, executables, test-suites or
6228 benchmarks. Targets can be specified by name or location. If no target
6229 is specified then the default is to build the package in the current
6230 directory.
6231
6232 Dependencies are built or rebuilt as necessary. Additional configura‐
6233 tion flags can be specified on the command line and these extend the
6234 project configuration from the 'cabal.project', 'cabal.project.local'
6235 and other files.
6236
6237
6238 Flags:
6239 -v, --verbose [n]
6240 Control verbosity (n is 0--3, default verbosity level is
6241 1)
6242
6243 --builddir, --distdir, --distpref DIR
6244 The directory where Cabal puts generated build files (de‐
6245 fault dist)
6246
6247 -g, --ghc
6248 compile with GHC
6249
6250 --ghcjs
6251 compile with GHCJS
6252
6253 --uhc
6254 compile with UHC
6255
6256 --haskell-suite
6257 compile with a haskell-suite compiler
6258
6259 --cabal-file PATH
6260 use this Cabal file
6261
6262 -w, --with-compiler PATH
6263 give the path to a particular compiler
6264
6265 --with-hc-pkg PATH
6266 give the path to the package tool
6267
6268 --prefix DIR
6269 bake this prefix in preparation of installation
6270
6271 --bindir DIR
6272 installation directory for executables
6273
6274 --libdir DIR
6275 installation directory for libraries
6276
6277 --libsubdir DIR
6278 subdirectory of libdir in which libs are installed
6279
6280 --dynlibdir DIR
6281 installation directory for dynamic libraries
6282
6283 --libexecdir DIR
6284 installation directory for program executables
6285
6286 --libexecsubdir DIR
6287 subdirectory of libexecdir in which private executables
6288 are installed
6289
6290 --datadir DIR
6291 installation directory for read-only data
6292
6293 --datasubdir DIR
6294 subdirectory of datadir in which data files are installed
6295
6296 --docdir DIR
6297 installation directory for documentation
6298
6299 --htmldir DIR
6300 installation directory for HTML documentation
6301
6302 --haddockdir DIR
6303 installation directory for haddock interfaces
6304
6305 --sysconfdir DIR
6306 installation directory for configuration files
6307
6308 --program-prefix PREFIX
6309 prefix to be applied to installed executables
6310
6311 --program-suffix SUFFIX
6312 suffix to be applied to installed executables
6313
6314 --enable-library-vanilla
6315 --disable-library-vanilla
6316 Vanilla libraries
6317
6318 -p, --enable-library-profiling
6319 --disable-library-profiling
6320 Library profiling
6321
6322 --enable-shared
6323 --disable-shared
6324 Shared library
6325
6326 --enable-static
6327 --disable-static
6328 Static library
6329
6330 --enable-executable-dynamic
6331 --disable-executable-dynamic
6332 Executable dynamic linking
6333
6334 --enable-executable-static
6335 --disable-executable-static
6336 Executable fully static linking
6337
6338 --enable-profiling
6339 --disable-profiling
6340 Executable and library profiling
6341
6342 --enable-executable-profiling
6343 --disable-executable-profiling
6344 Executable profiling (DEPRECATED)
6345
6346 --profiling-detail level
6347 Profiling detail level for executable and library (de‐
6348 fault, none, exported-functions, toplevel-functions,
6349 all-functions).
6350
6351 --library-profiling-detail level
6352 Profiling detail level for libraries only.
6353
6354 -O, --enable-optimization, --enable-optimisation [n]
6355 Build with optimization (n is 0--2, default is 1)
6356
6357 --disable-optimization, --disable-optimisation
6358 Build without optimization
6359
6360 --enable-debug-info [n]
6361 Emit debug info (n is 0--3, default is 0)
6362
6363 --disable-debug-info
6364 Don't emit debug info
6365
6366 --enable-library-for-ghci
6367 --disable-library-for-ghci
6368 compile library for use with GHCi
6369
6370 --enable-split-sections
6371 --disable-split-sections
6372 compile library code such that unneeded definitions can
6373 be dropped from the final executable (GHC 7.8+)
6374
6375 --enable-split-objs
6376 --disable-split-objs
6377 split library into smaller objects to reduce binary sizes
6378 (GHC 6.6+)
6379
6380 --enable-executable-stripping
6381 --disable-executable-stripping
6382 strip executables upon installation to reduce binary
6383 sizes
6384
6385 --enable-library-stripping
6386 --disable-library-stripping
6387 strip libraries upon installation to reduce binary sizes
6388
6389 --configure-option OPT
6390 Extra option for configure
6391
6392 --user
6393 --global
6394 doing a per-user installation
6395
6396 --package-db DB
6397 Append the given package database to the list of package
6398 databases used (to satisfy dependencies and register
6399 into). May be a specific file, 'global' or 'user'. The
6400 initial list is ['global'], ['global', 'user'], or
6401 ['global', $sandbox], depending on context. Use 'clear'
6402 to reset the list to empty. See the user guide for de‐
6403 tails.
6404
6405 -f, --flags FLAGS
6406 Force values for the given flags in Cabal conditionals in
6407 the .cabal file. E.g., --flags="debug -usebytestrings"
6408 forces the flag "debug" to true and "usebytestrings" to
6409 false.
6410
6411 --extra-include-dirs PATH
6412 A list of directories to search for header files
6413
6414 --enable-deterministic
6415 --disable-deterministic
6416 Try to be as deterministic as possible (used by the test
6417 suite)
6418
6419 --ipid IPID
6420 Installed package ID to compile this package as
6421
6422 --cid CID
6423 Installed component ID to compile this component as
6424
6425 --extra-lib-dirs PATH
6426 A list of directories to search for external libraries
6427
6428 --extra-framework-dirs PATH
6429 A list of directories to search for external frameworks
6430 (OS X only)
6431
6432 --extra-prog-path PATH
6433 A list of directories to search for required programs (in
6434 addition to the normal search locations)
6435
6436 --instantiate-with NAME=MOD
6437 A mapping of signature names to concrete module instanti‐
6438 ations.
6439
6440 --enable-tests
6441 --disable-tests
6442 dependency checking and compilation for test suites
6443 listed in the package description file.
6444
6445 --enable-coverage
6446 --disable-coverage
6447 build package with Haskell Program Coverage. (GHC only)
6448
6449 --enable-library-coverage
6450 --disable-library-coverage
6451 build package with Haskell Program Coverage. (GHC only)
6452 (DEPRECATED)
6453
6454 --enable-benchmarks
6455 --disable-benchmarks
6456 dependency checking and compilation for benchmarks listed
6457 in the package description file.
6458
6459 --enable-relocatable
6460 --disable-relocatable
6461 building a package that is relocatable. (GHC only)
6462
6463 --disable-response-files
6464 enable workaround for old versions of programs like "ar"
6465 that do not support @file arguments
6466
6467 --allow-depending-on-private-libs
6468 Allow depending on private libraries. If set, the library
6469 visibility check MUST be done externally.
6470
6471 --with-alex PATH
6472 give the path to alex
6473
6474 --with-ar PATH
6475 give the path to ar
6476
6477 --with-c2hs PATH
6478 give the path to c2hs
6479
6480 --with-cpphs PATH
6481 give the path to cpphs
6482
6483 --with-doctest PATH
6484 give the path to doctest
6485
6486 --with-gcc PATH
6487 give the path to gcc
6488
6489 --with-ghc PATH
6490 give the path to ghc
6491
6492 --with-ghc-pkg PATH
6493 give the path to ghc-pkg
6494
6495 --with-ghcjs PATH
6496 give the path to ghcjs
6497
6498 --with-ghcjs-pkg PATH
6499 give the path to ghcjs-pkg
6500
6501 --with-greencard PATH
6502 give the path to greencard
6503
6504 --with-haddock PATH
6505 give the path to haddock
6506
6507 --with-happy PATH
6508 give the path to happy
6509
6510 --with-haskell-suite PATH
6511 give the path to haskell-suite
6512
6513 --with-haskell-suite-pkg PATH
6514 give the path to haskell-suite-pkg
6515
6516 --with-hmake PATH
6517 give the path to hmake
6518
6519 --with-hpc PATH
6520 give the path to hpc
6521
6522 --with-hsc2hs PATH
6523 give the path to hsc2hs
6524
6525 --with-hscolour PATH
6526 give the path to hscolour
6527
6528 --with-jhc PATH
6529 give the path to jhc
6530
6531 --with-ld PATH
6532 give the path to ld
6533
6534 --with-pkg-config PATH
6535 give the path to pkg-config
6536
6537 --with-runghc PATH
6538 give the path to runghc
6539
6540 --with-strip PATH
6541 give the path to strip
6542
6543 --with-tar PATH
6544 give the path to tar
6545
6546 --with-uhc PATH
6547 give the path to uhc
6548
6549 --alex-option OPT
6550 give an extra option to alex (no need to quote options
6551 containing spaces)
6552
6553 --ar-option OPT
6554 give an extra option to ar (no need to quote options con‐
6555 taining spaces)
6556
6557 --c2hs-option OPT
6558 give an extra option to c2hs (no need to quote options
6559 containing spaces)
6560
6561 --cpphs-option OPT
6562 give an extra option to cpphs (no need to quote options
6563 containing spaces)
6564
6565 --doctest-option OPT
6566 give an extra option to doctest (no need to quote options
6567 containing spaces)
6568
6569 --gcc-option OPT
6570 give an extra option to gcc (no need to quote options
6571 containing spaces)
6572
6573 --ghc-option OPT
6574 give an extra option to ghc (no need to quote options
6575 containing spaces)
6576
6577 --ghc-pkg-option OPT
6578 give an extra option to ghc-pkg (no need to quote options
6579 containing spaces)
6580
6581 --ghcjs-option OPT
6582 give an extra option to ghcjs (no need to quote options
6583 containing spaces)
6584
6585 --ghcjs-pkg-option OPT
6586 give an extra option to ghcjs-pkg (no need to quote op‐
6587 tions containing spaces)
6588
6589 --greencard-option OPT
6590 give an extra option to greencard (no need to quote op‐
6591 tions containing spaces)
6592
6593 --haddock-option OPT
6594 give an extra option to haddock (no need to quote options
6595 containing spaces)
6596
6597 --happy-option OPT
6598 give an extra option to happy (no need to quote options
6599 containing spaces)
6600
6601 --haskell-suite-option OPT
6602 give an extra option to haskell-suite (no need to quote
6603 options containing spaces)
6604
6605 --haskell-suite-pkg-option OPT
6606 give an extra option to haskell-suite-pkg (no need to
6607 quote options containing spaces)
6608
6609 --hmake-option OPT
6610 give an extra option to hmake (no need to quote options
6611 containing spaces)
6612
6613 --hpc-option OPT
6614 give an extra option to hpc (no need to quote options
6615 containing spaces)
6616
6617 --hsc2hs-option OPT
6618 give an extra option to hsc2hs (no need to quote options
6619 containing spaces)
6620
6621 --hscolour-option OPT
6622 give an extra option to hscolour (no need to quote op‐
6623 tions containing spaces)
6624
6625 --jhc-option OPT
6626 give an extra option to jhc (no need to quote options
6627 containing spaces)
6628
6629 --ld-option OPT
6630 give an extra option to ld (no need to quote options con‐
6631 taining spaces)
6632
6633 --pkg-config-option OPT
6634 give an extra option to pkg-config (no need to quote op‐
6635 tions containing spaces)
6636
6637 --runghc-option OPT
6638 give an extra option to runghc (no need to quote options
6639 containing spaces)
6640
6641 --strip-option OPT
6642 give an extra option to strip (no need to quote options
6643 containing spaces)
6644
6645 --tar-option OPT
6646 give an extra option to tar (no need to quote options
6647 containing spaces)
6648
6649 --uhc-option OPT
6650 give an extra option to uhc (no need to quote options
6651 containing spaces)
6652
6653 --alex-options OPTS
6654 give extra options to alex
6655
6656 --ar-options OPTS
6657 give extra options to ar
6658
6659 --c2hs-options OPTS
6660 give extra options to c2hs
6661
6662 --cpphs-options OPTS
6663 give extra options to cpphs
6664
6665 --doctest-options OPTS
6666 give extra options to doctest
6667
6668 --gcc-options OPTS
6669 give extra options to gcc
6670
6671 --ghc-options OPTS
6672 give extra options to ghc
6673
6674 --ghc-pkg-options OPTS
6675 give extra options to ghc-pkg
6676
6677 --ghcjs-options OPTS
6678 give extra options to ghcjs
6679
6680 --ghcjs-pkg-options OPTS
6681 give extra options to ghcjs-pkg
6682
6683 --greencard-options OPTS
6684 give extra options to greencard
6685
6686 --haddock-options OPTS
6687 give extra options to haddock
6688
6689 --happy-options OPTS
6690 give extra options to happy
6691
6692 --haskell-suite-options OPTS
6693 give extra options to haskell-suite
6694
6695 --haskell-suite-pkg-options OPTS
6696 give extra options to haskell-suite-pkg
6697
6698 --hmake-options OPTS
6699 give extra options to hmake
6700
6701 --hpc-options OPTS
6702 give extra options to hpc
6703
6704 --hsc2hs-options OPTS
6705 give extra options to hsc2hs
6706
6707 --hscolour-options OPTS
6708 give extra options to hscolour
6709
6710 --jhc-options OPTS
6711 give extra options to jhc
6712
6713 --ld-options OPTS
6714 give extra options to ld
6715
6716 --pkg-config-options OPTS
6717 give extra options to pkg-config
6718
6719 --runghc-options OPTS
6720 give extra options to runghc
6721
6722 --strip-options OPTS
6723 give extra options to strip
6724
6725 --tar-options OPTS
6726 give extra options to tar
6727
6728 --uhc-options OPTS
6729 give extra options to uhc
6730
6731 --cabal-lib-version VERSION
6732 Select which version of the Cabal lib to use to build
6733 packages (useful for testing).
6734
6735 --constraint CONSTRAINT
6736 Specify constraints on a package (version, in‐
6737 stalled/source, flags)
6738
6739 --preference CONSTRAINT
6740 Specify preferences (soft constraints) on the version of
6741 a package
6742
6743 --solver SOLVER
6744 Select dependency solver to use (default: modular).
6745 Choices: modular.
6746
6747 --allow-older [DEPS]
6748 Ignore lower bounds in all dependencies or DEPS
6749
6750 --allow-newer [DEPS]
6751 Ignore upper bounds in all dependencies or DEPS
6752
6753 --write-ghc-environment-files always|never|ghc8.4.4+
6754 Whether to create a .ghc.environment file after a suc‐
6755 cessful build (v2-build only)
6756
6757 --enable-documentation
6758 --disable-documentation
6759 building of documentation
6760
6761 --doc-index-file TEMPLATE
6762 A central index of haddock API documentation (template
6763 cannot use $pkgid)
6764
6765 --dry-run
6766 Do not install anything, only print what would be in‐
6767 stalled.
6768
6769 --max-backjumps NUM
6770 Maximum number of backjumps allowed while solving (de‐
6771 fault: 4000). Use a negative number to enable unlimited
6772 backtracking. Use 0 to disable backtracking completely.
6773
6774 --reorder-goals
6775 --no-reorder-goals
6776 Try to reorder goals according to certain heuristics.
6777 Slows things down on average, but may make backtracking
6778 faster for some packages.
6779
6780 --count-conflicts
6781 --no-count-conflicts
6782 Try to speed up solving by preferring goals that are in‐
6783 volved in a lot of conflicts (default).
6784
6785 --fine-grained-conflicts
6786 --no-fine-grained-conflicts
6787 Skip a version of a package if it does not resolve the
6788 conflicts encountered in the last version, as a solver
6789 optimization (default).
6790
6791 --minimize-conflict-set
6792 --no-minimize-conflict-set
6793 When there is no solution, try to improve the error mes‐
6794 sage by finding a minimal conflict set (default: false).
6795 May increase run time significantly.
6796
6797 --independent-goals
6798 --no-independent-goals
6799 Treat several goals on the command line as independent.
6800 If several goals depend on the same package, different
6801 versions can be chosen.
6802
6803 --shadow-installed-packages
6804 --no-shadow-installed-packages
6805 If multiple package instances of the same version are in‐
6806 stalled, treat all but one as shadowed.
6807
6808 --strong-flags
6809 --no-strong-flags
6810 Do not defer flag choices (this used to be the default in
6811 cabal-install <= 1.20).
6812
6813 --allow-boot-library-installs
6814 --no-allow-boot-library-installs
6815 Allow cabal to install base, ghc-prim, integer-simple,
6816 integer-gmp, and template-haskell.
6817
6818 --reject-unconstrained-dependencies none|all
6819 Require these packages to have constraints on them if
6820 they are to be selected (default: none).
6821
6822 --reinstall
6823 --no-reinstall
6824 Install even if it means installing the same version
6825 again.
6826
6827 --avoid-reinstalls
6828 --no-avoid-reinstalls
6829 Do not select versions that would destructively overwrite
6830 installed packages.
6831
6832 --force-reinstalls
6833 --no-force-reinstalls
6834 Reinstall packages even if they will most likely break
6835 other installed packages.
6836
6837 --upgrade-dependencies
6838 --no-upgrade-dependencies
6839 Pick the latest version for all dependencies, rather than
6840 trying to pick an installed version.
6841
6842 --only-dependencies
6843 --no-only-dependencies
6844 Install only the dependencies necessary to build the
6845 given packages
6846
6847 --dependencies-only
6848 --no-dependencies-only
6849 A synonym for --only-dependencies
6850
6851 --index-state STATE
6852 Use source package index state as it existed at a previ‐
6853 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
6854 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
6855 'HEAD' (default: 'HEAD').
6856
6857 --root-cmd COMMAND
6858 (No longer supported, do not use.)
6859
6860 --symlink-bindir DIR
6861 Add symlinks to installed executables into this direc‐
6862 tory.
6863
6864 --build-summary TEMPLATE
6865 Save build summaries to file (name template can use
6866 $pkgid, $compiler, $os, $arch)
6867
6868 --build-log TEMPLATE
6869 Log all builds to file (name template can use $pkgid,
6870 $compiler, $os, $arch)
6871
6872 --remote-build-reporting LEVEL
6873 Generate build reports to send to a remote server (none,
6874 anonymous or detailed).
6875
6876 --report-planning-failure
6877 Generate build reports when the dependency solver fails.
6878 This is used by the Hackage build bot.
6879
6880 --enable-per-component
6881 --disable-per-component
6882 Per-component builds when possible
6883
6884 --one-shot
6885 --no-one-shot
6886 Do not record the packages in the world file.
6887
6888 --run-tests
6889 Run package test suites during installation.
6890
6891 -j, --jobs [NUM]
6892 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
6893 given).
6894
6895 --keep-going
6896 After a build failure, continue to build other unaffected
6897 packages.
6898
6899 --offline
6900 --no-offline
6901 Don't download packages from the Internet.
6902
6903 --project-file FILE
6904 Set the name of the cabal.project file to search for in
6905 parent directories
6906
6907 --only
6908 Only installs the package in the current directory.
6909
6910 --haddock-hoogle
6911 Generate a hoogle database
6912
6913 --haddock-html
6914 Generate HTML documentation (the default)
6915
6916 --haddock-html-location URL
6917 Location of HTML documentation for pre-requisite packages
6918
6919 --haddock-for-hackage
6920 Collection of flags to generate documentation suitable
6921 for upload to hackage
6922
6923 --haddock-executables
6924 Run haddock for Executables targets
6925
6926 --haddock-tests
6927 Run haddock for Test Suite targets
6928
6929 --haddock-benchmarks
6930 Run haddock for Benchmark targets
6931
6932 --haddock-all
6933 Run haddock for all targets
6934
6935 --haddock-internal
6936 Run haddock for internal modules and include all symbols
6937
6938 --haddock-css PATH
6939 Use PATH as the haddock stylesheet
6940
6941 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
6942 dock-hyperlinked-source
6943 Hyperlink the documentation to the source code
6944
6945 --haddock-quickjump
6946 Generate an index for interactive documentation naviga‐
6947 tion
6948
6949 --haddock-hscolour-css PATH
6950 Use PATH as the HsColour stylesheet
6951
6952 --haddock-contents-location URL
6953 Bake URL in as the location for the contents page
6954
6955 --test-log TEMPLATE
6956 Log all test suite results to file (name template can use
6957 $pkgid, $compiler, $os, $arch, $test-suite, $result)
6958
6959 --test-machine-log TEMPLATE
6960 Produce a machine-readable log file (name template can
6961 use $pkgid, $compiler, $os, $arch, $result)
6962
6963 --test-show-details FILTER
6964
6965 --test-keep-tix-files
6966 keep .tix files for HPC between test runs
6967
6968 --test-wrapper FILE
6969 Run test through a wrapper.
6970
6971 --test-fail-when-no-test-suites
6972 Exit with failure when no test suites are found.
6973
6974 --test-options TEMPLATES
6975 give extra options to test executables (name templates
6976 can use $pkgid, $compiler, $os, $arch, $test-suite)
6977
6978 --test-option TEMPLATE
6979 give extra option to test executables (no need to quote
6980 options containing spaces, name template can use $pkgid,
6981 $compiler, $os, $arch, $test-suite)
6982
6983 --benchmark-options TEMPLATES
6984 give extra options to benchmark executables (name tem‐
6985 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
6986
6987 --benchmark-option TEMPLATE
6988 give extra option to benchmark executables (no need to
6989 quote options containing spaces, name template can use
6990 $pkgid, $compiler, $os, $arch, $benchmark)
6991
6992 --only-configure
6993 --no-only-configure
6994 Instead of performing a full build just run the configure
6995 step
6996
6997
6998 cabal v2-build
6999
7000 Usage: cabal v2-build [TARGETS] [FLAGS]
7001
7002
7003 Build one or more targets from within the project. The available tar‐
7004 gets are the packages in the project as well as individual components
7005 within those packages, including libraries, executables, test-suites or
7006 benchmarks. Targets can be specified by name or location. If no target
7007 is specified then the default is to build the package in the current
7008 directory.
7009
7010 Dependencies are built or rebuilt as necessary. Additional configura‐
7011 tion flags can be specified on the command line and these extend the
7012 project configuration from the 'cabal.project', 'cabal.project.local'
7013 and other files.
7014
7015
7016 Examples:
7017 cabal v2-build
7018 Build the package in the current directory or all packages in the
7019 project
7020 cabal v2-build pkgname
7021 Build the package named pkgname in the project
7022 cabal v2-build ./pkgfoo
7023 Build the package in the ./pkgfoo directory
7024 cabal v2-build cname
7025 Build the component named cname in the project
7026 cabal v2-build cname --enable-profiling
7027 Build the component in profiling mode (including dependencies as
7028 needed)
7029
7030 Note: this command is part of the new project-based system (aka nix-
7031 style local builds). These features are currently in beta. Please see
7032 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
7033 details and advice on what you can expect to work. If you encounter
7034 problems please file issues at https://github.com/haskell/cabal/issues
7035 and if you have any time to get involved and help with testing, fixing
7036 bugs etc then that is very much appreciated.
7037
7038
7039 Flags:
7040 -v, --verbose [n]
7041 Control verbosity (n is 0--3, default verbosity level is
7042 1)
7043
7044 --builddir, --distdir, --distpref DIR
7045 The directory where Cabal puts generated build files (de‐
7046 fault dist)
7047
7048 -g, --ghc
7049 compile with GHC
7050
7051 --ghcjs
7052 compile with GHCJS
7053
7054 --uhc
7055 compile with UHC
7056
7057 --haskell-suite
7058 compile with a haskell-suite compiler
7059
7060 --cabal-file PATH
7061 use this Cabal file
7062
7063 -w, --with-compiler PATH
7064 give the path to a particular compiler
7065
7066 --with-hc-pkg PATH
7067 give the path to the package tool
7068
7069 --prefix DIR
7070 bake this prefix in preparation of installation
7071
7072 --bindir DIR
7073 installation directory for executables
7074
7075 --libdir DIR
7076 installation directory for libraries
7077
7078 --libsubdir DIR
7079 subdirectory of libdir in which libs are installed
7080
7081 --dynlibdir DIR
7082 installation directory for dynamic libraries
7083
7084 --libexecdir DIR
7085 installation directory for program executables
7086
7087 --libexecsubdir DIR
7088 subdirectory of libexecdir in which private executables
7089 are installed
7090
7091 --datadir DIR
7092 installation directory for read-only data
7093
7094 --datasubdir DIR
7095 subdirectory of datadir in which data files are installed
7096
7097 --docdir DIR
7098 installation directory for documentation
7099
7100 --htmldir DIR
7101 installation directory for HTML documentation
7102
7103 --haddockdir DIR
7104 installation directory for haddock interfaces
7105
7106 --sysconfdir DIR
7107 installation directory for configuration files
7108
7109 --program-prefix PREFIX
7110 prefix to be applied to installed executables
7111
7112 --program-suffix SUFFIX
7113 suffix to be applied to installed executables
7114
7115 --enable-library-vanilla
7116 --disable-library-vanilla
7117 Vanilla libraries
7118
7119 -p, --enable-library-profiling
7120 --disable-library-profiling
7121 Library profiling
7122
7123 --enable-shared
7124 --disable-shared
7125 Shared library
7126
7127 --enable-static
7128 --disable-static
7129 Static library
7130
7131 --enable-executable-dynamic
7132 --disable-executable-dynamic
7133 Executable dynamic linking
7134
7135 --enable-executable-static
7136 --disable-executable-static
7137 Executable fully static linking
7138
7139 --enable-profiling
7140 --disable-profiling
7141 Executable and library profiling
7142
7143 --enable-executable-profiling
7144 --disable-executable-profiling
7145 Executable profiling (DEPRECATED)
7146
7147 --profiling-detail level
7148 Profiling detail level for executable and library (de‐
7149 fault, none, exported-functions, toplevel-functions,
7150 all-functions).
7151
7152 --library-profiling-detail level
7153 Profiling detail level for libraries only.
7154
7155 -O, --enable-optimization, --enable-optimisation [n]
7156 Build with optimization (n is 0--2, default is 1)
7157
7158 --disable-optimization, --disable-optimisation
7159 Build without optimization
7160
7161 --enable-debug-info [n]
7162 Emit debug info (n is 0--3, default is 0)
7163
7164 --disable-debug-info
7165 Don't emit debug info
7166
7167 --enable-library-for-ghci
7168 --disable-library-for-ghci
7169 compile library for use with GHCi
7170
7171 --enable-split-sections
7172 --disable-split-sections
7173 compile library code such that unneeded definitions can
7174 be dropped from the final executable (GHC 7.8+)
7175
7176 --enable-split-objs
7177 --disable-split-objs
7178 split library into smaller objects to reduce binary sizes
7179 (GHC 6.6+)
7180
7181 --enable-executable-stripping
7182 --disable-executable-stripping
7183 strip executables upon installation to reduce binary
7184 sizes
7185
7186 --enable-library-stripping
7187 --disable-library-stripping
7188 strip libraries upon installation to reduce binary sizes
7189
7190 --configure-option OPT
7191 Extra option for configure
7192
7193 --user
7194 --global
7195 doing a per-user installation
7196
7197 --package-db DB
7198 Append the given package database to the list of package
7199 databases used (to satisfy dependencies and register
7200 into). May be a specific file, 'global' or 'user'. The
7201 initial list is ['global'], ['global', 'user'], or
7202 ['global', $sandbox], depending on context. Use 'clear'
7203 to reset the list to empty. See the user guide for de‐
7204 tails.
7205
7206 -f, --flags FLAGS
7207 Force values for the given flags in Cabal conditionals in
7208 the .cabal file. E.g., --flags="debug -usebytestrings"
7209 forces the flag "debug" to true and "usebytestrings" to
7210 false.
7211
7212 --extra-include-dirs PATH
7213 A list of directories to search for header files
7214
7215 --enable-deterministic
7216 --disable-deterministic
7217 Try to be as deterministic as possible (used by the test
7218 suite)
7219
7220 --ipid IPID
7221 Installed package ID to compile this package as
7222
7223 --cid CID
7224 Installed component ID to compile this component as
7225
7226 --extra-lib-dirs PATH
7227 A list of directories to search for external libraries
7228
7229 --extra-framework-dirs PATH
7230 A list of directories to search for external frameworks
7231 (OS X only)
7232
7233 --extra-prog-path PATH
7234 A list of directories to search for required programs (in
7235 addition to the normal search locations)
7236
7237 --instantiate-with NAME=MOD
7238 A mapping of signature names to concrete module instanti‐
7239 ations.
7240
7241 --enable-tests
7242 --disable-tests
7243 dependency checking and compilation for test suites
7244 listed in the package description file.
7245
7246 --enable-coverage
7247 --disable-coverage
7248 build package with Haskell Program Coverage. (GHC only)
7249
7250 --enable-library-coverage
7251 --disable-library-coverage
7252 build package with Haskell Program Coverage. (GHC only)
7253 (DEPRECATED)
7254
7255 --enable-benchmarks
7256 --disable-benchmarks
7257 dependency checking and compilation for benchmarks listed
7258 in the package description file.
7259
7260 --enable-relocatable
7261 --disable-relocatable
7262 building a package that is relocatable. (GHC only)
7263
7264 --disable-response-files
7265 enable workaround for old versions of programs like "ar"
7266 that do not support @file arguments
7267
7268 --allow-depending-on-private-libs
7269 Allow depending on private libraries. If set, the library
7270 visibility check MUST be done externally.
7271
7272 --with-alex PATH
7273 give the path to alex
7274
7275 --with-ar PATH
7276 give the path to ar
7277
7278 --with-c2hs PATH
7279 give the path to c2hs
7280
7281 --with-cpphs PATH
7282 give the path to cpphs
7283
7284 --with-doctest PATH
7285 give the path to doctest
7286
7287 --with-gcc PATH
7288 give the path to gcc
7289
7290 --with-ghc PATH
7291 give the path to ghc
7292
7293 --with-ghc-pkg PATH
7294 give the path to ghc-pkg
7295
7296 --with-ghcjs PATH
7297 give the path to ghcjs
7298
7299 --with-ghcjs-pkg PATH
7300 give the path to ghcjs-pkg
7301
7302 --with-greencard PATH
7303 give the path to greencard
7304
7305 --with-haddock PATH
7306 give the path to haddock
7307
7308 --with-happy PATH
7309 give the path to happy
7310
7311 --with-haskell-suite PATH
7312 give the path to haskell-suite
7313
7314 --with-haskell-suite-pkg PATH
7315 give the path to haskell-suite-pkg
7316
7317 --with-hmake PATH
7318 give the path to hmake
7319
7320 --with-hpc PATH
7321 give the path to hpc
7322
7323 --with-hsc2hs PATH
7324 give the path to hsc2hs
7325
7326 --with-hscolour PATH
7327 give the path to hscolour
7328
7329 --with-jhc PATH
7330 give the path to jhc
7331
7332 --with-ld PATH
7333 give the path to ld
7334
7335 --with-pkg-config PATH
7336 give the path to pkg-config
7337
7338 --with-runghc PATH
7339 give the path to runghc
7340
7341 --with-strip PATH
7342 give the path to strip
7343
7344 --with-tar PATH
7345 give the path to tar
7346
7347 --with-uhc PATH
7348 give the path to uhc
7349
7350 --alex-option OPT
7351 give an extra option to alex (no need to quote options
7352 containing spaces)
7353
7354 --ar-option OPT
7355 give an extra option to ar (no need to quote options con‐
7356 taining spaces)
7357
7358 --c2hs-option OPT
7359 give an extra option to c2hs (no need to quote options
7360 containing spaces)
7361
7362 --cpphs-option OPT
7363 give an extra option to cpphs (no need to quote options
7364 containing spaces)
7365
7366 --doctest-option OPT
7367 give an extra option to doctest (no need to quote options
7368 containing spaces)
7369
7370 --gcc-option OPT
7371 give an extra option to gcc (no need to quote options
7372 containing spaces)
7373
7374 --ghc-option OPT
7375 give an extra option to ghc (no need to quote options
7376 containing spaces)
7377
7378 --ghc-pkg-option OPT
7379 give an extra option to ghc-pkg (no need to quote options
7380 containing spaces)
7381
7382 --ghcjs-option OPT
7383 give an extra option to ghcjs (no need to quote options
7384 containing spaces)
7385
7386 --ghcjs-pkg-option OPT
7387 give an extra option to ghcjs-pkg (no need to quote op‐
7388 tions containing spaces)
7389
7390 --greencard-option OPT
7391 give an extra option to greencard (no need to quote op‐
7392 tions containing spaces)
7393
7394 --haddock-option OPT
7395 give an extra option to haddock (no need to quote options
7396 containing spaces)
7397
7398 --happy-option OPT
7399 give an extra option to happy (no need to quote options
7400 containing spaces)
7401
7402 --haskell-suite-option OPT
7403 give an extra option to haskell-suite (no need to quote
7404 options containing spaces)
7405
7406 --haskell-suite-pkg-option OPT
7407 give an extra option to haskell-suite-pkg (no need to
7408 quote options containing spaces)
7409
7410 --hmake-option OPT
7411 give an extra option to hmake (no need to quote options
7412 containing spaces)
7413
7414 --hpc-option OPT
7415 give an extra option to hpc (no need to quote options
7416 containing spaces)
7417
7418 --hsc2hs-option OPT
7419 give an extra option to hsc2hs (no need to quote options
7420 containing spaces)
7421
7422 --hscolour-option OPT
7423 give an extra option to hscolour (no need to quote op‐
7424 tions containing spaces)
7425
7426 --jhc-option OPT
7427 give an extra option to jhc (no need to quote options
7428 containing spaces)
7429
7430 --ld-option OPT
7431 give an extra option to ld (no need to quote options con‐
7432 taining spaces)
7433
7434 --pkg-config-option OPT
7435 give an extra option to pkg-config (no need to quote op‐
7436 tions containing spaces)
7437
7438 --runghc-option OPT
7439 give an extra option to runghc (no need to quote options
7440 containing spaces)
7441
7442 --strip-option OPT
7443 give an extra option to strip (no need to quote options
7444 containing spaces)
7445
7446 --tar-option OPT
7447 give an extra option to tar (no need to quote options
7448 containing spaces)
7449
7450 --uhc-option OPT
7451 give an extra option to uhc (no need to quote options
7452 containing spaces)
7453
7454 --alex-options OPTS
7455 give extra options to alex
7456
7457 --ar-options OPTS
7458 give extra options to ar
7459
7460 --c2hs-options OPTS
7461 give extra options to c2hs
7462
7463 --cpphs-options OPTS
7464 give extra options to cpphs
7465
7466 --doctest-options OPTS
7467 give extra options to doctest
7468
7469 --gcc-options OPTS
7470 give extra options to gcc
7471
7472 --ghc-options OPTS
7473 give extra options to ghc
7474
7475 --ghc-pkg-options OPTS
7476 give extra options to ghc-pkg
7477
7478 --ghcjs-options OPTS
7479 give extra options to ghcjs
7480
7481 --ghcjs-pkg-options OPTS
7482 give extra options to ghcjs-pkg
7483
7484 --greencard-options OPTS
7485 give extra options to greencard
7486
7487 --haddock-options OPTS
7488 give extra options to haddock
7489
7490 --happy-options OPTS
7491 give extra options to happy
7492
7493 --haskell-suite-options OPTS
7494 give extra options to haskell-suite
7495
7496 --haskell-suite-pkg-options OPTS
7497 give extra options to haskell-suite-pkg
7498
7499 --hmake-options OPTS
7500 give extra options to hmake
7501
7502 --hpc-options OPTS
7503 give extra options to hpc
7504
7505 --hsc2hs-options OPTS
7506 give extra options to hsc2hs
7507
7508 --hscolour-options OPTS
7509 give extra options to hscolour
7510
7511 --jhc-options OPTS
7512 give extra options to jhc
7513
7514 --ld-options OPTS
7515 give extra options to ld
7516
7517 --pkg-config-options OPTS
7518 give extra options to pkg-config
7519
7520 --runghc-options OPTS
7521 give extra options to runghc
7522
7523 --strip-options OPTS
7524 give extra options to strip
7525
7526 --tar-options OPTS
7527 give extra options to tar
7528
7529 --uhc-options OPTS
7530 give extra options to uhc
7531
7532 --cabal-lib-version VERSION
7533 Select which version of the Cabal lib to use to build
7534 packages (useful for testing).
7535
7536 --constraint CONSTRAINT
7537 Specify constraints on a package (version, in‐
7538 stalled/source, flags)
7539
7540 --preference CONSTRAINT
7541 Specify preferences (soft constraints) on the version of
7542 a package
7543
7544 --solver SOLVER
7545 Select dependency solver to use (default: modular).
7546 Choices: modular.
7547
7548 --allow-older [DEPS]
7549 Ignore lower bounds in all dependencies or DEPS
7550
7551 --allow-newer [DEPS]
7552 Ignore upper bounds in all dependencies or DEPS
7553
7554 --write-ghc-environment-files always|never|ghc8.4.4+
7555 Whether to create a .ghc.environment file after a suc‐
7556 cessful build (v2-build only)
7557
7558 --enable-documentation
7559 --disable-documentation
7560 building of documentation
7561
7562 --doc-index-file TEMPLATE
7563 A central index of haddock API documentation (template
7564 cannot use $pkgid)
7565
7566 --dry-run
7567 Do not install anything, only print what would be in‐
7568 stalled.
7569
7570 --max-backjumps NUM
7571 Maximum number of backjumps allowed while solving (de‐
7572 fault: 4000). Use a negative number to enable unlimited
7573 backtracking. Use 0 to disable backtracking completely.
7574
7575 --reorder-goals
7576 --no-reorder-goals
7577 Try to reorder goals according to certain heuristics.
7578 Slows things down on average, but may make backtracking
7579 faster for some packages.
7580
7581 --count-conflicts
7582 --no-count-conflicts
7583 Try to speed up solving by preferring goals that are in‐
7584 volved in a lot of conflicts (default).
7585
7586 --fine-grained-conflicts
7587 --no-fine-grained-conflicts
7588 Skip a version of a package if it does not resolve the
7589 conflicts encountered in the last version, as a solver
7590 optimization (default).
7591
7592 --minimize-conflict-set
7593 --no-minimize-conflict-set
7594 When there is no solution, try to improve the error mes‐
7595 sage by finding a minimal conflict set (default: false).
7596 May increase run time significantly.
7597
7598 --independent-goals
7599 --no-independent-goals
7600 Treat several goals on the command line as independent.
7601 If several goals depend on the same package, different
7602 versions can be chosen.
7603
7604 --shadow-installed-packages
7605 --no-shadow-installed-packages
7606 If multiple package instances of the same version are in‐
7607 stalled, treat all but one as shadowed.
7608
7609 --strong-flags
7610 --no-strong-flags
7611 Do not defer flag choices (this used to be the default in
7612 cabal-install <= 1.20).
7613
7614 --allow-boot-library-installs
7615 --no-allow-boot-library-installs
7616 Allow cabal to install base, ghc-prim, integer-simple,
7617 integer-gmp, and template-haskell.
7618
7619 --reject-unconstrained-dependencies none|all
7620 Require these packages to have constraints on them if
7621 they are to be selected (default: none).
7622
7623 --reinstall
7624 --no-reinstall
7625 Install even if it means installing the same version
7626 again.
7627
7628 --avoid-reinstalls
7629 --no-avoid-reinstalls
7630 Do not select versions that would destructively overwrite
7631 installed packages.
7632
7633 --force-reinstalls
7634 --no-force-reinstalls
7635 Reinstall packages even if they will most likely break
7636 other installed packages.
7637
7638 --upgrade-dependencies
7639 --no-upgrade-dependencies
7640 Pick the latest version for all dependencies, rather than
7641 trying to pick an installed version.
7642
7643 --only-dependencies
7644 --no-only-dependencies
7645 Install only the dependencies necessary to build the
7646 given packages
7647
7648 --dependencies-only
7649 --no-dependencies-only
7650 A synonym for --only-dependencies
7651
7652 --index-state STATE
7653 Use source package index state as it existed at a previ‐
7654 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
7655 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
7656 'HEAD' (default: 'HEAD').
7657
7658 --root-cmd COMMAND
7659 (No longer supported, do not use.)
7660
7661 --symlink-bindir DIR
7662 Add symlinks to installed executables into this direc‐
7663 tory.
7664
7665 --build-summary TEMPLATE
7666 Save build summaries to file (name template can use
7667 $pkgid, $compiler, $os, $arch)
7668
7669 --build-log TEMPLATE
7670 Log all builds to file (name template can use $pkgid,
7671 $compiler, $os, $arch)
7672
7673 --remote-build-reporting LEVEL
7674 Generate build reports to send to a remote server (none,
7675 anonymous or detailed).
7676
7677 --report-planning-failure
7678 Generate build reports when the dependency solver fails.
7679 This is used by the Hackage build bot.
7680
7681 --enable-per-component
7682 --disable-per-component
7683 Per-component builds when possible
7684
7685 --one-shot
7686 --no-one-shot
7687 Do not record the packages in the world file.
7688
7689 --run-tests
7690 Run package test suites during installation.
7691
7692 -j, --jobs [NUM]
7693 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
7694 given).
7695
7696 --keep-going
7697 After a build failure, continue to build other unaffected
7698 packages.
7699
7700 --offline
7701 --no-offline
7702 Don't download packages from the Internet.
7703
7704 --project-file FILE
7705 Set the name of the cabal.project file to search for in
7706 parent directories
7707
7708 --only
7709 Only installs the package in the current directory.
7710
7711 --haddock-hoogle
7712 Generate a hoogle database
7713
7714 --haddock-html
7715 Generate HTML documentation (the default)
7716
7717 --haddock-html-location URL
7718 Location of HTML documentation for pre-requisite packages
7719
7720 --haddock-for-hackage
7721 Collection of flags to generate documentation suitable
7722 for upload to hackage
7723
7724 --haddock-executables
7725 Run haddock for Executables targets
7726
7727 --haddock-tests
7728 Run haddock for Test Suite targets
7729
7730 --haddock-benchmarks
7731 Run haddock for Benchmark targets
7732
7733 --haddock-all
7734 Run haddock for all targets
7735
7736 --haddock-internal
7737 Run haddock for internal modules and include all symbols
7738
7739 --haddock-css PATH
7740 Use PATH as the haddock stylesheet
7741
7742 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
7743 dock-hyperlinked-source
7744 Hyperlink the documentation to the source code
7745
7746 --haddock-quickjump
7747 Generate an index for interactive documentation naviga‐
7748 tion
7749
7750 --haddock-hscolour-css PATH
7751 Use PATH as the HsColour stylesheet
7752
7753 --haddock-contents-location URL
7754 Bake URL in as the location for the contents page
7755
7756 --test-log TEMPLATE
7757 Log all test suite results to file (name template can use
7758 $pkgid, $compiler, $os, $arch, $test-suite, $result)
7759
7760 --test-machine-log TEMPLATE
7761 Produce a machine-readable log file (name template can
7762 use $pkgid, $compiler, $os, $arch, $result)
7763
7764 --test-show-details FILTER
7765
7766 --test-keep-tix-files
7767 keep .tix files for HPC between test runs
7768
7769 --test-wrapper FILE
7770 Run test through a wrapper.
7771
7772 --test-fail-when-no-test-suites
7773 Exit with failure when no test suites are found.
7774
7775 --test-options TEMPLATES
7776 give extra options to test executables (name templates
7777 can use $pkgid, $compiler, $os, $arch, $test-suite)
7778
7779 --test-option TEMPLATE
7780 give extra option to test executables (no need to quote
7781 options containing spaces, name template can use $pkgid,
7782 $compiler, $os, $arch, $test-suite)
7783
7784 --benchmark-options TEMPLATES
7785 give extra options to benchmark executables (name tem‐
7786 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
7787
7788 --benchmark-option TEMPLATE
7789 give extra option to benchmark executables (no need to
7790 quote options containing spaces, name template can use
7791 $pkgid, $compiler, $os, $arch, $benchmark)
7792
7793 --only-configure
7794 --no-only-configure
7795 Instead of performing a full build just run the configure
7796 step
7797
7798
7799 cabal repl
7800
7801 Usage: cabal repl [TARGET] [FLAGS]
7802
7803
7804 Open an interactive session for a component within the project. The
7805 available targets are the same as for the 'build' command: individual
7806 components within packages in the project, including libraries, exe‐
7807 cutables, test-suites or benchmarks. Packages can also be specified in
7808 which case the library component in the package will be used, or the
7809 (first listed) executable in the package if there is no library.
7810
7811 Dependencies are built or rebuilt as necessary. Additional configura‐
7812 tion flags can be specified on the command line and these extend the
7813 project configuration from the 'cabal.project', 'cabal.project.local'
7814 and other files.
7815
7816
7817 Open an interactive session for a component within the project. The
7818 available targets are the same as for the 'build' command: individual
7819 components within packages in the project, including libraries, exe‐
7820 cutables, test-suites or benchmarks. Packages can also be specified in
7821 which case the library component in the package will be used, or the
7822 (first listed) executable in the package if there is no library.
7823
7824 Dependencies are built or rebuilt as necessary. Additional configura‐
7825 tion flags can be specified on the command line and these extend the
7826 project configuration from the 'cabal.project', 'cabal.project.local'
7827 and other files.
7828
7829
7830 Flags:
7831 -v, --verbose [n]
7832 Control verbosity (n is 0--3, default verbosity level is
7833 1)
7834
7835 --builddir, --distdir, --distpref DIR
7836 The directory where Cabal puts generated build files (de‐
7837 fault dist)
7838
7839 -g, --ghc
7840 compile with GHC
7841
7842 --ghcjs
7843 compile with GHCJS
7844
7845 --uhc
7846 compile with UHC
7847
7848 --haskell-suite
7849 compile with a haskell-suite compiler
7850
7851 --cabal-file PATH
7852 use this Cabal file
7853
7854 -w, --with-compiler PATH
7855 give the path to a particular compiler
7856
7857 --with-hc-pkg PATH
7858 give the path to the package tool
7859
7860 --prefix DIR
7861 bake this prefix in preparation of installation
7862
7863 --bindir DIR
7864 installation directory for executables
7865
7866 --libdir DIR
7867 installation directory for libraries
7868
7869 --libsubdir DIR
7870 subdirectory of libdir in which libs are installed
7871
7872 --dynlibdir DIR
7873 installation directory for dynamic libraries
7874
7875 --libexecdir DIR
7876 installation directory for program executables
7877
7878 --libexecsubdir DIR
7879 subdirectory of libexecdir in which private executables
7880 are installed
7881
7882 --datadir DIR
7883 installation directory for read-only data
7884
7885 --datasubdir DIR
7886 subdirectory of datadir in which data files are installed
7887
7888 --docdir DIR
7889 installation directory for documentation
7890
7891 --htmldir DIR
7892 installation directory for HTML documentation
7893
7894 --haddockdir DIR
7895 installation directory for haddock interfaces
7896
7897 --sysconfdir DIR
7898 installation directory for configuration files
7899
7900 --program-prefix PREFIX
7901 prefix to be applied to installed executables
7902
7903 --program-suffix SUFFIX
7904 suffix to be applied to installed executables
7905
7906 --enable-library-vanilla
7907 --disable-library-vanilla
7908 Vanilla libraries
7909
7910 -p, --enable-library-profiling
7911 --disable-library-profiling
7912 Library profiling
7913
7914 --enable-shared
7915 --disable-shared
7916 Shared library
7917
7918 --enable-static
7919 --disable-static
7920 Static library
7921
7922 --enable-executable-dynamic
7923 --disable-executable-dynamic
7924 Executable dynamic linking
7925
7926 --enable-executable-static
7927 --disable-executable-static
7928 Executable fully static linking
7929
7930 --enable-profiling
7931 --disable-profiling
7932 Executable and library profiling
7933
7934 --enable-executable-profiling
7935 --disable-executable-profiling
7936 Executable profiling (DEPRECATED)
7937
7938 --profiling-detail level
7939 Profiling detail level for executable and library (de‐
7940 fault, none, exported-functions, toplevel-functions,
7941 all-functions).
7942
7943 --library-profiling-detail level
7944 Profiling detail level for libraries only.
7945
7946 -O, --enable-optimization, --enable-optimisation [n]
7947 Build with optimization (n is 0--2, default is 1)
7948
7949 --disable-optimization, --disable-optimisation
7950 Build without optimization
7951
7952 --enable-debug-info [n]
7953 Emit debug info (n is 0--3, default is 0)
7954
7955 --disable-debug-info
7956 Don't emit debug info
7957
7958 --enable-library-for-ghci
7959 --disable-library-for-ghci
7960 compile library for use with GHCi
7961
7962 --enable-split-sections
7963 --disable-split-sections
7964 compile library code such that unneeded definitions can
7965 be dropped from the final executable (GHC 7.8+)
7966
7967 --enable-split-objs
7968 --disable-split-objs
7969 split library into smaller objects to reduce binary sizes
7970 (GHC 6.6+)
7971
7972 --enable-executable-stripping
7973 --disable-executable-stripping
7974 strip executables upon installation to reduce binary
7975 sizes
7976
7977 --enable-library-stripping
7978 --disable-library-stripping
7979 strip libraries upon installation to reduce binary sizes
7980
7981 --configure-option OPT
7982 Extra option for configure
7983
7984 --user
7985 --global
7986 doing a per-user installation
7987
7988 --package-db DB
7989 Append the given package database to the list of package
7990 databases used (to satisfy dependencies and register
7991 into). May be a specific file, 'global' or 'user'. The
7992 initial list is ['global'], ['global', 'user'], or
7993 ['global', $sandbox], depending on context. Use 'clear'
7994 to reset the list to empty. See the user guide for de‐
7995 tails.
7996
7997 -f, --flags FLAGS
7998 Force values for the given flags in Cabal conditionals in
7999 the .cabal file. E.g., --flags="debug -usebytestrings"
8000 forces the flag "debug" to true and "usebytestrings" to
8001 false.
8002
8003 --extra-include-dirs PATH
8004 A list of directories to search for header files
8005
8006 --enable-deterministic
8007 --disable-deterministic
8008 Try to be as deterministic as possible (used by the test
8009 suite)
8010
8011 --ipid IPID
8012 Installed package ID to compile this package as
8013
8014 --cid CID
8015 Installed component ID to compile this component as
8016
8017 --extra-lib-dirs PATH
8018 A list of directories to search for external libraries
8019
8020 --extra-framework-dirs PATH
8021 A list of directories to search for external frameworks
8022 (OS X only)
8023
8024 --extra-prog-path PATH
8025 A list of directories to search for required programs (in
8026 addition to the normal search locations)
8027
8028 --instantiate-with NAME=MOD
8029 A mapping of signature names to concrete module instanti‐
8030 ations.
8031
8032 --enable-tests
8033 --disable-tests
8034 dependency checking and compilation for test suites
8035 listed in the package description file.
8036
8037 --enable-coverage
8038 --disable-coverage
8039 build package with Haskell Program Coverage. (GHC only)
8040
8041 --enable-library-coverage
8042 --disable-library-coverage
8043 build package with Haskell Program Coverage. (GHC only)
8044 (DEPRECATED)
8045
8046 --enable-benchmarks
8047 --disable-benchmarks
8048 dependency checking and compilation for benchmarks listed
8049 in the package description file.
8050
8051 --enable-relocatable
8052 --disable-relocatable
8053 building a package that is relocatable. (GHC only)
8054
8055 --disable-response-files
8056 enable workaround for old versions of programs like "ar"
8057 that do not support @file arguments
8058
8059 --allow-depending-on-private-libs
8060 Allow depending on private libraries. If set, the library
8061 visibility check MUST be done externally.
8062
8063 --with-alex PATH
8064 give the path to alex
8065
8066 --with-ar PATH
8067 give the path to ar
8068
8069 --with-c2hs PATH
8070 give the path to c2hs
8071
8072 --with-cpphs PATH
8073 give the path to cpphs
8074
8075 --with-doctest PATH
8076 give the path to doctest
8077
8078 --with-gcc PATH
8079 give the path to gcc
8080
8081 --with-ghc PATH
8082 give the path to ghc
8083
8084 --with-ghc-pkg PATH
8085 give the path to ghc-pkg
8086
8087 --with-ghcjs PATH
8088 give the path to ghcjs
8089
8090 --with-ghcjs-pkg PATH
8091 give the path to ghcjs-pkg
8092
8093 --with-greencard PATH
8094 give the path to greencard
8095
8096 --with-haddock PATH
8097 give the path to haddock
8098
8099 --with-happy PATH
8100 give the path to happy
8101
8102 --with-haskell-suite PATH
8103 give the path to haskell-suite
8104
8105 --with-haskell-suite-pkg PATH
8106 give the path to haskell-suite-pkg
8107
8108 --with-hmake PATH
8109 give the path to hmake
8110
8111 --with-hpc PATH
8112 give the path to hpc
8113
8114 --with-hsc2hs PATH
8115 give the path to hsc2hs
8116
8117 --with-hscolour PATH
8118 give the path to hscolour
8119
8120 --with-jhc PATH
8121 give the path to jhc
8122
8123 --with-ld PATH
8124 give the path to ld
8125
8126 --with-pkg-config PATH
8127 give the path to pkg-config
8128
8129 --with-runghc PATH
8130 give the path to runghc
8131
8132 --with-strip PATH
8133 give the path to strip
8134
8135 --with-tar PATH
8136 give the path to tar
8137
8138 --with-uhc PATH
8139 give the path to uhc
8140
8141 --alex-option OPT
8142 give an extra option to alex (no need to quote options
8143 containing spaces)
8144
8145 --ar-option OPT
8146 give an extra option to ar (no need to quote options con‐
8147 taining spaces)
8148
8149 --c2hs-option OPT
8150 give an extra option to c2hs (no need to quote options
8151 containing spaces)
8152
8153 --cpphs-option OPT
8154 give an extra option to cpphs (no need to quote options
8155 containing spaces)
8156
8157 --doctest-option OPT
8158 give an extra option to doctest (no need to quote options
8159 containing spaces)
8160
8161 --gcc-option OPT
8162 give an extra option to gcc (no need to quote options
8163 containing spaces)
8164
8165 --ghc-option OPT
8166 give an extra option to ghc (no need to quote options
8167 containing spaces)
8168
8169 --ghc-pkg-option OPT
8170 give an extra option to ghc-pkg (no need to quote options
8171 containing spaces)
8172
8173 --ghcjs-option OPT
8174 give an extra option to ghcjs (no need to quote options
8175 containing spaces)
8176
8177 --ghcjs-pkg-option OPT
8178 give an extra option to ghcjs-pkg (no need to quote op‐
8179 tions containing spaces)
8180
8181 --greencard-option OPT
8182 give an extra option to greencard (no need to quote op‐
8183 tions containing spaces)
8184
8185 --haddock-option OPT
8186 give an extra option to haddock (no need to quote options
8187 containing spaces)
8188
8189 --happy-option OPT
8190 give an extra option to happy (no need to quote options
8191 containing spaces)
8192
8193 --haskell-suite-option OPT
8194 give an extra option to haskell-suite (no need to quote
8195 options containing spaces)
8196
8197 --haskell-suite-pkg-option OPT
8198 give an extra option to haskell-suite-pkg (no need to
8199 quote options containing spaces)
8200
8201 --hmake-option OPT
8202 give an extra option to hmake (no need to quote options
8203 containing spaces)
8204
8205 --hpc-option OPT
8206 give an extra option to hpc (no need to quote options
8207 containing spaces)
8208
8209 --hsc2hs-option OPT
8210 give an extra option to hsc2hs (no need to quote options
8211 containing spaces)
8212
8213 --hscolour-option OPT
8214 give an extra option to hscolour (no need to quote op‐
8215 tions containing spaces)
8216
8217 --jhc-option OPT
8218 give an extra option to jhc (no need to quote options
8219 containing spaces)
8220
8221 --ld-option OPT
8222 give an extra option to ld (no need to quote options con‐
8223 taining spaces)
8224
8225 --pkg-config-option OPT
8226 give an extra option to pkg-config (no need to quote op‐
8227 tions containing spaces)
8228
8229 --runghc-option OPT
8230 give an extra option to runghc (no need to quote options
8231 containing spaces)
8232
8233 --strip-option OPT
8234 give an extra option to strip (no need to quote options
8235 containing spaces)
8236
8237 --tar-option OPT
8238 give an extra option to tar (no need to quote options
8239 containing spaces)
8240
8241 --uhc-option OPT
8242 give an extra option to uhc (no need to quote options
8243 containing spaces)
8244
8245 --alex-options OPTS
8246 give extra options to alex
8247
8248 --ar-options OPTS
8249 give extra options to ar
8250
8251 --c2hs-options OPTS
8252 give extra options to c2hs
8253
8254 --cpphs-options OPTS
8255 give extra options to cpphs
8256
8257 --doctest-options OPTS
8258 give extra options to doctest
8259
8260 --gcc-options OPTS
8261 give extra options to gcc
8262
8263 --ghc-options OPTS
8264 give extra options to ghc
8265
8266 --ghc-pkg-options OPTS
8267 give extra options to ghc-pkg
8268
8269 --ghcjs-options OPTS
8270 give extra options to ghcjs
8271
8272 --ghcjs-pkg-options OPTS
8273 give extra options to ghcjs-pkg
8274
8275 --greencard-options OPTS
8276 give extra options to greencard
8277
8278 --haddock-options OPTS
8279 give extra options to haddock
8280
8281 --happy-options OPTS
8282 give extra options to happy
8283
8284 --haskell-suite-options OPTS
8285 give extra options to haskell-suite
8286
8287 --haskell-suite-pkg-options OPTS
8288 give extra options to haskell-suite-pkg
8289
8290 --hmake-options OPTS
8291 give extra options to hmake
8292
8293 --hpc-options OPTS
8294 give extra options to hpc
8295
8296 --hsc2hs-options OPTS
8297 give extra options to hsc2hs
8298
8299 --hscolour-options OPTS
8300 give extra options to hscolour
8301
8302 --jhc-options OPTS
8303 give extra options to jhc
8304
8305 --ld-options OPTS
8306 give extra options to ld
8307
8308 --pkg-config-options OPTS
8309 give extra options to pkg-config
8310
8311 --runghc-options OPTS
8312 give extra options to runghc
8313
8314 --strip-options OPTS
8315 give extra options to strip
8316
8317 --tar-options OPTS
8318 give extra options to tar
8319
8320 --uhc-options OPTS
8321 give extra options to uhc
8322
8323 --cabal-lib-version VERSION
8324 Select which version of the Cabal lib to use to build
8325 packages (useful for testing).
8326
8327 --constraint CONSTRAINT
8328 Specify constraints on a package (version, in‐
8329 stalled/source, flags)
8330
8331 --preference CONSTRAINT
8332 Specify preferences (soft constraints) on the version of
8333 a package
8334
8335 --solver SOLVER
8336 Select dependency solver to use (default: modular).
8337 Choices: modular.
8338
8339 --allow-older [DEPS]
8340 Ignore lower bounds in all dependencies or DEPS
8341
8342 --allow-newer [DEPS]
8343 Ignore upper bounds in all dependencies or DEPS
8344
8345 --write-ghc-environment-files always|never|ghc8.4.4+
8346 Whether to create a .ghc.environment file after a suc‐
8347 cessful build (v2-build only)
8348
8349 --enable-documentation
8350 --disable-documentation
8351 building of documentation
8352
8353 --doc-index-file TEMPLATE
8354 A central index of haddock API documentation (template
8355 cannot use $pkgid)
8356
8357 --dry-run
8358 Do not install anything, only print what would be in‐
8359 stalled.
8360
8361 --max-backjumps NUM
8362 Maximum number of backjumps allowed while solving (de‐
8363 fault: 4000). Use a negative number to enable unlimited
8364 backtracking. Use 0 to disable backtracking completely.
8365
8366 --reorder-goals
8367 --no-reorder-goals
8368 Try to reorder goals according to certain heuristics.
8369 Slows things down on average, but may make backtracking
8370 faster for some packages.
8371
8372 --count-conflicts
8373 --no-count-conflicts
8374 Try to speed up solving by preferring goals that are in‐
8375 volved in a lot of conflicts (default).
8376
8377 --fine-grained-conflicts
8378 --no-fine-grained-conflicts
8379 Skip a version of a package if it does not resolve the
8380 conflicts encountered in the last version, as a solver
8381 optimization (default).
8382
8383 --minimize-conflict-set
8384 --no-minimize-conflict-set
8385 When there is no solution, try to improve the error mes‐
8386 sage by finding a minimal conflict set (default: false).
8387 May increase run time significantly.
8388
8389 --independent-goals
8390 --no-independent-goals
8391 Treat several goals on the command line as independent.
8392 If several goals depend on the same package, different
8393 versions can be chosen.
8394
8395 --shadow-installed-packages
8396 --no-shadow-installed-packages
8397 If multiple package instances of the same version are in‐
8398 stalled, treat all but one as shadowed.
8399
8400 --strong-flags
8401 --no-strong-flags
8402 Do not defer flag choices (this used to be the default in
8403 cabal-install <= 1.20).
8404
8405 --allow-boot-library-installs
8406 --no-allow-boot-library-installs
8407 Allow cabal to install base, ghc-prim, integer-simple,
8408 integer-gmp, and template-haskell.
8409
8410 --reject-unconstrained-dependencies none|all
8411 Require these packages to have constraints on them if
8412 they are to be selected (default: none).
8413
8414 --reinstall
8415 --no-reinstall
8416 Install even if it means installing the same version
8417 again.
8418
8419 --avoid-reinstalls
8420 --no-avoid-reinstalls
8421 Do not select versions that would destructively overwrite
8422 installed packages.
8423
8424 --force-reinstalls
8425 --no-force-reinstalls
8426 Reinstall packages even if they will most likely break
8427 other installed packages.
8428
8429 --upgrade-dependencies
8430 --no-upgrade-dependencies
8431 Pick the latest version for all dependencies, rather than
8432 trying to pick an installed version.
8433
8434 --only-dependencies
8435 --no-only-dependencies
8436 Install only the dependencies necessary to build the
8437 given packages
8438
8439 --dependencies-only
8440 --no-dependencies-only
8441 A synonym for --only-dependencies
8442
8443 --index-state STATE
8444 Use source package index state as it existed at a previ‐
8445 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
8446 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
8447 'HEAD' (default: 'HEAD').
8448
8449 --root-cmd COMMAND
8450 (No longer supported, do not use.)
8451
8452 --symlink-bindir DIR
8453 Add symlinks to installed executables into this direc‐
8454 tory.
8455
8456 --build-summary TEMPLATE
8457 Save build summaries to file (name template can use
8458 $pkgid, $compiler, $os, $arch)
8459
8460 --build-log TEMPLATE
8461 Log all builds to file (name template can use $pkgid,
8462 $compiler, $os, $arch)
8463
8464 --remote-build-reporting LEVEL
8465 Generate build reports to send to a remote server (none,
8466 anonymous or detailed).
8467
8468 --report-planning-failure
8469 Generate build reports when the dependency solver fails.
8470 This is used by the Hackage build bot.
8471
8472 --enable-per-component
8473 --disable-per-component
8474 Per-component builds when possible
8475
8476 --one-shot
8477 --no-one-shot
8478 Do not record the packages in the world file.
8479
8480 --run-tests
8481 Run package test suites during installation.
8482
8483 -j, --jobs [NUM]
8484 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
8485 given).
8486
8487 --keep-going
8488 After a build failure, continue to build other unaffected
8489 packages.
8490
8491 --offline
8492 --no-offline
8493 Don't download packages from the Internet.
8494
8495 --project-file FILE
8496 Set the name of the cabal.project file to search for in
8497 parent directories
8498
8499 --only
8500 Only installs the package in the current directory.
8501
8502 --haddock-hoogle
8503 Generate a hoogle database
8504
8505 --haddock-html
8506 Generate HTML documentation (the default)
8507
8508 --haddock-html-location URL
8509 Location of HTML documentation for pre-requisite packages
8510
8511 --haddock-for-hackage
8512 Collection of flags to generate documentation suitable
8513 for upload to hackage
8514
8515 --haddock-executables
8516 Run haddock for Executables targets
8517
8518 --haddock-tests
8519 Run haddock for Test Suite targets
8520
8521 --haddock-benchmarks
8522 Run haddock for Benchmark targets
8523
8524 --haddock-all
8525 Run haddock for all targets
8526
8527 --haddock-internal
8528 Run haddock for internal modules and include all symbols
8529
8530 --haddock-css PATH
8531 Use PATH as the haddock stylesheet
8532
8533 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
8534 dock-hyperlinked-source
8535 Hyperlink the documentation to the source code
8536
8537 --haddock-quickjump
8538 Generate an index for interactive documentation naviga‐
8539 tion
8540
8541 --haddock-hscolour-css PATH
8542 Use PATH as the HsColour stylesheet
8543
8544 --haddock-contents-location URL
8545 Bake URL in as the location for the contents page
8546
8547 --test-log TEMPLATE
8548 Log all test suite results to file (name template can use
8549 $pkgid, $compiler, $os, $arch, $test-suite, $result)
8550
8551 --test-machine-log TEMPLATE
8552 Produce a machine-readable log file (name template can
8553 use $pkgid, $compiler, $os, $arch, $result)
8554
8555 --test-show-details FILTER
8556
8557 --test-keep-tix-files
8558 keep .tix files for HPC between test runs
8559
8560 --test-wrapper FILE
8561 Run test through a wrapper.
8562
8563 --test-fail-when-no-test-suites
8564 Exit with failure when no test suites are found.
8565
8566 --test-options TEMPLATES
8567 give extra options to test executables (name templates
8568 can use $pkgid, $compiler, $os, $arch, $test-suite)
8569
8570 --test-option TEMPLATE
8571 give extra option to test executables (no need to quote
8572 options containing spaces, name template can use $pkgid,
8573 $compiler, $os, $arch, $test-suite)
8574
8575 --benchmark-options TEMPLATES
8576 give extra options to benchmark executables (name tem‐
8577 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
8578
8579 --benchmark-option TEMPLATE
8580 give extra option to benchmark executables (no need to
8581 quote options containing spaces, name template can use
8582 $pkgid, $compiler, $os, $arch, $benchmark)
8583
8584 --repl-options FLAG
8585 use this option for the repl
8586
8587 -b, --build-depends DEPENDENCY
8588 Include an additional package in the environment pre‐
8589 sented to GHCi.
8590
8591 --no-transitive-deps
8592 Don't automatically include transitive dependencies of
8593 requested packages.
8594
8595 -z, --ignore-project
8596 Only include explicitly specified packages (and 'base').
8597
8598
8599 cabal new-repl
8600
8601 Usage: cabal new-repl [TARGET] [FLAGS]
8602
8603
8604 Open an interactive session for a component within the project. The
8605 available targets are the same as for the 'new-build' command: individ‐
8606 ual components within packages in the project, including libraries, ex‐
8607 ecutables, test-suites or benchmarks. Packages can also be specified in
8608 which case the library component in the package will be used, or the
8609 (first listed) executable in the package if there is no library.
8610
8611 Dependencies are built or rebuilt as necessary. Additional configura‐
8612 tion flags can be specified on the command line and these extend the
8613 project configuration from the 'cabal.project', 'cabal.project.local'
8614 and other files.
8615
8616
8617 Open an interactive session for a component within the project. The
8618 available targets are the same as for the 'new-build' command: individ‐
8619 ual components within packages in the project, including libraries, ex‐
8620 ecutables, test-suites or benchmarks. Packages can also be specified in
8621 which case the library component in the package will be used, or the
8622 (first listed) executable in the package if there is no library.
8623
8624 Dependencies are built or rebuilt as necessary. Additional configura‐
8625 tion flags can be specified on the command line and these extend the
8626 project configuration from the 'cabal.project', 'cabal.project.local'
8627 and other files.
8628
8629
8630 Flags:
8631 -v, --verbose [n]
8632 Control verbosity (n is 0--3, default verbosity level is
8633 1)
8634
8635 --builddir, --distdir, --distpref DIR
8636 The directory where Cabal puts generated build files (de‐
8637 fault dist)
8638
8639 -g, --ghc
8640 compile with GHC
8641
8642 --ghcjs
8643 compile with GHCJS
8644
8645 --uhc
8646 compile with UHC
8647
8648 --haskell-suite
8649 compile with a haskell-suite compiler
8650
8651 --cabal-file PATH
8652 use this Cabal file
8653
8654 -w, --with-compiler PATH
8655 give the path to a particular compiler
8656
8657 --with-hc-pkg PATH
8658 give the path to the package tool
8659
8660 --prefix DIR
8661 bake this prefix in preparation of installation
8662
8663 --bindir DIR
8664 installation directory for executables
8665
8666 --libdir DIR
8667 installation directory for libraries
8668
8669 --libsubdir DIR
8670 subdirectory of libdir in which libs are installed
8671
8672 --dynlibdir DIR
8673 installation directory for dynamic libraries
8674
8675 --libexecdir DIR
8676 installation directory for program executables
8677
8678 --libexecsubdir DIR
8679 subdirectory of libexecdir in which private executables
8680 are installed
8681
8682 --datadir DIR
8683 installation directory for read-only data
8684
8685 --datasubdir DIR
8686 subdirectory of datadir in which data files are installed
8687
8688 --docdir DIR
8689 installation directory for documentation
8690
8691 --htmldir DIR
8692 installation directory for HTML documentation
8693
8694 --haddockdir DIR
8695 installation directory for haddock interfaces
8696
8697 --sysconfdir DIR
8698 installation directory for configuration files
8699
8700 --program-prefix PREFIX
8701 prefix to be applied to installed executables
8702
8703 --program-suffix SUFFIX
8704 suffix to be applied to installed executables
8705
8706 --enable-library-vanilla
8707 --disable-library-vanilla
8708 Vanilla libraries
8709
8710 -p, --enable-library-profiling
8711 --disable-library-profiling
8712 Library profiling
8713
8714 --enable-shared
8715 --disable-shared
8716 Shared library
8717
8718 --enable-static
8719 --disable-static
8720 Static library
8721
8722 --enable-executable-dynamic
8723 --disable-executable-dynamic
8724 Executable dynamic linking
8725
8726 --enable-executable-static
8727 --disable-executable-static
8728 Executable fully static linking
8729
8730 --enable-profiling
8731 --disable-profiling
8732 Executable and library profiling
8733
8734 --enable-executable-profiling
8735 --disable-executable-profiling
8736 Executable profiling (DEPRECATED)
8737
8738 --profiling-detail level
8739 Profiling detail level for executable and library (de‐
8740 fault, none, exported-functions, toplevel-functions,
8741 all-functions).
8742
8743 --library-profiling-detail level
8744 Profiling detail level for libraries only.
8745
8746 -O, --enable-optimization, --enable-optimisation [n]
8747 Build with optimization (n is 0--2, default is 1)
8748
8749 --disable-optimization, --disable-optimisation
8750 Build without optimization
8751
8752 --enable-debug-info [n]
8753 Emit debug info (n is 0--3, default is 0)
8754
8755 --disable-debug-info
8756 Don't emit debug info
8757
8758 --enable-library-for-ghci
8759 --disable-library-for-ghci
8760 compile library for use with GHCi
8761
8762 --enable-split-sections
8763 --disable-split-sections
8764 compile library code such that unneeded definitions can
8765 be dropped from the final executable (GHC 7.8+)
8766
8767 --enable-split-objs
8768 --disable-split-objs
8769 split library into smaller objects to reduce binary sizes
8770 (GHC 6.6+)
8771
8772 --enable-executable-stripping
8773 --disable-executable-stripping
8774 strip executables upon installation to reduce binary
8775 sizes
8776
8777 --enable-library-stripping
8778 --disable-library-stripping
8779 strip libraries upon installation to reduce binary sizes
8780
8781 --configure-option OPT
8782 Extra option for configure
8783
8784 --user
8785 --global
8786 doing a per-user installation
8787
8788 --package-db DB
8789 Append the given package database to the list of package
8790 databases used (to satisfy dependencies and register
8791 into). May be a specific file, 'global' or 'user'. The
8792 initial list is ['global'], ['global', 'user'], or
8793 ['global', $sandbox], depending on context. Use 'clear'
8794 to reset the list to empty. See the user guide for de‐
8795 tails.
8796
8797 -f, --flags FLAGS
8798 Force values for the given flags in Cabal conditionals in
8799 the .cabal file. E.g., --flags="debug -usebytestrings"
8800 forces the flag "debug" to true and "usebytestrings" to
8801 false.
8802
8803 --extra-include-dirs PATH
8804 A list of directories to search for header files
8805
8806 --enable-deterministic
8807 --disable-deterministic
8808 Try to be as deterministic as possible (used by the test
8809 suite)
8810
8811 --ipid IPID
8812 Installed package ID to compile this package as
8813
8814 --cid CID
8815 Installed component ID to compile this component as
8816
8817 --extra-lib-dirs PATH
8818 A list of directories to search for external libraries
8819
8820 --extra-framework-dirs PATH
8821 A list of directories to search for external frameworks
8822 (OS X only)
8823
8824 --extra-prog-path PATH
8825 A list of directories to search for required programs (in
8826 addition to the normal search locations)
8827
8828 --instantiate-with NAME=MOD
8829 A mapping of signature names to concrete module instanti‐
8830 ations.
8831
8832 --enable-tests
8833 --disable-tests
8834 dependency checking and compilation for test suites
8835 listed in the package description file.
8836
8837 --enable-coverage
8838 --disable-coverage
8839 build package with Haskell Program Coverage. (GHC only)
8840
8841 --enable-library-coverage
8842 --disable-library-coverage
8843 build package with Haskell Program Coverage. (GHC only)
8844 (DEPRECATED)
8845
8846 --enable-benchmarks
8847 --disable-benchmarks
8848 dependency checking and compilation for benchmarks listed
8849 in the package description file.
8850
8851 --enable-relocatable
8852 --disable-relocatable
8853 building a package that is relocatable. (GHC only)
8854
8855 --disable-response-files
8856 enable workaround for old versions of programs like "ar"
8857 that do not support @file arguments
8858
8859 --allow-depending-on-private-libs
8860 Allow depending on private libraries. If set, the library
8861 visibility check MUST be done externally.
8862
8863 --with-alex PATH
8864 give the path to alex
8865
8866 --with-ar PATH
8867 give the path to ar
8868
8869 --with-c2hs PATH
8870 give the path to c2hs
8871
8872 --with-cpphs PATH
8873 give the path to cpphs
8874
8875 --with-doctest PATH
8876 give the path to doctest
8877
8878 --with-gcc PATH
8879 give the path to gcc
8880
8881 --with-ghc PATH
8882 give the path to ghc
8883
8884 --with-ghc-pkg PATH
8885 give the path to ghc-pkg
8886
8887 --with-ghcjs PATH
8888 give the path to ghcjs
8889
8890 --with-ghcjs-pkg PATH
8891 give the path to ghcjs-pkg
8892
8893 --with-greencard PATH
8894 give the path to greencard
8895
8896 --with-haddock PATH
8897 give the path to haddock
8898
8899 --with-happy PATH
8900 give the path to happy
8901
8902 --with-haskell-suite PATH
8903 give the path to haskell-suite
8904
8905 --with-haskell-suite-pkg PATH
8906 give the path to haskell-suite-pkg
8907
8908 --with-hmake PATH
8909 give the path to hmake
8910
8911 --with-hpc PATH
8912 give the path to hpc
8913
8914 --with-hsc2hs PATH
8915 give the path to hsc2hs
8916
8917 --with-hscolour PATH
8918 give the path to hscolour
8919
8920 --with-jhc PATH
8921 give the path to jhc
8922
8923 --with-ld PATH
8924 give the path to ld
8925
8926 --with-pkg-config PATH
8927 give the path to pkg-config
8928
8929 --with-runghc PATH
8930 give the path to runghc
8931
8932 --with-strip PATH
8933 give the path to strip
8934
8935 --with-tar PATH
8936 give the path to tar
8937
8938 --with-uhc PATH
8939 give the path to uhc
8940
8941 --alex-option OPT
8942 give an extra option to alex (no need to quote options
8943 containing spaces)
8944
8945 --ar-option OPT
8946 give an extra option to ar (no need to quote options con‐
8947 taining spaces)
8948
8949 --c2hs-option OPT
8950 give an extra option to c2hs (no need to quote options
8951 containing spaces)
8952
8953 --cpphs-option OPT
8954 give an extra option to cpphs (no need to quote options
8955 containing spaces)
8956
8957 --doctest-option OPT
8958 give an extra option to doctest (no need to quote options
8959 containing spaces)
8960
8961 --gcc-option OPT
8962 give an extra option to gcc (no need to quote options
8963 containing spaces)
8964
8965 --ghc-option OPT
8966 give an extra option to ghc (no need to quote options
8967 containing spaces)
8968
8969 --ghc-pkg-option OPT
8970 give an extra option to ghc-pkg (no need to quote options
8971 containing spaces)
8972
8973 --ghcjs-option OPT
8974 give an extra option to ghcjs (no need to quote options
8975 containing spaces)
8976
8977 --ghcjs-pkg-option OPT
8978 give an extra option to ghcjs-pkg (no need to quote op‐
8979 tions containing spaces)
8980
8981 --greencard-option OPT
8982 give an extra option to greencard (no need to quote op‐
8983 tions containing spaces)
8984
8985 --haddock-option OPT
8986 give an extra option to haddock (no need to quote options
8987 containing spaces)
8988
8989 --happy-option OPT
8990 give an extra option to happy (no need to quote options
8991 containing spaces)
8992
8993 --haskell-suite-option OPT
8994 give an extra option to haskell-suite (no need to quote
8995 options containing spaces)
8996
8997 --haskell-suite-pkg-option OPT
8998 give an extra option to haskell-suite-pkg (no need to
8999 quote options containing spaces)
9000
9001 --hmake-option OPT
9002 give an extra option to hmake (no need to quote options
9003 containing spaces)
9004
9005 --hpc-option OPT
9006 give an extra option to hpc (no need to quote options
9007 containing spaces)
9008
9009 --hsc2hs-option OPT
9010 give an extra option to hsc2hs (no need to quote options
9011 containing spaces)
9012
9013 --hscolour-option OPT
9014 give an extra option to hscolour (no need to quote op‐
9015 tions containing spaces)
9016
9017 --jhc-option OPT
9018 give an extra option to jhc (no need to quote options
9019 containing spaces)
9020
9021 --ld-option OPT
9022 give an extra option to ld (no need to quote options con‐
9023 taining spaces)
9024
9025 --pkg-config-option OPT
9026 give an extra option to pkg-config (no need to quote op‐
9027 tions containing spaces)
9028
9029 --runghc-option OPT
9030 give an extra option to runghc (no need to quote options
9031 containing spaces)
9032
9033 --strip-option OPT
9034 give an extra option to strip (no need to quote options
9035 containing spaces)
9036
9037 --tar-option OPT
9038 give an extra option to tar (no need to quote options
9039 containing spaces)
9040
9041 --uhc-option OPT
9042 give an extra option to uhc (no need to quote options
9043 containing spaces)
9044
9045 --alex-options OPTS
9046 give extra options to alex
9047
9048 --ar-options OPTS
9049 give extra options to ar
9050
9051 --c2hs-options OPTS
9052 give extra options to c2hs
9053
9054 --cpphs-options OPTS
9055 give extra options to cpphs
9056
9057 --doctest-options OPTS
9058 give extra options to doctest
9059
9060 --gcc-options OPTS
9061 give extra options to gcc
9062
9063 --ghc-options OPTS
9064 give extra options to ghc
9065
9066 --ghc-pkg-options OPTS
9067 give extra options to ghc-pkg
9068
9069 --ghcjs-options OPTS
9070 give extra options to ghcjs
9071
9072 --ghcjs-pkg-options OPTS
9073 give extra options to ghcjs-pkg
9074
9075 --greencard-options OPTS
9076 give extra options to greencard
9077
9078 --haddock-options OPTS
9079 give extra options to haddock
9080
9081 --happy-options OPTS
9082 give extra options to happy
9083
9084 --haskell-suite-options OPTS
9085 give extra options to haskell-suite
9086
9087 --haskell-suite-pkg-options OPTS
9088 give extra options to haskell-suite-pkg
9089
9090 --hmake-options OPTS
9091 give extra options to hmake
9092
9093 --hpc-options OPTS
9094 give extra options to hpc
9095
9096 --hsc2hs-options OPTS
9097 give extra options to hsc2hs
9098
9099 --hscolour-options OPTS
9100 give extra options to hscolour
9101
9102 --jhc-options OPTS
9103 give extra options to jhc
9104
9105 --ld-options OPTS
9106 give extra options to ld
9107
9108 --pkg-config-options OPTS
9109 give extra options to pkg-config
9110
9111 --runghc-options OPTS
9112 give extra options to runghc
9113
9114 --strip-options OPTS
9115 give extra options to strip
9116
9117 --tar-options OPTS
9118 give extra options to tar
9119
9120 --uhc-options OPTS
9121 give extra options to uhc
9122
9123 --cabal-lib-version VERSION
9124 Select which version of the Cabal lib to use to build
9125 packages (useful for testing).
9126
9127 --constraint CONSTRAINT
9128 Specify constraints on a package (version, in‐
9129 stalled/source, flags)
9130
9131 --preference CONSTRAINT
9132 Specify preferences (soft constraints) on the version of
9133 a package
9134
9135 --solver SOLVER
9136 Select dependency solver to use (default: modular).
9137 Choices: modular.
9138
9139 --allow-older [DEPS]
9140 Ignore lower bounds in all dependencies or DEPS
9141
9142 --allow-newer [DEPS]
9143 Ignore upper bounds in all dependencies or DEPS
9144
9145 --write-ghc-environment-files always|never|ghc8.4.4+
9146 Whether to create a .ghc.environment file after a suc‐
9147 cessful build (v2-build only)
9148
9149 --enable-documentation
9150 --disable-documentation
9151 building of documentation
9152
9153 --doc-index-file TEMPLATE
9154 A central index of haddock API documentation (template
9155 cannot use $pkgid)
9156
9157 --dry-run
9158 Do not install anything, only print what would be in‐
9159 stalled.
9160
9161 --max-backjumps NUM
9162 Maximum number of backjumps allowed while solving (de‐
9163 fault: 4000). Use a negative number to enable unlimited
9164 backtracking. Use 0 to disable backtracking completely.
9165
9166 --reorder-goals
9167 --no-reorder-goals
9168 Try to reorder goals according to certain heuristics.
9169 Slows things down on average, but may make backtracking
9170 faster for some packages.
9171
9172 --count-conflicts
9173 --no-count-conflicts
9174 Try to speed up solving by preferring goals that are in‐
9175 volved in a lot of conflicts (default).
9176
9177 --fine-grained-conflicts
9178 --no-fine-grained-conflicts
9179 Skip a version of a package if it does not resolve the
9180 conflicts encountered in the last version, as a solver
9181 optimization (default).
9182
9183 --minimize-conflict-set
9184 --no-minimize-conflict-set
9185 When there is no solution, try to improve the error mes‐
9186 sage by finding a minimal conflict set (default: false).
9187 May increase run time significantly.
9188
9189 --independent-goals
9190 --no-independent-goals
9191 Treat several goals on the command line as independent.
9192 If several goals depend on the same package, different
9193 versions can be chosen.
9194
9195 --shadow-installed-packages
9196 --no-shadow-installed-packages
9197 If multiple package instances of the same version are in‐
9198 stalled, treat all but one as shadowed.
9199
9200 --strong-flags
9201 --no-strong-flags
9202 Do not defer flag choices (this used to be the default in
9203 cabal-install <= 1.20).
9204
9205 --allow-boot-library-installs
9206 --no-allow-boot-library-installs
9207 Allow cabal to install base, ghc-prim, integer-simple,
9208 integer-gmp, and template-haskell.
9209
9210 --reject-unconstrained-dependencies none|all
9211 Require these packages to have constraints on them if
9212 they are to be selected (default: none).
9213
9214 --reinstall
9215 --no-reinstall
9216 Install even if it means installing the same version
9217 again.
9218
9219 --avoid-reinstalls
9220 --no-avoid-reinstalls
9221 Do not select versions that would destructively overwrite
9222 installed packages.
9223
9224 --force-reinstalls
9225 --no-force-reinstalls
9226 Reinstall packages even if they will most likely break
9227 other installed packages.
9228
9229 --upgrade-dependencies
9230 --no-upgrade-dependencies
9231 Pick the latest version for all dependencies, rather than
9232 trying to pick an installed version.
9233
9234 --only-dependencies
9235 --no-only-dependencies
9236 Install only the dependencies necessary to build the
9237 given packages
9238
9239 --dependencies-only
9240 --no-dependencies-only
9241 A synonym for --only-dependencies
9242
9243 --index-state STATE
9244 Use source package index state as it existed at a previ‐
9245 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
9246 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
9247 'HEAD' (default: 'HEAD').
9248
9249 --root-cmd COMMAND
9250 (No longer supported, do not use.)
9251
9252 --symlink-bindir DIR
9253 Add symlinks to installed executables into this direc‐
9254 tory.
9255
9256 --build-summary TEMPLATE
9257 Save build summaries to file (name template can use
9258 $pkgid, $compiler, $os, $arch)
9259
9260 --build-log TEMPLATE
9261 Log all builds to file (name template can use $pkgid,
9262 $compiler, $os, $arch)
9263
9264 --remote-build-reporting LEVEL
9265 Generate build reports to send to a remote server (none,
9266 anonymous or detailed).
9267
9268 --report-planning-failure
9269 Generate build reports when the dependency solver fails.
9270 This is used by the Hackage build bot.
9271
9272 --enable-per-component
9273 --disable-per-component
9274 Per-component builds when possible
9275
9276 --one-shot
9277 --no-one-shot
9278 Do not record the packages in the world file.
9279
9280 --run-tests
9281 Run package test suites during installation.
9282
9283 -j, --jobs [NUM]
9284 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
9285 given).
9286
9287 --keep-going
9288 After a build failure, continue to build other unaffected
9289 packages.
9290
9291 --offline
9292 --no-offline
9293 Don't download packages from the Internet.
9294
9295 --project-file FILE
9296 Set the name of the cabal.project file to search for in
9297 parent directories
9298
9299 --only
9300 Only installs the package in the current directory.
9301
9302 --haddock-hoogle
9303 Generate a hoogle database
9304
9305 --haddock-html
9306 Generate HTML documentation (the default)
9307
9308 --haddock-html-location URL
9309 Location of HTML documentation for pre-requisite packages
9310
9311 --haddock-for-hackage
9312 Collection of flags to generate documentation suitable
9313 for upload to hackage
9314
9315 --haddock-executables
9316 Run haddock for Executables targets
9317
9318 --haddock-tests
9319 Run haddock for Test Suite targets
9320
9321 --haddock-benchmarks
9322 Run haddock for Benchmark targets
9323
9324 --haddock-all
9325 Run haddock for all targets
9326
9327 --haddock-internal
9328 Run haddock for internal modules and include all symbols
9329
9330 --haddock-css PATH
9331 Use PATH as the haddock stylesheet
9332
9333 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
9334 dock-hyperlinked-source
9335 Hyperlink the documentation to the source code
9336
9337 --haddock-quickjump
9338 Generate an index for interactive documentation naviga‐
9339 tion
9340
9341 --haddock-hscolour-css PATH
9342 Use PATH as the HsColour stylesheet
9343
9344 --haddock-contents-location URL
9345 Bake URL in as the location for the contents page
9346
9347 --test-log TEMPLATE
9348 Log all test suite results to file (name template can use
9349 $pkgid, $compiler, $os, $arch, $test-suite, $result)
9350
9351 --test-machine-log TEMPLATE
9352 Produce a machine-readable log file (name template can
9353 use $pkgid, $compiler, $os, $arch, $result)
9354
9355 --test-show-details FILTER
9356
9357 --test-keep-tix-files
9358 keep .tix files for HPC between test runs
9359
9360 --test-wrapper FILE
9361 Run test through a wrapper.
9362
9363 --test-fail-when-no-test-suites
9364 Exit with failure when no test suites are found.
9365
9366 --test-options TEMPLATES
9367 give extra options to test executables (name templates
9368 can use $pkgid, $compiler, $os, $arch, $test-suite)
9369
9370 --test-option TEMPLATE
9371 give extra option to test executables (no need to quote
9372 options containing spaces, name template can use $pkgid,
9373 $compiler, $os, $arch, $test-suite)
9374
9375 --benchmark-options TEMPLATES
9376 give extra options to benchmark executables (name tem‐
9377 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
9378
9379 --benchmark-option TEMPLATE
9380 give extra option to benchmark executables (no need to
9381 quote options containing spaces, name template can use
9382 $pkgid, $compiler, $os, $arch, $benchmark)
9383
9384 --repl-options FLAG
9385 use this option for the repl
9386
9387 -b, --build-depends DEPENDENCY
9388 Include an additional package in the environment pre‐
9389 sented to GHCi.
9390
9391 --no-transitive-deps
9392 Don't automatically include transitive dependencies of
9393 requested packages.
9394
9395 -z, --ignore-project
9396 Only include explicitly specified packages (and 'base').
9397
9398
9399 cabal v2-repl
9400
9401 Usage: cabal v2-repl [TARGET] [FLAGS]
9402
9403
9404 Open an interactive session for a component within the project. The
9405 available targets are the same as for the 'v2-build' command: individ‐
9406 ual components within packages in the project, including libraries, ex‐
9407 ecutables, test-suites or benchmarks. Packages can also be specified in
9408 which case the library component in the package will be used, or the
9409 (first listed) executable in the package if there is no library.
9410
9411 Dependencies are built or rebuilt as necessary. Additional configura‐
9412 tion flags can be specified on the command line and these extend the
9413 project configuration from the 'cabal.project', 'cabal.project.local'
9414 and other files.
9415
9416
9417 Examples, open an interactive session:
9418 cabal v2-repl
9419 for the default component in the package in the current directory
9420 cabal v2-repl pkgname
9421 for the default component in the package named 'pkgname'
9422 cabal v2-repl ./pkgfoo
9423 for the default component in the package in the ./pkgfoo directory
9424 cabal v2-repl cname
9425 for the component named 'cname'
9426 cabal v2-repl pkgname:cname
9427 for the component 'cname' in the package 'pkgname'
9428
9429 cabal v2-repl --build-depends lens
9430 add the latest version of the library 'lens' to the default compo‐
9431 nent (or no componentif there is no project present)
9432 cabal v2-repl --build-depends "lens >= 4.15 && < 4.18"
9433 add a version (constrained between 4.15 and 4.18) of the library
9434 'lens' to the default component (or no component if there is no project
9435 present) Note: this command is part of the new project-based system
9436 (aka nix-style local builds). These features are currently in beta.
9437 Please see http://cabal.readthedocs.io/en/latest/nix-local-build-over‐
9438 view.html for details and advice on what you can expect to work. If you
9439 encounter problems please file issues at https://github.com/haskell/ca‐
9440 bal/issues and if you have any time to get involved and help with test‐
9441 ing, fixing bugs etc then that is very much appreciated.
9442
9443
9444 Flags:
9445 -v, --verbose [n]
9446 Control verbosity (n is 0--3, default verbosity level is
9447 1)
9448
9449 --builddir, --distdir, --distpref DIR
9450 The directory where Cabal puts generated build files (de‐
9451 fault dist)
9452
9453 -g, --ghc
9454 compile with GHC
9455
9456 --ghcjs
9457 compile with GHCJS
9458
9459 --uhc
9460 compile with UHC
9461
9462 --haskell-suite
9463 compile with a haskell-suite compiler
9464
9465 --cabal-file PATH
9466 use this Cabal file
9467
9468 -w, --with-compiler PATH
9469 give the path to a particular compiler
9470
9471 --with-hc-pkg PATH
9472 give the path to the package tool
9473
9474 --prefix DIR
9475 bake this prefix in preparation of installation
9476
9477 --bindir DIR
9478 installation directory for executables
9479
9480 --libdir DIR
9481 installation directory for libraries
9482
9483 --libsubdir DIR
9484 subdirectory of libdir in which libs are installed
9485
9486 --dynlibdir DIR
9487 installation directory for dynamic libraries
9488
9489 --libexecdir DIR
9490 installation directory for program executables
9491
9492 --libexecsubdir DIR
9493 subdirectory of libexecdir in which private executables
9494 are installed
9495
9496 --datadir DIR
9497 installation directory for read-only data
9498
9499 --datasubdir DIR
9500 subdirectory of datadir in which data files are installed
9501
9502 --docdir DIR
9503 installation directory for documentation
9504
9505 --htmldir DIR
9506 installation directory for HTML documentation
9507
9508 --haddockdir DIR
9509 installation directory for haddock interfaces
9510
9511 --sysconfdir DIR
9512 installation directory for configuration files
9513
9514 --program-prefix PREFIX
9515 prefix to be applied to installed executables
9516
9517 --program-suffix SUFFIX
9518 suffix to be applied to installed executables
9519
9520 --enable-library-vanilla
9521 --disable-library-vanilla
9522 Vanilla libraries
9523
9524 -p, --enable-library-profiling
9525 --disable-library-profiling
9526 Library profiling
9527
9528 --enable-shared
9529 --disable-shared
9530 Shared library
9531
9532 --enable-static
9533 --disable-static
9534 Static library
9535
9536 --enable-executable-dynamic
9537 --disable-executable-dynamic
9538 Executable dynamic linking
9539
9540 --enable-executable-static
9541 --disable-executable-static
9542 Executable fully static linking
9543
9544 --enable-profiling
9545 --disable-profiling
9546 Executable and library profiling
9547
9548 --enable-executable-profiling
9549 --disable-executable-profiling
9550 Executable profiling (DEPRECATED)
9551
9552 --profiling-detail level
9553 Profiling detail level for executable and library (de‐
9554 fault, none, exported-functions, toplevel-functions,
9555 all-functions).
9556
9557 --library-profiling-detail level
9558 Profiling detail level for libraries only.
9559
9560 -O, --enable-optimization, --enable-optimisation [n]
9561 Build with optimization (n is 0--2, default is 1)
9562
9563 --disable-optimization, --disable-optimisation
9564 Build without optimization
9565
9566 --enable-debug-info [n]
9567 Emit debug info (n is 0--3, default is 0)
9568
9569 --disable-debug-info
9570 Don't emit debug info
9571
9572 --enable-library-for-ghci
9573 --disable-library-for-ghci
9574 compile library for use with GHCi
9575
9576 --enable-split-sections
9577 --disable-split-sections
9578 compile library code such that unneeded definitions can
9579 be dropped from the final executable (GHC 7.8+)
9580
9581 --enable-split-objs
9582 --disable-split-objs
9583 split library into smaller objects to reduce binary sizes
9584 (GHC 6.6+)
9585
9586 --enable-executable-stripping
9587 --disable-executable-stripping
9588 strip executables upon installation to reduce binary
9589 sizes
9590
9591 --enable-library-stripping
9592 --disable-library-stripping
9593 strip libraries upon installation to reduce binary sizes
9594
9595 --configure-option OPT
9596 Extra option for configure
9597
9598 --user
9599 --global
9600 doing a per-user installation
9601
9602 --package-db DB
9603 Append the given package database to the list of package
9604 databases used (to satisfy dependencies and register
9605 into). May be a specific file, 'global' or 'user'. The
9606 initial list is ['global'], ['global', 'user'], or
9607 ['global', $sandbox], depending on context. Use 'clear'
9608 to reset the list to empty. See the user guide for de‐
9609 tails.
9610
9611 -f, --flags FLAGS
9612 Force values for the given flags in Cabal conditionals in
9613 the .cabal file. E.g., --flags="debug -usebytestrings"
9614 forces the flag "debug" to true and "usebytestrings" to
9615 false.
9616
9617 --extra-include-dirs PATH
9618 A list of directories to search for header files
9619
9620 --enable-deterministic
9621 --disable-deterministic
9622 Try to be as deterministic as possible (used by the test
9623 suite)
9624
9625 --ipid IPID
9626 Installed package ID to compile this package as
9627
9628 --cid CID
9629 Installed component ID to compile this component as
9630
9631 --extra-lib-dirs PATH
9632 A list of directories to search for external libraries
9633
9634 --extra-framework-dirs PATH
9635 A list of directories to search for external frameworks
9636 (OS X only)
9637
9638 --extra-prog-path PATH
9639 A list of directories to search for required programs (in
9640 addition to the normal search locations)
9641
9642 --instantiate-with NAME=MOD
9643 A mapping of signature names to concrete module instanti‐
9644 ations.
9645
9646 --enable-tests
9647 --disable-tests
9648 dependency checking and compilation for test suites
9649 listed in the package description file.
9650
9651 --enable-coverage
9652 --disable-coverage
9653 build package with Haskell Program Coverage. (GHC only)
9654
9655 --enable-library-coverage
9656 --disable-library-coverage
9657 build package with Haskell Program Coverage. (GHC only)
9658 (DEPRECATED)
9659
9660 --enable-benchmarks
9661 --disable-benchmarks
9662 dependency checking and compilation for benchmarks listed
9663 in the package description file.
9664
9665 --enable-relocatable
9666 --disable-relocatable
9667 building a package that is relocatable. (GHC only)
9668
9669 --disable-response-files
9670 enable workaround for old versions of programs like "ar"
9671 that do not support @file arguments
9672
9673 --allow-depending-on-private-libs
9674 Allow depending on private libraries. If set, the library
9675 visibility check MUST be done externally.
9676
9677 --with-alex PATH
9678 give the path to alex
9679
9680 --with-ar PATH
9681 give the path to ar
9682
9683 --with-c2hs PATH
9684 give the path to c2hs
9685
9686 --with-cpphs PATH
9687 give the path to cpphs
9688
9689 --with-doctest PATH
9690 give the path to doctest
9691
9692 --with-gcc PATH
9693 give the path to gcc
9694
9695 --with-ghc PATH
9696 give the path to ghc
9697
9698 --with-ghc-pkg PATH
9699 give the path to ghc-pkg
9700
9701 --with-ghcjs PATH
9702 give the path to ghcjs
9703
9704 --with-ghcjs-pkg PATH
9705 give the path to ghcjs-pkg
9706
9707 --with-greencard PATH
9708 give the path to greencard
9709
9710 --with-haddock PATH
9711 give the path to haddock
9712
9713 --with-happy PATH
9714 give the path to happy
9715
9716 --with-haskell-suite PATH
9717 give the path to haskell-suite
9718
9719 --with-haskell-suite-pkg PATH
9720 give the path to haskell-suite-pkg
9721
9722 --with-hmake PATH
9723 give the path to hmake
9724
9725 --with-hpc PATH
9726 give the path to hpc
9727
9728 --with-hsc2hs PATH
9729 give the path to hsc2hs
9730
9731 --with-hscolour PATH
9732 give the path to hscolour
9733
9734 --with-jhc PATH
9735 give the path to jhc
9736
9737 --with-ld PATH
9738 give the path to ld
9739
9740 --with-pkg-config PATH
9741 give the path to pkg-config
9742
9743 --with-runghc PATH
9744 give the path to runghc
9745
9746 --with-strip PATH
9747 give the path to strip
9748
9749 --with-tar PATH
9750 give the path to tar
9751
9752 --with-uhc PATH
9753 give the path to uhc
9754
9755 --alex-option OPT
9756 give an extra option to alex (no need to quote options
9757 containing spaces)
9758
9759 --ar-option OPT
9760 give an extra option to ar (no need to quote options con‐
9761 taining spaces)
9762
9763 --c2hs-option OPT
9764 give an extra option to c2hs (no need to quote options
9765 containing spaces)
9766
9767 --cpphs-option OPT
9768 give an extra option to cpphs (no need to quote options
9769 containing spaces)
9770
9771 --doctest-option OPT
9772 give an extra option to doctest (no need to quote options
9773 containing spaces)
9774
9775 --gcc-option OPT
9776 give an extra option to gcc (no need to quote options
9777 containing spaces)
9778
9779 --ghc-option OPT
9780 give an extra option to ghc (no need to quote options
9781 containing spaces)
9782
9783 --ghc-pkg-option OPT
9784 give an extra option to ghc-pkg (no need to quote options
9785 containing spaces)
9786
9787 --ghcjs-option OPT
9788 give an extra option to ghcjs (no need to quote options
9789 containing spaces)
9790
9791 --ghcjs-pkg-option OPT
9792 give an extra option to ghcjs-pkg (no need to quote op‐
9793 tions containing spaces)
9794
9795 --greencard-option OPT
9796 give an extra option to greencard (no need to quote op‐
9797 tions containing spaces)
9798
9799 --haddock-option OPT
9800 give an extra option to haddock (no need to quote options
9801 containing spaces)
9802
9803 --happy-option OPT
9804 give an extra option to happy (no need to quote options
9805 containing spaces)
9806
9807 --haskell-suite-option OPT
9808 give an extra option to haskell-suite (no need to quote
9809 options containing spaces)
9810
9811 --haskell-suite-pkg-option OPT
9812 give an extra option to haskell-suite-pkg (no need to
9813 quote options containing spaces)
9814
9815 --hmake-option OPT
9816 give an extra option to hmake (no need to quote options
9817 containing spaces)
9818
9819 --hpc-option OPT
9820 give an extra option to hpc (no need to quote options
9821 containing spaces)
9822
9823 --hsc2hs-option OPT
9824 give an extra option to hsc2hs (no need to quote options
9825 containing spaces)
9826
9827 --hscolour-option OPT
9828 give an extra option to hscolour (no need to quote op‐
9829 tions containing spaces)
9830
9831 --jhc-option OPT
9832 give an extra option to jhc (no need to quote options
9833 containing spaces)
9834
9835 --ld-option OPT
9836 give an extra option to ld (no need to quote options con‐
9837 taining spaces)
9838
9839 --pkg-config-option OPT
9840 give an extra option to pkg-config (no need to quote op‐
9841 tions containing spaces)
9842
9843 --runghc-option OPT
9844 give an extra option to runghc (no need to quote options
9845 containing spaces)
9846
9847 --strip-option OPT
9848 give an extra option to strip (no need to quote options
9849 containing spaces)
9850
9851 --tar-option OPT
9852 give an extra option to tar (no need to quote options
9853 containing spaces)
9854
9855 --uhc-option OPT
9856 give an extra option to uhc (no need to quote options
9857 containing spaces)
9858
9859 --alex-options OPTS
9860 give extra options to alex
9861
9862 --ar-options OPTS
9863 give extra options to ar
9864
9865 --c2hs-options OPTS
9866 give extra options to c2hs
9867
9868 --cpphs-options OPTS
9869 give extra options to cpphs
9870
9871 --doctest-options OPTS
9872 give extra options to doctest
9873
9874 --gcc-options OPTS
9875 give extra options to gcc
9876
9877 --ghc-options OPTS
9878 give extra options to ghc
9879
9880 --ghc-pkg-options OPTS
9881 give extra options to ghc-pkg
9882
9883 --ghcjs-options OPTS
9884 give extra options to ghcjs
9885
9886 --ghcjs-pkg-options OPTS
9887 give extra options to ghcjs-pkg
9888
9889 --greencard-options OPTS
9890 give extra options to greencard
9891
9892 --haddock-options OPTS
9893 give extra options to haddock
9894
9895 --happy-options OPTS
9896 give extra options to happy
9897
9898 --haskell-suite-options OPTS
9899 give extra options to haskell-suite
9900
9901 --haskell-suite-pkg-options OPTS
9902 give extra options to haskell-suite-pkg
9903
9904 --hmake-options OPTS
9905 give extra options to hmake
9906
9907 --hpc-options OPTS
9908 give extra options to hpc
9909
9910 --hsc2hs-options OPTS
9911 give extra options to hsc2hs
9912
9913 --hscolour-options OPTS
9914 give extra options to hscolour
9915
9916 --jhc-options OPTS
9917 give extra options to jhc
9918
9919 --ld-options OPTS
9920 give extra options to ld
9921
9922 --pkg-config-options OPTS
9923 give extra options to pkg-config
9924
9925 --runghc-options OPTS
9926 give extra options to runghc
9927
9928 --strip-options OPTS
9929 give extra options to strip
9930
9931 --tar-options OPTS
9932 give extra options to tar
9933
9934 --uhc-options OPTS
9935 give extra options to uhc
9936
9937 --cabal-lib-version VERSION
9938 Select which version of the Cabal lib to use to build
9939 packages (useful for testing).
9940
9941 --constraint CONSTRAINT
9942 Specify constraints on a package (version, in‐
9943 stalled/source, flags)
9944
9945 --preference CONSTRAINT
9946 Specify preferences (soft constraints) on the version of
9947 a package
9948
9949 --solver SOLVER
9950 Select dependency solver to use (default: modular).
9951 Choices: modular.
9952
9953 --allow-older [DEPS]
9954 Ignore lower bounds in all dependencies or DEPS
9955
9956 --allow-newer [DEPS]
9957 Ignore upper bounds in all dependencies or DEPS
9958
9959 --write-ghc-environment-files always|never|ghc8.4.4+
9960 Whether to create a .ghc.environment file after a suc‐
9961 cessful build (v2-build only)
9962
9963 --enable-documentation
9964 --disable-documentation
9965 building of documentation
9966
9967 --doc-index-file TEMPLATE
9968 A central index of haddock API documentation (template
9969 cannot use $pkgid)
9970
9971 --dry-run
9972 Do not install anything, only print what would be in‐
9973 stalled.
9974
9975 --max-backjumps NUM
9976 Maximum number of backjumps allowed while solving (de‐
9977 fault: 4000). Use a negative number to enable unlimited
9978 backtracking. Use 0 to disable backtracking completely.
9979
9980 --reorder-goals
9981 --no-reorder-goals
9982 Try to reorder goals according to certain heuristics.
9983 Slows things down on average, but may make backtracking
9984 faster for some packages.
9985
9986 --count-conflicts
9987 --no-count-conflicts
9988 Try to speed up solving by preferring goals that are in‐
9989 volved in a lot of conflicts (default).
9990
9991 --fine-grained-conflicts
9992 --no-fine-grained-conflicts
9993 Skip a version of a package if it does not resolve the
9994 conflicts encountered in the last version, as a solver
9995 optimization (default).
9996
9997 --minimize-conflict-set
9998 --no-minimize-conflict-set
9999 When there is no solution, try to improve the error mes‐
10000 sage by finding a minimal conflict set (default: false).
10001 May increase run time significantly.
10002
10003 --independent-goals
10004 --no-independent-goals
10005 Treat several goals on the command line as independent.
10006 If several goals depend on the same package, different
10007 versions can be chosen.
10008
10009 --shadow-installed-packages
10010 --no-shadow-installed-packages
10011 If multiple package instances of the same version are in‐
10012 stalled, treat all but one as shadowed.
10013
10014 --strong-flags
10015 --no-strong-flags
10016 Do not defer flag choices (this used to be the default in
10017 cabal-install <= 1.20).
10018
10019 --allow-boot-library-installs
10020 --no-allow-boot-library-installs
10021 Allow cabal to install base, ghc-prim, integer-simple,
10022 integer-gmp, and template-haskell.
10023
10024 --reject-unconstrained-dependencies none|all
10025 Require these packages to have constraints on them if
10026 they are to be selected (default: none).
10027
10028 --reinstall
10029 --no-reinstall
10030 Install even if it means installing the same version
10031 again.
10032
10033 --avoid-reinstalls
10034 --no-avoid-reinstalls
10035 Do not select versions that would destructively overwrite
10036 installed packages.
10037
10038 --force-reinstalls
10039 --no-force-reinstalls
10040 Reinstall packages even if they will most likely break
10041 other installed packages.
10042
10043 --upgrade-dependencies
10044 --no-upgrade-dependencies
10045 Pick the latest version for all dependencies, rather than
10046 trying to pick an installed version.
10047
10048 --only-dependencies
10049 --no-only-dependencies
10050 Install only the dependencies necessary to build the
10051 given packages
10052
10053 --dependencies-only
10054 --no-dependencies-only
10055 A synonym for --only-dependencies
10056
10057 --index-state STATE
10058 Use source package index state as it existed at a previ‐
10059 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
10060 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
10061 'HEAD' (default: 'HEAD').
10062
10063 --root-cmd COMMAND
10064 (No longer supported, do not use.)
10065
10066 --symlink-bindir DIR
10067 Add symlinks to installed executables into this direc‐
10068 tory.
10069
10070 --build-summary TEMPLATE
10071 Save build summaries to file (name template can use
10072 $pkgid, $compiler, $os, $arch)
10073
10074 --build-log TEMPLATE
10075 Log all builds to file (name template can use $pkgid,
10076 $compiler, $os, $arch)
10077
10078 --remote-build-reporting LEVEL
10079 Generate build reports to send to a remote server (none,
10080 anonymous or detailed).
10081
10082 --report-planning-failure
10083 Generate build reports when the dependency solver fails.
10084 This is used by the Hackage build bot.
10085
10086 --enable-per-component
10087 --disable-per-component
10088 Per-component builds when possible
10089
10090 --one-shot
10091 --no-one-shot
10092 Do not record the packages in the world file.
10093
10094 --run-tests
10095 Run package test suites during installation.
10096
10097 -j, --jobs [NUM]
10098 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
10099 given).
10100
10101 --keep-going
10102 After a build failure, continue to build other unaffected
10103 packages.
10104
10105 --offline
10106 --no-offline
10107 Don't download packages from the Internet.
10108
10109 --project-file FILE
10110 Set the name of the cabal.project file to search for in
10111 parent directories
10112
10113 --only
10114 Only installs the package in the current directory.
10115
10116 --haddock-hoogle
10117 Generate a hoogle database
10118
10119 --haddock-html
10120 Generate HTML documentation (the default)
10121
10122 --haddock-html-location URL
10123 Location of HTML documentation for pre-requisite packages
10124
10125 --haddock-for-hackage
10126 Collection of flags to generate documentation suitable
10127 for upload to hackage
10128
10129 --haddock-executables
10130 Run haddock for Executables targets
10131
10132 --haddock-tests
10133 Run haddock for Test Suite targets
10134
10135 --haddock-benchmarks
10136 Run haddock for Benchmark targets
10137
10138 --haddock-all
10139 Run haddock for all targets
10140
10141 --haddock-internal
10142 Run haddock for internal modules and include all symbols
10143
10144 --haddock-css PATH
10145 Use PATH as the haddock stylesheet
10146
10147 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
10148 dock-hyperlinked-source
10149 Hyperlink the documentation to the source code
10150
10151 --haddock-quickjump
10152 Generate an index for interactive documentation naviga‐
10153 tion
10154
10155 --haddock-hscolour-css PATH
10156 Use PATH as the HsColour stylesheet
10157
10158 --haddock-contents-location URL
10159 Bake URL in as the location for the contents page
10160
10161 --test-log TEMPLATE
10162 Log all test suite results to file (name template can use
10163 $pkgid, $compiler, $os, $arch, $test-suite, $result)
10164
10165 --test-machine-log TEMPLATE
10166 Produce a machine-readable log file (name template can
10167 use $pkgid, $compiler, $os, $arch, $result)
10168
10169 --test-show-details FILTER
10170
10171 --test-keep-tix-files
10172 keep .tix files for HPC between test runs
10173
10174 --test-wrapper FILE
10175 Run test through a wrapper.
10176
10177 --test-fail-when-no-test-suites
10178 Exit with failure when no test suites are found.
10179
10180 --test-options TEMPLATES
10181 give extra options to test executables (name templates
10182 can use $pkgid, $compiler, $os, $arch, $test-suite)
10183
10184 --test-option TEMPLATE
10185 give extra option to test executables (no need to quote
10186 options containing spaces, name template can use $pkgid,
10187 $compiler, $os, $arch, $test-suite)
10188
10189 --benchmark-options TEMPLATES
10190 give extra options to benchmark executables (name tem‐
10191 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
10192
10193 --benchmark-option TEMPLATE
10194 give extra option to benchmark executables (no need to
10195 quote options containing spaces, name template can use
10196 $pkgid, $compiler, $os, $arch, $benchmark)
10197
10198 --repl-options FLAG
10199 use this option for the repl
10200
10201 -b, --build-depends DEPENDENCY
10202 Include an additional package in the environment pre‐
10203 sented to GHCi.
10204
10205 --no-transitive-deps
10206 Don't automatically include transitive dependencies of
10207 requested packages.
10208
10209 -z, --ignore-project
10210 Only include explicitly specified packages (and 'base').
10211
10212
10213 cabal freeze
10214
10215 Usage: cabal freeze [FLAGS]
10216
10217
10218 The project configuration is frozen so that it will be reproducible in
10219 future.
10220
10221 The precise dependency configuration for the project is written to the
10222 specified). This file extends the configuration from the 'ca‐
10223 bal.project' file and thus is used as the project configuration for all
10224 other commands (such as
10225
10226 The freeze file can be kept in source control. To make small adjust‐
10227 ments it may be edited manually, or to make bigger changes you may wish
10228 to delete the file and re-freeze. For more control, one approach is to
10229 try variations using once you have a satisfactory solution to freeze it
10230 using the 'freeze' command with the same set of flags.
10231
10232
10233 The project configuration is frozen so that it will be reproducible in
10234 future.
10235
10236 The precise dependency configuration for the project is written to the
10237 specified). This file extends the configuration from the 'ca‐
10238 bal.project' file and thus is used as the project configuration for all
10239 other commands (such as
10240
10241 The freeze file can be kept in source control. To make small adjust‐
10242 ments it may be edited manually, or to make bigger changes you may wish
10243 to delete the file and re-freeze. For more control, one approach is to
10244 try variations using once you have a satisfactory solution to freeze it
10245 using the 'freeze' command with the same set of flags.
10246
10247
10248 Flags:
10249 -v, --verbose [n]
10250 Control verbosity (n is 0--3, default verbosity level is
10251 1)
10252
10253 --builddir, --distdir, --distpref DIR
10254 The directory where Cabal puts generated build files (de‐
10255 fault dist)
10256
10257 -g, --ghc
10258 compile with GHC
10259
10260 --ghcjs
10261 compile with GHCJS
10262
10263 --uhc
10264 compile with UHC
10265
10266 --haskell-suite
10267 compile with a haskell-suite compiler
10268
10269 --cabal-file PATH
10270 use this Cabal file
10271
10272 -w, --with-compiler PATH
10273 give the path to a particular compiler
10274
10275 --with-hc-pkg PATH
10276 give the path to the package tool
10277
10278 --prefix DIR
10279 bake this prefix in preparation of installation
10280
10281 --bindir DIR
10282 installation directory for executables
10283
10284 --libdir DIR
10285 installation directory for libraries
10286
10287 --libsubdir DIR
10288 subdirectory of libdir in which libs are installed
10289
10290 --dynlibdir DIR
10291 installation directory for dynamic libraries
10292
10293 --libexecdir DIR
10294 installation directory for program executables
10295
10296 --libexecsubdir DIR
10297 subdirectory of libexecdir in which private executables
10298 are installed
10299
10300 --datadir DIR
10301 installation directory for read-only data
10302
10303 --datasubdir DIR
10304 subdirectory of datadir in which data files are installed
10305
10306 --docdir DIR
10307 installation directory for documentation
10308
10309 --htmldir DIR
10310 installation directory for HTML documentation
10311
10312 --haddockdir DIR
10313 installation directory for haddock interfaces
10314
10315 --sysconfdir DIR
10316 installation directory for configuration files
10317
10318 --program-prefix PREFIX
10319 prefix to be applied to installed executables
10320
10321 --program-suffix SUFFIX
10322 suffix to be applied to installed executables
10323
10324 --enable-library-vanilla
10325 --disable-library-vanilla
10326 Vanilla libraries
10327
10328 -p, --enable-library-profiling
10329 --disable-library-profiling
10330 Library profiling
10331
10332 --enable-shared
10333 --disable-shared
10334 Shared library
10335
10336 --enable-static
10337 --disable-static
10338 Static library
10339
10340 --enable-executable-dynamic
10341 --disable-executable-dynamic
10342 Executable dynamic linking
10343
10344 --enable-executable-static
10345 --disable-executable-static
10346 Executable fully static linking
10347
10348 --enable-profiling
10349 --disable-profiling
10350 Executable and library profiling
10351
10352 --enable-executable-profiling
10353 --disable-executable-profiling
10354 Executable profiling (DEPRECATED)
10355
10356 --profiling-detail level
10357 Profiling detail level for executable and library (de‐
10358 fault, none, exported-functions, toplevel-functions,
10359 all-functions).
10360
10361 --library-profiling-detail level
10362 Profiling detail level for libraries only.
10363
10364 -O, --enable-optimization, --enable-optimisation [n]
10365 Build with optimization (n is 0--2, default is 1)
10366
10367 --disable-optimization, --disable-optimisation
10368 Build without optimization
10369
10370 --enable-debug-info [n]
10371 Emit debug info (n is 0--3, default is 0)
10372
10373 --disable-debug-info
10374 Don't emit debug info
10375
10376 --enable-library-for-ghci
10377 --disable-library-for-ghci
10378 compile library for use with GHCi
10379
10380 --enable-split-sections
10381 --disable-split-sections
10382 compile library code such that unneeded definitions can
10383 be dropped from the final executable (GHC 7.8+)
10384
10385 --enable-split-objs
10386 --disable-split-objs
10387 split library into smaller objects to reduce binary sizes
10388 (GHC 6.6+)
10389
10390 --enable-executable-stripping
10391 --disable-executable-stripping
10392 strip executables upon installation to reduce binary
10393 sizes
10394
10395 --enable-library-stripping
10396 --disable-library-stripping
10397 strip libraries upon installation to reduce binary sizes
10398
10399 --configure-option OPT
10400 Extra option for configure
10401
10402 --user
10403 --global
10404 doing a per-user installation
10405
10406 --package-db DB
10407 Append the given package database to the list of package
10408 databases used (to satisfy dependencies and register
10409 into). May be a specific file, 'global' or 'user'. The
10410 initial list is ['global'], ['global', 'user'], or
10411 ['global', $sandbox], depending on context. Use 'clear'
10412 to reset the list to empty. See the user guide for de‐
10413 tails.
10414
10415 -f, --flags FLAGS
10416 Force values for the given flags in Cabal conditionals in
10417 the .cabal file. E.g., --flags="debug -usebytestrings"
10418 forces the flag "debug" to true and "usebytestrings" to
10419 false.
10420
10421 --extra-include-dirs PATH
10422 A list of directories to search for header files
10423
10424 --enable-deterministic
10425 --disable-deterministic
10426 Try to be as deterministic as possible (used by the test
10427 suite)
10428
10429 --ipid IPID
10430 Installed package ID to compile this package as
10431
10432 --cid CID
10433 Installed component ID to compile this component as
10434
10435 --extra-lib-dirs PATH
10436 A list of directories to search for external libraries
10437
10438 --extra-framework-dirs PATH
10439 A list of directories to search for external frameworks
10440 (OS X only)
10441
10442 --extra-prog-path PATH
10443 A list of directories to search for required programs (in
10444 addition to the normal search locations)
10445
10446 --instantiate-with NAME=MOD
10447 A mapping of signature names to concrete module instanti‐
10448 ations.
10449
10450 --enable-tests
10451 --disable-tests
10452 dependency checking and compilation for test suites
10453 listed in the package description file.
10454
10455 --enable-coverage
10456 --disable-coverage
10457 build package with Haskell Program Coverage. (GHC only)
10458
10459 --enable-library-coverage
10460 --disable-library-coverage
10461 build package with Haskell Program Coverage. (GHC only)
10462 (DEPRECATED)
10463
10464 --enable-benchmarks
10465 --disable-benchmarks
10466 dependency checking and compilation for benchmarks listed
10467 in the package description file.
10468
10469 --enable-relocatable
10470 --disable-relocatable
10471 building a package that is relocatable. (GHC only)
10472
10473 --disable-response-files
10474 enable workaround for old versions of programs like "ar"
10475 that do not support @file arguments
10476
10477 --allow-depending-on-private-libs
10478 Allow depending on private libraries. If set, the library
10479 visibility check MUST be done externally.
10480
10481 --with-alex PATH
10482 give the path to alex
10483
10484 --with-ar PATH
10485 give the path to ar
10486
10487 --with-c2hs PATH
10488 give the path to c2hs
10489
10490 --with-cpphs PATH
10491 give the path to cpphs
10492
10493 --with-doctest PATH
10494 give the path to doctest
10495
10496 --with-gcc PATH
10497 give the path to gcc
10498
10499 --with-ghc PATH
10500 give the path to ghc
10501
10502 --with-ghc-pkg PATH
10503 give the path to ghc-pkg
10504
10505 --with-ghcjs PATH
10506 give the path to ghcjs
10507
10508 --with-ghcjs-pkg PATH
10509 give the path to ghcjs-pkg
10510
10511 --with-greencard PATH
10512 give the path to greencard
10513
10514 --with-haddock PATH
10515 give the path to haddock
10516
10517 --with-happy PATH
10518 give the path to happy
10519
10520 --with-haskell-suite PATH
10521 give the path to haskell-suite
10522
10523 --with-haskell-suite-pkg PATH
10524 give the path to haskell-suite-pkg
10525
10526 --with-hmake PATH
10527 give the path to hmake
10528
10529 --with-hpc PATH
10530 give the path to hpc
10531
10532 --with-hsc2hs PATH
10533 give the path to hsc2hs
10534
10535 --with-hscolour PATH
10536 give the path to hscolour
10537
10538 --with-jhc PATH
10539 give the path to jhc
10540
10541 --with-ld PATH
10542 give the path to ld
10543
10544 --with-pkg-config PATH
10545 give the path to pkg-config
10546
10547 --with-runghc PATH
10548 give the path to runghc
10549
10550 --with-strip PATH
10551 give the path to strip
10552
10553 --with-tar PATH
10554 give the path to tar
10555
10556 --with-uhc PATH
10557 give the path to uhc
10558
10559 --alex-option OPT
10560 give an extra option to alex (no need to quote options
10561 containing spaces)
10562
10563 --ar-option OPT
10564 give an extra option to ar (no need to quote options con‐
10565 taining spaces)
10566
10567 --c2hs-option OPT
10568 give an extra option to c2hs (no need to quote options
10569 containing spaces)
10570
10571 --cpphs-option OPT
10572 give an extra option to cpphs (no need to quote options
10573 containing spaces)
10574
10575 --doctest-option OPT
10576 give an extra option to doctest (no need to quote options
10577 containing spaces)
10578
10579 --gcc-option OPT
10580 give an extra option to gcc (no need to quote options
10581 containing spaces)
10582
10583 --ghc-option OPT
10584 give an extra option to ghc (no need to quote options
10585 containing spaces)
10586
10587 --ghc-pkg-option OPT
10588 give an extra option to ghc-pkg (no need to quote options
10589 containing spaces)
10590
10591 --ghcjs-option OPT
10592 give an extra option to ghcjs (no need to quote options
10593 containing spaces)
10594
10595 --ghcjs-pkg-option OPT
10596 give an extra option to ghcjs-pkg (no need to quote op‐
10597 tions containing spaces)
10598
10599 --greencard-option OPT
10600 give an extra option to greencard (no need to quote op‐
10601 tions containing spaces)
10602
10603 --haddock-option OPT
10604 give an extra option to haddock (no need to quote options
10605 containing spaces)
10606
10607 --happy-option OPT
10608 give an extra option to happy (no need to quote options
10609 containing spaces)
10610
10611 --haskell-suite-option OPT
10612 give an extra option to haskell-suite (no need to quote
10613 options containing spaces)
10614
10615 --haskell-suite-pkg-option OPT
10616 give an extra option to haskell-suite-pkg (no need to
10617 quote options containing spaces)
10618
10619 --hmake-option OPT
10620 give an extra option to hmake (no need to quote options
10621 containing spaces)
10622
10623 --hpc-option OPT
10624 give an extra option to hpc (no need to quote options
10625 containing spaces)
10626
10627 --hsc2hs-option OPT
10628 give an extra option to hsc2hs (no need to quote options
10629 containing spaces)
10630
10631 --hscolour-option OPT
10632 give an extra option to hscolour (no need to quote op‐
10633 tions containing spaces)
10634
10635 --jhc-option OPT
10636 give an extra option to jhc (no need to quote options
10637 containing spaces)
10638
10639 --ld-option OPT
10640 give an extra option to ld (no need to quote options con‐
10641 taining spaces)
10642
10643 --pkg-config-option OPT
10644 give an extra option to pkg-config (no need to quote op‐
10645 tions containing spaces)
10646
10647 --runghc-option OPT
10648 give an extra option to runghc (no need to quote options
10649 containing spaces)
10650
10651 --strip-option OPT
10652 give an extra option to strip (no need to quote options
10653 containing spaces)
10654
10655 --tar-option OPT
10656 give an extra option to tar (no need to quote options
10657 containing spaces)
10658
10659 --uhc-option OPT
10660 give an extra option to uhc (no need to quote options
10661 containing spaces)
10662
10663 --alex-options OPTS
10664 give extra options to alex
10665
10666 --ar-options OPTS
10667 give extra options to ar
10668
10669 --c2hs-options OPTS
10670 give extra options to c2hs
10671
10672 --cpphs-options OPTS
10673 give extra options to cpphs
10674
10675 --doctest-options OPTS
10676 give extra options to doctest
10677
10678 --gcc-options OPTS
10679 give extra options to gcc
10680
10681 --ghc-options OPTS
10682 give extra options to ghc
10683
10684 --ghc-pkg-options OPTS
10685 give extra options to ghc-pkg
10686
10687 --ghcjs-options OPTS
10688 give extra options to ghcjs
10689
10690 --ghcjs-pkg-options OPTS
10691 give extra options to ghcjs-pkg
10692
10693 --greencard-options OPTS
10694 give extra options to greencard
10695
10696 --haddock-options OPTS
10697 give extra options to haddock
10698
10699 --happy-options OPTS
10700 give extra options to happy
10701
10702 --haskell-suite-options OPTS
10703 give extra options to haskell-suite
10704
10705 --haskell-suite-pkg-options OPTS
10706 give extra options to haskell-suite-pkg
10707
10708 --hmake-options OPTS
10709 give extra options to hmake
10710
10711 --hpc-options OPTS
10712 give extra options to hpc
10713
10714 --hsc2hs-options OPTS
10715 give extra options to hsc2hs
10716
10717 --hscolour-options OPTS
10718 give extra options to hscolour
10719
10720 --jhc-options OPTS
10721 give extra options to jhc
10722
10723 --ld-options OPTS
10724 give extra options to ld
10725
10726 --pkg-config-options OPTS
10727 give extra options to pkg-config
10728
10729 --runghc-options OPTS
10730 give extra options to runghc
10731
10732 --strip-options OPTS
10733 give extra options to strip
10734
10735 --tar-options OPTS
10736 give extra options to tar
10737
10738 --uhc-options OPTS
10739 give extra options to uhc
10740
10741 --cabal-lib-version VERSION
10742 Select which version of the Cabal lib to use to build
10743 packages (useful for testing).
10744
10745 --constraint CONSTRAINT
10746 Specify constraints on a package (version, in‐
10747 stalled/source, flags)
10748
10749 --preference CONSTRAINT
10750 Specify preferences (soft constraints) on the version of
10751 a package
10752
10753 --solver SOLVER
10754 Select dependency solver to use (default: modular).
10755 Choices: modular.
10756
10757 --allow-older [DEPS]
10758 Ignore lower bounds in all dependencies or DEPS
10759
10760 --allow-newer [DEPS]
10761 Ignore upper bounds in all dependencies or DEPS
10762
10763 --write-ghc-environment-files always|never|ghc8.4.4+
10764 Whether to create a .ghc.environment file after a suc‐
10765 cessful build (v2-build only)
10766
10767 --enable-documentation
10768 --disable-documentation
10769 building of documentation
10770
10771 --doc-index-file TEMPLATE
10772 A central index of haddock API documentation (template
10773 cannot use $pkgid)
10774
10775 --dry-run
10776 Do not install anything, only print what would be in‐
10777 stalled.
10778
10779 --max-backjumps NUM
10780 Maximum number of backjumps allowed while solving (de‐
10781 fault: 4000). Use a negative number to enable unlimited
10782 backtracking. Use 0 to disable backtracking completely.
10783
10784 --reorder-goals
10785 --no-reorder-goals
10786 Try to reorder goals according to certain heuristics.
10787 Slows things down on average, but may make backtracking
10788 faster for some packages.
10789
10790 --count-conflicts
10791 --no-count-conflicts
10792 Try to speed up solving by preferring goals that are in‐
10793 volved in a lot of conflicts (default).
10794
10795 --fine-grained-conflicts
10796 --no-fine-grained-conflicts
10797 Skip a version of a package if it does not resolve the
10798 conflicts encountered in the last version, as a solver
10799 optimization (default).
10800
10801 --minimize-conflict-set
10802 --no-minimize-conflict-set
10803 When there is no solution, try to improve the error mes‐
10804 sage by finding a minimal conflict set (default: false).
10805 May increase run time significantly.
10806
10807 --independent-goals
10808 --no-independent-goals
10809 Treat several goals on the command line as independent.
10810 If several goals depend on the same package, different
10811 versions can be chosen.
10812
10813 --shadow-installed-packages
10814 --no-shadow-installed-packages
10815 If multiple package instances of the same version are in‐
10816 stalled, treat all but one as shadowed.
10817
10818 --strong-flags
10819 --no-strong-flags
10820 Do not defer flag choices (this used to be the default in
10821 cabal-install <= 1.20).
10822
10823 --allow-boot-library-installs
10824 --no-allow-boot-library-installs
10825 Allow cabal to install base, ghc-prim, integer-simple,
10826 integer-gmp, and template-haskell.
10827
10828 --reject-unconstrained-dependencies none|all
10829 Require these packages to have constraints on them if
10830 they are to be selected (default: none).
10831
10832 --reinstall
10833 --no-reinstall
10834 Install even if it means installing the same version
10835 again.
10836
10837 --avoid-reinstalls
10838 --no-avoid-reinstalls
10839 Do not select versions that would destructively overwrite
10840 installed packages.
10841
10842 --force-reinstalls
10843 --no-force-reinstalls
10844 Reinstall packages even if they will most likely break
10845 other installed packages.
10846
10847 --upgrade-dependencies
10848 --no-upgrade-dependencies
10849 Pick the latest version for all dependencies, rather than
10850 trying to pick an installed version.
10851
10852 --only-dependencies
10853 --no-only-dependencies
10854 Install only the dependencies necessary to build the
10855 given packages
10856
10857 --dependencies-only
10858 --no-dependencies-only
10859 A synonym for --only-dependencies
10860
10861 --index-state STATE
10862 Use source package index state as it existed at a previ‐
10863 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
10864 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
10865 'HEAD' (default: 'HEAD').
10866
10867 --root-cmd COMMAND
10868 (No longer supported, do not use.)
10869
10870 --symlink-bindir DIR
10871 Add symlinks to installed executables into this direc‐
10872 tory.
10873
10874 --build-summary TEMPLATE
10875 Save build summaries to file (name template can use
10876 $pkgid, $compiler, $os, $arch)
10877
10878 --build-log TEMPLATE
10879 Log all builds to file (name template can use $pkgid,
10880 $compiler, $os, $arch)
10881
10882 --remote-build-reporting LEVEL
10883 Generate build reports to send to a remote server (none,
10884 anonymous or detailed).
10885
10886 --report-planning-failure
10887 Generate build reports when the dependency solver fails.
10888 This is used by the Hackage build bot.
10889
10890 --enable-per-component
10891 --disable-per-component
10892 Per-component builds when possible
10893
10894 --one-shot
10895 --no-one-shot
10896 Do not record the packages in the world file.
10897
10898 --run-tests
10899 Run package test suites during installation.
10900
10901 -j, --jobs [NUM]
10902 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
10903 given).
10904
10905 --keep-going
10906 After a build failure, continue to build other unaffected
10907 packages.
10908
10909 --offline
10910 --no-offline
10911 Don't download packages from the Internet.
10912
10913 --project-file FILE
10914 Set the name of the cabal.project file to search for in
10915 parent directories
10916
10917 --only
10918 Only installs the package in the current directory.
10919
10920 --haddock-hoogle
10921 Generate a hoogle database
10922
10923 --haddock-html
10924 Generate HTML documentation (the default)
10925
10926 --haddock-html-location URL
10927 Location of HTML documentation for pre-requisite packages
10928
10929 --haddock-for-hackage
10930 Collection of flags to generate documentation suitable
10931 for upload to hackage
10932
10933 --haddock-executables
10934 Run haddock for Executables targets
10935
10936 --haddock-tests
10937 Run haddock for Test Suite targets
10938
10939 --haddock-benchmarks
10940 Run haddock for Benchmark targets
10941
10942 --haddock-all
10943 Run haddock for all targets
10944
10945 --haddock-internal
10946 Run haddock for internal modules and include all symbols
10947
10948 --haddock-css PATH
10949 Use PATH as the haddock stylesheet
10950
10951 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
10952 dock-hyperlinked-source
10953 Hyperlink the documentation to the source code
10954
10955 --haddock-quickjump
10956 Generate an index for interactive documentation naviga‐
10957 tion
10958
10959 --haddock-hscolour-css PATH
10960 Use PATH as the HsColour stylesheet
10961
10962 --haddock-contents-location URL
10963 Bake URL in as the location for the contents page
10964
10965 --test-log TEMPLATE
10966 Log all test suite results to file (name template can use
10967 $pkgid, $compiler, $os, $arch, $test-suite, $result)
10968
10969 --test-machine-log TEMPLATE
10970 Produce a machine-readable log file (name template can
10971 use $pkgid, $compiler, $os, $arch, $result)
10972
10973 --test-show-details FILTER
10974
10975 --test-keep-tix-files
10976 keep .tix files for HPC between test runs
10977
10978 --test-wrapper FILE
10979 Run test through a wrapper.
10980
10981 --test-fail-when-no-test-suites
10982 Exit with failure when no test suites are found.
10983
10984 --test-options TEMPLATES
10985 give extra options to test executables (name templates
10986 can use $pkgid, $compiler, $os, $arch, $test-suite)
10987
10988 --test-option TEMPLATE
10989 give extra option to test executables (no need to quote
10990 options containing spaces, name template can use $pkgid,
10991 $compiler, $os, $arch, $test-suite)
10992
10993 --benchmark-options TEMPLATES
10994 give extra options to benchmark executables (name tem‐
10995 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
10996
10997 --benchmark-option TEMPLATE
10998 give extra option to benchmark executables (no need to
10999 quote options containing spaces, name template can use
11000 $pkgid, $compiler, $os, $arch, $benchmark)
11001
11002
11003 cabal new-freeze
11004
11005 Usage: cabal new-freeze [FLAGS]
11006
11007
11008 The project configuration is frozen so that it will be reproducible in
11009 future.
11010
11011 The precise dependency configuration for the project is written to the
11012 specified). This file extends the configuration from the 'ca‐
11013 bal.project' file and thus is used as the project configuration for all
11014 other commands (such as
11015
11016 The freeze file can be kept in source control. To make small adjust‐
11017 ments it may be edited manually, or to make bigger changes you may wish
11018 to delete the file and re-freeze. For more control, one approach is to
11019 try variations using once you have a satisfactory solution to freeze it
11020 using the 'new-freeze' command with the same set of flags.
11021
11022
11023 The project configuration is frozen so that it will be reproducible in
11024 future.
11025
11026 The precise dependency configuration for the project is written to the
11027 specified). This file extends the configuration from the 'ca‐
11028 bal.project' file and thus is used as the project configuration for all
11029 other commands (such as
11030
11031 The freeze file can be kept in source control. To make small adjust‐
11032 ments it may be edited manually, or to make bigger changes you may wish
11033 to delete the file and re-freeze. For more control, one approach is to
11034 try variations using once you have a satisfactory solution to freeze it
11035 using the 'new-freeze' command with the same set of flags.
11036
11037
11038 Flags:
11039 -v, --verbose [n]
11040 Control verbosity (n is 0--3, default verbosity level is
11041 1)
11042
11043 --builddir, --distdir, --distpref DIR
11044 The directory where Cabal puts generated build files (de‐
11045 fault dist)
11046
11047 -g, --ghc
11048 compile with GHC
11049
11050 --ghcjs
11051 compile with GHCJS
11052
11053 --uhc
11054 compile with UHC
11055
11056 --haskell-suite
11057 compile with a haskell-suite compiler
11058
11059 --cabal-file PATH
11060 use this Cabal file
11061
11062 -w, --with-compiler PATH
11063 give the path to a particular compiler
11064
11065 --with-hc-pkg PATH
11066 give the path to the package tool
11067
11068 --prefix DIR
11069 bake this prefix in preparation of installation
11070
11071 --bindir DIR
11072 installation directory for executables
11073
11074 --libdir DIR
11075 installation directory for libraries
11076
11077 --libsubdir DIR
11078 subdirectory of libdir in which libs are installed
11079
11080 --dynlibdir DIR
11081 installation directory for dynamic libraries
11082
11083 --libexecdir DIR
11084 installation directory for program executables
11085
11086 --libexecsubdir DIR
11087 subdirectory of libexecdir in which private executables
11088 are installed
11089
11090 --datadir DIR
11091 installation directory for read-only data
11092
11093 --datasubdir DIR
11094 subdirectory of datadir in which data files are installed
11095
11096 --docdir DIR
11097 installation directory for documentation
11098
11099 --htmldir DIR
11100 installation directory for HTML documentation
11101
11102 --haddockdir DIR
11103 installation directory for haddock interfaces
11104
11105 --sysconfdir DIR
11106 installation directory for configuration files
11107
11108 --program-prefix PREFIX
11109 prefix to be applied to installed executables
11110
11111 --program-suffix SUFFIX
11112 suffix to be applied to installed executables
11113
11114 --enable-library-vanilla
11115 --disable-library-vanilla
11116 Vanilla libraries
11117
11118 -p, --enable-library-profiling
11119 --disable-library-profiling
11120 Library profiling
11121
11122 --enable-shared
11123 --disable-shared
11124 Shared library
11125
11126 --enable-static
11127 --disable-static
11128 Static library
11129
11130 --enable-executable-dynamic
11131 --disable-executable-dynamic
11132 Executable dynamic linking
11133
11134 --enable-executable-static
11135 --disable-executable-static
11136 Executable fully static linking
11137
11138 --enable-profiling
11139 --disable-profiling
11140 Executable and library profiling
11141
11142 --enable-executable-profiling
11143 --disable-executable-profiling
11144 Executable profiling (DEPRECATED)
11145
11146 --profiling-detail level
11147 Profiling detail level for executable and library (de‐
11148 fault, none, exported-functions, toplevel-functions,
11149 all-functions).
11150
11151 --library-profiling-detail level
11152 Profiling detail level for libraries only.
11153
11154 -O, --enable-optimization, --enable-optimisation [n]
11155 Build with optimization (n is 0--2, default is 1)
11156
11157 --disable-optimization, --disable-optimisation
11158 Build without optimization
11159
11160 --enable-debug-info [n]
11161 Emit debug info (n is 0--3, default is 0)
11162
11163 --disable-debug-info
11164 Don't emit debug info
11165
11166 --enable-library-for-ghci
11167 --disable-library-for-ghci
11168 compile library for use with GHCi
11169
11170 --enable-split-sections
11171 --disable-split-sections
11172 compile library code such that unneeded definitions can
11173 be dropped from the final executable (GHC 7.8+)
11174
11175 --enable-split-objs
11176 --disable-split-objs
11177 split library into smaller objects to reduce binary sizes
11178 (GHC 6.6+)
11179
11180 --enable-executable-stripping
11181 --disable-executable-stripping
11182 strip executables upon installation to reduce binary
11183 sizes
11184
11185 --enable-library-stripping
11186 --disable-library-stripping
11187 strip libraries upon installation to reduce binary sizes
11188
11189 --configure-option OPT
11190 Extra option for configure
11191
11192 --user
11193 --global
11194 doing a per-user installation
11195
11196 --package-db DB
11197 Append the given package database to the list of package
11198 databases used (to satisfy dependencies and register
11199 into). May be a specific file, 'global' or 'user'. The
11200 initial list is ['global'], ['global', 'user'], or
11201 ['global', $sandbox], depending on context. Use 'clear'
11202 to reset the list to empty. See the user guide for de‐
11203 tails.
11204
11205 -f, --flags FLAGS
11206 Force values for the given flags in Cabal conditionals in
11207 the .cabal file. E.g., --flags="debug -usebytestrings"
11208 forces the flag "debug" to true and "usebytestrings" to
11209 false.
11210
11211 --extra-include-dirs PATH
11212 A list of directories to search for header files
11213
11214 --enable-deterministic
11215 --disable-deterministic
11216 Try to be as deterministic as possible (used by the test
11217 suite)
11218
11219 --ipid IPID
11220 Installed package ID to compile this package as
11221
11222 --cid CID
11223 Installed component ID to compile this component as
11224
11225 --extra-lib-dirs PATH
11226 A list of directories to search for external libraries
11227
11228 --extra-framework-dirs PATH
11229 A list of directories to search for external frameworks
11230 (OS X only)
11231
11232 --extra-prog-path PATH
11233 A list of directories to search for required programs (in
11234 addition to the normal search locations)
11235
11236 --instantiate-with NAME=MOD
11237 A mapping of signature names to concrete module instanti‐
11238 ations.
11239
11240 --enable-tests
11241 --disable-tests
11242 dependency checking and compilation for test suites
11243 listed in the package description file.
11244
11245 --enable-coverage
11246 --disable-coverage
11247 build package with Haskell Program Coverage. (GHC only)
11248
11249 --enable-library-coverage
11250 --disable-library-coverage
11251 build package with Haskell Program Coverage. (GHC only)
11252 (DEPRECATED)
11253
11254 --enable-benchmarks
11255 --disable-benchmarks
11256 dependency checking and compilation for benchmarks listed
11257 in the package description file.
11258
11259 --enable-relocatable
11260 --disable-relocatable
11261 building a package that is relocatable. (GHC only)
11262
11263 --disable-response-files
11264 enable workaround for old versions of programs like "ar"
11265 that do not support @file arguments
11266
11267 --allow-depending-on-private-libs
11268 Allow depending on private libraries. If set, the library
11269 visibility check MUST be done externally.
11270
11271 --with-alex PATH
11272 give the path to alex
11273
11274 --with-ar PATH
11275 give the path to ar
11276
11277 --with-c2hs PATH
11278 give the path to c2hs
11279
11280 --with-cpphs PATH
11281 give the path to cpphs
11282
11283 --with-doctest PATH
11284 give the path to doctest
11285
11286 --with-gcc PATH
11287 give the path to gcc
11288
11289 --with-ghc PATH
11290 give the path to ghc
11291
11292 --with-ghc-pkg PATH
11293 give the path to ghc-pkg
11294
11295 --with-ghcjs PATH
11296 give the path to ghcjs
11297
11298 --with-ghcjs-pkg PATH
11299 give the path to ghcjs-pkg
11300
11301 --with-greencard PATH
11302 give the path to greencard
11303
11304 --with-haddock PATH
11305 give the path to haddock
11306
11307 --with-happy PATH
11308 give the path to happy
11309
11310 --with-haskell-suite PATH
11311 give the path to haskell-suite
11312
11313 --with-haskell-suite-pkg PATH
11314 give the path to haskell-suite-pkg
11315
11316 --with-hmake PATH
11317 give the path to hmake
11318
11319 --with-hpc PATH
11320 give the path to hpc
11321
11322 --with-hsc2hs PATH
11323 give the path to hsc2hs
11324
11325 --with-hscolour PATH
11326 give the path to hscolour
11327
11328 --with-jhc PATH
11329 give the path to jhc
11330
11331 --with-ld PATH
11332 give the path to ld
11333
11334 --with-pkg-config PATH
11335 give the path to pkg-config
11336
11337 --with-runghc PATH
11338 give the path to runghc
11339
11340 --with-strip PATH
11341 give the path to strip
11342
11343 --with-tar PATH
11344 give the path to tar
11345
11346 --with-uhc PATH
11347 give the path to uhc
11348
11349 --alex-option OPT
11350 give an extra option to alex (no need to quote options
11351 containing spaces)
11352
11353 --ar-option OPT
11354 give an extra option to ar (no need to quote options con‐
11355 taining spaces)
11356
11357 --c2hs-option OPT
11358 give an extra option to c2hs (no need to quote options
11359 containing spaces)
11360
11361 --cpphs-option OPT
11362 give an extra option to cpphs (no need to quote options
11363 containing spaces)
11364
11365 --doctest-option OPT
11366 give an extra option to doctest (no need to quote options
11367 containing spaces)
11368
11369 --gcc-option OPT
11370 give an extra option to gcc (no need to quote options
11371 containing spaces)
11372
11373 --ghc-option OPT
11374 give an extra option to ghc (no need to quote options
11375 containing spaces)
11376
11377 --ghc-pkg-option OPT
11378 give an extra option to ghc-pkg (no need to quote options
11379 containing spaces)
11380
11381 --ghcjs-option OPT
11382 give an extra option to ghcjs (no need to quote options
11383 containing spaces)
11384
11385 --ghcjs-pkg-option OPT
11386 give an extra option to ghcjs-pkg (no need to quote op‐
11387 tions containing spaces)
11388
11389 --greencard-option OPT
11390 give an extra option to greencard (no need to quote op‐
11391 tions containing spaces)
11392
11393 --haddock-option OPT
11394 give an extra option to haddock (no need to quote options
11395 containing spaces)
11396
11397 --happy-option OPT
11398 give an extra option to happy (no need to quote options
11399 containing spaces)
11400
11401 --haskell-suite-option OPT
11402 give an extra option to haskell-suite (no need to quote
11403 options containing spaces)
11404
11405 --haskell-suite-pkg-option OPT
11406 give an extra option to haskell-suite-pkg (no need to
11407 quote options containing spaces)
11408
11409 --hmake-option OPT
11410 give an extra option to hmake (no need to quote options
11411 containing spaces)
11412
11413 --hpc-option OPT
11414 give an extra option to hpc (no need to quote options
11415 containing spaces)
11416
11417 --hsc2hs-option OPT
11418 give an extra option to hsc2hs (no need to quote options
11419 containing spaces)
11420
11421 --hscolour-option OPT
11422 give an extra option to hscolour (no need to quote op‐
11423 tions containing spaces)
11424
11425 --jhc-option OPT
11426 give an extra option to jhc (no need to quote options
11427 containing spaces)
11428
11429 --ld-option OPT
11430 give an extra option to ld (no need to quote options con‐
11431 taining spaces)
11432
11433 --pkg-config-option OPT
11434 give an extra option to pkg-config (no need to quote op‐
11435 tions containing spaces)
11436
11437 --runghc-option OPT
11438 give an extra option to runghc (no need to quote options
11439 containing spaces)
11440
11441 --strip-option OPT
11442 give an extra option to strip (no need to quote options
11443 containing spaces)
11444
11445 --tar-option OPT
11446 give an extra option to tar (no need to quote options
11447 containing spaces)
11448
11449 --uhc-option OPT
11450 give an extra option to uhc (no need to quote options
11451 containing spaces)
11452
11453 --alex-options OPTS
11454 give extra options to alex
11455
11456 --ar-options OPTS
11457 give extra options to ar
11458
11459 --c2hs-options OPTS
11460 give extra options to c2hs
11461
11462 --cpphs-options OPTS
11463 give extra options to cpphs
11464
11465 --doctest-options OPTS
11466 give extra options to doctest
11467
11468 --gcc-options OPTS
11469 give extra options to gcc
11470
11471 --ghc-options OPTS
11472 give extra options to ghc
11473
11474 --ghc-pkg-options OPTS
11475 give extra options to ghc-pkg
11476
11477 --ghcjs-options OPTS
11478 give extra options to ghcjs
11479
11480 --ghcjs-pkg-options OPTS
11481 give extra options to ghcjs-pkg
11482
11483 --greencard-options OPTS
11484 give extra options to greencard
11485
11486 --haddock-options OPTS
11487 give extra options to haddock
11488
11489 --happy-options OPTS
11490 give extra options to happy
11491
11492 --haskell-suite-options OPTS
11493 give extra options to haskell-suite
11494
11495 --haskell-suite-pkg-options OPTS
11496 give extra options to haskell-suite-pkg
11497
11498 --hmake-options OPTS
11499 give extra options to hmake
11500
11501 --hpc-options OPTS
11502 give extra options to hpc
11503
11504 --hsc2hs-options OPTS
11505 give extra options to hsc2hs
11506
11507 --hscolour-options OPTS
11508 give extra options to hscolour
11509
11510 --jhc-options OPTS
11511 give extra options to jhc
11512
11513 --ld-options OPTS
11514 give extra options to ld
11515
11516 --pkg-config-options OPTS
11517 give extra options to pkg-config
11518
11519 --runghc-options OPTS
11520 give extra options to runghc
11521
11522 --strip-options OPTS
11523 give extra options to strip
11524
11525 --tar-options OPTS
11526 give extra options to tar
11527
11528 --uhc-options OPTS
11529 give extra options to uhc
11530
11531 --cabal-lib-version VERSION
11532 Select which version of the Cabal lib to use to build
11533 packages (useful for testing).
11534
11535 --constraint CONSTRAINT
11536 Specify constraints on a package (version, in‐
11537 stalled/source, flags)
11538
11539 --preference CONSTRAINT
11540 Specify preferences (soft constraints) on the version of
11541 a package
11542
11543 --solver SOLVER
11544 Select dependency solver to use (default: modular).
11545 Choices: modular.
11546
11547 --allow-older [DEPS]
11548 Ignore lower bounds in all dependencies or DEPS
11549
11550 --allow-newer [DEPS]
11551 Ignore upper bounds in all dependencies or DEPS
11552
11553 --write-ghc-environment-files always|never|ghc8.4.4+
11554 Whether to create a .ghc.environment file after a suc‐
11555 cessful build (v2-build only)
11556
11557 --enable-documentation
11558 --disable-documentation
11559 building of documentation
11560
11561 --doc-index-file TEMPLATE
11562 A central index of haddock API documentation (template
11563 cannot use $pkgid)
11564
11565 --dry-run
11566 Do not install anything, only print what would be in‐
11567 stalled.
11568
11569 --max-backjumps NUM
11570 Maximum number of backjumps allowed while solving (de‐
11571 fault: 4000). Use a negative number to enable unlimited
11572 backtracking. Use 0 to disable backtracking completely.
11573
11574 --reorder-goals
11575 --no-reorder-goals
11576 Try to reorder goals according to certain heuristics.
11577 Slows things down on average, but may make backtracking
11578 faster for some packages.
11579
11580 --count-conflicts
11581 --no-count-conflicts
11582 Try to speed up solving by preferring goals that are in‐
11583 volved in a lot of conflicts (default).
11584
11585 --fine-grained-conflicts
11586 --no-fine-grained-conflicts
11587 Skip a version of a package if it does not resolve the
11588 conflicts encountered in the last version, as a solver
11589 optimization (default).
11590
11591 --minimize-conflict-set
11592 --no-minimize-conflict-set
11593 When there is no solution, try to improve the error mes‐
11594 sage by finding a minimal conflict set (default: false).
11595 May increase run time significantly.
11596
11597 --independent-goals
11598 --no-independent-goals
11599 Treat several goals on the command line as independent.
11600 If several goals depend on the same package, different
11601 versions can be chosen.
11602
11603 --shadow-installed-packages
11604 --no-shadow-installed-packages
11605 If multiple package instances of the same version are in‐
11606 stalled, treat all but one as shadowed.
11607
11608 --strong-flags
11609 --no-strong-flags
11610 Do not defer flag choices (this used to be the default in
11611 cabal-install <= 1.20).
11612
11613 --allow-boot-library-installs
11614 --no-allow-boot-library-installs
11615 Allow cabal to install base, ghc-prim, integer-simple,
11616 integer-gmp, and template-haskell.
11617
11618 --reject-unconstrained-dependencies none|all
11619 Require these packages to have constraints on them if
11620 they are to be selected (default: none).
11621
11622 --reinstall
11623 --no-reinstall
11624 Install even if it means installing the same version
11625 again.
11626
11627 --avoid-reinstalls
11628 --no-avoid-reinstalls
11629 Do not select versions that would destructively overwrite
11630 installed packages.
11631
11632 --force-reinstalls
11633 --no-force-reinstalls
11634 Reinstall packages even if they will most likely break
11635 other installed packages.
11636
11637 --upgrade-dependencies
11638 --no-upgrade-dependencies
11639 Pick the latest version for all dependencies, rather than
11640 trying to pick an installed version.
11641
11642 --only-dependencies
11643 --no-only-dependencies
11644 Install only the dependencies necessary to build the
11645 given packages
11646
11647 --dependencies-only
11648 --no-dependencies-only
11649 A synonym for --only-dependencies
11650
11651 --index-state STATE
11652 Use source package index state as it existed at a previ‐
11653 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
11654 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
11655 'HEAD' (default: 'HEAD').
11656
11657 --root-cmd COMMAND
11658 (No longer supported, do not use.)
11659
11660 --symlink-bindir DIR
11661 Add symlinks to installed executables into this direc‐
11662 tory.
11663
11664 --build-summary TEMPLATE
11665 Save build summaries to file (name template can use
11666 $pkgid, $compiler, $os, $arch)
11667
11668 --build-log TEMPLATE
11669 Log all builds to file (name template can use $pkgid,
11670 $compiler, $os, $arch)
11671
11672 --remote-build-reporting LEVEL
11673 Generate build reports to send to a remote server (none,
11674 anonymous or detailed).
11675
11676 --report-planning-failure
11677 Generate build reports when the dependency solver fails.
11678 This is used by the Hackage build bot.
11679
11680 --enable-per-component
11681 --disable-per-component
11682 Per-component builds when possible
11683
11684 --one-shot
11685 --no-one-shot
11686 Do not record the packages in the world file.
11687
11688 --run-tests
11689 Run package test suites during installation.
11690
11691 -j, --jobs [NUM]
11692 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
11693 given).
11694
11695 --keep-going
11696 After a build failure, continue to build other unaffected
11697 packages.
11698
11699 --offline
11700 --no-offline
11701 Don't download packages from the Internet.
11702
11703 --project-file FILE
11704 Set the name of the cabal.project file to search for in
11705 parent directories
11706
11707 --only
11708 Only installs the package in the current directory.
11709
11710 --haddock-hoogle
11711 Generate a hoogle database
11712
11713 --haddock-html
11714 Generate HTML documentation (the default)
11715
11716 --haddock-html-location URL
11717 Location of HTML documentation for pre-requisite packages
11718
11719 --haddock-for-hackage
11720 Collection of flags to generate documentation suitable
11721 for upload to hackage
11722
11723 --haddock-executables
11724 Run haddock for Executables targets
11725
11726 --haddock-tests
11727 Run haddock for Test Suite targets
11728
11729 --haddock-benchmarks
11730 Run haddock for Benchmark targets
11731
11732 --haddock-all
11733 Run haddock for all targets
11734
11735 --haddock-internal
11736 Run haddock for internal modules and include all symbols
11737
11738 --haddock-css PATH
11739 Use PATH as the haddock stylesheet
11740
11741 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
11742 dock-hyperlinked-source
11743 Hyperlink the documentation to the source code
11744
11745 --haddock-quickjump
11746 Generate an index for interactive documentation naviga‐
11747 tion
11748
11749 --haddock-hscolour-css PATH
11750 Use PATH as the HsColour stylesheet
11751
11752 --haddock-contents-location URL
11753 Bake URL in as the location for the contents page
11754
11755 --test-log TEMPLATE
11756 Log all test suite results to file (name template can use
11757 $pkgid, $compiler, $os, $arch, $test-suite, $result)
11758
11759 --test-machine-log TEMPLATE
11760 Produce a machine-readable log file (name template can
11761 use $pkgid, $compiler, $os, $arch, $result)
11762
11763 --test-show-details FILTER
11764
11765 --test-keep-tix-files
11766 keep .tix files for HPC between test runs
11767
11768 --test-wrapper FILE
11769 Run test through a wrapper.
11770
11771 --test-fail-when-no-test-suites
11772 Exit with failure when no test suites are found.
11773
11774 --test-options TEMPLATES
11775 give extra options to test executables (name templates
11776 can use $pkgid, $compiler, $os, $arch, $test-suite)
11777
11778 --test-option TEMPLATE
11779 give extra option to test executables (no need to quote
11780 options containing spaces, name template can use $pkgid,
11781 $compiler, $os, $arch, $test-suite)
11782
11783 --benchmark-options TEMPLATES
11784 give extra options to benchmark executables (name tem‐
11785 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
11786
11787 --benchmark-option TEMPLATE
11788 give extra option to benchmark executables (no need to
11789 quote options containing spaces, name template can use
11790 $pkgid, $compiler, $os, $arch, $benchmark)
11791
11792
11793 cabal v2-freeze
11794
11795 Usage: cabal v2-freeze [FLAGS]
11796
11797
11798 The project configuration is frozen so that it will be reproducible in
11799 future.
11800
11801 The precise dependency configuration for the project is written to the
11802 specified). This file extends the configuration from the 'ca‐
11803 bal.project' file and thus is used as the project configuration for all
11804 other commands (such as
11805
11806 The freeze file can be kept in source control. To make small adjust‐
11807 ments it may be edited manually, or to make bigger changes you may wish
11808 to delete the file and re-freeze. For more control, one approach is to
11809 try variations using once you have a satisfactory solution to freeze it
11810 using the 'v2-freeze' command with the same set of flags.
11811
11812
11813 Examples:
11814 cabal v2-freeze
11815 Freeze the configuration of the current project
11816
11817 cabal v2-build --dry-run --constraint="aeson < 1"
11818 Check what a solution with the given constraints would look like
11819 cabal v2-freeze --constraint="aeson < 1"
11820 Freeze a solution using the given constraints
11821
11822 Note: this command is part of the new project-based system (aka nix-
11823 style local builds). These features are currently in beta. Please see
11824 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
11825 details and advice on what you can expect to work. If you encounter
11826 problems please file issues at https://github.com/haskell/cabal/issues
11827 and if you have any time to get involved and help with testing, fixing
11828 bugs etc then that is very much appreciated.
11829
11830
11831 Flags:
11832 -v, --verbose [n]
11833 Control verbosity (n is 0--3, default verbosity level is
11834 1)
11835
11836 --builddir, --distdir, --distpref DIR
11837 The directory where Cabal puts generated build files (de‐
11838 fault dist)
11839
11840 -g, --ghc
11841 compile with GHC
11842
11843 --ghcjs
11844 compile with GHCJS
11845
11846 --uhc
11847 compile with UHC
11848
11849 --haskell-suite
11850 compile with a haskell-suite compiler
11851
11852 --cabal-file PATH
11853 use this Cabal file
11854
11855 -w, --with-compiler PATH
11856 give the path to a particular compiler
11857
11858 --with-hc-pkg PATH
11859 give the path to the package tool
11860
11861 --prefix DIR
11862 bake this prefix in preparation of installation
11863
11864 --bindir DIR
11865 installation directory for executables
11866
11867 --libdir DIR
11868 installation directory for libraries
11869
11870 --libsubdir DIR
11871 subdirectory of libdir in which libs are installed
11872
11873 --dynlibdir DIR
11874 installation directory for dynamic libraries
11875
11876 --libexecdir DIR
11877 installation directory for program executables
11878
11879 --libexecsubdir DIR
11880 subdirectory of libexecdir in which private executables
11881 are installed
11882
11883 --datadir DIR
11884 installation directory for read-only data
11885
11886 --datasubdir DIR
11887 subdirectory of datadir in which data files are installed
11888
11889 --docdir DIR
11890 installation directory for documentation
11891
11892 --htmldir DIR
11893 installation directory for HTML documentation
11894
11895 --haddockdir DIR
11896 installation directory for haddock interfaces
11897
11898 --sysconfdir DIR
11899 installation directory for configuration files
11900
11901 --program-prefix PREFIX
11902 prefix to be applied to installed executables
11903
11904 --program-suffix SUFFIX
11905 suffix to be applied to installed executables
11906
11907 --enable-library-vanilla
11908 --disable-library-vanilla
11909 Vanilla libraries
11910
11911 -p, --enable-library-profiling
11912 --disable-library-profiling
11913 Library profiling
11914
11915 --enable-shared
11916 --disable-shared
11917 Shared library
11918
11919 --enable-static
11920 --disable-static
11921 Static library
11922
11923 --enable-executable-dynamic
11924 --disable-executable-dynamic
11925 Executable dynamic linking
11926
11927 --enable-executable-static
11928 --disable-executable-static
11929 Executable fully static linking
11930
11931 --enable-profiling
11932 --disable-profiling
11933 Executable and library profiling
11934
11935 --enable-executable-profiling
11936 --disable-executable-profiling
11937 Executable profiling (DEPRECATED)
11938
11939 --profiling-detail level
11940 Profiling detail level for executable and library (de‐
11941 fault, none, exported-functions, toplevel-functions,
11942 all-functions).
11943
11944 --library-profiling-detail level
11945 Profiling detail level for libraries only.
11946
11947 -O, --enable-optimization, --enable-optimisation [n]
11948 Build with optimization (n is 0--2, default is 1)
11949
11950 --disable-optimization, --disable-optimisation
11951 Build without optimization
11952
11953 --enable-debug-info [n]
11954 Emit debug info (n is 0--3, default is 0)
11955
11956 --disable-debug-info
11957 Don't emit debug info
11958
11959 --enable-library-for-ghci
11960 --disable-library-for-ghci
11961 compile library for use with GHCi
11962
11963 --enable-split-sections
11964 --disable-split-sections
11965 compile library code such that unneeded definitions can
11966 be dropped from the final executable (GHC 7.8+)
11967
11968 --enable-split-objs
11969 --disable-split-objs
11970 split library into smaller objects to reduce binary sizes
11971 (GHC 6.6+)
11972
11973 --enable-executable-stripping
11974 --disable-executable-stripping
11975 strip executables upon installation to reduce binary
11976 sizes
11977
11978 --enable-library-stripping
11979 --disable-library-stripping
11980 strip libraries upon installation to reduce binary sizes
11981
11982 --configure-option OPT
11983 Extra option for configure
11984
11985 --user
11986 --global
11987 doing a per-user installation
11988
11989 --package-db DB
11990 Append the given package database to the list of package
11991 databases used (to satisfy dependencies and register
11992 into). May be a specific file, 'global' or 'user'. The
11993 initial list is ['global'], ['global', 'user'], or
11994 ['global', $sandbox], depending on context. Use 'clear'
11995 to reset the list to empty. See the user guide for de‐
11996 tails.
11997
11998 -f, --flags FLAGS
11999 Force values for the given flags in Cabal conditionals in
12000 the .cabal file. E.g., --flags="debug -usebytestrings"
12001 forces the flag "debug" to true and "usebytestrings" to
12002 false.
12003
12004 --extra-include-dirs PATH
12005 A list of directories to search for header files
12006
12007 --enable-deterministic
12008 --disable-deterministic
12009 Try to be as deterministic as possible (used by the test
12010 suite)
12011
12012 --ipid IPID
12013 Installed package ID to compile this package as
12014
12015 --cid CID
12016 Installed component ID to compile this component as
12017
12018 --extra-lib-dirs PATH
12019 A list of directories to search for external libraries
12020
12021 --extra-framework-dirs PATH
12022 A list of directories to search for external frameworks
12023 (OS X only)
12024
12025 --extra-prog-path PATH
12026 A list of directories to search for required programs (in
12027 addition to the normal search locations)
12028
12029 --instantiate-with NAME=MOD
12030 A mapping of signature names to concrete module instanti‐
12031 ations.
12032
12033 --enable-tests
12034 --disable-tests
12035 dependency checking and compilation for test suites
12036 listed in the package description file.
12037
12038 --enable-coverage
12039 --disable-coverage
12040 build package with Haskell Program Coverage. (GHC only)
12041
12042 --enable-library-coverage
12043 --disable-library-coverage
12044 build package with Haskell Program Coverage. (GHC only)
12045 (DEPRECATED)
12046
12047 --enable-benchmarks
12048 --disable-benchmarks
12049 dependency checking and compilation for benchmarks listed
12050 in the package description file.
12051
12052 --enable-relocatable
12053 --disable-relocatable
12054 building a package that is relocatable. (GHC only)
12055
12056 --disable-response-files
12057 enable workaround for old versions of programs like "ar"
12058 that do not support @file arguments
12059
12060 --allow-depending-on-private-libs
12061 Allow depending on private libraries. If set, the library
12062 visibility check MUST be done externally.
12063
12064 --with-alex PATH
12065 give the path to alex
12066
12067 --with-ar PATH
12068 give the path to ar
12069
12070 --with-c2hs PATH
12071 give the path to c2hs
12072
12073 --with-cpphs PATH
12074 give the path to cpphs
12075
12076 --with-doctest PATH
12077 give the path to doctest
12078
12079 --with-gcc PATH
12080 give the path to gcc
12081
12082 --with-ghc PATH
12083 give the path to ghc
12084
12085 --with-ghc-pkg PATH
12086 give the path to ghc-pkg
12087
12088 --with-ghcjs PATH
12089 give the path to ghcjs
12090
12091 --with-ghcjs-pkg PATH
12092 give the path to ghcjs-pkg
12093
12094 --with-greencard PATH
12095 give the path to greencard
12096
12097 --with-haddock PATH
12098 give the path to haddock
12099
12100 --with-happy PATH
12101 give the path to happy
12102
12103 --with-haskell-suite PATH
12104 give the path to haskell-suite
12105
12106 --with-haskell-suite-pkg PATH
12107 give the path to haskell-suite-pkg
12108
12109 --with-hmake PATH
12110 give the path to hmake
12111
12112 --with-hpc PATH
12113 give the path to hpc
12114
12115 --with-hsc2hs PATH
12116 give the path to hsc2hs
12117
12118 --with-hscolour PATH
12119 give the path to hscolour
12120
12121 --with-jhc PATH
12122 give the path to jhc
12123
12124 --with-ld PATH
12125 give the path to ld
12126
12127 --with-pkg-config PATH
12128 give the path to pkg-config
12129
12130 --with-runghc PATH
12131 give the path to runghc
12132
12133 --with-strip PATH
12134 give the path to strip
12135
12136 --with-tar PATH
12137 give the path to tar
12138
12139 --with-uhc PATH
12140 give the path to uhc
12141
12142 --alex-option OPT
12143 give an extra option to alex (no need to quote options
12144 containing spaces)
12145
12146 --ar-option OPT
12147 give an extra option to ar (no need to quote options con‐
12148 taining spaces)
12149
12150 --c2hs-option OPT
12151 give an extra option to c2hs (no need to quote options
12152 containing spaces)
12153
12154 --cpphs-option OPT
12155 give an extra option to cpphs (no need to quote options
12156 containing spaces)
12157
12158 --doctest-option OPT
12159 give an extra option to doctest (no need to quote options
12160 containing spaces)
12161
12162 --gcc-option OPT
12163 give an extra option to gcc (no need to quote options
12164 containing spaces)
12165
12166 --ghc-option OPT
12167 give an extra option to ghc (no need to quote options
12168 containing spaces)
12169
12170 --ghc-pkg-option OPT
12171 give an extra option to ghc-pkg (no need to quote options
12172 containing spaces)
12173
12174 --ghcjs-option OPT
12175 give an extra option to ghcjs (no need to quote options
12176 containing spaces)
12177
12178 --ghcjs-pkg-option OPT
12179 give an extra option to ghcjs-pkg (no need to quote op‐
12180 tions containing spaces)
12181
12182 --greencard-option OPT
12183 give an extra option to greencard (no need to quote op‐
12184 tions containing spaces)
12185
12186 --haddock-option OPT
12187 give an extra option to haddock (no need to quote options
12188 containing spaces)
12189
12190 --happy-option OPT
12191 give an extra option to happy (no need to quote options
12192 containing spaces)
12193
12194 --haskell-suite-option OPT
12195 give an extra option to haskell-suite (no need to quote
12196 options containing spaces)
12197
12198 --haskell-suite-pkg-option OPT
12199 give an extra option to haskell-suite-pkg (no need to
12200 quote options containing spaces)
12201
12202 --hmake-option OPT
12203 give an extra option to hmake (no need to quote options
12204 containing spaces)
12205
12206 --hpc-option OPT
12207 give an extra option to hpc (no need to quote options
12208 containing spaces)
12209
12210 --hsc2hs-option OPT
12211 give an extra option to hsc2hs (no need to quote options
12212 containing spaces)
12213
12214 --hscolour-option OPT
12215 give an extra option to hscolour (no need to quote op‐
12216 tions containing spaces)
12217
12218 --jhc-option OPT
12219 give an extra option to jhc (no need to quote options
12220 containing spaces)
12221
12222 --ld-option OPT
12223 give an extra option to ld (no need to quote options con‐
12224 taining spaces)
12225
12226 --pkg-config-option OPT
12227 give an extra option to pkg-config (no need to quote op‐
12228 tions containing spaces)
12229
12230 --runghc-option OPT
12231 give an extra option to runghc (no need to quote options
12232 containing spaces)
12233
12234 --strip-option OPT
12235 give an extra option to strip (no need to quote options
12236 containing spaces)
12237
12238 --tar-option OPT
12239 give an extra option to tar (no need to quote options
12240 containing spaces)
12241
12242 --uhc-option OPT
12243 give an extra option to uhc (no need to quote options
12244 containing spaces)
12245
12246 --alex-options OPTS
12247 give extra options to alex
12248
12249 --ar-options OPTS
12250 give extra options to ar
12251
12252 --c2hs-options OPTS
12253 give extra options to c2hs
12254
12255 --cpphs-options OPTS
12256 give extra options to cpphs
12257
12258 --doctest-options OPTS
12259 give extra options to doctest
12260
12261 --gcc-options OPTS
12262 give extra options to gcc
12263
12264 --ghc-options OPTS
12265 give extra options to ghc
12266
12267 --ghc-pkg-options OPTS
12268 give extra options to ghc-pkg
12269
12270 --ghcjs-options OPTS
12271 give extra options to ghcjs
12272
12273 --ghcjs-pkg-options OPTS
12274 give extra options to ghcjs-pkg
12275
12276 --greencard-options OPTS
12277 give extra options to greencard
12278
12279 --haddock-options OPTS
12280 give extra options to haddock
12281
12282 --happy-options OPTS
12283 give extra options to happy
12284
12285 --haskell-suite-options OPTS
12286 give extra options to haskell-suite
12287
12288 --haskell-suite-pkg-options OPTS
12289 give extra options to haskell-suite-pkg
12290
12291 --hmake-options OPTS
12292 give extra options to hmake
12293
12294 --hpc-options OPTS
12295 give extra options to hpc
12296
12297 --hsc2hs-options OPTS
12298 give extra options to hsc2hs
12299
12300 --hscolour-options OPTS
12301 give extra options to hscolour
12302
12303 --jhc-options OPTS
12304 give extra options to jhc
12305
12306 --ld-options OPTS
12307 give extra options to ld
12308
12309 --pkg-config-options OPTS
12310 give extra options to pkg-config
12311
12312 --runghc-options OPTS
12313 give extra options to runghc
12314
12315 --strip-options OPTS
12316 give extra options to strip
12317
12318 --tar-options OPTS
12319 give extra options to tar
12320
12321 --uhc-options OPTS
12322 give extra options to uhc
12323
12324 --cabal-lib-version VERSION
12325 Select which version of the Cabal lib to use to build
12326 packages (useful for testing).
12327
12328 --constraint CONSTRAINT
12329 Specify constraints on a package (version, in‐
12330 stalled/source, flags)
12331
12332 --preference CONSTRAINT
12333 Specify preferences (soft constraints) on the version of
12334 a package
12335
12336 --solver SOLVER
12337 Select dependency solver to use (default: modular).
12338 Choices: modular.
12339
12340 --allow-older [DEPS]
12341 Ignore lower bounds in all dependencies or DEPS
12342
12343 --allow-newer [DEPS]
12344 Ignore upper bounds in all dependencies or DEPS
12345
12346 --write-ghc-environment-files always|never|ghc8.4.4+
12347 Whether to create a .ghc.environment file after a suc‐
12348 cessful build (v2-build only)
12349
12350 --enable-documentation
12351 --disable-documentation
12352 building of documentation
12353
12354 --doc-index-file TEMPLATE
12355 A central index of haddock API documentation (template
12356 cannot use $pkgid)
12357
12358 --dry-run
12359 Do not install anything, only print what would be in‐
12360 stalled.
12361
12362 --max-backjumps NUM
12363 Maximum number of backjumps allowed while solving (de‐
12364 fault: 4000). Use a negative number to enable unlimited
12365 backtracking. Use 0 to disable backtracking completely.
12366
12367 --reorder-goals
12368 --no-reorder-goals
12369 Try to reorder goals according to certain heuristics.
12370 Slows things down on average, but may make backtracking
12371 faster for some packages.
12372
12373 --count-conflicts
12374 --no-count-conflicts
12375 Try to speed up solving by preferring goals that are in‐
12376 volved in a lot of conflicts (default).
12377
12378 --fine-grained-conflicts
12379 --no-fine-grained-conflicts
12380 Skip a version of a package if it does not resolve the
12381 conflicts encountered in the last version, as a solver
12382 optimization (default).
12383
12384 --minimize-conflict-set
12385 --no-minimize-conflict-set
12386 When there is no solution, try to improve the error mes‐
12387 sage by finding a minimal conflict set (default: false).
12388 May increase run time significantly.
12389
12390 --independent-goals
12391 --no-independent-goals
12392 Treat several goals on the command line as independent.
12393 If several goals depend on the same package, different
12394 versions can be chosen.
12395
12396 --shadow-installed-packages
12397 --no-shadow-installed-packages
12398 If multiple package instances of the same version are in‐
12399 stalled, treat all but one as shadowed.
12400
12401 --strong-flags
12402 --no-strong-flags
12403 Do not defer flag choices (this used to be the default in
12404 cabal-install <= 1.20).
12405
12406 --allow-boot-library-installs
12407 --no-allow-boot-library-installs
12408 Allow cabal to install base, ghc-prim, integer-simple,
12409 integer-gmp, and template-haskell.
12410
12411 --reject-unconstrained-dependencies none|all
12412 Require these packages to have constraints on them if
12413 they are to be selected (default: none).
12414
12415 --reinstall
12416 --no-reinstall
12417 Install even if it means installing the same version
12418 again.
12419
12420 --avoid-reinstalls
12421 --no-avoid-reinstalls
12422 Do not select versions that would destructively overwrite
12423 installed packages.
12424
12425 --force-reinstalls
12426 --no-force-reinstalls
12427 Reinstall packages even if they will most likely break
12428 other installed packages.
12429
12430 --upgrade-dependencies
12431 --no-upgrade-dependencies
12432 Pick the latest version for all dependencies, rather than
12433 trying to pick an installed version.
12434
12435 --only-dependencies
12436 --no-only-dependencies
12437 Install only the dependencies necessary to build the
12438 given packages
12439
12440 --dependencies-only
12441 --no-dependencies-only
12442 A synonym for --only-dependencies
12443
12444 --index-state STATE
12445 Use source package index state as it existed at a previ‐
12446 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
12447 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
12448 'HEAD' (default: 'HEAD').
12449
12450 --root-cmd COMMAND
12451 (No longer supported, do not use.)
12452
12453 --symlink-bindir DIR
12454 Add symlinks to installed executables into this direc‐
12455 tory.
12456
12457 --build-summary TEMPLATE
12458 Save build summaries to file (name template can use
12459 $pkgid, $compiler, $os, $arch)
12460
12461 --build-log TEMPLATE
12462 Log all builds to file (name template can use $pkgid,
12463 $compiler, $os, $arch)
12464
12465 --remote-build-reporting LEVEL
12466 Generate build reports to send to a remote server (none,
12467 anonymous or detailed).
12468
12469 --report-planning-failure
12470 Generate build reports when the dependency solver fails.
12471 This is used by the Hackage build bot.
12472
12473 --enable-per-component
12474 --disable-per-component
12475 Per-component builds when possible
12476
12477 --one-shot
12478 --no-one-shot
12479 Do not record the packages in the world file.
12480
12481 --run-tests
12482 Run package test suites during installation.
12483
12484 -j, --jobs [NUM]
12485 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
12486 given).
12487
12488 --keep-going
12489 After a build failure, continue to build other unaffected
12490 packages.
12491
12492 --offline
12493 --no-offline
12494 Don't download packages from the Internet.
12495
12496 --project-file FILE
12497 Set the name of the cabal.project file to search for in
12498 parent directories
12499
12500 --only
12501 Only installs the package in the current directory.
12502
12503 --haddock-hoogle
12504 Generate a hoogle database
12505
12506 --haddock-html
12507 Generate HTML documentation (the default)
12508
12509 --haddock-html-location URL
12510 Location of HTML documentation for pre-requisite packages
12511
12512 --haddock-for-hackage
12513 Collection of flags to generate documentation suitable
12514 for upload to hackage
12515
12516 --haddock-executables
12517 Run haddock for Executables targets
12518
12519 --haddock-tests
12520 Run haddock for Test Suite targets
12521
12522 --haddock-benchmarks
12523 Run haddock for Benchmark targets
12524
12525 --haddock-all
12526 Run haddock for all targets
12527
12528 --haddock-internal
12529 Run haddock for internal modules and include all symbols
12530
12531 --haddock-css PATH
12532 Use PATH as the haddock stylesheet
12533
12534 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
12535 dock-hyperlinked-source
12536 Hyperlink the documentation to the source code
12537
12538 --haddock-quickjump
12539 Generate an index for interactive documentation naviga‐
12540 tion
12541
12542 --haddock-hscolour-css PATH
12543 Use PATH as the HsColour stylesheet
12544
12545 --haddock-contents-location URL
12546 Bake URL in as the location for the contents page
12547
12548 --test-log TEMPLATE
12549 Log all test suite results to file (name template can use
12550 $pkgid, $compiler, $os, $arch, $test-suite, $result)
12551
12552 --test-machine-log TEMPLATE
12553 Produce a machine-readable log file (name template can
12554 use $pkgid, $compiler, $os, $arch, $result)
12555
12556 --test-show-details FILTER
12557
12558 --test-keep-tix-files
12559 keep .tix files for HPC between test runs
12560
12561 --test-wrapper FILE
12562 Run test through a wrapper.
12563
12564 --test-fail-when-no-test-suites
12565 Exit with failure when no test suites are found.
12566
12567 --test-options TEMPLATES
12568 give extra options to test executables (name templates
12569 can use $pkgid, $compiler, $os, $arch, $test-suite)
12570
12571 --test-option TEMPLATE
12572 give extra option to test executables (no need to quote
12573 options containing spaces, name template can use $pkgid,
12574 $compiler, $os, $arch, $test-suite)
12575
12576 --benchmark-options TEMPLATES
12577 give extra options to benchmark executables (name tem‐
12578 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
12579
12580 --benchmark-option TEMPLATE
12581 give extra option to benchmark executables (no need to
12582 quote options containing spaces, name template can use
12583 $pkgid, $compiler, $os, $arch, $benchmark)
12584
12585
12586 cabal haddock
12587
12588 Usage: cabal haddock [FLAGS] TARGET
12589
12590
12591 Build Haddock documentation for the specified packages within the
12592 project.
12593
12594 Any package in the project can be specified. If no package is speci‐
12595 fied, the default is to build the documentation for the package in the
12596 current directory. The default behaviour is to build documentation for
12597 the exposed modules of the library component (if any). This can be
12598 changed with the
12599
12600 Currently, documentation for dependencies is NOT built. This behavior
12601 may change in future.
12602
12603 Additional configuration flags can be specified on the command line and
12604 these extend the project configuration from the 'cabal.project',
12605
12606
12607 Build Haddock documentation for the specified packages within the
12608 project.
12609
12610 Any package in the project can be specified. If no package is speci‐
12611 fied, the default is to build the documentation for the package in the
12612 current directory. The default behaviour is to build documentation for
12613 the exposed modules of the library component (if any). This can be
12614 changed with the
12615
12616 Currently, documentation for dependencies is NOT built. This behavior
12617 may change in future.
12618
12619 Additional configuration flags can be specified on the command line and
12620 these extend the project configuration from the 'cabal.project',
12621
12622
12623 Flags:
12624 -v, --verbose [n]
12625 Control verbosity (n is 0--3, default verbosity level is
12626 1)
12627
12628 --builddir, --distdir, --distpref DIR
12629 The directory where Cabal puts generated build files (de‐
12630 fault dist)
12631
12632 -g, --ghc
12633 compile with GHC
12634
12635 --ghcjs
12636 compile with GHCJS
12637
12638 --uhc
12639 compile with UHC
12640
12641 --haskell-suite
12642 compile with a haskell-suite compiler
12643
12644 --cabal-file PATH
12645 use this Cabal file
12646
12647 -w, --with-compiler PATH
12648 give the path to a particular compiler
12649
12650 --with-hc-pkg PATH
12651 give the path to the package tool
12652
12653 --prefix DIR
12654 bake this prefix in preparation of installation
12655
12656 --bindir DIR
12657 installation directory for executables
12658
12659 --libdir DIR
12660 installation directory for libraries
12661
12662 --libsubdir DIR
12663 subdirectory of libdir in which libs are installed
12664
12665 --dynlibdir DIR
12666 installation directory for dynamic libraries
12667
12668 --libexecdir DIR
12669 installation directory for program executables
12670
12671 --libexecsubdir DIR
12672 subdirectory of libexecdir in which private executables
12673 are installed
12674
12675 --datadir DIR
12676 installation directory for read-only data
12677
12678 --datasubdir DIR
12679 subdirectory of datadir in which data files are installed
12680
12681 --docdir DIR
12682 installation directory for documentation
12683
12684 --htmldir DIR
12685 installation directory for HTML documentation
12686
12687 --haddockdir DIR
12688 installation directory for haddock interfaces
12689
12690 --sysconfdir DIR
12691 installation directory for configuration files
12692
12693 --program-prefix PREFIX
12694 prefix to be applied to installed executables
12695
12696 --program-suffix SUFFIX
12697 suffix to be applied to installed executables
12698
12699 --enable-library-vanilla
12700 --disable-library-vanilla
12701 Vanilla libraries
12702
12703 -p, --enable-library-profiling
12704 --disable-library-profiling
12705 Library profiling
12706
12707 --enable-shared
12708 --disable-shared
12709 Shared library
12710
12711 --enable-static
12712 --disable-static
12713 Static library
12714
12715 --enable-executable-dynamic
12716 --disable-executable-dynamic
12717 Executable dynamic linking
12718
12719 --enable-executable-static
12720 --disable-executable-static
12721 Executable fully static linking
12722
12723 --enable-profiling
12724 --disable-profiling
12725 Executable and library profiling
12726
12727 --enable-executable-profiling
12728 --disable-executable-profiling
12729 Executable profiling (DEPRECATED)
12730
12731 --profiling-detail level
12732 Profiling detail level for executable and library (de‐
12733 fault, none, exported-functions, toplevel-functions,
12734 all-functions).
12735
12736 --library-profiling-detail level
12737 Profiling detail level for libraries only.
12738
12739 -O, --enable-optimization, --enable-optimisation [n]
12740 Build with optimization (n is 0--2, default is 1)
12741
12742 --disable-optimization, --disable-optimisation
12743 Build without optimization
12744
12745 --enable-debug-info [n]
12746 Emit debug info (n is 0--3, default is 0)
12747
12748 --disable-debug-info
12749 Don't emit debug info
12750
12751 --enable-library-for-ghci
12752 --disable-library-for-ghci
12753 compile library for use with GHCi
12754
12755 --enable-split-sections
12756 --disable-split-sections
12757 compile library code such that unneeded definitions can
12758 be dropped from the final executable (GHC 7.8+)
12759
12760 --enable-split-objs
12761 --disable-split-objs
12762 split library into smaller objects to reduce binary sizes
12763 (GHC 6.6+)
12764
12765 --enable-executable-stripping
12766 --disable-executable-stripping
12767 strip executables upon installation to reduce binary
12768 sizes
12769
12770 --enable-library-stripping
12771 --disable-library-stripping
12772 strip libraries upon installation to reduce binary sizes
12773
12774 --configure-option OPT
12775 Extra option for configure
12776
12777 --user
12778 --global
12779 doing a per-user installation
12780
12781 --package-db DB
12782 Append the given package database to the list of package
12783 databases used (to satisfy dependencies and register
12784 into). May be a specific file, 'global' or 'user'. The
12785 initial list is ['global'], ['global', 'user'], or
12786 ['global', $sandbox], depending on context. Use 'clear'
12787 to reset the list to empty. See the user guide for de‐
12788 tails.
12789
12790 -f, --flags FLAGS
12791 Force values for the given flags in Cabal conditionals in
12792 the .cabal file. E.g., --flags="debug -usebytestrings"
12793 forces the flag "debug" to true and "usebytestrings" to
12794 false.
12795
12796 --extra-include-dirs PATH
12797 A list of directories to search for header files
12798
12799 --enable-deterministic
12800 --disable-deterministic
12801 Try to be as deterministic as possible (used by the test
12802 suite)
12803
12804 --ipid IPID
12805 Installed package ID to compile this package as
12806
12807 --cid CID
12808 Installed component ID to compile this component as
12809
12810 --extra-lib-dirs PATH
12811 A list of directories to search for external libraries
12812
12813 --extra-framework-dirs PATH
12814 A list of directories to search for external frameworks
12815 (OS X only)
12816
12817 --extra-prog-path PATH
12818 A list of directories to search for required programs (in
12819 addition to the normal search locations)
12820
12821 --instantiate-with NAME=MOD
12822 A mapping of signature names to concrete module instanti‐
12823 ations.
12824
12825 --enable-tests
12826 --disable-tests
12827 dependency checking and compilation for test suites
12828 listed in the package description file.
12829
12830 --enable-coverage
12831 --disable-coverage
12832 build package with Haskell Program Coverage. (GHC only)
12833
12834 --enable-library-coverage
12835 --disable-library-coverage
12836 build package with Haskell Program Coverage. (GHC only)
12837 (DEPRECATED)
12838
12839 --enable-benchmarks
12840 --disable-benchmarks
12841 dependency checking and compilation for benchmarks listed
12842 in the package description file.
12843
12844 --enable-relocatable
12845 --disable-relocatable
12846 building a package that is relocatable. (GHC only)
12847
12848 --disable-response-files
12849 enable workaround for old versions of programs like "ar"
12850 that do not support @file arguments
12851
12852 --allow-depending-on-private-libs
12853 Allow depending on private libraries. If set, the library
12854 visibility check MUST be done externally.
12855
12856 --with-alex PATH
12857 give the path to alex
12858
12859 --with-ar PATH
12860 give the path to ar
12861
12862 --with-c2hs PATH
12863 give the path to c2hs
12864
12865 --with-cpphs PATH
12866 give the path to cpphs
12867
12868 --with-doctest PATH
12869 give the path to doctest
12870
12871 --with-gcc PATH
12872 give the path to gcc
12873
12874 --with-ghc PATH
12875 give the path to ghc
12876
12877 --with-ghc-pkg PATH
12878 give the path to ghc-pkg
12879
12880 --with-ghcjs PATH
12881 give the path to ghcjs
12882
12883 --with-ghcjs-pkg PATH
12884 give the path to ghcjs-pkg
12885
12886 --with-greencard PATH
12887 give the path to greencard
12888
12889 --with-haddock PATH
12890 give the path to haddock
12891
12892 --with-happy PATH
12893 give the path to happy
12894
12895 --with-haskell-suite PATH
12896 give the path to haskell-suite
12897
12898 --with-haskell-suite-pkg PATH
12899 give the path to haskell-suite-pkg
12900
12901 --with-hmake PATH
12902 give the path to hmake
12903
12904 --with-hpc PATH
12905 give the path to hpc
12906
12907 --with-hsc2hs PATH
12908 give the path to hsc2hs
12909
12910 --with-hscolour PATH
12911 give the path to hscolour
12912
12913 --with-jhc PATH
12914 give the path to jhc
12915
12916 --with-ld PATH
12917 give the path to ld
12918
12919 --with-pkg-config PATH
12920 give the path to pkg-config
12921
12922 --with-runghc PATH
12923 give the path to runghc
12924
12925 --with-strip PATH
12926 give the path to strip
12927
12928 --with-tar PATH
12929 give the path to tar
12930
12931 --with-uhc PATH
12932 give the path to uhc
12933
12934 --alex-option OPT
12935 give an extra option to alex (no need to quote options
12936 containing spaces)
12937
12938 --ar-option OPT
12939 give an extra option to ar (no need to quote options con‐
12940 taining spaces)
12941
12942 --c2hs-option OPT
12943 give an extra option to c2hs (no need to quote options
12944 containing spaces)
12945
12946 --cpphs-option OPT
12947 give an extra option to cpphs (no need to quote options
12948 containing spaces)
12949
12950 --doctest-option OPT
12951 give an extra option to doctest (no need to quote options
12952 containing spaces)
12953
12954 --gcc-option OPT
12955 give an extra option to gcc (no need to quote options
12956 containing spaces)
12957
12958 --ghc-option OPT
12959 give an extra option to ghc (no need to quote options
12960 containing spaces)
12961
12962 --ghc-pkg-option OPT
12963 give an extra option to ghc-pkg (no need to quote options
12964 containing spaces)
12965
12966 --ghcjs-option OPT
12967 give an extra option to ghcjs (no need to quote options
12968 containing spaces)
12969
12970 --ghcjs-pkg-option OPT
12971 give an extra option to ghcjs-pkg (no need to quote op‐
12972 tions containing spaces)
12973
12974 --greencard-option OPT
12975 give an extra option to greencard (no need to quote op‐
12976 tions containing spaces)
12977
12978 --haddock-option OPT
12979 give an extra option to haddock (no need to quote options
12980 containing spaces)
12981
12982 --happy-option OPT
12983 give an extra option to happy (no need to quote options
12984 containing spaces)
12985
12986 --haskell-suite-option OPT
12987 give an extra option to haskell-suite (no need to quote
12988 options containing spaces)
12989
12990 --haskell-suite-pkg-option OPT
12991 give an extra option to haskell-suite-pkg (no need to
12992 quote options containing spaces)
12993
12994 --hmake-option OPT
12995 give an extra option to hmake (no need to quote options
12996 containing spaces)
12997
12998 --hpc-option OPT
12999 give an extra option to hpc (no need to quote options
13000 containing spaces)
13001
13002 --hsc2hs-option OPT
13003 give an extra option to hsc2hs (no need to quote options
13004 containing spaces)
13005
13006 --hscolour-option OPT
13007 give an extra option to hscolour (no need to quote op‐
13008 tions containing spaces)
13009
13010 --jhc-option OPT
13011 give an extra option to jhc (no need to quote options
13012 containing spaces)
13013
13014 --ld-option OPT
13015 give an extra option to ld (no need to quote options con‐
13016 taining spaces)
13017
13018 --pkg-config-option OPT
13019 give an extra option to pkg-config (no need to quote op‐
13020 tions containing spaces)
13021
13022 --runghc-option OPT
13023 give an extra option to runghc (no need to quote options
13024 containing spaces)
13025
13026 --strip-option OPT
13027 give an extra option to strip (no need to quote options
13028 containing spaces)
13029
13030 --tar-option OPT
13031 give an extra option to tar (no need to quote options
13032 containing spaces)
13033
13034 --uhc-option OPT
13035 give an extra option to uhc (no need to quote options
13036 containing spaces)
13037
13038 --alex-options OPTS
13039 give extra options to alex
13040
13041 --ar-options OPTS
13042 give extra options to ar
13043
13044 --c2hs-options OPTS
13045 give extra options to c2hs
13046
13047 --cpphs-options OPTS
13048 give extra options to cpphs
13049
13050 --doctest-options OPTS
13051 give extra options to doctest
13052
13053 --gcc-options OPTS
13054 give extra options to gcc
13055
13056 --ghc-options OPTS
13057 give extra options to ghc
13058
13059 --ghc-pkg-options OPTS
13060 give extra options to ghc-pkg
13061
13062 --ghcjs-options OPTS
13063 give extra options to ghcjs
13064
13065 --ghcjs-pkg-options OPTS
13066 give extra options to ghcjs-pkg
13067
13068 --greencard-options OPTS
13069 give extra options to greencard
13070
13071 --haddock-options OPTS
13072 give extra options to haddock
13073
13074 --happy-options OPTS
13075 give extra options to happy
13076
13077 --haskell-suite-options OPTS
13078 give extra options to haskell-suite
13079
13080 --haskell-suite-pkg-options OPTS
13081 give extra options to haskell-suite-pkg
13082
13083 --hmake-options OPTS
13084 give extra options to hmake
13085
13086 --hpc-options OPTS
13087 give extra options to hpc
13088
13089 --hsc2hs-options OPTS
13090 give extra options to hsc2hs
13091
13092 --hscolour-options OPTS
13093 give extra options to hscolour
13094
13095 --jhc-options OPTS
13096 give extra options to jhc
13097
13098 --ld-options OPTS
13099 give extra options to ld
13100
13101 --pkg-config-options OPTS
13102 give extra options to pkg-config
13103
13104 --runghc-options OPTS
13105 give extra options to runghc
13106
13107 --strip-options OPTS
13108 give extra options to strip
13109
13110 --tar-options OPTS
13111 give extra options to tar
13112
13113 --uhc-options OPTS
13114 give extra options to uhc
13115
13116 --cabal-lib-version VERSION
13117 Select which version of the Cabal lib to use to build
13118 packages (useful for testing).
13119
13120 --constraint CONSTRAINT
13121 Specify constraints on a package (version, in‐
13122 stalled/source, flags)
13123
13124 --preference CONSTRAINT
13125 Specify preferences (soft constraints) on the version of
13126 a package
13127
13128 --solver SOLVER
13129 Select dependency solver to use (default: modular).
13130 Choices: modular.
13131
13132 --allow-older [DEPS]
13133 Ignore lower bounds in all dependencies or DEPS
13134
13135 --allow-newer [DEPS]
13136 Ignore upper bounds in all dependencies or DEPS
13137
13138 --write-ghc-environment-files always|never|ghc8.4.4+
13139 Whether to create a .ghc.environment file after a suc‐
13140 cessful build (v2-build only)
13141
13142 --enable-documentation
13143 --disable-documentation
13144 building of documentation
13145
13146 --doc-index-file TEMPLATE
13147 A central index of haddock API documentation (template
13148 cannot use $pkgid)
13149
13150 --dry-run
13151 Do not install anything, only print what would be in‐
13152 stalled.
13153
13154 --max-backjumps NUM
13155 Maximum number of backjumps allowed while solving (de‐
13156 fault: 4000). Use a negative number to enable unlimited
13157 backtracking. Use 0 to disable backtracking completely.
13158
13159 --reorder-goals
13160 --no-reorder-goals
13161 Try to reorder goals according to certain heuristics.
13162 Slows things down on average, but may make backtracking
13163 faster for some packages.
13164
13165 --count-conflicts
13166 --no-count-conflicts
13167 Try to speed up solving by preferring goals that are in‐
13168 volved in a lot of conflicts (default).
13169
13170 --fine-grained-conflicts
13171 --no-fine-grained-conflicts
13172 Skip a version of a package if it does not resolve the
13173 conflicts encountered in the last version, as a solver
13174 optimization (default).
13175
13176 --minimize-conflict-set
13177 --no-minimize-conflict-set
13178 When there is no solution, try to improve the error mes‐
13179 sage by finding a minimal conflict set (default: false).
13180 May increase run time significantly.
13181
13182 --independent-goals
13183 --no-independent-goals
13184 Treat several goals on the command line as independent.
13185 If several goals depend on the same package, different
13186 versions can be chosen.
13187
13188 --shadow-installed-packages
13189 --no-shadow-installed-packages
13190 If multiple package instances of the same version are in‐
13191 stalled, treat all but one as shadowed.
13192
13193 --strong-flags
13194 --no-strong-flags
13195 Do not defer flag choices (this used to be the default in
13196 cabal-install <= 1.20).
13197
13198 --allow-boot-library-installs
13199 --no-allow-boot-library-installs
13200 Allow cabal to install base, ghc-prim, integer-simple,
13201 integer-gmp, and template-haskell.
13202
13203 --reject-unconstrained-dependencies none|all
13204 Require these packages to have constraints on them if
13205 they are to be selected (default: none).
13206
13207 --reinstall
13208 --no-reinstall
13209 Install even if it means installing the same version
13210 again.
13211
13212 --avoid-reinstalls
13213 --no-avoid-reinstalls
13214 Do not select versions that would destructively overwrite
13215 installed packages.
13216
13217 --force-reinstalls
13218 --no-force-reinstalls
13219 Reinstall packages even if they will most likely break
13220 other installed packages.
13221
13222 --upgrade-dependencies
13223 --no-upgrade-dependencies
13224 Pick the latest version for all dependencies, rather than
13225 trying to pick an installed version.
13226
13227 --only-dependencies
13228 --no-only-dependencies
13229 Install only the dependencies necessary to build the
13230 given packages
13231
13232 --dependencies-only
13233 --no-dependencies-only
13234 A synonym for --only-dependencies
13235
13236 --index-state STATE
13237 Use source package index state as it existed at a previ‐
13238 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
13239 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
13240 'HEAD' (default: 'HEAD').
13241
13242 --root-cmd COMMAND
13243 (No longer supported, do not use.)
13244
13245 --symlink-bindir DIR
13246 Add symlinks to installed executables into this direc‐
13247 tory.
13248
13249 --build-summary TEMPLATE
13250 Save build summaries to file (name template can use
13251 $pkgid, $compiler, $os, $arch)
13252
13253 --build-log TEMPLATE
13254 Log all builds to file (name template can use $pkgid,
13255 $compiler, $os, $arch)
13256
13257 --remote-build-reporting LEVEL
13258 Generate build reports to send to a remote server (none,
13259 anonymous or detailed).
13260
13261 --report-planning-failure
13262 Generate build reports when the dependency solver fails.
13263 This is used by the Hackage build bot.
13264
13265 --enable-per-component
13266 --disable-per-component
13267 Per-component builds when possible
13268
13269 --one-shot
13270 --no-one-shot
13271 Do not record the packages in the world file.
13272
13273 --run-tests
13274 Run package test suites during installation.
13275
13276 -j, --jobs [NUM]
13277 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
13278 given).
13279
13280 --keep-going
13281 After a build failure, continue to build other unaffected
13282 packages.
13283
13284 --offline
13285 --no-offline
13286 Don't download packages from the Internet.
13287
13288 --project-file FILE
13289 Set the name of the cabal.project file to search for in
13290 parent directories
13291
13292 --only
13293 Only installs the package in the current directory.
13294
13295 --haddock-hoogle
13296 Generate a hoogle database
13297
13298 --haddock-html
13299 Generate HTML documentation (the default)
13300
13301 --haddock-html-location URL
13302 Location of HTML documentation for pre-requisite packages
13303
13304 --haddock-for-hackage
13305 Collection of flags to generate documentation suitable
13306 for upload to hackage
13307
13308 --haddock-executables
13309 Run haddock for Executables targets
13310
13311 --haddock-tests
13312 Run haddock for Test Suite targets
13313
13314 --haddock-benchmarks
13315 Run haddock for Benchmark targets
13316
13317 --haddock-all
13318 Run haddock for all targets
13319
13320 --haddock-internal
13321 Run haddock for internal modules and include all symbols
13322
13323 --haddock-css PATH
13324 Use PATH as the haddock stylesheet
13325
13326 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
13327 dock-hyperlinked-source
13328 Hyperlink the documentation to the source code
13329
13330 --haddock-quickjump
13331 Generate an index for interactive documentation naviga‐
13332 tion
13333
13334 --haddock-hscolour-css PATH
13335 Use PATH as the HsColour stylesheet
13336
13337 --haddock-contents-location URL
13338 Bake URL in as the location for the contents page
13339
13340 --test-log TEMPLATE
13341 Log all test suite results to file (name template can use
13342 $pkgid, $compiler, $os, $arch, $test-suite, $result)
13343
13344 --test-machine-log TEMPLATE
13345 Produce a machine-readable log file (name template can
13346 use $pkgid, $compiler, $os, $arch, $result)
13347
13348 --test-show-details FILTER
13349
13350 --test-keep-tix-files
13351 keep .tix files for HPC between test runs
13352
13353 --test-wrapper FILE
13354 Run test through a wrapper.
13355
13356 --test-fail-when-no-test-suites
13357 Exit with failure when no test suites are found.
13358
13359 --test-options TEMPLATES
13360 give extra options to test executables (name templates
13361 can use $pkgid, $compiler, $os, $arch, $test-suite)
13362
13363 --test-option TEMPLATE
13364 give extra option to test executables (no need to quote
13365 options containing spaces, name template can use $pkgid,
13366 $compiler, $os, $arch, $test-suite)
13367
13368 --benchmark-options TEMPLATES
13369 give extra options to benchmark executables (name tem‐
13370 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
13371
13372 --benchmark-option TEMPLATE
13373 give extra option to benchmark executables (no need to
13374 quote options containing spaces, name template can use
13375 $pkgid, $compiler, $os, $arch, $benchmark)
13376
13377
13378 cabal new-haddock
13379
13380 Usage: cabal new-haddock [FLAGS] TARGET
13381
13382
13383 Build Haddock documentation for the specified packages within the
13384 project.
13385
13386 Any package in the project can be specified. If no package is speci‐
13387 fied, the default is to build the documentation for the package in the
13388 current directory. The default behaviour is to build documentation for
13389 the exposed modules of the library component (if any). This can be
13390 changed with the
13391
13392 Currently, documentation for dependencies is NOT built. This behavior
13393 may change in future.
13394
13395 Additional configuration flags can be specified on the command line and
13396 these extend the project configuration from the 'cabal.project',
13397
13398
13399 Build Haddock documentation for the specified packages within the
13400 project.
13401
13402 Any package in the project can be specified. If no package is speci‐
13403 fied, the default is to build the documentation for the package in the
13404 current directory. The default behaviour is to build documentation for
13405 the exposed modules of the library component (if any). This can be
13406 changed with the
13407
13408 Currently, documentation for dependencies is NOT built. This behavior
13409 may change in future.
13410
13411 Additional configuration flags can be specified on the command line and
13412 these extend the project configuration from the 'cabal.project',
13413
13414
13415 Flags:
13416 -v, --verbose [n]
13417 Control verbosity (n is 0--3, default verbosity level is
13418 1)
13419
13420 --builddir, --distdir, --distpref DIR
13421 The directory where Cabal puts generated build files (de‐
13422 fault dist)
13423
13424 -g, --ghc
13425 compile with GHC
13426
13427 --ghcjs
13428 compile with GHCJS
13429
13430 --uhc
13431 compile with UHC
13432
13433 --haskell-suite
13434 compile with a haskell-suite compiler
13435
13436 --cabal-file PATH
13437 use this Cabal file
13438
13439 -w, --with-compiler PATH
13440 give the path to a particular compiler
13441
13442 --with-hc-pkg PATH
13443 give the path to the package tool
13444
13445 --prefix DIR
13446 bake this prefix in preparation of installation
13447
13448 --bindir DIR
13449 installation directory for executables
13450
13451 --libdir DIR
13452 installation directory for libraries
13453
13454 --libsubdir DIR
13455 subdirectory of libdir in which libs are installed
13456
13457 --dynlibdir DIR
13458 installation directory for dynamic libraries
13459
13460 --libexecdir DIR
13461 installation directory for program executables
13462
13463 --libexecsubdir DIR
13464 subdirectory of libexecdir in which private executables
13465 are installed
13466
13467 --datadir DIR
13468 installation directory for read-only data
13469
13470 --datasubdir DIR
13471 subdirectory of datadir in which data files are installed
13472
13473 --docdir DIR
13474 installation directory for documentation
13475
13476 --htmldir DIR
13477 installation directory for HTML documentation
13478
13479 --haddockdir DIR
13480 installation directory for haddock interfaces
13481
13482 --sysconfdir DIR
13483 installation directory for configuration files
13484
13485 --program-prefix PREFIX
13486 prefix to be applied to installed executables
13487
13488 --program-suffix SUFFIX
13489 suffix to be applied to installed executables
13490
13491 --enable-library-vanilla
13492 --disable-library-vanilla
13493 Vanilla libraries
13494
13495 -p, --enable-library-profiling
13496 --disable-library-profiling
13497 Library profiling
13498
13499 --enable-shared
13500 --disable-shared
13501 Shared library
13502
13503 --enable-static
13504 --disable-static
13505 Static library
13506
13507 --enable-executable-dynamic
13508 --disable-executable-dynamic
13509 Executable dynamic linking
13510
13511 --enable-executable-static
13512 --disable-executable-static
13513 Executable fully static linking
13514
13515 --enable-profiling
13516 --disable-profiling
13517 Executable and library profiling
13518
13519 --enable-executable-profiling
13520 --disable-executable-profiling
13521 Executable profiling (DEPRECATED)
13522
13523 --profiling-detail level
13524 Profiling detail level for executable and library (de‐
13525 fault, none, exported-functions, toplevel-functions,
13526 all-functions).
13527
13528 --library-profiling-detail level
13529 Profiling detail level for libraries only.
13530
13531 -O, --enable-optimization, --enable-optimisation [n]
13532 Build with optimization (n is 0--2, default is 1)
13533
13534 --disable-optimization, --disable-optimisation
13535 Build without optimization
13536
13537 --enable-debug-info [n]
13538 Emit debug info (n is 0--3, default is 0)
13539
13540 --disable-debug-info
13541 Don't emit debug info
13542
13543 --enable-library-for-ghci
13544 --disable-library-for-ghci
13545 compile library for use with GHCi
13546
13547 --enable-split-sections
13548 --disable-split-sections
13549 compile library code such that unneeded definitions can
13550 be dropped from the final executable (GHC 7.8+)
13551
13552 --enable-split-objs
13553 --disable-split-objs
13554 split library into smaller objects to reduce binary sizes
13555 (GHC 6.6+)
13556
13557 --enable-executable-stripping
13558 --disable-executable-stripping
13559 strip executables upon installation to reduce binary
13560 sizes
13561
13562 --enable-library-stripping
13563 --disable-library-stripping
13564 strip libraries upon installation to reduce binary sizes
13565
13566 --configure-option OPT
13567 Extra option for configure
13568
13569 --user
13570 --global
13571 doing a per-user installation
13572
13573 --package-db DB
13574 Append the given package database to the list of package
13575 databases used (to satisfy dependencies and register
13576 into). May be a specific file, 'global' or 'user'. The
13577 initial list is ['global'], ['global', 'user'], or
13578 ['global', $sandbox], depending on context. Use 'clear'
13579 to reset the list to empty. See the user guide for de‐
13580 tails.
13581
13582 -f, --flags FLAGS
13583 Force values for the given flags in Cabal conditionals in
13584 the .cabal file. E.g., --flags="debug -usebytestrings"
13585 forces the flag "debug" to true and "usebytestrings" to
13586 false.
13587
13588 --extra-include-dirs PATH
13589 A list of directories to search for header files
13590
13591 --enable-deterministic
13592 --disable-deterministic
13593 Try to be as deterministic as possible (used by the test
13594 suite)
13595
13596 --ipid IPID
13597 Installed package ID to compile this package as
13598
13599 --cid CID
13600 Installed component ID to compile this component as
13601
13602 --extra-lib-dirs PATH
13603 A list of directories to search for external libraries
13604
13605 --extra-framework-dirs PATH
13606 A list of directories to search for external frameworks
13607 (OS X only)
13608
13609 --extra-prog-path PATH
13610 A list of directories to search for required programs (in
13611 addition to the normal search locations)
13612
13613 --instantiate-with NAME=MOD
13614 A mapping of signature names to concrete module instanti‐
13615 ations.
13616
13617 --enable-tests
13618 --disable-tests
13619 dependency checking and compilation for test suites
13620 listed in the package description file.
13621
13622 --enable-coverage
13623 --disable-coverage
13624 build package with Haskell Program Coverage. (GHC only)
13625
13626 --enable-library-coverage
13627 --disable-library-coverage
13628 build package with Haskell Program Coverage. (GHC only)
13629 (DEPRECATED)
13630
13631 --enable-benchmarks
13632 --disable-benchmarks
13633 dependency checking and compilation for benchmarks listed
13634 in the package description file.
13635
13636 --enable-relocatable
13637 --disable-relocatable
13638 building a package that is relocatable. (GHC only)
13639
13640 --disable-response-files
13641 enable workaround for old versions of programs like "ar"
13642 that do not support @file arguments
13643
13644 --allow-depending-on-private-libs
13645 Allow depending on private libraries. If set, the library
13646 visibility check MUST be done externally.
13647
13648 --with-alex PATH
13649 give the path to alex
13650
13651 --with-ar PATH
13652 give the path to ar
13653
13654 --with-c2hs PATH
13655 give the path to c2hs
13656
13657 --with-cpphs PATH
13658 give the path to cpphs
13659
13660 --with-doctest PATH
13661 give the path to doctest
13662
13663 --with-gcc PATH
13664 give the path to gcc
13665
13666 --with-ghc PATH
13667 give the path to ghc
13668
13669 --with-ghc-pkg PATH
13670 give the path to ghc-pkg
13671
13672 --with-ghcjs PATH
13673 give the path to ghcjs
13674
13675 --with-ghcjs-pkg PATH
13676 give the path to ghcjs-pkg
13677
13678 --with-greencard PATH
13679 give the path to greencard
13680
13681 --with-haddock PATH
13682 give the path to haddock
13683
13684 --with-happy PATH
13685 give the path to happy
13686
13687 --with-haskell-suite PATH
13688 give the path to haskell-suite
13689
13690 --with-haskell-suite-pkg PATH
13691 give the path to haskell-suite-pkg
13692
13693 --with-hmake PATH
13694 give the path to hmake
13695
13696 --with-hpc PATH
13697 give the path to hpc
13698
13699 --with-hsc2hs PATH
13700 give the path to hsc2hs
13701
13702 --with-hscolour PATH
13703 give the path to hscolour
13704
13705 --with-jhc PATH
13706 give the path to jhc
13707
13708 --with-ld PATH
13709 give the path to ld
13710
13711 --with-pkg-config PATH
13712 give the path to pkg-config
13713
13714 --with-runghc PATH
13715 give the path to runghc
13716
13717 --with-strip PATH
13718 give the path to strip
13719
13720 --with-tar PATH
13721 give the path to tar
13722
13723 --with-uhc PATH
13724 give the path to uhc
13725
13726 --alex-option OPT
13727 give an extra option to alex (no need to quote options
13728 containing spaces)
13729
13730 --ar-option OPT
13731 give an extra option to ar (no need to quote options con‐
13732 taining spaces)
13733
13734 --c2hs-option OPT
13735 give an extra option to c2hs (no need to quote options
13736 containing spaces)
13737
13738 --cpphs-option OPT
13739 give an extra option to cpphs (no need to quote options
13740 containing spaces)
13741
13742 --doctest-option OPT
13743 give an extra option to doctest (no need to quote options
13744 containing spaces)
13745
13746 --gcc-option OPT
13747 give an extra option to gcc (no need to quote options
13748 containing spaces)
13749
13750 --ghc-option OPT
13751 give an extra option to ghc (no need to quote options
13752 containing spaces)
13753
13754 --ghc-pkg-option OPT
13755 give an extra option to ghc-pkg (no need to quote options
13756 containing spaces)
13757
13758 --ghcjs-option OPT
13759 give an extra option to ghcjs (no need to quote options
13760 containing spaces)
13761
13762 --ghcjs-pkg-option OPT
13763 give an extra option to ghcjs-pkg (no need to quote op‐
13764 tions containing spaces)
13765
13766 --greencard-option OPT
13767 give an extra option to greencard (no need to quote op‐
13768 tions containing spaces)
13769
13770 --haddock-option OPT
13771 give an extra option to haddock (no need to quote options
13772 containing spaces)
13773
13774 --happy-option OPT
13775 give an extra option to happy (no need to quote options
13776 containing spaces)
13777
13778 --haskell-suite-option OPT
13779 give an extra option to haskell-suite (no need to quote
13780 options containing spaces)
13781
13782 --haskell-suite-pkg-option OPT
13783 give an extra option to haskell-suite-pkg (no need to
13784 quote options containing spaces)
13785
13786 --hmake-option OPT
13787 give an extra option to hmake (no need to quote options
13788 containing spaces)
13789
13790 --hpc-option OPT
13791 give an extra option to hpc (no need to quote options
13792 containing spaces)
13793
13794 --hsc2hs-option OPT
13795 give an extra option to hsc2hs (no need to quote options
13796 containing spaces)
13797
13798 --hscolour-option OPT
13799 give an extra option to hscolour (no need to quote op‐
13800 tions containing spaces)
13801
13802 --jhc-option OPT
13803 give an extra option to jhc (no need to quote options
13804 containing spaces)
13805
13806 --ld-option OPT
13807 give an extra option to ld (no need to quote options con‐
13808 taining spaces)
13809
13810 --pkg-config-option OPT
13811 give an extra option to pkg-config (no need to quote op‐
13812 tions containing spaces)
13813
13814 --runghc-option OPT
13815 give an extra option to runghc (no need to quote options
13816 containing spaces)
13817
13818 --strip-option OPT
13819 give an extra option to strip (no need to quote options
13820 containing spaces)
13821
13822 --tar-option OPT
13823 give an extra option to tar (no need to quote options
13824 containing spaces)
13825
13826 --uhc-option OPT
13827 give an extra option to uhc (no need to quote options
13828 containing spaces)
13829
13830 --alex-options OPTS
13831 give extra options to alex
13832
13833 --ar-options OPTS
13834 give extra options to ar
13835
13836 --c2hs-options OPTS
13837 give extra options to c2hs
13838
13839 --cpphs-options OPTS
13840 give extra options to cpphs
13841
13842 --doctest-options OPTS
13843 give extra options to doctest
13844
13845 --gcc-options OPTS
13846 give extra options to gcc
13847
13848 --ghc-options OPTS
13849 give extra options to ghc
13850
13851 --ghc-pkg-options OPTS
13852 give extra options to ghc-pkg
13853
13854 --ghcjs-options OPTS
13855 give extra options to ghcjs
13856
13857 --ghcjs-pkg-options OPTS
13858 give extra options to ghcjs-pkg
13859
13860 --greencard-options OPTS
13861 give extra options to greencard
13862
13863 --haddock-options OPTS
13864 give extra options to haddock
13865
13866 --happy-options OPTS
13867 give extra options to happy
13868
13869 --haskell-suite-options OPTS
13870 give extra options to haskell-suite
13871
13872 --haskell-suite-pkg-options OPTS
13873 give extra options to haskell-suite-pkg
13874
13875 --hmake-options OPTS
13876 give extra options to hmake
13877
13878 --hpc-options OPTS
13879 give extra options to hpc
13880
13881 --hsc2hs-options OPTS
13882 give extra options to hsc2hs
13883
13884 --hscolour-options OPTS
13885 give extra options to hscolour
13886
13887 --jhc-options OPTS
13888 give extra options to jhc
13889
13890 --ld-options OPTS
13891 give extra options to ld
13892
13893 --pkg-config-options OPTS
13894 give extra options to pkg-config
13895
13896 --runghc-options OPTS
13897 give extra options to runghc
13898
13899 --strip-options OPTS
13900 give extra options to strip
13901
13902 --tar-options OPTS
13903 give extra options to tar
13904
13905 --uhc-options OPTS
13906 give extra options to uhc
13907
13908 --cabal-lib-version VERSION
13909 Select which version of the Cabal lib to use to build
13910 packages (useful for testing).
13911
13912 --constraint CONSTRAINT
13913 Specify constraints on a package (version, in‐
13914 stalled/source, flags)
13915
13916 --preference CONSTRAINT
13917 Specify preferences (soft constraints) on the version of
13918 a package
13919
13920 --solver SOLVER
13921 Select dependency solver to use (default: modular).
13922 Choices: modular.
13923
13924 --allow-older [DEPS]
13925 Ignore lower bounds in all dependencies or DEPS
13926
13927 --allow-newer [DEPS]
13928 Ignore upper bounds in all dependencies or DEPS
13929
13930 --write-ghc-environment-files always|never|ghc8.4.4+
13931 Whether to create a .ghc.environment file after a suc‐
13932 cessful build (v2-build only)
13933
13934 --enable-documentation
13935 --disable-documentation
13936 building of documentation
13937
13938 --doc-index-file TEMPLATE
13939 A central index of haddock API documentation (template
13940 cannot use $pkgid)
13941
13942 --dry-run
13943 Do not install anything, only print what would be in‐
13944 stalled.
13945
13946 --max-backjumps NUM
13947 Maximum number of backjumps allowed while solving (de‐
13948 fault: 4000). Use a negative number to enable unlimited
13949 backtracking. Use 0 to disable backtracking completely.
13950
13951 --reorder-goals
13952 --no-reorder-goals
13953 Try to reorder goals according to certain heuristics.
13954 Slows things down on average, but may make backtracking
13955 faster for some packages.
13956
13957 --count-conflicts
13958 --no-count-conflicts
13959 Try to speed up solving by preferring goals that are in‐
13960 volved in a lot of conflicts (default).
13961
13962 --fine-grained-conflicts
13963 --no-fine-grained-conflicts
13964 Skip a version of a package if it does not resolve the
13965 conflicts encountered in the last version, as a solver
13966 optimization (default).
13967
13968 --minimize-conflict-set
13969 --no-minimize-conflict-set
13970 When there is no solution, try to improve the error mes‐
13971 sage by finding a minimal conflict set (default: false).
13972 May increase run time significantly.
13973
13974 --independent-goals
13975 --no-independent-goals
13976 Treat several goals on the command line as independent.
13977 If several goals depend on the same package, different
13978 versions can be chosen.
13979
13980 --shadow-installed-packages
13981 --no-shadow-installed-packages
13982 If multiple package instances of the same version are in‐
13983 stalled, treat all but one as shadowed.
13984
13985 --strong-flags
13986 --no-strong-flags
13987 Do not defer flag choices (this used to be the default in
13988 cabal-install <= 1.20).
13989
13990 --allow-boot-library-installs
13991 --no-allow-boot-library-installs
13992 Allow cabal to install base, ghc-prim, integer-simple,
13993 integer-gmp, and template-haskell.
13994
13995 --reject-unconstrained-dependencies none|all
13996 Require these packages to have constraints on them if
13997 they are to be selected (default: none).
13998
13999 --reinstall
14000 --no-reinstall
14001 Install even if it means installing the same version
14002 again.
14003
14004 --avoid-reinstalls
14005 --no-avoid-reinstalls
14006 Do not select versions that would destructively overwrite
14007 installed packages.
14008
14009 --force-reinstalls
14010 --no-force-reinstalls
14011 Reinstall packages even if they will most likely break
14012 other installed packages.
14013
14014 --upgrade-dependencies
14015 --no-upgrade-dependencies
14016 Pick the latest version for all dependencies, rather than
14017 trying to pick an installed version.
14018
14019 --only-dependencies
14020 --no-only-dependencies
14021 Install only the dependencies necessary to build the
14022 given packages
14023
14024 --dependencies-only
14025 --no-dependencies-only
14026 A synonym for --only-dependencies
14027
14028 --index-state STATE
14029 Use source package index state as it existed at a previ‐
14030 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
14031 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
14032 'HEAD' (default: 'HEAD').
14033
14034 --root-cmd COMMAND
14035 (No longer supported, do not use.)
14036
14037 --symlink-bindir DIR
14038 Add symlinks to installed executables into this direc‐
14039 tory.
14040
14041 --build-summary TEMPLATE
14042 Save build summaries to file (name template can use
14043 $pkgid, $compiler, $os, $arch)
14044
14045 --build-log TEMPLATE
14046 Log all builds to file (name template can use $pkgid,
14047 $compiler, $os, $arch)
14048
14049 --remote-build-reporting LEVEL
14050 Generate build reports to send to a remote server (none,
14051 anonymous or detailed).
14052
14053 --report-planning-failure
14054 Generate build reports when the dependency solver fails.
14055 This is used by the Hackage build bot.
14056
14057 --enable-per-component
14058 --disable-per-component
14059 Per-component builds when possible
14060
14061 --one-shot
14062 --no-one-shot
14063 Do not record the packages in the world file.
14064
14065 --run-tests
14066 Run package test suites during installation.
14067
14068 -j, --jobs [NUM]
14069 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
14070 given).
14071
14072 --keep-going
14073 After a build failure, continue to build other unaffected
14074 packages.
14075
14076 --offline
14077 --no-offline
14078 Don't download packages from the Internet.
14079
14080 --project-file FILE
14081 Set the name of the cabal.project file to search for in
14082 parent directories
14083
14084 --only
14085 Only installs the package in the current directory.
14086
14087 --haddock-hoogle
14088 Generate a hoogle database
14089
14090 --haddock-html
14091 Generate HTML documentation (the default)
14092
14093 --haddock-html-location URL
14094 Location of HTML documentation for pre-requisite packages
14095
14096 --haddock-for-hackage
14097 Collection of flags to generate documentation suitable
14098 for upload to hackage
14099
14100 --haddock-executables
14101 Run haddock for Executables targets
14102
14103 --haddock-tests
14104 Run haddock for Test Suite targets
14105
14106 --haddock-benchmarks
14107 Run haddock for Benchmark targets
14108
14109 --haddock-all
14110 Run haddock for all targets
14111
14112 --haddock-internal
14113 Run haddock for internal modules and include all symbols
14114
14115 --haddock-css PATH
14116 Use PATH as the haddock stylesheet
14117
14118 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
14119 dock-hyperlinked-source
14120 Hyperlink the documentation to the source code
14121
14122 --haddock-quickjump
14123 Generate an index for interactive documentation naviga‐
14124 tion
14125
14126 --haddock-hscolour-css PATH
14127 Use PATH as the HsColour stylesheet
14128
14129 --haddock-contents-location URL
14130 Bake URL in as the location for the contents page
14131
14132 --test-log TEMPLATE
14133 Log all test suite results to file (name template can use
14134 $pkgid, $compiler, $os, $arch, $test-suite, $result)
14135
14136 --test-machine-log TEMPLATE
14137 Produce a machine-readable log file (name template can
14138 use $pkgid, $compiler, $os, $arch, $result)
14139
14140 --test-show-details FILTER
14141
14142 --test-keep-tix-files
14143 keep .tix files for HPC between test runs
14144
14145 --test-wrapper FILE
14146 Run test through a wrapper.
14147
14148 --test-fail-when-no-test-suites
14149 Exit with failure when no test suites are found.
14150
14151 --test-options TEMPLATES
14152 give extra options to test executables (name templates
14153 can use $pkgid, $compiler, $os, $arch, $test-suite)
14154
14155 --test-option TEMPLATE
14156 give extra option to test executables (no need to quote
14157 options containing spaces, name template can use $pkgid,
14158 $compiler, $os, $arch, $test-suite)
14159
14160 --benchmark-options TEMPLATES
14161 give extra options to benchmark executables (name tem‐
14162 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
14163
14164 --benchmark-option TEMPLATE
14165 give extra option to benchmark executables (no need to
14166 quote options containing spaces, name template can use
14167 $pkgid, $compiler, $os, $arch, $benchmark)
14168
14169
14170 cabal v2-haddock
14171
14172 Usage: cabal v2-haddock [FLAGS] TARGET
14173
14174
14175 Build Haddock documentation for the specified packages within the
14176 project.
14177
14178 Any package in the project can be specified. If no package is speci‐
14179 fied, the default is to build the documentation for the package in the
14180 current directory. The default behaviour is to build documentation for
14181 the exposed modules of the library component (if any). This can be
14182 changed with the
14183
14184 Currently, documentation for dependencies is NOT built. This behavior
14185 may change in future.
14186
14187 Additional configuration flags can be specified on the command line and
14188 these extend the project configuration from the 'cabal.project',
14189
14190
14191 Examples:
14192 cabal v2-haddock pkgname Build documentation for the package named
14193 pkgname
14194
14195 Note: this command is part of the new project-based system (aka nix-
14196 style local builds). These features are currently in beta. Please see
14197 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
14198 details and advice on what you can expect to work. If you encounter
14199 problems please file issues at https://github.com/haskell/cabal/issues
14200 and if you have any time to get involved and help with testing, fixing
14201 bugs etc then that is very much appreciated.
14202
14203
14204 Flags:
14205 -v, --verbose [n]
14206 Control verbosity (n is 0--3, default verbosity level is
14207 1)
14208
14209 --builddir, --distdir, --distpref DIR
14210 The directory where Cabal puts generated build files (de‐
14211 fault dist)
14212
14213 -g, --ghc
14214 compile with GHC
14215
14216 --ghcjs
14217 compile with GHCJS
14218
14219 --uhc
14220 compile with UHC
14221
14222 --haskell-suite
14223 compile with a haskell-suite compiler
14224
14225 --cabal-file PATH
14226 use this Cabal file
14227
14228 -w, --with-compiler PATH
14229 give the path to a particular compiler
14230
14231 --with-hc-pkg PATH
14232 give the path to the package tool
14233
14234 --prefix DIR
14235 bake this prefix in preparation of installation
14236
14237 --bindir DIR
14238 installation directory for executables
14239
14240 --libdir DIR
14241 installation directory for libraries
14242
14243 --libsubdir DIR
14244 subdirectory of libdir in which libs are installed
14245
14246 --dynlibdir DIR
14247 installation directory for dynamic libraries
14248
14249 --libexecdir DIR
14250 installation directory for program executables
14251
14252 --libexecsubdir DIR
14253 subdirectory of libexecdir in which private executables
14254 are installed
14255
14256 --datadir DIR
14257 installation directory for read-only data
14258
14259 --datasubdir DIR
14260 subdirectory of datadir in which data files are installed
14261
14262 --docdir DIR
14263 installation directory for documentation
14264
14265 --htmldir DIR
14266 installation directory for HTML documentation
14267
14268 --haddockdir DIR
14269 installation directory for haddock interfaces
14270
14271 --sysconfdir DIR
14272 installation directory for configuration files
14273
14274 --program-prefix PREFIX
14275 prefix to be applied to installed executables
14276
14277 --program-suffix SUFFIX
14278 suffix to be applied to installed executables
14279
14280 --enable-library-vanilla
14281 --disable-library-vanilla
14282 Vanilla libraries
14283
14284 -p, --enable-library-profiling
14285 --disable-library-profiling
14286 Library profiling
14287
14288 --enable-shared
14289 --disable-shared
14290 Shared library
14291
14292 --enable-static
14293 --disable-static
14294 Static library
14295
14296 --enable-executable-dynamic
14297 --disable-executable-dynamic
14298 Executable dynamic linking
14299
14300 --enable-executable-static
14301 --disable-executable-static
14302 Executable fully static linking
14303
14304 --enable-profiling
14305 --disable-profiling
14306 Executable and library profiling
14307
14308 --enable-executable-profiling
14309 --disable-executable-profiling
14310 Executable profiling (DEPRECATED)
14311
14312 --profiling-detail level
14313 Profiling detail level for executable and library (de‐
14314 fault, none, exported-functions, toplevel-functions,
14315 all-functions).
14316
14317 --library-profiling-detail level
14318 Profiling detail level for libraries only.
14319
14320 -O, --enable-optimization, --enable-optimisation [n]
14321 Build with optimization (n is 0--2, default is 1)
14322
14323 --disable-optimization, --disable-optimisation
14324 Build without optimization
14325
14326 --enable-debug-info [n]
14327 Emit debug info (n is 0--3, default is 0)
14328
14329 --disable-debug-info
14330 Don't emit debug info
14331
14332 --enable-library-for-ghci
14333 --disable-library-for-ghci
14334 compile library for use with GHCi
14335
14336 --enable-split-sections
14337 --disable-split-sections
14338 compile library code such that unneeded definitions can
14339 be dropped from the final executable (GHC 7.8+)
14340
14341 --enable-split-objs
14342 --disable-split-objs
14343 split library into smaller objects to reduce binary sizes
14344 (GHC 6.6+)
14345
14346 --enable-executable-stripping
14347 --disable-executable-stripping
14348 strip executables upon installation to reduce binary
14349 sizes
14350
14351 --enable-library-stripping
14352 --disable-library-stripping
14353 strip libraries upon installation to reduce binary sizes
14354
14355 --configure-option OPT
14356 Extra option for configure
14357
14358 --user
14359 --global
14360 doing a per-user installation
14361
14362 --package-db DB
14363 Append the given package database to the list of package
14364 databases used (to satisfy dependencies and register
14365 into). May be a specific file, 'global' or 'user'. The
14366 initial list is ['global'], ['global', 'user'], or
14367 ['global', $sandbox], depending on context. Use 'clear'
14368 to reset the list to empty. See the user guide for de‐
14369 tails.
14370
14371 -f, --flags FLAGS
14372 Force values for the given flags in Cabal conditionals in
14373 the .cabal file. E.g., --flags="debug -usebytestrings"
14374 forces the flag "debug" to true and "usebytestrings" to
14375 false.
14376
14377 --extra-include-dirs PATH
14378 A list of directories to search for header files
14379
14380 --enable-deterministic
14381 --disable-deterministic
14382 Try to be as deterministic as possible (used by the test
14383 suite)
14384
14385 --ipid IPID
14386 Installed package ID to compile this package as
14387
14388 --cid CID
14389 Installed component ID to compile this component as
14390
14391 --extra-lib-dirs PATH
14392 A list of directories to search for external libraries
14393
14394 --extra-framework-dirs PATH
14395 A list of directories to search for external frameworks
14396 (OS X only)
14397
14398 --extra-prog-path PATH
14399 A list of directories to search for required programs (in
14400 addition to the normal search locations)
14401
14402 --instantiate-with NAME=MOD
14403 A mapping of signature names to concrete module instanti‐
14404 ations.
14405
14406 --enable-tests
14407 --disable-tests
14408 dependency checking and compilation for test suites
14409 listed in the package description file.
14410
14411 --enable-coverage
14412 --disable-coverage
14413 build package with Haskell Program Coverage. (GHC only)
14414
14415 --enable-library-coverage
14416 --disable-library-coverage
14417 build package with Haskell Program Coverage. (GHC only)
14418 (DEPRECATED)
14419
14420 --enable-benchmarks
14421 --disable-benchmarks
14422 dependency checking and compilation for benchmarks listed
14423 in the package description file.
14424
14425 --enable-relocatable
14426 --disable-relocatable
14427 building a package that is relocatable. (GHC only)
14428
14429 --disable-response-files
14430 enable workaround for old versions of programs like "ar"
14431 that do not support @file arguments
14432
14433 --allow-depending-on-private-libs
14434 Allow depending on private libraries. If set, the library
14435 visibility check MUST be done externally.
14436
14437 --with-alex PATH
14438 give the path to alex
14439
14440 --with-ar PATH
14441 give the path to ar
14442
14443 --with-c2hs PATH
14444 give the path to c2hs
14445
14446 --with-cpphs PATH
14447 give the path to cpphs
14448
14449 --with-doctest PATH
14450 give the path to doctest
14451
14452 --with-gcc PATH
14453 give the path to gcc
14454
14455 --with-ghc PATH
14456 give the path to ghc
14457
14458 --with-ghc-pkg PATH
14459 give the path to ghc-pkg
14460
14461 --with-ghcjs PATH
14462 give the path to ghcjs
14463
14464 --with-ghcjs-pkg PATH
14465 give the path to ghcjs-pkg
14466
14467 --with-greencard PATH
14468 give the path to greencard
14469
14470 --with-haddock PATH
14471 give the path to haddock
14472
14473 --with-happy PATH
14474 give the path to happy
14475
14476 --with-haskell-suite PATH
14477 give the path to haskell-suite
14478
14479 --with-haskell-suite-pkg PATH
14480 give the path to haskell-suite-pkg
14481
14482 --with-hmake PATH
14483 give the path to hmake
14484
14485 --with-hpc PATH
14486 give the path to hpc
14487
14488 --with-hsc2hs PATH
14489 give the path to hsc2hs
14490
14491 --with-hscolour PATH
14492 give the path to hscolour
14493
14494 --with-jhc PATH
14495 give the path to jhc
14496
14497 --with-ld PATH
14498 give the path to ld
14499
14500 --with-pkg-config PATH
14501 give the path to pkg-config
14502
14503 --with-runghc PATH
14504 give the path to runghc
14505
14506 --with-strip PATH
14507 give the path to strip
14508
14509 --with-tar PATH
14510 give the path to tar
14511
14512 --with-uhc PATH
14513 give the path to uhc
14514
14515 --alex-option OPT
14516 give an extra option to alex (no need to quote options
14517 containing spaces)
14518
14519 --ar-option OPT
14520 give an extra option to ar (no need to quote options con‐
14521 taining spaces)
14522
14523 --c2hs-option OPT
14524 give an extra option to c2hs (no need to quote options
14525 containing spaces)
14526
14527 --cpphs-option OPT
14528 give an extra option to cpphs (no need to quote options
14529 containing spaces)
14530
14531 --doctest-option OPT
14532 give an extra option to doctest (no need to quote options
14533 containing spaces)
14534
14535 --gcc-option OPT
14536 give an extra option to gcc (no need to quote options
14537 containing spaces)
14538
14539 --ghc-option OPT
14540 give an extra option to ghc (no need to quote options
14541 containing spaces)
14542
14543 --ghc-pkg-option OPT
14544 give an extra option to ghc-pkg (no need to quote options
14545 containing spaces)
14546
14547 --ghcjs-option OPT
14548 give an extra option to ghcjs (no need to quote options
14549 containing spaces)
14550
14551 --ghcjs-pkg-option OPT
14552 give an extra option to ghcjs-pkg (no need to quote op‐
14553 tions containing spaces)
14554
14555 --greencard-option OPT
14556 give an extra option to greencard (no need to quote op‐
14557 tions containing spaces)
14558
14559 --haddock-option OPT
14560 give an extra option to haddock (no need to quote options
14561 containing spaces)
14562
14563 --happy-option OPT
14564 give an extra option to happy (no need to quote options
14565 containing spaces)
14566
14567 --haskell-suite-option OPT
14568 give an extra option to haskell-suite (no need to quote
14569 options containing spaces)
14570
14571 --haskell-suite-pkg-option OPT
14572 give an extra option to haskell-suite-pkg (no need to
14573 quote options containing spaces)
14574
14575 --hmake-option OPT
14576 give an extra option to hmake (no need to quote options
14577 containing spaces)
14578
14579 --hpc-option OPT
14580 give an extra option to hpc (no need to quote options
14581 containing spaces)
14582
14583 --hsc2hs-option OPT
14584 give an extra option to hsc2hs (no need to quote options
14585 containing spaces)
14586
14587 --hscolour-option OPT
14588 give an extra option to hscolour (no need to quote op‐
14589 tions containing spaces)
14590
14591 --jhc-option OPT
14592 give an extra option to jhc (no need to quote options
14593 containing spaces)
14594
14595 --ld-option OPT
14596 give an extra option to ld (no need to quote options con‐
14597 taining spaces)
14598
14599 --pkg-config-option OPT
14600 give an extra option to pkg-config (no need to quote op‐
14601 tions containing spaces)
14602
14603 --runghc-option OPT
14604 give an extra option to runghc (no need to quote options
14605 containing spaces)
14606
14607 --strip-option OPT
14608 give an extra option to strip (no need to quote options
14609 containing spaces)
14610
14611 --tar-option OPT
14612 give an extra option to tar (no need to quote options
14613 containing spaces)
14614
14615 --uhc-option OPT
14616 give an extra option to uhc (no need to quote options
14617 containing spaces)
14618
14619 --alex-options OPTS
14620 give extra options to alex
14621
14622 --ar-options OPTS
14623 give extra options to ar
14624
14625 --c2hs-options OPTS
14626 give extra options to c2hs
14627
14628 --cpphs-options OPTS
14629 give extra options to cpphs
14630
14631 --doctest-options OPTS
14632 give extra options to doctest
14633
14634 --gcc-options OPTS
14635 give extra options to gcc
14636
14637 --ghc-options OPTS
14638 give extra options to ghc
14639
14640 --ghc-pkg-options OPTS
14641 give extra options to ghc-pkg
14642
14643 --ghcjs-options OPTS
14644 give extra options to ghcjs
14645
14646 --ghcjs-pkg-options OPTS
14647 give extra options to ghcjs-pkg
14648
14649 --greencard-options OPTS
14650 give extra options to greencard
14651
14652 --haddock-options OPTS
14653 give extra options to haddock
14654
14655 --happy-options OPTS
14656 give extra options to happy
14657
14658 --haskell-suite-options OPTS
14659 give extra options to haskell-suite
14660
14661 --haskell-suite-pkg-options OPTS
14662 give extra options to haskell-suite-pkg
14663
14664 --hmake-options OPTS
14665 give extra options to hmake
14666
14667 --hpc-options OPTS
14668 give extra options to hpc
14669
14670 --hsc2hs-options OPTS
14671 give extra options to hsc2hs
14672
14673 --hscolour-options OPTS
14674 give extra options to hscolour
14675
14676 --jhc-options OPTS
14677 give extra options to jhc
14678
14679 --ld-options OPTS
14680 give extra options to ld
14681
14682 --pkg-config-options OPTS
14683 give extra options to pkg-config
14684
14685 --runghc-options OPTS
14686 give extra options to runghc
14687
14688 --strip-options OPTS
14689 give extra options to strip
14690
14691 --tar-options OPTS
14692 give extra options to tar
14693
14694 --uhc-options OPTS
14695 give extra options to uhc
14696
14697 --cabal-lib-version VERSION
14698 Select which version of the Cabal lib to use to build
14699 packages (useful for testing).
14700
14701 --constraint CONSTRAINT
14702 Specify constraints on a package (version, in‐
14703 stalled/source, flags)
14704
14705 --preference CONSTRAINT
14706 Specify preferences (soft constraints) on the version of
14707 a package
14708
14709 --solver SOLVER
14710 Select dependency solver to use (default: modular).
14711 Choices: modular.
14712
14713 --allow-older [DEPS]
14714 Ignore lower bounds in all dependencies or DEPS
14715
14716 --allow-newer [DEPS]
14717 Ignore upper bounds in all dependencies or DEPS
14718
14719 --write-ghc-environment-files always|never|ghc8.4.4+
14720 Whether to create a .ghc.environment file after a suc‐
14721 cessful build (v2-build only)
14722
14723 --enable-documentation
14724 --disable-documentation
14725 building of documentation
14726
14727 --doc-index-file TEMPLATE
14728 A central index of haddock API documentation (template
14729 cannot use $pkgid)
14730
14731 --dry-run
14732 Do not install anything, only print what would be in‐
14733 stalled.
14734
14735 --max-backjumps NUM
14736 Maximum number of backjumps allowed while solving (de‐
14737 fault: 4000). Use a negative number to enable unlimited
14738 backtracking. Use 0 to disable backtracking completely.
14739
14740 --reorder-goals
14741 --no-reorder-goals
14742 Try to reorder goals according to certain heuristics.
14743 Slows things down on average, but may make backtracking
14744 faster for some packages.
14745
14746 --count-conflicts
14747 --no-count-conflicts
14748 Try to speed up solving by preferring goals that are in‐
14749 volved in a lot of conflicts (default).
14750
14751 --fine-grained-conflicts
14752 --no-fine-grained-conflicts
14753 Skip a version of a package if it does not resolve the
14754 conflicts encountered in the last version, as a solver
14755 optimization (default).
14756
14757 --minimize-conflict-set
14758 --no-minimize-conflict-set
14759 When there is no solution, try to improve the error mes‐
14760 sage by finding a minimal conflict set (default: false).
14761 May increase run time significantly.
14762
14763 --independent-goals
14764 --no-independent-goals
14765 Treat several goals on the command line as independent.
14766 If several goals depend on the same package, different
14767 versions can be chosen.
14768
14769 --shadow-installed-packages
14770 --no-shadow-installed-packages
14771 If multiple package instances of the same version are in‐
14772 stalled, treat all but one as shadowed.
14773
14774 --strong-flags
14775 --no-strong-flags
14776 Do not defer flag choices (this used to be the default in
14777 cabal-install <= 1.20).
14778
14779 --allow-boot-library-installs
14780 --no-allow-boot-library-installs
14781 Allow cabal to install base, ghc-prim, integer-simple,
14782 integer-gmp, and template-haskell.
14783
14784 --reject-unconstrained-dependencies none|all
14785 Require these packages to have constraints on them if
14786 they are to be selected (default: none).
14787
14788 --reinstall
14789 --no-reinstall
14790 Install even if it means installing the same version
14791 again.
14792
14793 --avoid-reinstalls
14794 --no-avoid-reinstalls
14795 Do not select versions that would destructively overwrite
14796 installed packages.
14797
14798 --force-reinstalls
14799 --no-force-reinstalls
14800 Reinstall packages even if they will most likely break
14801 other installed packages.
14802
14803 --upgrade-dependencies
14804 --no-upgrade-dependencies
14805 Pick the latest version for all dependencies, rather than
14806 trying to pick an installed version.
14807
14808 --only-dependencies
14809 --no-only-dependencies
14810 Install only the dependencies necessary to build the
14811 given packages
14812
14813 --dependencies-only
14814 --no-dependencies-only
14815 A synonym for --only-dependencies
14816
14817 --index-state STATE
14818 Use source package index state as it existed at a previ‐
14819 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
14820 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
14821 'HEAD' (default: 'HEAD').
14822
14823 --root-cmd COMMAND
14824 (No longer supported, do not use.)
14825
14826 --symlink-bindir DIR
14827 Add symlinks to installed executables into this direc‐
14828 tory.
14829
14830 --build-summary TEMPLATE
14831 Save build summaries to file (name template can use
14832 $pkgid, $compiler, $os, $arch)
14833
14834 --build-log TEMPLATE
14835 Log all builds to file (name template can use $pkgid,
14836 $compiler, $os, $arch)
14837
14838 --remote-build-reporting LEVEL
14839 Generate build reports to send to a remote server (none,
14840 anonymous or detailed).
14841
14842 --report-planning-failure
14843 Generate build reports when the dependency solver fails.
14844 This is used by the Hackage build bot.
14845
14846 --enable-per-component
14847 --disable-per-component
14848 Per-component builds when possible
14849
14850 --one-shot
14851 --no-one-shot
14852 Do not record the packages in the world file.
14853
14854 --run-tests
14855 Run package test suites during installation.
14856
14857 -j, --jobs [NUM]
14858 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
14859 given).
14860
14861 --keep-going
14862 After a build failure, continue to build other unaffected
14863 packages.
14864
14865 --offline
14866 --no-offline
14867 Don't download packages from the Internet.
14868
14869 --project-file FILE
14870 Set the name of the cabal.project file to search for in
14871 parent directories
14872
14873 --only
14874 Only installs the package in the current directory.
14875
14876 --haddock-hoogle
14877 Generate a hoogle database
14878
14879 --haddock-html
14880 Generate HTML documentation (the default)
14881
14882 --haddock-html-location URL
14883 Location of HTML documentation for pre-requisite packages
14884
14885 --haddock-for-hackage
14886 Collection of flags to generate documentation suitable
14887 for upload to hackage
14888
14889 --haddock-executables
14890 Run haddock for Executables targets
14891
14892 --haddock-tests
14893 Run haddock for Test Suite targets
14894
14895 --haddock-benchmarks
14896 Run haddock for Benchmark targets
14897
14898 --haddock-all
14899 Run haddock for all targets
14900
14901 --haddock-internal
14902 Run haddock for internal modules and include all symbols
14903
14904 --haddock-css PATH
14905 Use PATH as the haddock stylesheet
14906
14907 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
14908 dock-hyperlinked-source
14909 Hyperlink the documentation to the source code
14910
14911 --haddock-quickjump
14912 Generate an index for interactive documentation naviga‐
14913 tion
14914
14915 --haddock-hscolour-css PATH
14916 Use PATH as the HsColour stylesheet
14917
14918 --haddock-contents-location URL
14919 Bake URL in as the location for the contents page
14920
14921 --test-log TEMPLATE
14922 Log all test suite results to file (name template can use
14923 $pkgid, $compiler, $os, $arch, $test-suite, $result)
14924
14925 --test-machine-log TEMPLATE
14926 Produce a machine-readable log file (name template can
14927 use $pkgid, $compiler, $os, $arch, $result)
14928
14929 --test-show-details FILTER
14930
14931 --test-keep-tix-files
14932 keep .tix files for HPC between test runs
14933
14934 --test-wrapper FILE
14935 Run test through a wrapper.
14936
14937 --test-fail-when-no-test-suites
14938 Exit with failure when no test suites are found.
14939
14940 --test-options TEMPLATES
14941 give extra options to test executables (name templates
14942 can use $pkgid, $compiler, $os, $arch, $test-suite)
14943
14944 --test-option TEMPLATE
14945 give extra option to test executables (no need to quote
14946 options containing spaces, name template can use $pkgid,
14947 $compiler, $os, $arch, $test-suite)
14948
14949 --benchmark-options TEMPLATES
14950 give extra options to benchmark executables (name tem‐
14951 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
14952
14953 --benchmark-option TEMPLATE
14954 give extra option to benchmark executables (no need to
14955 quote options containing spaces, name template can use
14956 $pkgid, $compiler, $os, $arch, $benchmark)
14957
14958
14959 cabal install
14960
14961 Usage: cabal install [TARGETS] [FLAGS]
14962
14963
14964 Installs one or more packages. This is done by installing them in the
14965 store and symlinking/copying the executables in the directory specified
14966 by the --installdir flag (`~/.cabal/bin/` by default). If you want the
14967 installed executables to be available globally, make sure that the PATH
14968 environment variable contains that directory.
14969
14970 If TARGET is a library, it will be added to the global environment.
14971 When doing this, cabal will try to build a plan that includes all the
14972 previously installed libraries. This is currently not implemented.
14973
14974
14975 Installs one or more packages. This is done by installing them in the
14976 store and symlinking/copying the executables in the directory specified
14977 by the --installdir flag (`~/.cabal/bin/` by default). If you want the
14978 installed executables to be available globally, make sure that the PATH
14979 environment variable contains that directory.
14980
14981 If TARGET is a library, it will be added to the global environment.
14982 When doing this, cabal will try to build a plan that includes all the
14983 previously installed libraries. This is currently not implemented.
14984
14985
14986 Flags:
14987 -v, --verbose [n]
14988 Control verbosity (n is 0--3, default verbosity level is
14989 1)
14990
14991 --builddir, --distdir, --distpref DIR
14992 The directory where Cabal puts generated build files (de‐
14993 fault dist)
14994
14995 -g, --ghc
14996 compile with GHC
14997
14998 --ghcjs
14999 compile with GHCJS
15000
15001 --uhc
15002 compile with UHC
15003
15004 --haskell-suite
15005 compile with a haskell-suite compiler
15006
15007 --cabal-file PATH
15008 use this Cabal file
15009
15010 -w, --with-compiler PATH
15011 give the path to a particular compiler
15012
15013 --with-hc-pkg PATH
15014 give the path to the package tool
15015
15016 --prefix DIR
15017 bake this prefix in preparation of installation
15018
15019 --bindir DIR
15020 installation directory for executables
15021
15022 --libdir DIR
15023 installation directory for libraries
15024
15025 --libsubdir DIR
15026 subdirectory of libdir in which libs are installed
15027
15028 --dynlibdir DIR
15029 installation directory for dynamic libraries
15030
15031 --libexecdir DIR
15032 installation directory for program executables
15033
15034 --libexecsubdir DIR
15035 subdirectory of libexecdir in which private executables
15036 are installed
15037
15038 --datadir DIR
15039 installation directory for read-only data
15040
15041 --datasubdir DIR
15042 subdirectory of datadir in which data files are installed
15043
15044 --docdir DIR
15045 installation directory for documentation
15046
15047 --htmldir DIR
15048 installation directory for HTML documentation
15049
15050 --haddockdir DIR
15051 installation directory for haddock interfaces
15052
15053 --sysconfdir DIR
15054 installation directory for configuration files
15055
15056 --program-prefix PREFIX
15057 prefix to be applied to installed executables
15058
15059 --program-suffix SUFFIX
15060 suffix to be applied to installed executables
15061
15062 --enable-library-vanilla
15063 --disable-library-vanilla
15064 Vanilla libraries
15065
15066 -p, --enable-library-profiling
15067 --disable-library-profiling
15068 Library profiling
15069
15070 --enable-shared
15071 --disable-shared
15072 Shared library
15073
15074 --enable-static
15075 --disable-static
15076 Static library
15077
15078 --enable-executable-dynamic
15079 --disable-executable-dynamic
15080 Executable dynamic linking
15081
15082 --enable-executable-static
15083 --disable-executable-static
15084 Executable fully static linking
15085
15086 --enable-profiling
15087 --disable-profiling
15088 Executable and library profiling
15089
15090 --enable-executable-profiling
15091 --disable-executable-profiling
15092 Executable profiling (DEPRECATED)
15093
15094 --profiling-detail level
15095 Profiling detail level for executable and library (de‐
15096 fault, none, exported-functions, toplevel-functions,
15097 all-functions).
15098
15099 --library-profiling-detail level
15100 Profiling detail level for libraries only.
15101
15102 -O, --enable-optimization, --enable-optimisation [n]
15103 Build with optimization (n is 0--2, default is 1)
15104
15105 --disable-optimization, --disable-optimisation
15106 Build without optimization
15107
15108 --enable-debug-info [n]
15109 Emit debug info (n is 0--3, default is 0)
15110
15111 --disable-debug-info
15112 Don't emit debug info
15113
15114 --enable-library-for-ghci
15115 --disable-library-for-ghci
15116 compile library for use with GHCi
15117
15118 --enable-split-sections
15119 --disable-split-sections
15120 compile library code such that unneeded definitions can
15121 be dropped from the final executable (GHC 7.8+)
15122
15123 --enable-split-objs
15124 --disable-split-objs
15125 split library into smaller objects to reduce binary sizes
15126 (GHC 6.6+)
15127
15128 --enable-executable-stripping
15129 --disable-executable-stripping
15130 strip executables upon installation to reduce binary
15131 sizes
15132
15133 --enable-library-stripping
15134 --disable-library-stripping
15135 strip libraries upon installation to reduce binary sizes
15136
15137 --configure-option OPT
15138 Extra option for configure
15139
15140 --user
15141 --global
15142 doing a per-user installation
15143
15144 --package-db DB
15145 Append the given package database to the list of package
15146 databases used (to satisfy dependencies and register
15147 into). May be a specific file, 'global' or 'user'. The
15148 initial list is ['global'], ['global', 'user'], or
15149 ['global', $sandbox], depending on context. Use 'clear'
15150 to reset the list to empty. See the user guide for de‐
15151 tails.
15152
15153 -f, --flags FLAGS
15154 Force values for the given flags in Cabal conditionals in
15155 the .cabal file. E.g., --flags="debug -usebytestrings"
15156 forces the flag "debug" to true and "usebytestrings" to
15157 false.
15158
15159 --extra-include-dirs PATH
15160 A list of directories to search for header files
15161
15162 --enable-deterministic
15163 --disable-deterministic
15164 Try to be as deterministic as possible (used by the test
15165 suite)
15166
15167 --ipid IPID
15168 Installed package ID to compile this package as
15169
15170 --cid CID
15171 Installed component ID to compile this component as
15172
15173 --extra-lib-dirs PATH
15174 A list of directories to search for external libraries
15175
15176 --extra-framework-dirs PATH
15177 A list of directories to search for external frameworks
15178 (OS X only)
15179
15180 --extra-prog-path PATH
15181 A list of directories to search for required programs (in
15182 addition to the normal search locations)
15183
15184 --instantiate-with NAME=MOD
15185 A mapping of signature names to concrete module instanti‐
15186 ations.
15187
15188 --enable-tests
15189 --disable-tests
15190 dependency checking and compilation for test suites
15191 listed in the package description file.
15192
15193 --enable-coverage
15194 --disable-coverage
15195 build package with Haskell Program Coverage. (GHC only)
15196
15197 --enable-library-coverage
15198 --disable-library-coverage
15199 build package with Haskell Program Coverage. (GHC only)
15200 (DEPRECATED)
15201
15202 --enable-benchmarks
15203 --disable-benchmarks
15204 dependency checking and compilation for benchmarks listed
15205 in the package description file.
15206
15207 --enable-relocatable
15208 --disable-relocatable
15209 building a package that is relocatable. (GHC only)
15210
15211 --disable-response-files
15212 enable workaround for old versions of programs like "ar"
15213 that do not support @file arguments
15214
15215 --allow-depending-on-private-libs
15216 Allow depending on private libraries. If set, the library
15217 visibility check MUST be done externally.
15218
15219 --with-alex PATH
15220 give the path to alex
15221
15222 --with-ar PATH
15223 give the path to ar
15224
15225 --with-c2hs PATH
15226 give the path to c2hs
15227
15228 --with-cpphs PATH
15229 give the path to cpphs
15230
15231 --with-doctest PATH
15232 give the path to doctest
15233
15234 --with-gcc PATH
15235 give the path to gcc
15236
15237 --with-ghc PATH
15238 give the path to ghc
15239
15240 --with-ghc-pkg PATH
15241 give the path to ghc-pkg
15242
15243 --with-ghcjs PATH
15244 give the path to ghcjs
15245
15246 --with-ghcjs-pkg PATH
15247 give the path to ghcjs-pkg
15248
15249 --with-greencard PATH
15250 give the path to greencard
15251
15252 --with-haddock PATH
15253 give the path to haddock
15254
15255 --with-happy PATH
15256 give the path to happy
15257
15258 --with-haskell-suite PATH
15259 give the path to haskell-suite
15260
15261 --with-haskell-suite-pkg PATH
15262 give the path to haskell-suite-pkg
15263
15264 --with-hmake PATH
15265 give the path to hmake
15266
15267 --with-hpc PATH
15268 give the path to hpc
15269
15270 --with-hsc2hs PATH
15271 give the path to hsc2hs
15272
15273 --with-hscolour PATH
15274 give the path to hscolour
15275
15276 --with-jhc PATH
15277 give the path to jhc
15278
15279 --with-ld PATH
15280 give the path to ld
15281
15282 --with-pkg-config PATH
15283 give the path to pkg-config
15284
15285 --with-runghc PATH
15286 give the path to runghc
15287
15288 --with-strip PATH
15289 give the path to strip
15290
15291 --with-tar PATH
15292 give the path to tar
15293
15294 --with-uhc PATH
15295 give the path to uhc
15296
15297 --alex-option OPT
15298 give an extra option to alex (no need to quote options
15299 containing spaces)
15300
15301 --ar-option OPT
15302 give an extra option to ar (no need to quote options con‐
15303 taining spaces)
15304
15305 --c2hs-option OPT
15306 give an extra option to c2hs (no need to quote options
15307 containing spaces)
15308
15309 --cpphs-option OPT
15310 give an extra option to cpphs (no need to quote options
15311 containing spaces)
15312
15313 --doctest-option OPT
15314 give an extra option to doctest (no need to quote options
15315 containing spaces)
15316
15317 --gcc-option OPT
15318 give an extra option to gcc (no need to quote options
15319 containing spaces)
15320
15321 --ghc-option OPT
15322 give an extra option to ghc (no need to quote options
15323 containing spaces)
15324
15325 --ghc-pkg-option OPT
15326 give an extra option to ghc-pkg (no need to quote options
15327 containing spaces)
15328
15329 --ghcjs-option OPT
15330 give an extra option to ghcjs (no need to quote options
15331 containing spaces)
15332
15333 --ghcjs-pkg-option OPT
15334 give an extra option to ghcjs-pkg (no need to quote op‐
15335 tions containing spaces)
15336
15337 --greencard-option OPT
15338 give an extra option to greencard (no need to quote op‐
15339 tions containing spaces)
15340
15341 --haddock-option OPT
15342 give an extra option to haddock (no need to quote options
15343 containing spaces)
15344
15345 --happy-option OPT
15346 give an extra option to happy (no need to quote options
15347 containing spaces)
15348
15349 --haskell-suite-option OPT
15350 give an extra option to haskell-suite (no need to quote
15351 options containing spaces)
15352
15353 --haskell-suite-pkg-option OPT
15354 give an extra option to haskell-suite-pkg (no need to
15355 quote options containing spaces)
15356
15357 --hmake-option OPT
15358 give an extra option to hmake (no need to quote options
15359 containing spaces)
15360
15361 --hpc-option OPT
15362 give an extra option to hpc (no need to quote options
15363 containing spaces)
15364
15365 --hsc2hs-option OPT
15366 give an extra option to hsc2hs (no need to quote options
15367 containing spaces)
15368
15369 --hscolour-option OPT
15370 give an extra option to hscolour (no need to quote op‐
15371 tions containing spaces)
15372
15373 --jhc-option OPT
15374 give an extra option to jhc (no need to quote options
15375 containing spaces)
15376
15377 --ld-option OPT
15378 give an extra option to ld (no need to quote options con‐
15379 taining spaces)
15380
15381 --pkg-config-option OPT
15382 give an extra option to pkg-config (no need to quote op‐
15383 tions containing spaces)
15384
15385 --runghc-option OPT
15386 give an extra option to runghc (no need to quote options
15387 containing spaces)
15388
15389 --strip-option OPT
15390 give an extra option to strip (no need to quote options
15391 containing spaces)
15392
15393 --tar-option OPT
15394 give an extra option to tar (no need to quote options
15395 containing spaces)
15396
15397 --uhc-option OPT
15398 give an extra option to uhc (no need to quote options
15399 containing spaces)
15400
15401 --alex-options OPTS
15402 give extra options to alex
15403
15404 --ar-options OPTS
15405 give extra options to ar
15406
15407 --c2hs-options OPTS
15408 give extra options to c2hs
15409
15410 --cpphs-options OPTS
15411 give extra options to cpphs
15412
15413 --doctest-options OPTS
15414 give extra options to doctest
15415
15416 --gcc-options OPTS
15417 give extra options to gcc
15418
15419 --ghc-options OPTS
15420 give extra options to ghc
15421
15422 --ghc-pkg-options OPTS
15423 give extra options to ghc-pkg
15424
15425 --ghcjs-options OPTS
15426 give extra options to ghcjs
15427
15428 --ghcjs-pkg-options OPTS
15429 give extra options to ghcjs-pkg
15430
15431 --greencard-options OPTS
15432 give extra options to greencard
15433
15434 --haddock-options OPTS
15435 give extra options to haddock
15436
15437 --happy-options OPTS
15438 give extra options to happy
15439
15440 --haskell-suite-options OPTS
15441 give extra options to haskell-suite
15442
15443 --haskell-suite-pkg-options OPTS
15444 give extra options to haskell-suite-pkg
15445
15446 --hmake-options OPTS
15447 give extra options to hmake
15448
15449 --hpc-options OPTS
15450 give extra options to hpc
15451
15452 --hsc2hs-options OPTS
15453 give extra options to hsc2hs
15454
15455 --hscolour-options OPTS
15456 give extra options to hscolour
15457
15458 --jhc-options OPTS
15459 give extra options to jhc
15460
15461 --ld-options OPTS
15462 give extra options to ld
15463
15464 --pkg-config-options OPTS
15465 give extra options to pkg-config
15466
15467 --runghc-options OPTS
15468 give extra options to runghc
15469
15470 --strip-options OPTS
15471 give extra options to strip
15472
15473 --tar-options OPTS
15474 give extra options to tar
15475
15476 --uhc-options OPTS
15477 give extra options to uhc
15478
15479 --cabal-lib-version VERSION
15480 Select which version of the Cabal lib to use to build
15481 packages (useful for testing).
15482
15483 --constraint CONSTRAINT
15484 Specify constraints on a package (version, in‐
15485 stalled/source, flags)
15486
15487 --preference CONSTRAINT
15488 Specify preferences (soft constraints) on the version of
15489 a package
15490
15491 --solver SOLVER
15492 Select dependency solver to use (default: modular).
15493 Choices: modular.
15494
15495 --allow-older [DEPS]
15496 Ignore lower bounds in all dependencies or DEPS
15497
15498 --allow-newer [DEPS]
15499 Ignore upper bounds in all dependencies or DEPS
15500
15501 --write-ghc-environment-files always|never|ghc8.4.4+
15502 Whether to create a .ghc.environment file after a suc‐
15503 cessful build (v2-build only)
15504
15505 --enable-documentation
15506 --disable-documentation
15507 building of documentation
15508
15509 --doc-index-file TEMPLATE
15510 A central index of haddock API documentation (template
15511 cannot use $pkgid)
15512
15513 --dry-run
15514 Do not install anything, only print what would be in‐
15515 stalled.
15516
15517 --max-backjumps NUM
15518 Maximum number of backjumps allowed while solving (de‐
15519 fault: 4000). Use a negative number to enable unlimited
15520 backtracking. Use 0 to disable backtracking completely.
15521
15522 --reorder-goals
15523 --no-reorder-goals
15524 Try to reorder goals according to certain heuristics.
15525 Slows things down on average, but may make backtracking
15526 faster for some packages.
15527
15528 --count-conflicts
15529 --no-count-conflicts
15530 Try to speed up solving by preferring goals that are in‐
15531 volved in a lot of conflicts (default).
15532
15533 --fine-grained-conflicts
15534 --no-fine-grained-conflicts
15535 Skip a version of a package if it does not resolve the
15536 conflicts encountered in the last version, as a solver
15537 optimization (default).
15538
15539 --minimize-conflict-set
15540 --no-minimize-conflict-set
15541 When there is no solution, try to improve the error mes‐
15542 sage by finding a minimal conflict set (default: false).
15543 May increase run time significantly.
15544
15545 --independent-goals
15546 --no-independent-goals
15547 Treat several goals on the command line as independent.
15548 If several goals depend on the same package, different
15549 versions can be chosen.
15550
15551 --shadow-installed-packages
15552 --no-shadow-installed-packages
15553 If multiple package instances of the same version are in‐
15554 stalled, treat all but one as shadowed.
15555
15556 --strong-flags
15557 --no-strong-flags
15558 Do not defer flag choices (this used to be the default in
15559 cabal-install <= 1.20).
15560
15561 --allow-boot-library-installs
15562 --no-allow-boot-library-installs
15563 Allow cabal to install base, ghc-prim, integer-simple,
15564 integer-gmp, and template-haskell.
15565
15566 --reject-unconstrained-dependencies none|all
15567 Require these packages to have constraints on them if
15568 they are to be selected (default: none).
15569
15570 --reinstall
15571 --no-reinstall
15572 Install even if it means installing the same version
15573 again.
15574
15575 --avoid-reinstalls
15576 --no-avoid-reinstalls
15577 Do not select versions that would destructively overwrite
15578 installed packages.
15579
15580 --force-reinstalls
15581 --no-force-reinstalls
15582 Reinstall packages even if they will most likely break
15583 other installed packages.
15584
15585 --upgrade-dependencies
15586 --no-upgrade-dependencies
15587 Pick the latest version for all dependencies, rather than
15588 trying to pick an installed version.
15589
15590 --only-dependencies
15591 --no-only-dependencies
15592 Install only the dependencies necessary to build the
15593 given packages
15594
15595 --dependencies-only
15596 --no-dependencies-only
15597 A synonym for --only-dependencies
15598
15599 --index-state STATE
15600 Use source package index state as it existed at a previ‐
15601 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
15602 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
15603 'HEAD' (default: 'HEAD').
15604
15605 --root-cmd COMMAND
15606 (No longer supported, do not use.)
15607
15608 --build-summary TEMPLATE
15609 Save build summaries to file (name template can use
15610 $pkgid, $compiler, $os, $arch)
15611
15612 --build-log TEMPLATE
15613 Log all builds to file (name template can use $pkgid,
15614 $compiler, $os, $arch)
15615
15616 --remote-build-reporting LEVEL
15617 Generate build reports to send to a remote server (none,
15618 anonymous or detailed).
15619
15620 --report-planning-failure
15621 Generate build reports when the dependency solver fails.
15622 This is used by the Hackage build bot.
15623
15624 --enable-per-component
15625 --disable-per-component
15626 Per-component builds when possible
15627
15628 --one-shot
15629 --no-one-shot
15630 Do not record the packages in the world file.
15631
15632 --run-tests
15633 Run package test suites during installation.
15634
15635 -j, --jobs [NUM]
15636 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
15637 given).
15638
15639 --keep-going
15640 After a build failure, continue to build other unaffected
15641 packages.
15642
15643 --offline
15644 --no-offline
15645 Don't download packages from the Internet.
15646
15647 --project-file FILE
15648 Set the name of the cabal.project file to search for in
15649 parent directories
15650
15651 --only
15652 Only installs the package in the current directory.
15653
15654 --haddock-hoogle
15655 Generate a hoogle database
15656
15657 --haddock-html
15658 Generate HTML documentation (the default)
15659
15660 --haddock-html-location URL
15661 Location of HTML documentation for pre-requisite packages
15662
15663 --haddock-for-hackage
15664 Collection of flags to generate documentation suitable
15665 for upload to hackage
15666
15667 --haddock-executables
15668 Run haddock for Executables targets
15669
15670 --haddock-tests
15671 Run haddock for Test Suite targets
15672
15673 --haddock-benchmarks
15674 Run haddock for Benchmark targets
15675
15676 --haddock-all
15677 Run haddock for all targets
15678
15679 --haddock-internal
15680 Run haddock for internal modules and include all symbols
15681
15682 --haddock-css PATH
15683 Use PATH as the haddock stylesheet
15684
15685 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
15686 dock-hyperlinked-source
15687 Hyperlink the documentation to the source code
15688
15689 --haddock-quickjump
15690 Generate an index for interactive documentation naviga‐
15691 tion
15692
15693 --haddock-hscolour-css PATH
15694 Use PATH as the HsColour stylesheet
15695
15696 --haddock-contents-location URL
15697 Bake URL in as the location for the contents page
15698
15699 --test-log TEMPLATE
15700 Log all test suite results to file (name template can use
15701 $pkgid, $compiler, $os, $arch, $test-suite, $result)
15702
15703 --test-machine-log TEMPLATE
15704 Produce a machine-readable log file (name template can
15705 use $pkgid, $compiler, $os, $arch, $result)
15706
15707 --test-show-details FILTER
15708
15709 --test-keep-tix-files
15710 keep .tix files for HPC between test runs
15711
15712 --test-wrapper FILE
15713 Run test through a wrapper.
15714
15715 --test-fail-when-no-test-suites
15716 Exit with failure when no test suites are found.
15717
15718 --test-options TEMPLATES
15719 give extra options to test executables (name templates
15720 can use $pkgid, $compiler, $os, $arch, $test-suite)
15721
15722 --test-option TEMPLATE
15723 give extra option to test executables (no need to quote
15724 options containing spaces, name template can use $pkgid,
15725 $compiler, $os, $arch, $test-suite)
15726
15727 --benchmark-options TEMPLATES
15728 give extra options to benchmark executables (name tem‐
15729 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
15730
15731 --benchmark-option TEMPLATE
15732 give extra option to benchmark executables (no need to
15733 quote options containing spaces, name template can use
15734 $pkgid, $compiler, $os, $arch, $benchmark)
15735
15736 --lib
15737 Install libraries rather than executables from the target
15738 package.
15739
15740 -z, --ignore-project
15741 Ignore local project configuration
15742
15743 --package-env, --env ENV
15744 Set the environment file that may be modified.
15745
15746 --overwrite-policy always|never
15747 How to handle already existing symlinks.
15748
15749 --install-method copy|symlink
15750 How to install the executables.
15751
15752 --installdir DIR
15753 Where to install (by symlinking or copying) the executa‐
15754 bles in.
15755
15756
15757 cabal new-install
15758
15759 Usage: cabal new-install [TARGETS] [FLAGS]
15760
15761
15762 Installs one or more packages. This is done by installing them in the
15763 store and symlinking/copying the executables in the directory specified
15764 by the --installdir flag (`~/.cabal/bin/` by default). If you want the
15765 installed executables to be available globally, make sure that the PATH
15766 environment variable contains that directory.
15767
15768 If TARGET is a library, it will be added to the global environment.
15769 When doing this, cabal will try to build a plan that includes all the
15770 previously installed libraries. This is currently not implemented.
15771
15772
15773 Installs one or more packages. This is done by installing them in the
15774 store and symlinking/copying the executables in the directory specified
15775 by the --installdir flag (`~/.cabal/bin/` by default). If you want the
15776 installed executables to be available globally, make sure that the PATH
15777 environment variable contains that directory.
15778
15779 If TARGET is a library, it will be added to the global environment.
15780 When doing this, cabal will try to build a plan that includes all the
15781 previously installed libraries. This is currently not implemented.
15782
15783
15784 Flags:
15785 -v, --verbose [n]
15786 Control verbosity (n is 0--3, default verbosity level is
15787 1)
15788
15789 --builddir, --distdir, --distpref DIR
15790 The directory where Cabal puts generated build files (de‐
15791 fault dist)
15792
15793 -g, --ghc
15794 compile with GHC
15795
15796 --ghcjs
15797 compile with GHCJS
15798
15799 --uhc
15800 compile with UHC
15801
15802 --haskell-suite
15803 compile with a haskell-suite compiler
15804
15805 --cabal-file PATH
15806 use this Cabal file
15807
15808 -w, --with-compiler PATH
15809 give the path to a particular compiler
15810
15811 --with-hc-pkg PATH
15812 give the path to the package tool
15813
15814 --prefix DIR
15815 bake this prefix in preparation of installation
15816
15817 --bindir DIR
15818 installation directory for executables
15819
15820 --libdir DIR
15821 installation directory for libraries
15822
15823 --libsubdir DIR
15824 subdirectory of libdir in which libs are installed
15825
15826 --dynlibdir DIR
15827 installation directory for dynamic libraries
15828
15829 --libexecdir DIR
15830 installation directory for program executables
15831
15832 --libexecsubdir DIR
15833 subdirectory of libexecdir in which private executables
15834 are installed
15835
15836 --datadir DIR
15837 installation directory for read-only data
15838
15839 --datasubdir DIR
15840 subdirectory of datadir in which data files are installed
15841
15842 --docdir DIR
15843 installation directory for documentation
15844
15845 --htmldir DIR
15846 installation directory for HTML documentation
15847
15848 --haddockdir DIR
15849 installation directory for haddock interfaces
15850
15851 --sysconfdir DIR
15852 installation directory for configuration files
15853
15854 --program-prefix PREFIX
15855 prefix to be applied to installed executables
15856
15857 --program-suffix SUFFIX
15858 suffix to be applied to installed executables
15859
15860 --enable-library-vanilla
15861 --disable-library-vanilla
15862 Vanilla libraries
15863
15864 -p, --enable-library-profiling
15865 --disable-library-profiling
15866 Library profiling
15867
15868 --enable-shared
15869 --disable-shared
15870 Shared library
15871
15872 --enable-static
15873 --disable-static
15874 Static library
15875
15876 --enable-executable-dynamic
15877 --disable-executable-dynamic
15878 Executable dynamic linking
15879
15880 --enable-executable-static
15881 --disable-executable-static
15882 Executable fully static linking
15883
15884 --enable-profiling
15885 --disable-profiling
15886 Executable and library profiling
15887
15888 --enable-executable-profiling
15889 --disable-executable-profiling
15890 Executable profiling (DEPRECATED)
15891
15892 --profiling-detail level
15893 Profiling detail level for executable and library (de‐
15894 fault, none, exported-functions, toplevel-functions,
15895 all-functions).
15896
15897 --library-profiling-detail level
15898 Profiling detail level for libraries only.
15899
15900 -O, --enable-optimization, --enable-optimisation [n]
15901 Build with optimization (n is 0--2, default is 1)
15902
15903 --disable-optimization, --disable-optimisation
15904 Build without optimization
15905
15906 --enable-debug-info [n]
15907 Emit debug info (n is 0--3, default is 0)
15908
15909 --disable-debug-info
15910 Don't emit debug info
15911
15912 --enable-library-for-ghci
15913 --disable-library-for-ghci
15914 compile library for use with GHCi
15915
15916 --enable-split-sections
15917 --disable-split-sections
15918 compile library code such that unneeded definitions can
15919 be dropped from the final executable (GHC 7.8+)
15920
15921 --enable-split-objs
15922 --disable-split-objs
15923 split library into smaller objects to reduce binary sizes
15924 (GHC 6.6+)
15925
15926 --enable-executable-stripping
15927 --disable-executable-stripping
15928 strip executables upon installation to reduce binary
15929 sizes
15930
15931 --enable-library-stripping
15932 --disable-library-stripping
15933 strip libraries upon installation to reduce binary sizes
15934
15935 --configure-option OPT
15936 Extra option for configure
15937
15938 --user
15939 --global
15940 doing a per-user installation
15941
15942 --package-db DB
15943 Append the given package database to the list of package
15944 databases used (to satisfy dependencies and register
15945 into). May be a specific file, 'global' or 'user'. The
15946 initial list is ['global'], ['global', 'user'], or
15947 ['global', $sandbox], depending on context. Use 'clear'
15948 to reset the list to empty. See the user guide for de‐
15949 tails.
15950
15951 -f, --flags FLAGS
15952 Force values for the given flags in Cabal conditionals in
15953 the .cabal file. E.g., --flags="debug -usebytestrings"
15954 forces the flag "debug" to true and "usebytestrings" to
15955 false.
15956
15957 --extra-include-dirs PATH
15958 A list of directories to search for header files
15959
15960 --enable-deterministic
15961 --disable-deterministic
15962 Try to be as deterministic as possible (used by the test
15963 suite)
15964
15965 --ipid IPID
15966 Installed package ID to compile this package as
15967
15968 --cid CID
15969 Installed component ID to compile this component as
15970
15971 --extra-lib-dirs PATH
15972 A list of directories to search for external libraries
15973
15974 --extra-framework-dirs PATH
15975 A list of directories to search for external frameworks
15976 (OS X only)
15977
15978 --extra-prog-path PATH
15979 A list of directories to search for required programs (in
15980 addition to the normal search locations)
15981
15982 --instantiate-with NAME=MOD
15983 A mapping of signature names to concrete module instanti‐
15984 ations.
15985
15986 --enable-tests
15987 --disable-tests
15988 dependency checking and compilation for test suites
15989 listed in the package description file.
15990
15991 --enable-coverage
15992 --disable-coverage
15993 build package with Haskell Program Coverage. (GHC only)
15994
15995 --enable-library-coverage
15996 --disable-library-coverage
15997 build package with Haskell Program Coverage. (GHC only)
15998 (DEPRECATED)
15999
16000 --enable-benchmarks
16001 --disable-benchmarks
16002 dependency checking and compilation for benchmarks listed
16003 in the package description file.
16004
16005 --enable-relocatable
16006 --disable-relocatable
16007 building a package that is relocatable. (GHC only)
16008
16009 --disable-response-files
16010 enable workaround for old versions of programs like "ar"
16011 that do not support @file arguments
16012
16013 --allow-depending-on-private-libs
16014 Allow depending on private libraries. If set, the library
16015 visibility check MUST be done externally.
16016
16017 --with-alex PATH
16018 give the path to alex
16019
16020 --with-ar PATH
16021 give the path to ar
16022
16023 --with-c2hs PATH
16024 give the path to c2hs
16025
16026 --with-cpphs PATH
16027 give the path to cpphs
16028
16029 --with-doctest PATH
16030 give the path to doctest
16031
16032 --with-gcc PATH
16033 give the path to gcc
16034
16035 --with-ghc PATH
16036 give the path to ghc
16037
16038 --with-ghc-pkg PATH
16039 give the path to ghc-pkg
16040
16041 --with-ghcjs PATH
16042 give the path to ghcjs
16043
16044 --with-ghcjs-pkg PATH
16045 give the path to ghcjs-pkg
16046
16047 --with-greencard PATH
16048 give the path to greencard
16049
16050 --with-haddock PATH
16051 give the path to haddock
16052
16053 --with-happy PATH
16054 give the path to happy
16055
16056 --with-haskell-suite PATH
16057 give the path to haskell-suite
16058
16059 --with-haskell-suite-pkg PATH
16060 give the path to haskell-suite-pkg
16061
16062 --with-hmake PATH
16063 give the path to hmake
16064
16065 --with-hpc PATH
16066 give the path to hpc
16067
16068 --with-hsc2hs PATH
16069 give the path to hsc2hs
16070
16071 --with-hscolour PATH
16072 give the path to hscolour
16073
16074 --with-jhc PATH
16075 give the path to jhc
16076
16077 --with-ld PATH
16078 give the path to ld
16079
16080 --with-pkg-config PATH
16081 give the path to pkg-config
16082
16083 --with-runghc PATH
16084 give the path to runghc
16085
16086 --with-strip PATH
16087 give the path to strip
16088
16089 --with-tar PATH
16090 give the path to tar
16091
16092 --with-uhc PATH
16093 give the path to uhc
16094
16095 --alex-option OPT
16096 give an extra option to alex (no need to quote options
16097 containing spaces)
16098
16099 --ar-option OPT
16100 give an extra option to ar (no need to quote options con‐
16101 taining spaces)
16102
16103 --c2hs-option OPT
16104 give an extra option to c2hs (no need to quote options
16105 containing spaces)
16106
16107 --cpphs-option OPT
16108 give an extra option to cpphs (no need to quote options
16109 containing spaces)
16110
16111 --doctest-option OPT
16112 give an extra option to doctest (no need to quote options
16113 containing spaces)
16114
16115 --gcc-option OPT
16116 give an extra option to gcc (no need to quote options
16117 containing spaces)
16118
16119 --ghc-option OPT
16120 give an extra option to ghc (no need to quote options
16121 containing spaces)
16122
16123 --ghc-pkg-option OPT
16124 give an extra option to ghc-pkg (no need to quote options
16125 containing spaces)
16126
16127 --ghcjs-option OPT
16128 give an extra option to ghcjs (no need to quote options
16129 containing spaces)
16130
16131 --ghcjs-pkg-option OPT
16132 give an extra option to ghcjs-pkg (no need to quote op‐
16133 tions containing spaces)
16134
16135 --greencard-option OPT
16136 give an extra option to greencard (no need to quote op‐
16137 tions containing spaces)
16138
16139 --haddock-option OPT
16140 give an extra option to haddock (no need to quote options
16141 containing spaces)
16142
16143 --happy-option OPT
16144 give an extra option to happy (no need to quote options
16145 containing spaces)
16146
16147 --haskell-suite-option OPT
16148 give an extra option to haskell-suite (no need to quote
16149 options containing spaces)
16150
16151 --haskell-suite-pkg-option OPT
16152 give an extra option to haskell-suite-pkg (no need to
16153 quote options containing spaces)
16154
16155 --hmake-option OPT
16156 give an extra option to hmake (no need to quote options
16157 containing spaces)
16158
16159 --hpc-option OPT
16160 give an extra option to hpc (no need to quote options
16161 containing spaces)
16162
16163 --hsc2hs-option OPT
16164 give an extra option to hsc2hs (no need to quote options
16165 containing spaces)
16166
16167 --hscolour-option OPT
16168 give an extra option to hscolour (no need to quote op‐
16169 tions containing spaces)
16170
16171 --jhc-option OPT
16172 give an extra option to jhc (no need to quote options
16173 containing spaces)
16174
16175 --ld-option OPT
16176 give an extra option to ld (no need to quote options con‐
16177 taining spaces)
16178
16179 --pkg-config-option OPT
16180 give an extra option to pkg-config (no need to quote op‐
16181 tions containing spaces)
16182
16183 --runghc-option OPT
16184 give an extra option to runghc (no need to quote options
16185 containing spaces)
16186
16187 --strip-option OPT
16188 give an extra option to strip (no need to quote options
16189 containing spaces)
16190
16191 --tar-option OPT
16192 give an extra option to tar (no need to quote options
16193 containing spaces)
16194
16195 --uhc-option OPT
16196 give an extra option to uhc (no need to quote options
16197 containing spaces)
16198
16199 --alex-options OPTS
16200 give extra options to alex
16201
16202 --ar-options OPTS
16203 give extra options to ar
16204
16205 --c2hs-options OPTS
16206 give extra options to c2hs
16207
16208 --cpphs-options OPTS
16209 give extra options to cpphs
16210
16211 --doctest-options OPTS
16212 give extra options to doctest
16213
16214 --gcc-options OPTS
16215 give extra options to gcc
16216
16217 --ghc-options OPTS
16218 give extra options to ghc
16219
16220 --ghc-pkg-options OPTS
16221 give extra options to ghc-pkg
16222
16223 --ghcjs-options OPTS
16224 give extra options to ghcjs
16225
16226 --ghcjs-pkg-options OPTS
16227 give extra options to ghcjs-pkg
16228
16229 --greencard-options OPTS
16230 give extra options to greencard
16231
16232 --haddock-options OPTS
16233 give extra options to haddock
16234
16235 --happy-options OPTS
16236 give extra options to happy
16237
16238 --haskell-suite-options OPTS
16239 give extra options to haskell-suite
16240
16241 --haskell-suite-pkg-options OPTS
16242 give extra options to haskell-suite-pkg
16243
16244 --hmake-options OPTS
16245 give extra options to hmake
16246
16247 --hpc-options OPTS
16248 give extra options to hpc
16249
16250 --hsc2hs-options OPTS
16251 give extra options to hsc2hs
16252
16253 --hscolour-options OPTS
16254 give extra options to hscolour
16255
16256 --jhc-options OPTS
16257 give extra options to jhc
16258
16259 --ld-options OPTS
16260 give extra options to ld
16261
16262 --pkg-config-options OPTS
16263 give extra options to pkg-config
16264
16265 --runghc-options OPTS
16266 give extra options to runghc
16267
16268 --strip-options OPTS
16269 give extra options to strip
16270
16271 --tar-options OPTS
16272 give extra options to tar
16273
16274 --uhc-options OPTS
16275 give extra options to uhc
16276
16277 --cabal-lib-version VERSION
16278 Select which version of the Cabal lib to use to build
16279 packages (useful for testing).
16280
16281 --constraint CONSTRAINT
16282 Specify constraints on a package (version, in‐
16283 stalled/source, flags)
16284
16285 --preference CONSTRAINT
16286 Specify preferences (soft constraints) on the version of
16287 a package
16288
16289 --solver SOLVER
16290 Select dependency solver to use (default: modular).
16291 Choices: modular.
16292
16293 --allow-older [DEPS]
16294 Ignore lower bounds in all dependencies or DEPS
16295
16296 --allow-newer [DEPS]
16297 Ignore upper bounds in all dependencies or DEPS
16298
16299 --write-ghc-environment-files always|never|ghc8.4.4+
16300 Whether to create a .ghc.environment file after a suc‐
16301 cessful build (v2-build only)
16302
16303 --enable-documentation
16304 --disable-documentation
16305 building of documentation
16306
16307 --doc-index-file TEMPLATE
16308 A central index of haddock API documentation (template
16309 cannot use $pkgid)
16310
16311 --dry-run
16312 Do not install anything, only print what would be in‐
16313 stalled.
16314
16315 --max-backjumps NUM
16316 Maximum number of backjumps allowed while solving (de‐
16317 fault: 4000). Use a negative number to enable unlimited
16318 backtracking. Use 0 to disable backtracking completely.
16319
16320 --reorder-goals
16321 --no-reorder-goals
16322 Try to reorder goals according to certain heuristics.
16323 Slows things down on average, but may make backtracking
16324 faster for some packages.
16325
16326 --count-conflicts
16327 --no-count-conflicts
16328 Try to speed up solving by preferring goals that are in‐
16329 volved in a lot of conflicts (default).
16330
16331 --fine-grained-conflicts
16332 --no-fine-grained-conflicts
16333 Skip a version of a package if it does not resolve the
16334 conflicts encountered in the last version, as a solver
16335 optimization (default).
16336
16337 --minimize-conflict-set
16338 --no-minimize-conflict-set
16339 When there is no solution, try to improve the error mes‐
16340 sage by finding a minimal conflict set (default: false).
16341 May increase run time significantly.
16342
16343 --independent-goals
16344 --no-independent-goals
16345 Treat several goals on the command line as independent.
16346 If several goals depend on the same package, different
16347 versions can be chosen.
16348
16349 --shadow-installed-packages
16350 --no-shadow-installed-packages
16351 If multiple package instances of the same version are in‐
16352 stalled, treat all but one as shadowed.
16353
16354 --strong-flags
16355 --no-strong-flags
16356 Do not defer flag choices (this used to be the default in
16357 cabal-install <= 1.20).
16358
16359 --allow-boot-library-installs
16360 --no-allow-boot-library-installs
16361 Allow cabal to install base, ghc-prim, integer-simple,
16362 integer-gmp, and template-haskell.
16363
16364 --reject-unconstrained-dependencies none|all
16365 Require these packages to have constraints on them if
16366 they are to be selected (default: none).
16367
16368 --reinstall
16369 --no-reinstall
16370 Install even if it means installing the same version
16371 again.
16372
16373 --avoid-reinstalls
16374 --no-avoid-reinstalls
16375 Do not select versions that would destructively overwrite
16376 installed packages.
16377
16378 --force-reinstalls
16379 --no-force-reinstalls
16380 Reinstall packages even if they will most likely break
16381 other installed packages.
16382
16383 --upgrade-dependencies
16384 --no-upgrade-dependencies
16385 Pick the latest version for all dependencies, rather than
16386 trying to pick an installed version.
16387
16388 --only-dependencies
16389 --no-only-dependencies
16390 Install only the dependencies necessary to build the
16391 given packages
16392
16393 --dependencies-only
16394 --no-dependencies-only
16395 A synonym for --only-dependencies
16396
16397 --index-state STATE
16398 Use source package index state as it existed at a previ‐
16399 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
16400 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
16401 'HEAD' (default: 'HEAD').
16402
16403 --root-cmd COMMAND
16404 (No longer supported, do not use.)
16405
16406 --build-summary TEMPLATE
16407 Save build summaries to file (name template can use
16408 $pkgid, $compiler, $os, $arch)
16409
16410 --build-log TEMPLATE
16411 Log all builds to file (name template can use $pkgid,
16412 $compiler, $os, $arch)
16413
16414 --remote-build-reporting LEVEL
16415 Generate build reports to send to a remote server (none,
16416 anonymous or detailed).
16417
16418 --report-planning-failure
16419 Generate build reports when the dependency solver fails.
16420 This is used by the Hackage build bot.
16421
16422 --enable-per-component
16423 --disable-per-component
16424 Per-component builds when possible
16425
16426 --one-shot
16427 --no-one-shot
16428 Do not record the packages in the world file.
16429
16430 --run-tests
16431 Run package test suites during installation.
16432
16433 -j, --jobs [NUM]
16434 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
16435 given).
16436
16437 --keep-going
16438 After a build failure, continue to build other unaffected
16439 packages.
16440
16441 --offline
16442 --no-offline
16443 Don't download packages from the Internet.
16444
16445 --project-file FILE
16446 Set the name of the cabal.project file to search for in
16447 parent directories
16448
16449 --only
16450 Only installs the package in the current directory.
16451
16452 --haddock-hoogle
16453 Generate a hoogle database
16454
16455 --haddock-html
16456 Generate HTML documentation (the default)
16457
16458 --haddock-html-location URL
16459 Location of HTML documentation for pre-requisite packages
16460
16461 --haddock-for-hackage
16462 Collection of flags to generate documentation suitable
16463 for upload to hackage
16464
16465 --haddock-executables
16466 Run haddock for Executables targets
16467
16468 --haddock-tests
16469 Run haddock for Test Suite targets
16470
16471 --haddock-benchmarks
16472 Run haddock for Benchmark targets
16473
16474 --haddock-all
16475 Run haddock for all targets
16476
16477 --haddock-internal
16478 Run haddock for internal modules and include all symbols
16479
16480 --haddock-css PATH
16481 Use PATH as the haddock stylesheet
16482
16483 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
16484 dock-hyperlinked-source
16485 Hyperlink the documentation to the source code
16486
16487 --haddock-quickjump
16488 Generate an index for interactive documentation naviga‐
16489 tion
16490
16491 --haddock-hscolour-css PATH
16492 Use PATH as the HsColour stylesheet
16493
16494 --haddock-contents-location URL
16495 Bake URL in as the location for the contents page
16496
16497 --test-log TEMPLATE
16498 Log all test suite results to file (name template can use
16499 $pkgid, $compiler, $os, $arch, $test-suite, $result)
16500
16501 --test-machine-log TEMPLATE
16502 Produce a machine-readable log file (name template can
16503 use $pkgid, $compiler, $os, $arch, $result)
16504
16505 --test-show-details FILTER
16506
16507 --test-keep-tix-files
16508 keep .tix files for HPC between test runs
16509
16510 --test-wrapper FILE
16511 Run test through a wrapper.
16512
16513 --test-fail-when-no-test-suites
16514 Exit with failure when no test suites are found.
16515
16516 --test-options TEMPLATES
16517 give extra options to test executables (name templates
16518 can use $pkgid, $compiler, $os, $arch, $test-suite)
16519
16520 --test-option TEMPLATE
16521 give extra option to test executables (no need to quote
16522 options containing spaces, name template can use $pkgid,
16523 $compiler, $os, $arch, $test-suite)
16524
16525 --benchmark-options TEMPLATES
16526 give extra options to benchmark executables (name tem‐
16527 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
16528
16529 --benchmark-option TEMPLATE
16530 give extra option to benchmark executables (no need to
16531 quote options containing spaces, name template can use
16532 $pkgid, $compiler, $os, $arch, $benchmark)
16533
16534 --lib
16535 Install libraries rather than executables from the target
16536 package.
16537
16538 -z, --ignore-project
16539 Ignore local project configuration
16540
16541 --package-env, --env ENV
16542 Set the environment file that may be modified.
16543
16544 --overwrite-policy always|never
16545 How to handle already existing symlinks.
16546
16547 --install-method copy|symlink
16548 How to install the executables.
16549
16550 --installdir DIR
16551 Where to install (by symlinking or copying) the executa‐
16552 bles in.
16553
16554
16555 cabal v2-install
16556
16557 Usage: cabal v2-install [TARGETS] [FLAGS]
16558
16559
16560 Installs one or more packages. This is done by installing them in the
16561 store and symlinking/copying the executables in the directory specified
16562 by the --installdir flag (`~/.cabal/bin/` by default). If you want the
16563 installed executables to be available globally, make sure that the PATH
16564 environment variable contains that directory.
16565
16566 If TARGET is a library, it will be added to the global environment.
16567 When doing this, cabal will try to build a plan that includes all the
16568 previously installed libraries. This is currently not implemented.
16569
16570
16571 Examples:
16572 cabal v2-install
16573 Install the package in the current directory
16574 cabal v2-install pkgname
16575 Install the package named pkgname (fetching it from hackage if nec‐
16576 essary)
16577 cabal v2-install ./pkgfoo
16578 Install the package in the ./pkgfoo directory Note: this command is
16579 part of the new project-based system (aka nix-style local builds).
16580 These features are currently in beta. Please see http://cabal.readthe‐
16581 docs.io/en/latest/nix-local-build-overview.html for details and advice
16582 on what you can expect to work. If you encounter problems please file
16583 issues at https://github.com/haskell/cabal/issues and if you have any
16584 time to get involved and help with testing, fixing bugs etc then that
16585 is very much appreciated.
16586
16587
16588 Flags:
16589 -v, --verbose [n]
16590 Control verbosity (n is 0--3, default verbosity level is
16591 1)
16592
16593 --builddir, --distdir, --distpref DIR
16594 The directory where Cabal puts generated build files (de‐
16595 fault dist)
16596
16597 -g, --ghc
16598 compile with GHC
16599
16600 --ghcjs
16601 compile with GHCJS
16602
16603 --uhc
16604 compile with UHC
16605
16606 --haskell-suite
16607 compile with a haskell-suite compiler
16608
16609 --cabal-file PATH
16610 use this Cabal file
16611
16612 -w, --with-compiler PATH
16613 give the path to a particular compiler
16614
16615 --with-hc-pkg PATH
16616 give the path to the package tool
16617
16618 --prefix DIR
16619 bake this prefix in preparation of installation
16620
16621 --bindir DIR
16622 installation directory for executables
16623
16624 --libdir DIR
16625 installation directory for libraries
16626
16627 --libsubdir DIR
16628 subdirectory of libdir in which libs are installed
16629
16630 --dynlibdir DIR
16631 installation directory for dynamic libraries
16632
16633 --libexecdir DIR
16634 installation directory for program executables
16635
16636 --libexecsubdir DIR
16637 subdirectory of libexecdir in which private executables
16638 are installed
16639
16640 --datadir DIR
16641 installation directory for read-only data
16642
16643 --datasubdir DIR
16644 subdirectory of datadir in which data files are installed
16645
16646 --docdir DIR
16647 installation directory for documentation
16648
16649 --htmldir DIR
16650 installation directory for HTML documentation
16651
16652 --haddockdir DIR
16653 installation directory for haddock interfaces
16654
16655 --sysconfdir DIR
16656 installation directory for configuration files
16657
16658 --program-prefix PREFIX
16659 prefix to be applied to installed executables
16660
16661 --program-suffix SUFFIX
16662 suffix to be applied to installed executables
16663
16664 --enable-library-vanilla
16665 --disable-library-vanilla
16666 Vanilla libraries
16667
16668 -p, --enable-library-profiling
16669 --disable-library-profiling
16670 Library profiling
16671
16672 --enable-shared
16673 --disable-shared
16674 Shared library
16675
16676 --enable-static
16677 --disable-static
16678 Static library
16679
16680 --enable-executable-dynamic
16681 --disable-executable-dynamic
16682 Executable dynamic linking
16683
16684 --enable-executable-static
16685 --disable-executable-static
16686 Executable fully static linking
16687
16688 --enable-profiling
16689 --disable-profiling
16690 Executable and library profiling
16691
16692 --enable-executable-profiling
16693 --disable-executable-profiling
16694 Executable profiling (DEPRECATED)
16695
16696 --profiling-detail level
16697 Profiling detail level for executable and library (de‐
16698 fault, none, exported-functions, toplevel-functions,
16699 all-functions).
16700
16701 --library-profiling-detail level
16702 Profiling detail level for libraries only.
16703
16704 -O, --enable-optimization, --enable-optimisation [n]
16705 Build with optimization (n is 0--2, default is 1)
16706
16707 --disable-optimization, --disable-optimisation
16708 Build without optimization
16709
16710 --enable-debug-info [n]
16711 Emit debug info (n is 0--3, default is 0)
16712
16713 --disable-debug-info
16714 Don't emit debug info
16715
16716 --enable-library-for-ghci
16717 --disable-library-for-ghci
16718 compile library for use with GHCi
16719
16720 --enable-split-sections
16721 --disable-split-sections
16722 compile library code such that unneeded definitions can
16723 be dropped from the final executable (GHC 7.8+)
16724
16725 --enable-split-objs
16726 --disable-split-objs
16727 split library into smaller objects to reduce binary sizes
16728 (GHC 6.6+)
16729
16730 --enable-executable-stripping
16731 --disable-executable-stripping
16732 strip executables upon installation to reduce binary
16733 sizes
16734
16735 --enable-library-stripping
16736 --disable-library-stripping
16737 strip libraries upon installation to reduce binary sizes
16738
16739 --configure-option OPT
16740 Extra option for configure
16741
16742 --user
16743 --global
16744 doing a per-user installation
16745
16746 --package-db DB
16747 Append the given package database to the list of package
16748 databases used (to satisfy dependencies and register
16749 into). May be a specific file, 'global' or 'user'. The
16750 initial list is ['global'], ['global', 'user'], or
16751 ['global', $sandbox], depending on context. Use 'clear'
16752 to reset the list to empty. See the user guide for de‐
16753 tails.
16754
16755 -f, --flags FLAGS
16756 Force values for the given flags in Cabal conditionals in
16757 the .cabal file. E.g., --flags="debug -usebytestrings"
16758 forces the flag "debug" to true and "usebytestrings" to
16759 false.
16760
16761 --extra-include-dirs PATH
16762 A list of directories to search for header files
16763
16764 --enable-deterministic
16765 --disable-deterministic
16766 Try to be as deterministic as possible (used by the test
16767 suite)
16768
16769 --ipid IPID
16770 Installed package ID to compile this package as
16771
16772 --cid CID
16773 Installed component ID to compile this component as
16774
16775 --extra-lib-dirs PATH
16776 A list of directories to search for external libraries
16777
16778 --extra-framework-dirs PATH
16779 A list of directories to search for external frameworks
16780 (OS X only)
16781
16782 --extra-prog-path PATH
16783 A list of directories to search for required programs (in
16784 addition to the normal search locations)
16785
16786 --instantiate-with NAME=MOD
16787 A mapping of signature names to concrete module instanti‐
16788 ations.
16789
16790 --enable-tests
16791 --disable-tests
16792 dependency checking and compilation for test suites
16793 listed in the package description file.
16794
16795 --enable-coverage
16796 --disable-coverage
16797 build package with Haskell Program Coverage. (GHC only)
16798
16799 --enable-library-coverage
16800 --disable-library-coverage
16801 build package with Haskell Program Coverage. (GHC only)
16802 (DEPRECATED)
16803
16804 --enable-benchmarks
16805 --disable-benchmarks
16806 dependency checking and compilation for benchmarks listed
16807 in the package description file.
16808
16809 --enable-relocatable
16810 --disable-relocatable
16811 building a package that is relocatable. (GHC only)
16812
16813 --disable-response-files
16814 enable workaround for old versions of programs like "ar"
16815 that do not support @file arguments
16816
16817 --allow-depending-on-private-libs
16818 Allow depending on private libraries. If set, the library
16819 visibility check MUST be done externally.
16820
16821 --with-alex PATH
16822 give the path to alex
16823
16824 --with-ar PATH
16825 give the path to ar
16826
16827 --with-c2hs PATH
16828 give the path to c2hs
16829
16830 --with-cpphs PATH
16831 give the path to cpphs
16832
16833 --with-doctest PATH
16834 give the path to doctest
16835
16836 --with-gcc PATH
16837 give the path to gcc
16838
16839 --with-ghc PATH
16840 give the path to ghc
16841
16842 --with-ghc-pkg PATH
16843 give the path to ghc-pkg
16844
16845 --with-ghcjs PATH
16846 give the path to ghcjs
16847
16848 --with-ghcjs-pkg PATH
16849 give the path to ghcjs-pkg
16850
16851 --with-greencard PATH
16852 give the path to greencard
16853
16854 --with-haddock PATH
16855 give the path to haddock
16856
16857 --with-happy PATH
16858 give the path to happy
16859
16860 --with-haskell-suite PATH
16861 give the path to haskell-suite
16862
16863 --with-haskell-suite-pkg PATH
16864 give the path to haskell-suite-pkg
16865
16866 --with-hmake PATH
16867 give the path to hmake
16868
16869 --with-hpc PATH
16870 give the path to hpc
16871
16872 --with-hsc2hs PATH
16873 give the path to hsc2hs
16874
16875 --with-hscolour PATH
16876 give the path to hscolour
16877
16878 --with-jhc PATH
16879 give the path to jhc
16880
16881 --with-ld PATH
16882 give the path to ld
16883
16884 --with-pkg-config PATH
16885 give the path to pkg-config
16886
16887 --with-runghc PATH
16888 give the path to runghc
16889
16890 --with-strip PATH
16891 give the path to strip
16892
16893 --with-tar PATH
16894 give the path to tar
16895
16896 --with-uhc PATH
16897 give the path to uhc
16898
16899 --alex-option OPT
16900 give an extra option to alex (no need to quote options
16901 containing spaces)
16902
16903 --ar-option OPT
16904 give an extra option to ar (no need to quote options con‐
16905 taining spaces)
16906
16907 --c2hs-option OPT
16908 give an extra option to c2hs (no need to quote options
16909 containing spaces)
16910
16911 --cpphs-option OPT
16912 give an extra option to cpphs (no need to quote options
16913 containing spaces)
16914
16915 --doctest-option OPT
16916 give an extra option to doctest (no need to quote options
16917 containing spaces)
16918
16919 --gcc-option OPT
16920 give an extra option to gcc (no need to quote options
16921 containing spaces)
16922
16923 --ghc-option OPT
16924 give an extra option to ghc (no need to quote options
16925 containing spaces)
16926
16927 --ghc-pkg-option OPT
16928 give an extra option to ghc-pkg (no need to quote options
16929 containing spaces)
16930
16931 --ghcjs-option OPT
16932 give an extra option to ghcjs (no need to quote options
16933 containing spaces)
16934
16935 --ghcjs-pkg-option OPT
16936 give an extra option to ghcjs-pkg (no need to quote op‐
16937 tions containing spaces)
16938
16939 --greencard-option OPT
16940 give an extra option to greencard (no need to quote op‐
16941 tions containing spaces)
16942
16943 --haddock-option OPT
16944 give an extra option to haddock (no need to quote options
16945 containing spaces)
16946
16947 --happy-option OPT
16948 give an extra option to happy (no need to quote options
16949 containing spaces)
16950
16951 --haskell-suite-option OPT
16952 give an extra option to haskell-suite (no need to quote
16953 options containing spaces)
16954
16955 --haskell-suite-pkg-option OPT
16956 give an extra option to haskell-suite-pkg (no need to
16957 quote options containing spaces)
16958
16959 --hmake-option OPT
16960 give an extra option to hmake (no need to quote options
16961 containing spaces)
16962
16963 --hpc-option OPT
16964 give an extra option to hpc (no need to quote options
16965 containing spaces)
16966
16967 --hsc2hs-option OPT
16968 give an extra option to hsc2hs (no need to quote options
16969 containing spaces)
16970
16971 --hscolour-option OPT
16972 give an extra option to hscolour (no need to quote op‐
16973 tions containing spaces)
16974
16975 --jhc-option OPT
16976 give an extra option to jhc (no need to quote options
16977 containing spaces)
16978
16979 --ld-option OPT
16980 give an extra option to ld (no need to quote options con‐
16981 taining spaces)
16982
16983 --pkg-config-option OPT
16984 give an extra option to pkg-config (no need to quote op‐
16985 tions containing spaces)
16986
16987 --runghc-option OPT
16988 give an extra option to runghc (no need to quote options
16989 containing spaces)
16990
16991 --strip-option OPT
16992 give an extra option to strip (no need to quote options
16993 containing spaces)
16994
16995 --tar-option OPT
16996 give an extra option to tar (no need to quote options
16997 containing spaces)
16998
16999 --uhc-option OPT
17000 give an extra option to uhc (no need to quote options
17001 containing spaces)
17002
17003 --alex-options OPTS
17004 give extra options to alex
17005
17006 --ar-options OPTS
17007 give extra options to ar
17008
17009 --c2hs-options OPTS
17010 give extra options to c2hs
17011
17012 --cpphs-options OPTS
17013 give extra options to cpphs
17014
17015 --doctest-options OPTS
17016 give extra options to doctest
17017
17018 --gcc-options OPTS
17019 give extra options to gcc
17020
17021 --ghc-options OPTS
17022 give extra options to ghc
17023
17024 --ghc-pkg-options OPTS
17025 give extra options to ghc-pkg
17026
17027 --ghcjs-options OPTS
17028 give extra options to ghcjs
17029
17030 --ghcjs-pkg-options OPTS
17031 give extra options to ghcjs-pkg
17032
17033 --greencard-options OPTS
17034 give extra options to greencard
17035
17036 --haddock-options OPTS
17037 give extra options to haddock
17038
17039 --happy-options OPTS
17040 give extra options to happy
17041
17042 --haskell-suite-options OPTS
17043 give extra options to haskell-suite
17044
17045 --haskell-suite-pkg-options OPTS
17046 give extra options to haskell-suite-pkg
17047
17048 --hmake-options OPTS
17049 give extra options to hmake
17050
17051 --hpc-options OPTS
17052 give extra options to hpc
17053
17054 --hsc2hs-options OPTS
17055 give extra options to hsc2hs
17056
17057 --hscolour-options OPTS
17058 give extra options to hscolour
17059
17060 --jhc-options OPTS
17061 give extra options to jhc
17062
17063 --ld-options OPTS
17064 give extra options to ld
17065
17066 --pkg-config-options OPTS
17067 give extra options to pkg-config
17068
17069 --runghc-options OPTS
17070 give extra options to runghc
17071
17072 --strip-options OPTS
17073 give extra options to strip
17074
17075 --tar-options OPTS
17076 give extra options to tar
17077
17078 --uhc-options OPTS
17079 give extra options to uhc
17080
17081 --cabal-lib-version VERSION
17082 Select which version of the Cabal lib to use to build
17083 packages (useful for testing).
17084
17085 --constraint CONSTRAINT
17086 Specify constraints on a package (version, in‐
17087 stalled/source, flags)
17088
17089 --preference CONSTRAINT
17090 Specify preferences (soft constraints) on the version of
17091 a package
17092
17093 --solver SOLVER
17094 Select dependency solver to use (default: modular).
17095 Choices: modular.
17096
17097 --allow-older [DEPS]
17098 Ignore lower bounds in all dependencies or DEPS
17099
17100 --allow-newer [DEPS]
17101 Ignore upper bounds in all dependencies or DEPS
17102
17103 --write-ghc-environment-files always|never|ghc8.4.4+
17104 Whether to create a .ghc.environment file after a suc‐
17105 cessful build (v2-build only)
17106
17107 --enable-documentation
17108 --disable-documentation
17109 building of documentation
17110
17111 --doc-index-file TEMPLATE
17112 A central index of haddock API documentation (template
17113 cannot use $pkgid)
17114
17115 --dry-run
17116 Do not install anything, only print what would be in‐
17117 stalled.
17118
17119 --max-backjumps NUM
17120 Maximum number of backjumps allowed while solving (de‐
17121 fault: 4000). Use a negative number to enable unlimited
17122 backtracking. Use 0 to disable backtracking completely.
17123
17124 --reorder-goals
17125 --no-reorder-goals
17126 Try to reorder goals according to certain heuristics.
17127 Slows things down on average, but may make backtracking
17128 faster for some packages.
17129
17130 --count-conflicts
17131 --no-count-conflicts
17132 Try to speed up solving by preferring goals that are in‐
17133 volved in a lot of conflicts (default).
17134
17135 --fine-grained-conflicts
17136 --no-fine-grained-conflicts
17137 Skip a version of a package if it does not resolve the
17138 conflicts encountered in the last version, as a solver
17139 optimization (default).
17140
17141 --minimize-conflict-set
17142 --no-minimize-conflict-set
17143 When there is no solution, try to improve the error mes‐
17144 sage by finding a minimal conflict set (default: false).
17145 May increase run time significantly.
17146
17147 --independent-goals
17148 --no-independent-goals
17149 Treat several goals on the command line as independent.
17150 If several goals depend on the same package, different
17151 versions can be chosen.
17152
17153 --shadow-installed-packages
17154 --no-shadow-installed-packages
17155 If multiple package instances of the same version are in‐
17156 stalled, treat all but one as shadowed.
17157
17158 --strong-flags
17159 --no-strong-flags
17160 Do not defer flag choices (this used to be the default in
17161 cabal-install <= 1.20).
17162
17163 --allow-boot-library-installs
17164 --no-allow-boot-library-installs
17165 Allow cabal to install base, ghc-prim, integer-simple,
17166 integer-gmp, and template-haskell.
17167
17168 --reject-unconstrained-dependencies none|all
17169 Require these packages to have constraints on them if
17170 they are to be selected (default: none).
17171
17172 --reinstall
17173 --no-reinstall
17174 Install even if it means installing the same version
17175 again.
17176
17177 --avoid-reinstalls
17178 --no-avoid-reinstalls
17179 Do not select versions that would destructively overwrite
17180 installed packages.
17181
17182 --force-reinstalls
17183 --no-force-reinstalls
17184 Reinstall packages even if they will most likely break
17185 other installed packages.
17186
17187 --upgrade-dependencies
17188 --no-upgrade-dependencies
17189 Pick the latest version for all dependencies, rather than
17190 trying to pick an installed version.
17191
17192 --only-dependencies
17193 --no-only-dependencies
17194 Install only the dependencies necessary to build the
17195 given packages
17196
17197 --dependencies-only
17198 --no-dependencies-only
17199 A synonym for --only-dependencies
17200
17201 --index-state STATE
17202 Use source package index state as it existed at a previ‐
17203 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
17204 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
17205 'HEAD' (default: 'HEAD').
17206
17207 --root-cmd COMMAND
17208 (No longer supported, do not use.)
17209
17210 --build-summary TEMPLATE
17211 Save build summaries to file (name template can use
17212 $pkgid, $compiler, $os, $arch)
17213
17214 --build-log TEMPLATE
17215 Log all builds to file (name template can use $pkgid,
17216 $compiler, $os, $arch)
17217
17218 --remote-build-reporting LEVEL
17219 Generate build reports to send to a remote server (none,
17220 anonymous or detailed).
17221
17222 --report-planning-failure
17223 Generate build reports when the dependency solver fails.
17224 This is used by the Hackage build bot.
17225
17226 --enable-per-component
17227 --disable-per-component
17228 Per-component builds when possible
17229
17230 --one-shot
17231 --no-one-shot
17232 Do not record the packages in the world file.
17233
17234 --run-tests
17235 Run package test suites during installation.
17236
17237 -j, --jobs [NUM]
17238 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
17239 given).
17240
17241 --keep-going
17242 After a build failure, continue to build other unaffected
17243 packages.
17244
17245 --offline
17246 --no-offline
17247 Don't download packages from the Internet.
17248
17249 --project-file FILE
17250 Set the name of the cabal.project file to search for in
17251 parent directories
17252
17253 --only
17254 Only installs the package in the current directory.
17255
17256 --haddock-hoogle
17257 Generate a hoogle database
17258
17259 --haddock-html
17260 Generate HTML documentation (the default)
17261
17262 --haddock-html-location URL
17263 Location of HTML documentation for pre-requisite packages
17264
17265 --haddock-for-hackage
17266 Collection of flags to generate documentation suitable
17267 for upload to hackage
17268
17269 --haddock-executables
17270 Run haddock for Executables targets
17271
17272 --haddock-tests
17273 Run haddock for Test Suite targets
17274
17275 --haddock-benchmarks
17276 Run haddock for Benchmark targets
17277
17278 --haddock-all
17279 Run haddock for all targets
17280
17281 --haddock-internal
17282 Run haddock for internal modules and include all symbols
17283
17284 --haddock-css PATH
17285 Use PATH as the haddock stylesheet
17286
17287 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
17288 dock-hyperlinked-source
17289 Hyperlink the documentation to the source code
17290
17291 --haddock-quickjump
17292 Generate an index for interactive documentation naviga‐
17293 tion
17294
17295 --haddock-hscolour-css PATH
17296 Use PATH as the HsColour stylesheet
17297
17298 --haddock-contents-location URL
17299 Bake URL in as the location for the contents page
17300
17301 --test-log TEMPLATE
17302 Log all test suite results to file (name template can use
17303 $pkgid, $compiler, $os, $arch, $test-suite, $result)
17304
17305 --test-machine-log TEMPLATE
17306 Produce a machine-readable log file (name template can
17307 use $pkgid, $compiler, $os, $arch, $result)
17308
17309 --test-show-details FILTER
17310
17311 --test-keep-tix-files
17312 keep .tix files for HPC between test runs
17313
17314 --test-wrapper FILE
17315 Run test through a wrapper.
17316
17317 --test-fail-when-no-test-suites
17318 Exit with failure when no test suites are found.
17319
17320 --test-options TEMPLATES
17321 give extra options to test executables (name templates
17322 can use $pkgid, $compiler, $os, $arch, $test-suite)
17323
17324 --test-option TEMPLATE
17325 give extra option to test executables (no need to quote
17326 options containing spaces, name template can use $pkgid,
17327 $compiler, $os, $arch, $test-suite)
17328
17329 --benchmark-options TEMPLATES
17330 give extra options to benchmark executables (name tem‐
17331 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
17332
17333 --benchmark-option TEMPLATE
17334 give extra option to benchmark executables (no need to
17335 quote options containing spaces, name template can use
17336 $pkgid, $compiler, $os, $arch, $benchmark)
17337
17338 --lib
17339 Install libraries rather than executables from the target
17340 package.
17341
17342 -z, --ignore-project
17343 Ignore local project configuration
17344
17345 --package-env, --env ENV
17346 Set the environment file that may be modified.
17347
17348 --overwrite-policy always|never
17349 How to handle already existing symlinks.
17350
17351 --install-method copy|symlink
17352 How to install the executables.
17353
17354 --installdir DIR
17355 Where to install (by symlinking or copying) the executa‐
17356 bles in.
17357
17358
17359 cabal run
17360
17361 Usage: cabal run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]
17362
17363
17364 Runs the specified executable-like component (an executable, a test, or
17365 a benchmark), first ensuring it is up to date.
17366
17367 Any executable-like component in any package in the project can be
17368 specified. A package can be specified if contains just one executable-
17369 like. The default is to use the package in the current directory if it
17370 contains just one executable-like.
17371
17372 Extra arguments can be passed to the program, but use '--' to separate
17373 arguments for the program from arguments for cabal. The executable is
17374 run in an environment where it can find its data files inplace in the
17375 build tree.
17376
17377 Dependencies are built or rebuilt as necessary. Additional configura‐
17378 tion flags can be specified on the command line and these extend the
17379 project configuration from the 'cabal.project', 'cabal.project.local'
17380 and other files.
17381
17382
17383 Runs the specified executable-like component (an executable, a test, or
17384 a benchmark), first ensuring it is up to date.
17385
17386 Any executable-like component in any package in the project can be
17387 specified. A package can be specified if contains just one executable-
17388 like. The default is to use the package in the current directory if it
17389 contains just one executable-like.
17390
17391 Extra arguments can be passed to the program, but use '--' to separate
17392 arguments for the program from arguments for cabal. The executable is
17393 run in an environment where it can find its data files inplace in the
17394 build tree.
17395
17396 Dependencies are built or rebuilt as necessary. Additional configura‐
17397 tion flags can be specified on the command line and these extend the
17398 project configuration from the 'cabal.project', 'cabal.project.local'
17399 and other files.
17400
17401
17402 Flags:
17403 -v, --verbose [n]
17404 Control verbosity (n is 0--3, default verbosity level is
17405 1)
17406
17407 --builddir, --distdir, --distpref DIR
17408 The directory where Cabal puts generated build files (de‐
17409 fault dist)
17410
17411 -g, --ghc
17412 compile with GHC
17413
17414 --ghcjs
17415 compile with GHCJS
17416
17417 --uhc
17418 compile with UHC
17419
17420 --haskell-suite
17421 compile with a haskell-suite compiler
17422
17423 --cabal-file PATH
17424 use this Cabal file
17425
17426 -w, --with-compiler PATH
17427 give the path to a particular compiler
17428
17429 --with-hc-pkg PATH
17430 give the path to the package tool
17431
17432 --prefix DIR
17433 bake this prefix in preparation of installation
17434
17435 --bindir DIR
17436 installation directory for executables
17437
17438 --libdir DIR
17439 installation directory for libraries
17440
17441 --libsubdir DIR
17442 subdirectory of libdir in which libs are installed
17443
17444 --dynlibdir DIR
17445 installation directory for dynamic libraries
17446
17447 --libexecdir DIR
17448 installation directory for program executables
17449
17450 --libexecsubdir DIR
17451 subdirectory of libexecdir in which private executables
17452 are installed
17453
17454 --datadir DIR
17455 installation directory for read-only data
17456
17457 --datasubdir DIR
17458 subdirectory of datadir in which data files are installed
17459
17460 --docdir DIR
17461 installation directory for documentation
17462
17463 --htmldir DIR
17464 installation directory for HTML documentation
17465
17466 --haddockdir DIR
17467 installation directory for haddock interfaces
17468
17469 --sysconfdir DIR
17470 installation directory for configuration files
17471
17472 --program-prefix PREFIX
17473 prefix to be applied to installed executables
17474
17475 --program-suffix SUFFIX
17476 suffix to be applied to installed executables
17477
17478 --enable-library-vanilla
17479 --disable-library-vanilla
17480 Vanilla libraries
17481
17482 -p, --enable-library-profiling
17483 --disable-library-profiling
17484 Library profiling
17485
17486 --enable-shared
17487 --disable-shared
17488 Shared library
17489
17490 --enable-static
17491 --disable-static
17492 Static library
17493
17494 --enable-executable-dynamic
17495 --disable-executable-dynamic
17496 Executable dynamic linking
17497
17498 --enable-executable-static
17499 --disable-executable-static
17500 Executable fully static linking
17501
17502 --enable-profiling
17503 --disable-profiling
17504 Executable and library profiling
17505
17506 --enable-executable-profiling
17507 --disable-executable-profiling
17508 Executable profiling (DEPRECATED)
17509
17510 --profiling-detail level
17511 Profiling detail level for executable and library (de‐
17512 fault, none, exported-functions, toplevel-functions,
17513 all-functions).
17514
17515 --library-profiling-detail level
17516 Profiling detail level for libraries only.
17517
17518 -O, --enable-optimization, --enable-optimisation [n]
17519 Build with optimization (n is 0--2, default is 1)
17520
17521 --disable-optimization, --disable-optimisation
17522 Build without optimization
17523
17524 --enable-debug-info [n]
17525 Emit debug info (n is 0--3, default is 0)
17526
17527 --disable-debug-info
17528 Don't emit debug info
17529
17530 --enable-library-for-ghci
17531 --disable-library-for-ghci
17532 compile library for use with GHCi
17533
17534 --enable-split-sections
17535 --disable-split-sections
17536 compile library code such that unneeded definitions can
17537 be dropped from the final executable (GHC 7.8+)
17538
17539 --enable-split-objs
17540 --disable-split-objs
17541 split library into smaller objects to reduce binary sizes
17542 (GHC 6.6+)
17543
17544 --enable-executable-stripping
17545 --disable-executable-stripping
17546 strip executables upon installation to reduce binary
17547 sizes
17548
17549 --enable-library-stripping
17550 --disable-library-stripping
17551 strip libraries upon installation to reduce binary sizes
17552
17553 --configure-option OPT
17554 Extra option for configure
17555
17556 --user
17557 --global
17558 doing a per-user installation
17559
17560 --package-db DB
17561 Append the given package database to the list of package
17562 databases used (to satisfy dependencies and register
17563 into). May be a specific file, 'global' or 'user'. The
17564 initial list is ['global'], ['global', 'user'], or
17565 ['global', $sandbox], depending on context. Use 'clear'
17566 to reset the list to empty. See the user guide for de‐
17567 tails.
17568
17569 -f, --flags FLAGS
17570 Force values for the given flags in Cabal conditionals in
17571 the .cabal file. E.g., --flags="debug -usebytestrings"
17572 forces the flag "debug" to true and "usebytestrings" to
17573 false.
17574
17575 --extra-include-dirs PATH
17576 A list of directories to search for header files
17577
17578 --enable-deterministic
17579 --disable-deterministic
17580 Try to be as deterministic as possible (used by the test
17581 suite)
17582
17583 --ipid IPID
17584 Installed package ID to compile this package as
17585
17586 --cid CID
17587 Installed component ID to compile this component as
17588
17589 --extra-lib-dirs PATH
17590 A list of directories to search for external libraries
17591
17592 --extra-framework-dirs PATH
17593 A list of directories to search for external frameworks
17594 (OS X only)
17595
17596 --extra-prog-path PATH
17597 A list of directories to search for required programs (in
17598 addition to the normal search locations)
17599
17600 --instantiate-with NAME=MOD
17601 A mapping of signature names to concrete module instanti‐
17602 ations.
17603
17604 --enable-tests
17605 --disable-tests
17606 dependency checking and compilation for test suites
17607 listed in the package description file.
17608
17609 --enable-coverage
17610 --disable-coverage
17611 build package with Haskell Program Coverage. (GHC only)
17612
17613 --enable-library-coverage
17614 --disable-library-coverage
17615 build package with Haskell Program Coverage. (GHC only)
17616 (DEPRECATED)
17617
17618 --enable-benchmarks
17619 --disable-benchmarks
17620 dependency checking and compilation for benchmarks listed
17621 in the package description file.
17622
17623 --enable-relocatable
17624 --disable-relocatable
17625 building a package that is relocatable. (GHC only)
17626
17627 --disable-response-files
17628 enable workaround for old versions of programs like "ar"
17629 that do not support @file arguments
17630
17631 --allow-depending-on-private-libs
17632 Allow depending on private libraries. If set, the library
17633 visibility check MUST be done externally.
17634
17635 --with-alex PATH
17636 give the path to alex
17637
17638 --with-ar PATH
17639 give the path to ar
17640
17641 --with-c2hs PATH
17642 give the path to c2hs
17643
17644 --with-cpphs PATH
17645 give the path to cpphs
17646
17647 --with-doctest PATH
17648 give the path to doctest
17649
17650 --with-gcc PATH
17651 give the path to gcc
17652
17653 --with-ghc PATH
17654 give the path to ghc
17655
17656 --with-ghc-pkg PATH
17657 give the path to ghc-pkg
17658
17659 --with-ghcjs PATH
17660 give the path to ghcjs
17661
17662 --with-ghcjs-pkg PATH
17663 give the path to ghcjs-pkg
17664
17665 --with-greencard PATH
17666 give the path to greencard
17667
17668 --with-haddock PATH
17669 give the path to haddock
17670
17671 --with-happy PATH
17672 give the path to happy
17673
17674 --with-haskell-suite PATH
17675 give the path to haskell-suite
17676
17677 --with-haskell-suite-pkg PATH
17678 give the path to haskell-suite-pkg
17679
17680 --with-hmake PATH
17681 give the path to hmake
17682
17683 --with-hpc PATH
17684 give the path to hpc
17685
17686 --with-hsc2hs PATH
17687 give the path to hsc2hs
17688
17689 --with-hscolour PATH
17690 give the path to hscolour
17691
17692 --with-jhc PATH
17693 give the path to jhc
17694
17695 --with-ld PATH
17696 give the path to ld
17697
17698 --with-pkg-config PATH
17699 give the path to pkg-config
17700
17701 --with-runghc PATH
17702 give the path to runghc
17703
17704 --with-strip PATH
17705 give the path to strip
17706
17707 --with-tar PATH
17708 give the path to tar
17709
17710 --with-uhc PATH
17711 give the path to uhc
17712
17713 --alex-option OPT
17714 give an extra option to alex (no need to quote options
17715 containing spaces)
17716
17717 --ar-option OPT
17718 give an extra option to ar (no need to quote options con‐
17719 taining spaces)
17720
17721 --c2hs-option OPT
17722 give an extra option to c2hs (no need to quote options
17723 containing spaces)
17724
17725 --cpphs-option OPT
17726 give an extra option to cpphs (no need to quote options
17727 containing spaces)
17728
17729 --doctest-option OPT
17730 give an extra option to doctest (no need to quote options
17731 containing spaces)
17732
17733 --gcc-option OPT
17734 give an extra option to gcc (no need to quote options
17735 containing spaces)
17736
17737 --ghc-option OPT
17738 give an extra option to ghc (no need to quote options
17739 containing spaces)
17740
17741 --ghc-pkg-option OPT
17742 give an extra option to ghc-pkg (no need to quote options
17743 containing spaces)
17744
17745 --ghcjs-option OPT
17746 give an extra option to ghcjs (no need to quote options
17747 containing spaces)
17748
17749 --ghcjs-pkg-option OPT
17750 give an extra option to ghcjs-pkg (no need to quote op‐
17751 tions containing spaces)
17752
17753 --greencard-option OPT
17754 give an extra option to greencard (no need to quote op‐
17755 tions containing spaces)
17756
17757 --haddock-option OPT
17758 give an extra option to haddock (no need to quote options
17759 containing spaces)
17760
17761 --happy-option OPT
17762 give an extra option to happy (no need to quote options
17763 containing spaces)
17764
17765 --haskell-suite-option OPT
17766 give an extra option to haskell-suite (no need to quote
17767 options containing spaces)
17768
17769 --haskell-suite-pkg-option OPT
17770 give an extra option to haskell-suite-pkg (no need to
17771 quote options containing spaces)
17772
17773 --hmake-option OPT
17774 give an extra option to hmake (no need to quote options
17775 containing spaces)
17776
17777 --hpc-option OPT
17778 give an extra option to hpc (no need to quote options
17779 containing spaces)
17780
17781 --hsc2hs-option OPT
17782 give an extra option to hsc2hs (no need to quote options
17783 containing spaces)
17784
17785 --hscolour-option OPT
17786 give an extra option to hscolour (no need to quote op‐
17787 tions containing spaces)
17788
17789 --jhc-option OPT
17790 give an extra option to jhc (no need to quote options
17791 containing spaces)
17792
17793 --ld-option OPT
17794 give an extra option to ld (no need to quote options con‐
17795 taining spaces)
17796
17797 --pkg-config-option OPT
17798 give an extra option to pkg-config (no need to quote op‐
17799 tions containing spaces)
17800
17801 --runghc-option OPT
17802 give an extra option to runghc (no need to quote options
17803 containing spaces)
17804
17805 --strip-option OPT
17806 give an extra option to strip (no need to quote options
17807 containing spaces)
17808
17809 --tar-option OPT
17810 give an extra option to tar (no need to quote options
17811 containing spaces)
17812
17813 --uhc-option OPT
17814 give an extra option to uhc (no need to quote options
17815 containing spaces)
17816
17817 --alex-options OPTS
17818 give extra options to alex
17819
17820 --ar-options OPTS
17821 give extra options to ar
17822
17823 --c2hs-options OPTS
17824 give extra options to c2hs
17825
17826 --cpphs-options OPTS
17827 give extra options to cpphs
17828
17829 --doctest-options OPTS
17830 give extra options to doctest
17831
17832 --gcc-options OPTS
17833 give extra options to gcc
17834
17835 --ghc-options OPTS
17836 give extra options to ghc
17837
17838 --ghc-pkg-options OPTS
17839 give extra options to ghc-pkg
17840
17841 --ghcjs-options OPTS
17842 give extra options to ghcjs
17843
17844 --ghcjs-pkg-options OPTS
17845 give extra options to ghcjs-pkg
17846
17847 --greencard-options OPTS
17848 give extra options to greencard
17849
17850 --haddock-options OPTS
17851 give extra options to haddock
17852
17853 --happy-options OPTS
17854 give extra options to happy
17855
17856 --haskell-suite-options OPTS
17857 give extra options to haskell-suite
17858
17859 --haskell-suite-pkg-options OPTS
17860 give extra options to haskell-suite-pkg
17861
17862 --hmake-options OPTS
17863 give extra options to hmake
17864
17865 --hpc-options OPTS
17866 give extra options to hpc
17867
17868 --hsc2hs-options OPTS
17869 give extra options to hsc2hs
17870
17871 --hscolour-options OPTS
17872 give extra options to hscolour
17873
17874 --jhc-options OPTS
17875 give extra options to jhc
17876
17877 --ld-options OPTS
17878 give extra options to ld
17879
17880 --pkg-config-options OPTS
17881 give extra options to pkg-config
17882
17883 --runghc-options OPTS
17884 give extra options to runghc
17885
17886 --strip-options OPTS
17887 give extra options to strip
17888
17889 --tar-options OPTS
17890 give extra options to tar
17891
17892 --uhc-options OPTS
17893 give extra options to uhc
17894
17895 --cabal-lib-version VERSION
17896 Select which version of the Cabal lib to use to build
17897 packages (useful for testing).
17898
17899 --constraint CONSTRAINT
17900 Specify constraints on a package (version, in‐
17901 stalled/source, flags)
17902
17903 --preference CONSTRAINT
17904 Specify preferences (soft constraints) on the version of
17905 a package
17906
17907 --solver SOLVER
17908 Select dependency solver to use (default: modular).
17909 Choices: modular.
17910
17911 --allow-older [DEPS]
17912 Ignore lower bounds in all dependencies or DEPS
17913
17914 --allow-newer [DEPS]
17915 Ignore upper bounds in all dependencies or DEPS
17916
17917 --write-ghc-environment-files always|never|ghc8.4.4+
17918 Whether to create a .ghc.environment file after a suc‐
17919 cessful build (v2-build only)
17920
17921 --enable-documentation
17922 --disable-documentation
17923 building of documentation
17924
17925 --doc-index-file TEMPLATE
17926 A central index of haddock API documentation (template
17927 cannot use $pkgid)
17928
17929 --dry-run
17930 Do not install anything, only print what would be in‐
17931 stalled.
17932
17933 --max-backjumps NUM
17934 Maximum number of backjumps allowed while solving (de‐
17935 fault: 4000). Use a negative number to enable unlimited
17936 backtracking. Use 0 to disable backtracking completely.
17937
17938 --reorder-goals
17939 --no-reorder-goals
17940 Try to reorder goals according to certain heuristics.
17941 Slows things down on average, but may make backtracking
17942 faster for some packages.
17943
17944 --count-conflicts
17945 --no-count-conflicts
17946 Try to speed up solving by preferring goals that are in‐
17947 volved in a lot of conflicts (default).
17948
17949 --fine-grained-conflicts
17950 --no-fine-grained-conflicts
17951 Skip a version of a package if it does not resolve the
17952 conflicts encountered in the last version, as a solver
17953 optimization (default).
17954
17955 --minimize-conflict-set
17956 --no-minimize-conflict-set
17957 When there is no solution, try to improve the error mes‐
17958 sage by finding a minimal conflict set (default: false).
17959 May increase run time significantly.
17960
17961 --independent-goals
17962 --no-independent-goals
17963 Treat several goals on the command line as independent.
17964 If several goals depend on the same package, different
17965 versions can be chosen.
17966
17967 --shadow-installed-packages
17968 --no-shadow-installed-packages
17969 If multiple package instances of the same version are in‐
17970 stalled, treat all but one as shadowed.
17971
17972 --strong-flags
17973 --no-strong-flags
17974 Do not defer flag choices (this used to be the default in
17975 cabal-install <= 1.20).
17976
17977 --allow-boot-library-installs
17978 --no-allow-boot-library-installs
17979 Allow cabal to install base, ghc-prim, integer-simple,
17980 integer-gmp, and template-haskell.
17981
17982 --reject-unconstrained-dependencies none|all
17983 Require these packages to have constraints on them if
17984 they are to be selected (default: none).
17985
17986 --reinstall
17987 --no-reinstall
17988 Install even if it means installing the same version
17989 again.
17990
17991 --avoid-reinstalls
17992 --no-avoid-reinstalls
17993 Do not select versions that would destructively overwrite
17994 installed packages.
17995
17996 --force-reinstalls
17997 --no-force-reinstalls
17998 Reinstall packages even if they will most likely break
17999 other installed packages.
18000
18001 --upgrade-dependencies
18002 --no-upgrade-dependencies
18003 Pick the latest version for all dependencies, rather than
18004 trying to pick an installed version.
18005
18006 --only-dependencies
18007 --no-only-dependencies
18008 Install only the dependencies necessary to build the
18009 given packages
18010
18011 --dependencies-only
18012 --no-dependencies-only
18013 A synonym for --only-dependencies
18014
18015 --index-state STATE
18016 Use source package index state as it existed at a previ‐
18017 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
18018 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
18019 'HEAD' (default: 'HEAD').
18020
18021 --root-cmd COMMAND
18022 (No longer supported, do not use.)
18023
18024 --symlink-bindir DIR
18025 Add symlinks to installed executables into this direc‐
18026 tory.
18027
18028 --build-summary TEMPLATE
18029 Save build summaries to file (name template can use
18030 $pkgid, $compiler, $os, $arch)
18031
18032 --build-log TEMPLATE
18033 Log all builds to file (name template can use $pkgid,
18034 $compiler, $os, $arch)
18035
18036 --remote-build-reporting LEVEL
18037 Generate build reports to send to a remote server (none,
18038 anonymous or detailed).
18039
18040 --report-planning-failure
18041 Generate build reports when the dependency solver fails.
18042 This is used by the Hackage build bot.
18043
18044 --enable-per-component
18045 --disable-per-component
18046 Per-component builds when possible
18047
18048 --one-shot
18049 --no-one-shot
18050 Do not record the packages in the world file.
18051
18052 --run-tests
18053 Run package test suites during installation.
18054
18055 -j, --jobs [NUM]
18056 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
18057 given).
18058
18059 --keep-going
18060 After a build failure, continue to build other unaffected
18061 packages.
18062
18063 --offline
18064 --no-offline
18065 Don't download packages from the Internet.
18066
18067 --project-file FILE
18068 Set the name of the cabal.project file to search for in
18069 parent directories
18070
18071 --only
18072 Only installs the package in the current directory.
18073
18074 --haddock-hoogle
18075 Generate a hoogle database
18076
18077 --haddock-html
18078 Generate HTML documentation (the default)
18079
18080 --haddock-html-location URL
18081 Location of HTML documentation for pre-requisite packages
18082
18083 --haddock-for-hackage
18084 Collection of flags to generate documentation suitable
18085 for upload to hackage
18086
18087 --haddock-executables
18088 Run haddock for Executables targets
18089
18090 --haddock-tests
18091 Run haddock for Test Suite targets
18092
18093 --haddock-benchmarks
18094 Run haddock for Benchmark targets
18095
18096 --haddock-all
18097 Run haddock for all targets
18098
18099 --haddock-internal
18100 Run haddock for internal modules and include all symbols
18101
18102 --haddock-css PATH
18103 Use PATH as the haddock stylesheet
18104
18105 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
18106 dock-hyperlinked-source
18107 Hyperlink the documentation to the source code
18108
18109 --haddock-quickjump
18110 Generate an index for interactive documentation naviga‐
18111 tion
18112
18113 --haddock-hscolour-css PATH
18114 Use PATH as the HsColour stylesheet
18115
18116 --haddock-contents-location URL
18117 Bake URL in as the location for the contents page
18118
18119 --test-log TEMPLATE
18120 Log all test suite results to file (name template can use
18121 $pkgid, $compiler, $os, $arch, $test-suite, $result)
18122
18123 --test-machine-log TEMPLATE
18124 Produce a machine-readable log file (name template can
18125 use $pkgid, $compiler, $os, $arch, $result)
18126
18127 --test-show-details FILTER
18128
18129 --test-keep-tix-files
18130 keep .tix files for HPC between test runs
18131
18132 --test-wrapper FILE
18133 Run test through a wrapper.
18134
18135 --test-fail-when-no-test-suites
18136 Exit with failure when no test suites are found.
18137
18138 --test-options TEMPLATES
18139 give extra options to test executables (name templates
18140 can use $pkgid, $compiler, $os, $arch, $test-suite)
18141
18142 --test-option TEMPLATE
18143 give extra option to test executables (no need to quote
18144 options containing spaces, name template can use $pkgid,
18145 $compiler, $os, $arch, $test-suite)
18146
18147 --benchmark-options TEMPLATES
18148 give extra options to benchmark executables (name tem‐
18149 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
18150
18151 --benchmark-option TEMPLATE
18152 give extra option to benchmark executables (no need to
18153 quote options containing spaces, name template can use
18154 $pkgid, $compiler, $os, $arch, $benchmark)
18155
18156 -z, --ignore-project
18157 Ignore local project configuration
18158
18159
18160 cabal new-run
18161
18162 Usage: cabal new-run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]
18163
18164
18165 Runs the specified executable-like component (an executable, a test, or
18166 a benchmark), first ensuring it is up to date.
18167
18168 Any executable-like component in any package in the project can be
18169 specified. A package can be specified if contains just one executable-
18170 like. The default is to use the package in the current directory if it
18171 contains just one executable-like.
18172
18173 Extra arguments can be passed to the program, but use '--' to separate
18174 arguments for the program from arguments for cabal. The executable is
18175 run in an environment where it can find its data files inplace in the
18176 build tree.
18177
18178 Dependencies are built or rebuilt as necessary. Additional configura‐
18179 tion flags can be specified on the command line and these extend the
18180 project configuration from the 'cabal.project', 'cabal.project.local'
18181 and other files.
18182
18183
18184 Runs the specified executable-like component (an executable, a test, or
18185 a benchmark), first ensuring it is up to date.
18186
18187 Any executable-like component in any package in the project can be
18188 specified. A package can be specified if contains just one executable-
18189 like. The default is to use the package in the current directory if it
18190 contains just one executable-like.
18191
18192 Extra arguments can be passed to the program, but use '--' to separate
18193 arguments for the program from arguments for cabal. The executable is
18194 run in an environment where it can find its data files inplace in the
18195 build tree.
18196
18197 Dependencies are built or rebuilt as necessary. Additional configura‐
18198 tion flags can be specified on the command line and these extend the
18199 project configuration from the 'cabal.project', 'cabal.project.local'
18200 and other files.
18201
18202
18203 Flags:
18204 -v, --verbose [n]
18205 Control verbosity (n is 0--3, default verbosity level is
18206 1)
18207
18208 --builddir, --distdir, --distpref DIR
18209 The directory where Cabal puts generated build files (de‐
18210 fault dist)
18211
18212 -g, --ghc
18213 compile with GHC
18214
18215 --ghcjs
18216 compile with GHCJS
18217
18218 --uhc
18219 compile with UHC
18220
18221 --haskell-suite
18222 compile with a haskell-suite compiler
18223
18224 --cabal-file PATH
18225 use this Cabal file
18226
18227 -w, --with-compiler PATH
18228 give the path to a particular compiler
18229
18230 --with-hc-pkg PATH
18231 give the path to the package tool
18232
18233 --prefix DIR
18234 bake this prefix in preparation of installation
18235
18236 --bindir DIR
18237 installation directory for executables
18238
18239 --libdir DIR
18240 installation directory for libraries
18241
18242 --libsubdir DIR
18243 subdirectory of libdir in which libs are installed
18244
18245 --dynlibdir DIR
18246 installation directory for dynamic libraries
18247
18248 --libexecdir DIR
18249 installation directory for program executables
18250
18251 --libexecsubdir DIR
18252 subdirectory of libexecdir in which private executables
18253 are installed
18254
18255 --datadir DIR
18256 installation directory for read-only data
18257
18258 --datasubdir DIR
18259 subdirectory of datadir in which data files are installed
18260
18261 --docdir DIR
18262 installation directory for documentation
18263
18264 --htmldir DIR
18265 installation directory for HTML documentation
18266
18267 --haddockdir DIR
18268 installation directory for haddock interfaces
18269
18270 --sysconfdir DIR
18271 installation directory for configuration files
18272
18273 --program-prefix PREFIX
18274 prefix to be applied to installed executables
18275
18276 --program-suffix SUFFIX
18277 suffix to be applied to installed executables
18278
18279 --enable-library-vanilla
18280 --disable-library-vanilla
18281 Vanilla libraries
18282
18283 -p, --enable-library-profiling
18284 --disable-library-profiling
18285 Library profiling
18286
18287 --enable-shared
18288 --disable-shared
18289 Shared library
18290
18291 --enable-static
18292 --disable-static
18293 Static library
18294
18295 --enable-executable-dynamic
18296 --disable-executable-dynamic
18297 Executable dynamic linking
18298
18299 --enable-executable-static
18300 --disable-executable-static
18301 Executable fully static linking
18302
18303 --enable-profiling
18304 --disable-profiling
18305 Executable and library profiling
18306
18307 --enable-executable-profiling
18308 --disable-executable-profiling
18309 Executable profiling (DEPRECATED)
18310
18311 --profiling-detail level
18312 Profiling detail level for executable and library (de‐
18313 fault, none, exported-functions, toplevel-functions,
18314 all-functions).
18315
18316 --library-profiling-detail level
18317 Profiling detail level for libraries only.
18318
18319 -O, --enable-optimization, --enable-optimisation [n]
18320 Build with optimization (n is 0--2, default is 1)
18321
18322 --disable-optimization, --disable-optimisation
18323 Build without optimization
18324
18325 --enable-debug-info [n]
18326 Emit debug info (n is 0--3, default is 0)
18327
18328 --disable-debug-info
18329 Don't emit debug info
18330
18331 --enable-library-for-ghci
18332 --disable-library-for-ghci
18333 compile library for use with GHCi
18334
18335 --enable-split-sections
18336 --disable-split-sections
18337 compile library code such that unneeded definitions can
18338 be dropped from the final executable (GHC 7.8+)
18339
18340 --enable-split-objs
18341 --disable-split-objs
18342 split library into smaller objects to reduce binary sizes
18343 (GHC 6.6+)
18344
18345 --enable-executable-stripping
18346 --disable-executable-stripping
18347 strip executables upon installation to reduce binary
18348 sizes
18349
18350 --enable-library-stripping
18351 --disable-library-stripping
18352 strip libraries upon installation to reduce binary sizes
18353
18354 --configure-option OPT
18355 Extra option for configure
18356
18357 --user
18358 --global
18359 doing a per-user installation
18360
18361 --package-db DB
18362 Append the given package database to the list of package
18363 databases used (to satisfy dependencies and register
18364 into). May be a specific file, 'global' or 'user'. The
18365 initial list is ['global'], ['global', 'user'], or
18366 ['global', $sandbox], depending on context. Use 'clear'
18367 to reset the list to empty. See the user guide for de‐
18368 tails.
18369
18370 -f, --flags FLAGS
18371 Force values for the given flags in Cabal conditionals in
18372 the .cabal file. E.g., --flags="debug -usebytestrings"
18373 forces the flag "debug" to true and "usebytestrings" to
18374 false.
18375
18376 --extra-include-dirs PATH
18377 A list of directories to search for header files
18378
18379 --enable-deterministic
18380 --disable-deterministic
18381 Try to be as deterministic as possible (used by the test
18382 suite)
18383
18384 --ipid IPID
18385 Installed package ID to compile this package as
18386
18387 --cid CID
18388 Installed component ID to compile this component as
18389
18390 --extra-lib-dirs PATH
18391 A list of directories to search for external libraries
18392
18393 --extra-framework-dirs PATH
18394 A list of directories to search for external frameworks
18395 (OS X only)
18396
18397 --extra-prog-path PATH
18398 A list of directories to search for required programs (in
18399 addition to the normal search locations)
18400
18401 --instantiate-with NAME=MOD
18402 A mapping of signature names to concrete module instanti‐
18403 ations.
18404
18405 --enable-tests
18406 --disable-tests
18407 dependency checking and compilation for test suites
18408 listed in the package description file.
18409
18410 --enable-coverage
18411 --disable-coverage
18412 build package with Haskell Program Coverage. (GHC only)
18413
18414 --enable-library-coverage
18415 --disable-library-coverage
18416 build package with Haskell Program Coverage. (GHC only)
18417 (DEPRECATED)
18418
18419 --enable-benchmarks
18420 --disable-benchmarks
18421 dependency checking and compilation for benchmarks listed
18422 in the package description file.
18423
18424 --enable-relocatable
18425 --disable-relocatable
18426 building a package that is relocatable. (GHC only)
18427
18428 --disable-response-files
18429 enable workaround for old versions of programs like "ar"
18430 that do not support @file arguments
18431
18432 --allow-depending-on-private-libs
18433 Allow depending on private libraries. If set, the library
18434 visibility check MUST be done externally.
18435
18436 --with-alex PATH
18437 give the path to alex
18438
18439 --with-ar PATH
18440 give the path to ar
18441
18442 --with-c2hs PATH
18443 give the path to c2hs
18444
18445 --with-cpphs PATH
18446 give the path to cpphs
18447
18448 --with-doctest PATH
18449 give the path to doctest
18450
18451 --with-gcc PATH
18452 give the path to gcc
18453
18454 --with-ghc PATH
18455 give the path to ghc
18456
18457 --with-ghc-pkg PATH
18458 give the path to ghc-pkg
18459
18460 --with-ghcjs PATH
18461 give the path to ghcjs
18462
18463 --with-ghcjs-pkg PATH
18464 give the path to ghcjs-pkg
18465
18466 --with-greencard PATH
18467 give the path to greencard
18468
18469 --with-haddock PATH
18470 give the path to haddock
18471
18472 --with-happy PATH
18473 give the path to happy
18474
18475 --with-haskell-suite PATH
18476 give the path to haskell-suite
18477
18478 --with-haskell-suite-pkg PATH
18479 give the path to haskell-suite-pkg
18480
18481 --with-hmake PATH
18482 give the path to hmake
18483
18484 --with-hpc PATH
18485 give the path to hpc
18486
18487 --with-hsc2hs PATH
18488 give the path to hsc2hs
18489
18490 --with-hscolour PATH
18491 give the path to hscolour
18492
18493 --with-jhc PATH
18494 give the path to jhc
18495
18496 --with-ld PATH
18497 give the path to ld
18498
18499 --with-pkg-config PATH
18500 give the path to pkg-config
18501
18502 --with-runghc PATH
18503 give the path to runghc
18504
18505 --with-strip PATH
18506 give the path to strip
18507
18508 --with-tar PATH
18509 give the path to tar
18510
18511 --with-uhc PATH
18512 give the path to uhc
18513
18514 --alex-option OPT
18515 give an extra option to alex (no need to quote options
18516 containing spaces)
18517
18518 --ar-option OPT
18519 give an extra option to ar (no need to quote options con‐
18520 taining spaces)
18521
18522 --c2hs-option OPT
18523 give an extra option to c2hs (no need to quote options
18524 containing spaces)
18525
18526 --cpphs-option OPT
18527 give an extra option to cpphs (no need to quote options
18528 containing spaces)
18529
18530 --doctest-option OPT
18531 give an extra option to doctest (no need to quote options
18532 containing spaces)
18533
18534 --gcc-option OPT
18535 give an extra option to gcc (no need to quote options
18536 containing spaces)
18537
18538 --ghc-option OPT
18539 give an extra option to ghc (no need to quote options
18540 containing spaces)
18541
18542 --ghc-pkg-option OPT
18543 give an extra option to ghc-pkg (no need to quote options
18544 containing spaces)
18545
18546 --ghcjs-option OPT
18547 give an extra option to ghcjs (no need to quote options
18548 containing spaces)
18549
18550 --ghcjs-pkg-option OPT
18551 give an extra option to ghcjs-pkg (no need to quote op‐
18552 tions containing spaces)
18553
18554 --greencard-option OPT
18555 give an extra option to greencard (no need to quote op‐
18556 tions containing spaces)
18557
18558 --haddock-option OPT
18559 give an extra option to haddock (no need to quote options
18560 containing spaces)
18561
18562 --happy-option OPT
18563 give an extra option to happy (no need to quote options
18564 containing spaces)
18565
18566 --haskell-suite-option OPT
18567 give an extra option to haskell-suite (no need to quote
18568 options containing spaces)
18569
18570 --haskell-suite-pkg-option OPT
18571 give an extra option to haskell-suite-pkg (no need to
18572 quote options containing spaces)
18573
18574 --hmake-option OPT
18575 give an extra option to hmake (no need to quote options
18576 containing spaces)
18577
18578 --hpc-option OPT
18579 give an extra option to hpc (no need to quote options
18580 containing spaces)
18581
18582 --hsc2hs-option OPT
18583 give an extra option to hsc2hs (no need to quote options
18584 containing spaces)
18585
18586 --hscolour-option OPT
18587 give an extra option to hscolour (no need to quote op‐
18588 tions containing spaces)
18589
18590 --jhc-option OPT
18591 give an extra option to jhc (no need to quote options
18592 containing spaces)
18593
18594 --ld-option OPT
18595 give an extra option to ld (no need to quote options con‐
18596 taining spaces)
18597
18598 --pkg-config-option OPT
18599 give an extra option to pkg-config (no need to quote op‐
18600 tions containing spaces)
18601
18602 --runghc-option OPT
18603 give an extra option to runghc (no need to quote options
18604 containing spaces)
18605
18606 --strip-option OPT
18607 give an extra option to strip (no need to quote options
18608 containing spaces)
18609
18610 --tar-option OPT
18611 give an extra option to tar (no need to quote options
18612 containing spaces)
18613
18614 --uhc-option OPT
18615 give an extra option to uhc (no need to quote options
18616 containing spaces)
18617
18618 --alex-options OPTS
18619 give extra options to alex
18620
18621 --ar-options OPTS
18622 give extra options to ar
18623
18624 --c2hs-options OPTS
18625 give extra options to c2hs
18626
18627 --cpphs-options OPTS
18628 give extra options to cpphs
18629
18630 --doctest-options OPTS
18631 give extra options to doctest
18632
18633 --gcc-options OPTS
18634 give extra options to gcc
18635
18636 --ghc-options OPTS
18637 give extra options to ghc
18638
18639 --ghc-pkg-options OPTS
18640 give extra options to ghc-pkg
18641
18642 --ghcjs-options OPTS
18643 give extra options to ghcjs
18644
18645 --ghcjs-pkg-options OPTS
18646 give extra options to ghcjs-pkg
18647
18648 --greencard-options OPTS
18649 give extra options to greencard
18650
18651 --haddock-options OPTS
18652 give extra options to haddock
18653
18654 --happy-options OPTS
18655 give extra options to happy
18656
18657 --haskell-suite-options OPTS
18658 give extra options to haskell-suite
18659
18660 --haskell-suite-pkg-options OPTS
18661 give extra options to haskell-suite-pkg
18662
18663 --hmake-options OPTS
18664 give extra options to hmake
18665
18666 --hpc-options OPTS
18667 give extra options to hpc
18668
18669 --hsc2hs-options OPTS
18670 give extra options to hsc2hs
18671
18672 --hscolour-options OPTS
18673 give extra options to hscolour
18674
18675 --jhc-options OPTS
18676 give extra options to jhc
18677
18678 --ld-options OPTS
18679 give extra options to ld
18680
18681 --pkg-config-options OPTS
18682 give extra options to pkg-config
18683
18684 --runghc-options OPTS
18685 give extra options to runghc
18686
18687 --strip-options OPTS
18688 give extra options to strip
18689
18690 --tar-options OPTS
18691 give extra options to tar
18692
18693 --uhc-options OPTS
18694 give extra options to uhc
18695
18696 --cabal-lib-version VERSION
18697 Select which version of the Cabal lib to use to build
18698 packages (useful for testing).
18699
18700 --constraint CONSTRAINT
18701 Specify constraints on a package (version, in‐
18702 stalled/source, flags)
18703
18704 --preference CONSTRAINT
18705 Specify preferences (soft constraints) on the version of
18706 a package
18707
18708 --solver SOLVER
18709 Select dependency solver to use (default: modular).
18710 Choices: modular.
18711
18712 --allow-older [DEPS]
18713 Ignore lower bounds in all dependencies or DEPS
18714
18715 --allow-newer [DEPS]
18716 Ignore upper bounds in all dependencies or DEPS
18717
18718 --write-ghc-environment-files always|never|ghc8.4.4+
18719 Whether to create a .ghc.environment file after a suc‐
18720 cessful build (v2-build only)
18721
18722 --enable-documentation
18723 --disable-documentation
18724 building of documentation
18725
18726 --doc-index-file TEMPLATE
18727 A central index of haddock API documentation (template
18728 cannot use $pkgid)
18729
18730 --dry-run
18731 Do not install anything, only print what would be in‐
18732 stalled.
18733
18734 --max-backjumps NUM
18735 Maximum number of backjumps allowed while solving (de‐
18736 fault: 4000). Use a negative number to enable unlimited
18737 backtracking. Use 0 to disable backtracking completely.
18738
18739 --reorder-goals
18740 --no-reorder-goals
18741 Try to reorder goals according to certain heuristics.
18742 Slows things down on average, but may make backtracking
18743 faster for some packages.
18744
18745 --count-conflicts
18746 --no-count-conflicts
18747 Try to speed up solving by preferring goals that are in‐
18748 volved in a lot of conflicts (default).
18749
18750 --fine-grained-conflicts
18751 --no-fine-grained-conflicts
18752 Skip a version of a package if it does not resolve the
18753 conflicts encountered in the last version, as a solver
18754 optimization (default).
18755
18756 --minimize-conflict-set
18757 --no-minimize-conflict-set
18758 When there is no solution, try to improve the error mes‐
18759 sage by finding a minimal conflict set (default: false).
18760 May increase run time significantly.
18761
18762 --independent-goals
18763 --no-independent-goals
18764 Treat several goals on the command line as independent.
18765 If several goals depend on the same package, different
18766 versions can be chosen.
18767
18768 --shadow-installed-packages
18769 --no-shadow-installed-packages
18770 If multiple package instances of the same version are in‐
18771 stalled, treat all but one as shadowed.
18772
18773 --strong-flags
18774 --no-strong-flags
18775 Do not defer flag choices (this used to be the default in
18776 cabal-install <= 1.20).
18777
18778 --allow-boot-library-installs
18779 --no-allow-boot-library-installs
18780 Allow cabal to install base, ghc-prim, integer-simple,
18781 integer-gmp, and template-haskell.
18782
18783 --reject-unconstrained-dependencies none|all
18784 Require these packages to have constraints on them if
18785 they are to be selected (default: none).
18786
18787 --reinstall
18788 --no-reinstall
18789 Install even if it means installing the same version
18790 again.
18791
18792 --avoid-reinstalls
18793 --no-avoid-reinstalls
18794 Do not select versions that would destructively overwrite
18795 installed packages.
18796
18797 --force-reinstalls
18798 --no-force-reinstalls
18799 Reinstall packages even if they will most likely break
18800 other installed packages.
18801
18802 --upgrade-dependencies
18803 --no-upgrade-dependencies
18804 Pick the latest version for all dependencies, rather than
18805 trying to pick an installed version.
18806
18807 --only-dependencies
18808 --no-only-dependencies
18809 Install only the dependencies necessary to build the
18810 given packages
18811
18812 --dependencies-only
18813 --no-dependencies-only
18814 A synonym for --only-dependencies
18815
18816 --index-state STATE
18817 Use source package index state as it existed at a previ‐
18818 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
18819 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
18820 'HEAD' (default: 'HEAD').
18821
18822 --root-cmd COMMAND
18823 (No longer supported, do not use.)
18824
18825 --symlink-bindir DIR
18826 Add symlinks to installed executables into this direc‐
18827 tory.
18828
18829 --build-summary TEMPLATE
18830 Save build summaries to file (name template can use
18831 $pkgid, $compiler, $os, $arch)
18832
18833 --build-log TEMPLATE
18834 Log all builds to file (name template can use $pkgid,
18835 $compiler, $os, $arch)
18836
18837 --remote-build-reporting LEVEL
18838 Generate build reports to send to a remote server (none,
18839 anonymous or detailed).
18840
18841 --report-planning-failure
18842 Generate build reports when the dependency solver fails.
18843 This is used by the Hackage build bot.
18844
18845 --enable-per-component
18846 --disable-per-component
18847 Per-component builds when possible
18848
18849 --one-shot
18850 --no-one-shot
18851 Do not record the packages in the world file.
18852
18853 --run-tests
18854 Run package test suites during installation.
18855
18856 -j, --jobs [NUM]
18857 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
18858 given).
18859
18860 --keep-going
18861 After a build failure, continue to build other unaffected
18862 packages.
18863
18864 --offline
18865 --no-offline
18866 Don't download packages from the Internet.
18867
18868 --project-file FILE
18869 Set the name of the cabal.project file to search for in
18870 parent directories
18871
18872 --only
18873 Only installs the package in the current directory.
18874
18875 --haddock-hoogle
18876 Generate a hoogle database
18877
18878 --haddock-html
18879 Generate HTML documentation (the default)
18880
18881 --haddock-html-location URL
18882 Location of HTML documentation for pre-requisite packages
18883
18884 --haddock-for-hackage
18885 Collection of flags to generate documentation suitable
18886 for upload to hackage
18887
18888 --haddock-executables
18889 Run haddock for Executables targets
18890
18891 --haddock-tests
18892 Run haddock for Test Suite targets
18893
18894 --haddock-benchmarks
18895 Run haddock for Benchmark targets
18896
18897 --haddock-all
18898 Run haddock for all targets
18899
18900 --haddock-internal
18901 Run haddock for internal modules and include all symbols
18902
18903 --haddock-css PATH
18904 Use PATH as the haddock stylesheet
18905
18906 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
18907 dock-hyperlinked-source
18908 Hyperlink the documentation to the source code
18909
18910 --haddock-quickjump
18911 Generate an index for interactive documentation naviga‐
18912 tion
18913
18914 --haddock-hscolour-css PATH
18915 Use PATH as the HsColour stylesheet
18916
18917 --haddock-contents-location URL
18918 Bake URL in as the location for the contents page
18919
18920 --test-log TEMPLATE
18921 Log all test suite results to file (name template can use
18922 $pkgid, $compiler, $os, $arch, $test-suite, $result)
18923
18924 --test-machine-log TEMPLATE
18925 Produce a machine-readable log file (name template can
18926 use $pkgid, $compiler, $os, $arch, $result)
18927
18928 --test-show-details FILTER
18929
18930 --test-keep-tix-files
18931 keep .tix files for HPC between test runs
18932
18933 --test-wrapper FILE
18934 Run test through a wrapper.
18935
18936 --test-fail-when-no-test-suites
18937 Exit with failure when no test suites are found.
18938
18939 --test-options TEMPLATES
18940 give extra options to test executables (name templates
18941 can use $pkgid, $compiler, $os, $arch, $test-suite)
18942
18943 --test-option TEMPLATE
18944 give extra option to test executables (no need to quote
18945 options containing spaces, name template can use $pkgid,
18946 $compiler, $os, $arch, $test-suite)
18947
18948 --benchmark-options TEMPLATES
18949 give extra options to benchmark executables (name tem‐
18950 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
18951
18952 --benchmark-option TEMPLATE
18953 give extra option to benchmark executables (no need to
18954 quote options containing spaces, name template can use
18955 $pkgid, $compiler, $os, $arch, $benchmark)
18956
18957 -z, --ignore-project
18958 Ignore local project configuration
18959
18960
18961 cabal v2-run
18962
18963 Usage: cabal v2-run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]
18964
18965
18966 Runs the specified executable-like component (an executable, a test, or
18967 a benchmark), first ensuring it is up to date.
18968
18969 Any executable-like component in any package in the project can be
18970 specified. A package can be specified if contains just one executable-
18971 like. The default is to use the package in the current directory if it
18972 contains just one executable-like.
18973
18974 Extra arguments can be passed to the program, but use '--' to separate
18975 arguments for the program from arguments for cabal. The executable is
18976 run in an environment where it can find its data files inplace in the
18977 build tree.
18978
18979 Dependencies are built or rebuilt as necessary. Additional configura‐
18980 tion flags can be specified on the command line and these extend the
18981 project configuration from the 'cabal.project', 'cabal.project.local'
18982 and other files.
18983
18984
18985 Examples:
18986 cabal v2-run
18987 Run the executable-like in the package in the current directory
18988 cabal v2-run foo-tool
18989 Run the named executable-like (in any package in the project)
18990 cabal v2-run pkgfoo:foo-tool
18991 Run the executable-like 'foo-tool' in the package 'pkgfoo'
18992 cabal v2-run foo -O2 -- dothing --fooflag
18993 Build with '-O2' and run the program, passing it extra arguments.
18994
18995 Note: this command is part of the new project-based system (aka nix-
18996 style local builds). These features are currently in beta. Please see
18997 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
18998 details and advice on what you can expect to work. If you encounter
18999 problems please file issues at https://github.com/haskell/cabal/issues
19000 and if you have any time to get involved and help with testing, fixing
19001 bugs etc then that is very much appreciated.
19002
19003
19004 Flags:
19005 -v, --verbose [n]
19006 Control verbosity (n is 0--3, default verbosity level is
19007 1)
19008
19009 --builddir, --distdir, --distpref DIR
19010 The directory where Cabal puts generated build files (de‐
19011 fault dist)
19012
19013 -g, --ghc
19014 compile with GHC
19015
19016 --ghcjs
19017 compile with GHCJS
19018
19019 --uhc
19020 compile with UHC
19021
19022 --haskell-suite
19023 compile with a haskell-suite compiler
19024
19025 --cabal-file PATH
19026 use this Cabal file
19027
19028 -w, --with-compiler PATH
19029 give the path to a particular compiler
19030
19031 --with-hc-pkg PATH
19032 give the path to the package tool
19033
19034 --prefix DIR
19035 bake this prefix in preparation of installation
19036
19037 --bindir DIR
19038 installation directory for executables
19039
19040 --libdir DIR
19041 installation directory for libraries
19042
19043 --libsubdir DIR
19044 subdirectory of libdir in which libs are installed
19045
19046 --dynlibdir DIR
19047 installation directory for dynamic libraries
19048
19049 --libexecdir DIR
19050 installation directory for program executables
19051
19052 --libexecsubdir DIR
19053 subdirectory of libexecdir in which private executables
19054 are installed
19055
19056 --datadir DIR
19057 installation directory for read-only data
19058
19059 --datasubdir DIR
19060 subdirectory of datadir in which data files are installed
19061
19062 --docdir DIR
19063 installation directory for documentation
19064
19065 --htmldir DIR
19066 installation directory for HTML documentation
19067
19068 --haddockdir DIR
19069 installation directory for haddock interfaces
19070
19071 --sysconfdir DIR
19072 installation directory for configuration files
19073
19074 --program-prefix PREFIX
19075 prefix to be applied to installed executables
19076
19077 --program-suffix SUFFIX
19078 suffix to be applied to installed executables
19079
19080 --enable-library-vanilla
19081 --disable-library-vanilla
19082 Vanilla libraries
19083
19084 -p, --enable-library-profiling
19085 --disable-library-profiling
19086 Library profiling
19087
19088 --enable-shared
19089 --disable-shared
19090 Shared library
19091
19092 --enable-static
19093 --disable-static
19094 Static library
19095
19096 --enable-executable-dynamic
19097 --disable-executable-dynamic
19098 Executable dynamic linking
19099
19100 --enable-executable-static
19101 --disable-executable-static
19102 Executable fully static linking
19103
19104 --enable-profiling
19105 --disable-profiling
19106 Executable and library profiling
19107
19108 --enable-executable-profiling
19109 --disable-executable-profiling
19110 Executable profiling (DEPRECATED)
19111
19112 --profiling-detail level
19113 Profiling detail level for executable and library (de‐
19114 fault, none, exported-functions, toplevel-functions,
19115 all-functions).
19116
19117 --library-profiling-detail level
19118 Profiling detail level for libraries only.
19119
19120 -O, --enable-optimization, --enable-optimisation [n]
19121 Build with optimization (n is 0--2, default is 1)
19122
19123 --disable-optimization, --disable-optimisation
19124 Build without optimization
19125
19126 --enable-debug-info [n]
19127 Emit debug info (n is 0--3, default is 0)
19128
19129 --disable-debug-info
19130 Don't emit debug info
19131
19132 --enable-library-for-ghci
19133 --disable-library-for-ghci
19134 compile library for use with GHCi
19135
19136 --enable-split-sections
19137 --disable-split-sections
19138 compile library code such that unneeded definitions can
19139 be dropped from the final executable (GHC 7.8+)
19140
19141 --enable-split-objs
19142 --disable-split-objs
19143 split library into smaller objects to reduce binary sizes
19144 (GHC 6.6+)
19145
19146 --enable-executable-stripping
19147 --disable-executable-stripping
19148 strip executables upon installation to reduce binary
19149 sizes
19150
19151 --enable-library-stripping
19152 --disable-library-stripping
19153 strip libraries upon installation to reduce binary sizes
19154
19155 --configure-option OPT
19156 Extra option for configure
19157
19158 --user
19159 --global
19160 doing a per-user installation
19161
19162 --package-db DB
19163 Append the given package database to the list of package
19164 databases used (to satisfy dependencies and register
19165 into). May be a specific file, 'global' or 'user'. The
19166 initial list is ['global'], ['global', 'user'], or
19167 ['global', $sandbox], depending on context. Use 'clear'
19168 to reset the list to empty. See the user guide for de‐
19169 tails.
19170
19171 -f, --flags FLAGS
19172 Force values for the given flags in Cabal conditionals in
19173 the .cabal file. E.g., --flags="debug -usebytestrings"
19174 forces the flag "debug" to true and "usebytestrings" to
19175 false.
19176
19177 --extra-include-dirs PATH
19178 A list of directories to search for header files
19179
19180 --enable-deterministic
19181 --disable-deterministic
19182 Try to be as deterministic as possible (used by the test
19183 suite)
19184
19185 --ipid IPID
19186 Installed package ID to compile this package as
19187
19188 --cid CID
19189 Installed component ID to compile this component as
19190
19191 --extra-lib-dirs PATH
19192 A list of directories to search for external libraries
19193
19194 --extra-framework-dirs PATH
19195 A list of directories to search for external frameworks
19196 (OS X only)
19197
19198 --extra-prog-path PATH
19199 A list of directories to search for required programs (in
19200 addition to the normal search locations)
19201
19202 --instantiate-with NAME=MOD
19203 A mapping of signature names to concrete module instanti‐
19204 ations.
19205
19206 --enable-tests
19207 --disable-tests
19208 dependency checking and compilation for test suites
19209 listed in the package description file.
19210
19211 --enable-coverage
19212 --disable-coverage
19213 build package with Haskell Program Coverage. (GHC only)
19214
19215 --enable-library-coverage
19216 --disable-library-coverage
19217 build package with Haskell Program Coverage. (GHC only)
19218 (DEPRECATED)
19219
19220 --enable-benchmarks
19221 --disable-benchmarks
19222 dependency checking and compilation for benchmarks listed
19223 in the package description file.
19224
19225 --enable-relocatable
19226 --disable-relocatable
19227 building a package that is relocatable. (GHC only)
19228
19229 --disable-response-files
19230 enable workaround for old versions of programs like "ar"
19231 that do not support @file arguments
19232
19233 --allow-depending-on-private-libs
19234 Allow depending on private libraries. If set, the library
19235 visibility check MUST be done externally.
19236
19237 --with-alex PATH
19238 give the path to alex
19239
19240 --with-ar PATH
19241 give the path to ar
19242
19243 --with-c2hs PATH
19244 give the path to c2hs
19245
19246 --with-cpphs PATH
19247 give the path to cpphs
19248
19249 --with-doctest PATH
19250 give the path to doctest
19251
19252 --with-gcc PATH
19253 give the path to gcc
19254
19255 --with-ghc PATH
19256 give the path to ghc
19257
19258 --with-ghc-pkg PATH
19259 give the path to ghc-pkg
19260
19261 --with-ghcjs PATH
19262 give the path to ghcjs
19263
19264 --with-ghcjs-pkg PATH
19265 give the path to ghcjs-pkg
19266
19267 --with-greencard PATH
19268 give the path to greencard
19269
19270 --with-haddock PATH
19271 give the path to haddock
19272
19273 --with-happy PATH
19274 give the path to happy
19275
19276 --with-haskell-suite PATH
19277 give the path to haskell-suite
19278
19279 --with-haskell-suite-pkg PATH
19280 give the path to haskell-suite-pkg
19281
19282 --with-hmake PATH
19283 give the path to hmake
19284
19285 --with-hpc PATH
19286 give the path to hpc
19287
19288 --with-hsc2hs PATH
19289 give the path to hsc2hs
19290
19291 --with-hscolour PATH
19292 give the path to hscolour
19293
19294 --with-jhc PATH
19295 give the path to jhc
19296
19297 --with-ld PATH
19298 give the path to ld
19299
19300 --with-pkg-config PATH
19301 give the path to pkg-config
19302
19303 --with-runghc PATH
19304 give the path to runghc
19305
19306 --with-strip PATH
19307 give the path to strip
19308
19309 --with-tar PATH
19310 give the path to tar
19311
19312 --with-uhc PATH
19313 give the path to uhc
19314
19315 --alex-option OPT
19316 give an extra option to alex (no need to quote options
19317 containing spaces)
19318
19319 --ar-option OPT
19320 give an extra option to ar (no need to quote options con‐
19321 taining spaces)
19322
19323 --c2hs-option OPT
19324 give an extra option to c2hs (no need to quote options
19325 containing spaces)
19326
19327 --cpphs-option OPT
19328 give an extra option to cpphs (no need to quote options
19329 containing spaces)
19330
19331 --doctest-option OPT
19332 give an extra option to doctest (no need to quote options
19333 containing spaces)
19334
19335 --gcc-option OPT
19336 give an extra option to gcc (no need to quote options
19337 containing spaces)
19338
19339 --ghc-option OPT
19340 give an extra option to ghc (no need to quote options
19341 containing spaces)
19342
19343 --ghc-pkg-option OPT
19344 give an extra option to ghc-pkg (no need to quote options
19345 containing spaces)
19346
19347 --ghcjs-option OPT
19348 give an extra option to ghcjs (no need to quote options
19349 containing spaces)
19350
19351 --ghcjs-pkg-option OPT
19352 give an extra option to ghcjs-pkg (no need to quote op‐
19353 tions containing spaces)
19354
19355 --greencard-option OPT
19356 give an extra option to greencard (no need to quote op‐
19357 tions containing spaces)
19358
19359 --haddock-option OPT
19360 give an extra option to haddock (no need to quote options
19361 containing spaces)
19362
19363 --happy-option OPT
19364 give an extra option to happy (no need to quote options
19365 containing spaces)
19366
19367 --haskell-suite-option OPT
19368 give an extra option to haskell-suite (no need to quote
19369 options containing spaces)
19370
19371 --haskell-suite-pkg-option OPT
19372 give an extra option to haskell-suite-pkg (no need to
19373 quote options containing spaces)
19374
19375 --hmake-option OPT
19376 give an extra option to hmake (no need to quote options
19377 containing spaces)
19378
19379 --hpc-option OPT
19380 give an extra option to hpc (no need to quote options
19381 containing spaces)
19382
19383 --hsc2hs-option OPT
19384 give an extra option to hsc2hs (no need to quote options
19385 containing spaces)
19386
19387 --hscolour-option OPT
19388 give an extra option to hscolour (no need to quote op‐
19389 tions containing spaces)
19390
19391 --jhc-option OPT
19392 give an extra option to jhc (no need to quote options
19393 containing spaces)
19394
19395 --ld-option OPT
19396 give an extra option to ld (no need to quote options con‐
19397 taining spaces)
19398
19399 --pkg-config-option OPT
19400 give an extra option to pkg-config (no need to quote op‐
19401 tions containing spaces)
19402
19403 --runghc-option OPT
19404 give an extra option to runghc (no need to quote options
19405 containing spaces)
19406
19407 --strip-option OPT
19408 give an extra option to strip (no need to quote options
19409 containing spaces)
19410
19411 --tar-option OPT
19412 give an extra option to tar (no need to quote options
19413 containing spaces)
19414
19415 --uhc-option OPT
19416 give an extra option to uhc (no need to quote options
19417 containing spaces)
19418
19419 --alex-options OPTS
19420 give extra options to alex
19421
19422 --ar-options OPTS
19423 give extra options to ar
19424
19425 --c2hs-options OPTS
19426 give extra options to c2hs
19427
19428 --cpphs-options OPTS
19429 give extra options to cpphs
19430
19431 --doctest-options OPTS
19432 give extra options to doctest
19433
19434 --gcc-options OPTS
19435 give extra options to gcc
19436
19437 --ghc-options OPTS
19438 give extra options to ghc
19439
19440 --ghc-pkg-options OPTS
19441 give extra options to ghc-pkg
19442
19443 --ghcjs-options OPTS
19444 give extra options to ghcjs
19445
19446 --ghcjs-pkg-options OPTS
19447 give extra options to ghcjs-pkg
19448
19449 --greencard-options OPTS
19450 give extra options to greencard
19451
19452 --haddock-options OPTS
19453 give extra options to haddock
19454
19455 --happy-options OPTS
19456 give extra options to happy
19457
19458 --haskell-suite-options OPTS
19459 give extra options to haskell-suite
19460
19461 --haskell-suite-pkg-options OPTS
19462 give extra options to haskell-suite-pkg
19463
19464 --hmake-options OPTS
19465 give extra options to hmake
19466
19467 --hpc-options OPTS
19468 give extra options to hpc
19469
19470 --hsc2hs-options OPTS
19471 give extra options to hsc2hs
19472
19473 --hscolour-options OPTS
19474 give extra options to hscolour
19475
19476 --jhc-options OPTS
19477 give extra options to jhc
19478
19479 --ld-options OPTS
19480 give extra options to ld
19481
19482 --pkg-config-options OPTS
19483 give extra options to pkg-config
19484
19485 --runghc-options OPTS
19486 give extra options to runghc
19487
19488 --strip-options OPTS
19489 give extra options to strip
19490
19491 --tar-options OPTS
19492 give extra options to tar
19493
19494 --uhc-options OPTS
19495 give extra options to uhc
19496
19497 --cabal-lib-version VERSION
19498 Select which version of the Cabal lib to use to build
19499 packages (useful for testing).
19500
19501 --constraint CONSTRAINT
19502 Specify constraints on a package (version, in‐
19503 stalled/source, flags)
19504
19505 --preference CONSTRAINT
19506 Specify preferences (soft constraints) on the version of
19507 a package
19508
19509 --solver SOLVER
19510 Select dependency solver to use (default: modular).
19511 Choices: modular.
19512
19513 --allow-older [DEPS]
19514 Ignore lower bounds in all dependencies or DEPS
19515
19516 --allow-newer [DEPS]
19517 Ignore upper bounds in all dependencies or DEPS
19518
19519 --write-ghc-environment-files always|never|ghc8.4.4+
19520 Whether to create a .ghc.environment file after a suc‐
19521 cessful build (v2-build only)
19522
19523 --enable-documentation
19524 --disable-documentation
19525 building of documentation
19526
19527 --doc-index-file TEMPLATE
19528 A central index of haddock API documentation (template
19529 cannot use $pkgid)
19530
19531 --dry-run
19532 Do not install anything, only print what would be in‐
19533 stalled.
19534
19535 --max-backjumps NUM
19536 Maximum number of backjumps allowed while solving (de‐
19537 fault: 4000). Use a negative number to enable unlimited
19538 backtracking. Use 0 to disable backtracking completely.
19539
19540 --reorder-goals
19541 --no-reorder-goals
19542 Try to reorder goals according to certain heuristics.
19543 Slows things down on average, but may make backtracking
19544 faster for some packages.
19545
19546 --count-conflicts
19547 --no-count-conflicts
19548 Try to speed up solving by preferring goals that are in‐
19549 volved in a lot of conflicts (default).
19550
19551 --fine-grained-conflicts
19552 --no-fine-grained-conflicts
19553 Skip a version of a package if it does not resolve the
19554 conflicts encountered in the last version, as a solver
19555 optimization (default).
19556
19557 --minimize-conflict-set
19558 --no-minimize-conflict-set
19559 When there is no solution, try to improve the error mes‐
19560 sage by finding a minimal conflict set (default: false).
19561 May increase run time significantly.
19562
19563 --independent-goals
19564 --no-independent-goals
19565 Treat several goals on the command line as independent.
19566 If several goals depend on the same package, different
19567 versions can be chosen.
19568
19569 --shadow-installed-packages
19570 --no-shadow-installed-packages
19571 If multiple package instances of the same version are in‐
19572 stalled, treat all but one as shadowed.
19573
19574 --strong-flags
19575 --no-strong-flags
19576 Do not defer flag choices (this used to be the default in
19577 cabal-install <= 1.20).
19578
19579 --allow-boot-library-installs
19580 --no-allow-boot-library-installs
19581 Allow cabal to install base, ghc-prim, integer-simple,
19582 integer-gmp, and template-haskell.
19583
19584 --reject-unconstrained-dependencies none|all
19585 Require these packages to have constraints on them if
19586 they are to be selected (default: none).
19587
19588 --reinstall
19589 --no-reinstall
19590 Install even if it means installing the same version
19591 again.
19592
19593 --avoid-reinstalls
19594 --no-avoid-reinstalls
19595 Do not select versions that would destructively overwrite
19596 installed packages.
19597
19598 --force-reinstalls
19599 --no-force-reinstalls
19600 Reinstall packages even if they will most likely break
19601 other installed packages.
19602
19603 --upgrade-dependencies
19604 --no-upgrade-dependencies
19605 Pick the latest version for all dependencies, rather than
19606 trying to pick an installed version.
19607
19608 --only-dependencies
19609 --no-only-dependencies
19610 Install only the dependencies necessary to build the
19611 given packages
19612
19613 --dependencies-only
19614 --no-dependencies-only
19615 A synonym for --only-dependencies
19616
19617 --index-state STATE
19618 Use source package index state as it existed at a previ‐
19619 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
19620 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
19621 'HEAD' (default: 'HEAD').
19622
19623 --root-cmd COMMAND
19624 (No longer supported, do not use.)
19625
19626 --symlink-bindir DIR
19627 Add symlinks to installed executables into this direc‐
19628 tory.
19629
19630 --build-summary TEMPLATE
19631 Save build summaries to file (name template can use
19632 $pkgid, $compiler, $os, $arch)
19633
19634 --build-log TEMPLATE
19635 Log all builds to file (name template can use $pkgid,
19636 $compiler, $os, $arch)
19637
19638 --remote-build-reporting LEVEL
19639 Generate build reports to send to a remote server (none,
19640 anonymous or detailed).
19641
19642 --report-planning-failure
19643 Generate build reports when the dependency solver fails.
19644 This is used by the Hackage build bot.
19645
19646 --enable-per-component
19647 --disable-per-component
19648 Per-component builds when possible
19649
19650 --one-shot
19651 --no-one-shot
19652 Do not record the packages in the world file.
19653
19654 --run-tests
19655 Run package test suites during installation.
19656
19657 -j, --jobs [NUM]
19658 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
19659 given).
19660
19661 --keep-going
19662 After a build failure, continue to build other unaffected
19663 packages.
19664
19665 --offline
19666 --no-offline
19667 Don't download packages from the Internet.
19668
19669 --project-file FILE
19670 Set the name of the cabal.project file to search for in
19671 parent directories
19672
19673 --only
19674 Only installs the package in the current directory.
19675
19676 --haddock-hoogle
19677 Generate a hoogle database
19678
19679 --haddock-html
19680 Generate HTML documentation (the default)
19681
19682 --haddock-html-location URL
19683 Location of HTML documentation for pre-requisite packages
19684
19685 --haddock-for-hackage
19686 Collection of flags to generate documentation suitable
19687 for upload to hackage
19688
19689 --haddock-executables
19690 Run haddock for Executables targets
19691
19692 --haddock-tests
19693 Run haddock for Test Suite targets
19694
19695 --haddock-benchmarks
19696 Run haddock for Benchmark targets
19697
19698 --haddock-all
19699 Run haddock for all targets
19700
19701 --haddock-internal
19702 Run haddock for internal modules and include all symbols
19703
19704 --haddock-css PATH
19705 Use PATH as the haddock stylesheet
19706
19707 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
19708 dock-hyperlinked-source
19709 Hyperlink the documentation to the source code
19710
19711 --haddock-quickjump
19712 Generate an index for interactive documentation naviga‐
19713 tion
19714
19715 --haddock-hscolour-css PATH
19716 Use PATH as the HsColour stylesheet
19717
19718 --haddock-contents-location URL
19719 Bake URL in as the location for the contents page
19720
19721 --test-log TEMPLATE
19722 Log all test suite results to file (name template can use
19723 $pkgid, $compiler, $os, $arch, $test-suite, $result)
19724
19725 --test-machine-log TEMPLATE
19726 Produce a machine-readable log file (name template can
19727 use $pkgid, $compiler, $os, $arch, $result)
19728
19729 --test-show-details FILTER
19730
19731 --test-keep-tix-files
19732 keep .tix files for HPC between test runs
19733
19734 --test-wrapper FILE
19735 Run test through a wrapper.
19736
19737 --test-fail-when-no-test-suites
19738 Exit with failure when no test suites are found.
19739
19740 --test-options TEMPLATES
19741 give extra options to test executables (name templates
19742 can use $pkgid, $compiler, $os, $arch, $test-suite)
19743
19744 --test-option TEMPLATE
19745 give extra option to test executables (no need to quote
19746 options containing spaces, name template can use $pkgid,
19747 $compiler, $os, $arch, $test-suite)
19748
19749 --benchmark-options TEMPLATES
19750 give extra options to benchmark executables (name tem‐
19751 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
19752
19753 --benchmark-option TEMPLATE
19754 give extra option to benchmark executables (no need to
19755 quote options containing spaces, name template can use
19756 $pkgid, $compiler, $os, $arch, $benchmark)
19757
19758 -z, --ignore-project
19759 Ignore local project configuration
19760
19761
19762 cabal test
19763
19764 Usage: cabal test [TARGETS] [FLAGS]
19765
19766
19767 Runs the specified test-suites, first ensuring they are up to date.
19768
19769 Any test-suite in any package in the project can be specified. A pack‐
19770 age can be specified in which case all the test-suites in the package
19771 are run. The default is to run all the test-suites in the package in
19772 the current directory.
19773
19774 Dependencies are built or rebuilt as necessary. Additional configura‐
19775 tion flags can be specified on the command line and these extend the
19776 project configuration from the 'cabal.project', 'cabal.project.local'
19777 and other files.
19778
19779 To pass command-line arguments to a test suite, see the run command.
19780
19781
19782 Runs the specified test-suites, first ensuring they are up to date.
19783
19784 Any test-suite in any package in the project can be specified. A pack‐
19785 age can be specified in which case all the test-suites in the package
19786 are run. The default is to run all the test-suites in the package in
19787 the current directory.
19788
19789 Dependencies are built or rebuilt as necessary. Additional configura‐
19790 tion flags can be specified on the command line and these extend the
19791 project configuration from the 'cabal.project', 'cabal.project.local'
19792 and other files.
19793
19794 To pass command-line arguments to a test suite, see the run command.
19795
19796
19797 Flags:
19798 -v, --verbose [n]
19799 Control verbosity (n is 0--3, default verbosity level is
19800 1)
19801
19802 --builddir, --distdir, --distpref DIR
19803 The directory where Cabal puts generated build files (de‐
19804 fault dist)
19805
19806 -g, --ghc
19807 compile with GHC
19808
19809 --ghcjs
19810 compile with GHCJS
19811
19812 --uhc
19813 compile with UHC
19814
19815 --haskell-suite
19816 compile with a haskell-suite compiler
19817
19818 --cabal-file PATH
19819 use this Cabal file
19820
19821 -w, --with-compiler PATH
19822 give the path to a particular compiler
19823
19824 --with-hc-pkg PATH
19825 give the path to the package tool
19826
19827 --prefix DIR
19828 bake this prefix in preparation of installation
19829
19830 --bindir DIR
19831 installation directory for executables
19832
19833 --libdir DIR
19834 installation directory for libraries
19835
19836 --libsubdir DIR
19837 subdirectory of libdir in which libs are installed
19838
19839 --dynlibdir DIR
19840 installation directory for dynamic libraries
19841
19842 --libexecdir DIR
19843 installation directory for program executables
19844
19845 --libexecsubdir DIR
19846 subdirectory of libexecdir in which private executables
19847 are installed
19848
19849 --datadir DIR
19850 installation directory for read-only data
19851
19852 --datasubdir DIR
19853 subdirectory of datadir in which data files are installed
19854
19855 --docdir DIR
19856 installation directory for documentation
19857
19858 --htmldir DIR
19859 installation directory for HTML documentation
19860
19861 --haddockdir DIR
19862 installation directory for haddock interfaces
19863
19864 --sysconfdir DIR
19865 installation directory for configuration files
19866
19867 --program-prefix PREFIX
19868 prefix to be applied to installed executables
19869
19870 --program-suffix SUFFIX
19871 suffix to be applied to installed executables
19872
19873 --enable-library-vanilla
19874 --disable-library-vanilla
19875 Vanilla libraries
19876
19877 -p, --enable-library-profiling
19878 --disable-library-profiling
19879 Library profiling
19880
19881 --enable-shared
19882 --disable-shared
19883 Shared library
19884
19885 --enable-static
19886 --disable-static
19887 Static library
19888
19889 --enable-executable-dynamic
19890 --disable-executable-dynamic
19891 Executable dynamic linking
19892
19893 --enable-executable-static
19894 --disable-executable-static
19895 Executable fully static linking
19896
19897 --enable-profiling
19898 --disable-profiling
19899 Executable and library profiling
19900
19901 --enable-executable-profiling
19902 --disable-executable-profiling
19903 Executable profiling (DEPRECATED)
19904
19905 --profiling-detail level
19906 Profiling detail level for executable and library (de‐
19907 fault, none, exported-functions, toplevel-functions,
19908 all-functions).
19909
19910 --library-profiling-detail level
19911 Profiling detail level for libraries only.
19912
19913 -O, --enable-optimization, --enable-optimisation [n]
19914 Build with optimization (n is 0--2, default is 1)
19915
19916 --disable-optimization, --disable-optimisation
19917 Build without optimization
19918
19919 --enable-debug-info [n]
19920 Emit debug info (n is 0--3, default is 0)
19921
19922 --disable-debug-info
19923 Don't emit debug info
19924
19925 --enable-library-for-ghci
19926 --disable-library-for-ghci
19927 compile library for use with GHCi
19928
19929 --enable-split-sections
19930 --disable-split-sections
19931 compile library code such that unneeded definitions can
19932 be dropped from the final executable (GHC 7.8+)
19933
19934 --enable-split-objs
19935 --disable-split-objs
19936 split library into smaller objects to reduce binary sizes
19937 (GHC 6.6+)
19938
19939 --enable-executable-stripping
19940 --disable-executable-stripping
19941 strip executables upon installation to reduce binary
19942 sizes
19943
19944 --enable-library-stripping
19945 --disable-library-stripping
19946 strip libraries upon installation to reduce binary sizes
19947
19948 --configure-option OPT
19949 Extra option for configure
19950
19951 --user
19952 --global
19953 doing a per-user installation
19954
19955 --package-db DB
19956 Append the given package database to the list of package
19957 databases used (to satisfy dependencies and register
19958 into). May be a specific file, 'global' or 'user'. The
19959 initial list is ['global'], ['global', 'user'], or
19960 ['global', $sandbox], depending on context. Use 'clear'
19961 to reset the list to empty. See the user guide for de‐
19962 tails.
19963
19964 -f, --flags FLAGS
19965 Force values for the given flags in Cabal conditionals in
19966 the .cabal file. E.g., --flags="debug -usebytestrings"
19967 forces the flag "debug" to true and "usebytestrings" to
19968 false.
19969
19970 --extra-include-dirs PATH
19971 A list of directories to search for header files
19972
19973 --enable-deterministic
19974 --disable-deterministic
19975 Try to be as deterministic as possible (used by the test
19976 suite)
19977
19978 --ipid IPID
19979 Installed package ID to compile this package as
19980
19981 --cid CID
19982 Installed component ID to compile this component as
19983
19984 --extra-lib-dirs PATH
19985 A list of directories to search for external libraries
19986
19987 --extra-framework-dirs PATH
19988 A list of directories to search for external frameworks
19989 (OS X only)
19990
19991 --extra-prog-path PATH
19992 A list of directories to search for required programs (in
19993 addition to the normal search locations)
19994
19995 --instantiate-with NAME=MOD
19996 A mapping of signature names to concrete module instanti‐
19997 ations.
19998
19999 --enable-tests
20000 --disable-tests
20001 dependency checking and compilation for test suites
20002 listed in the package description file.
20003
20004 --enable-coverage
20005 --disable-coverage
20006 build package with Haskell Program Coverage. (GHC only)
20007
20008 --enable-library-coverage
20009 --disable-library-coverage
20010 build package with Haskell Program Coverage. (GHC only)
20011 (DEPRECATED)
20012
20013 --enable-benchmarks
20014 --disable-benchmarks
20015 dependency checking and compilation for benchmarks listed
20016 in the package description file.
20017
20018 --enable-relocatable
20019 --disable-relocatable
20020 building a package that is relocatable. (GHC only)
20021
20022 --disable-response-files
20023 enable workaround for old versions of programs like "ar"
20024 that do not support @file arguments
20025
20026 --allow-depending-on-private-libs
20027 Allow depending on private libraries. If set, the library
20028 visibility check MUST be done externally.
20029
20030 --with-alex PATH
20031 give the path to alex
20032
20033 --with-ar PATH
20034 give the path to ar
20035
20036 --with-c2hs PATH
20037 give the path to c2hs
20038
20039 --with-cpphs PATH
20040 give the path to cpphs
20041
20042 --with-doctest PATH
20043 give the path to doctest
20044
20045 --with-gcc PATH
20046 give the path to gcc
20047
20048 --with-ghc PATH
20049 give the path to ghc
20050
20051 --with-ghc-pkg PATH
20052 give the path to ghc-pkg
20053
20054 --with-ghcjs PATH
20055 give the path to ghcjs
20056
20057 --with-ghcjs-pkg PATH
20058 give the path to ghcjs-pkg
20059
20060 --with-greencard PATH
20061 give the path to greencard
20062
20063 --with-haddock PATH
20064 give the path to haddock
20065
20066 --with-happy PATH
20067 give the path to happy
20068
20069 --with-haskell-suite PATH
20070 give the path to haskell-suite
20071
20072 --with-haskell-suite-pkg PATH
20073 give the path to haskell-suite-pkg
20074
20075 --with-hmake PATH
20076 give the path to hmake
20077
20078 --with-hpc PATH
20079 give the path to hpc
20080
20081 --with-hsc2hs PATH
20082 give the path to hsc2hs
20083
20084 --with-hscolour PATH
20085 give the path to hscolour
20086
20087 --with-jhc PATH
20088 give the path to jhc
20089
20090 --with-ld PATH
20091 give the path to ld
20092
20093 --with-pkg-config PATH
20094 give the path to pkg-config
20095
20096 --with-runghc PATH
20097 give the path to runghc
20098
20099 --with-strip PATH
20100 give the path to strip
20101
20102 --with-tar PATH
20103 give the path to tar
20104
20105 --with-uhc PATH
20106 give the path to uhc
20107
20108 --alex-option OPT
20109 give an extra option to alex (no need to quote options
20110 containing spaces)
20111
20112 --ar-option OPT
20113 give an extra option to ar (no need to quote options con‐
20114 taining spaces)
20115
20116 --c2hs-option OPT
20117 give an extra option to c2hs (no need to quote options
20118 containing spaces)
20119
20120 --cpphs-option OPT
20121 give an extra option to cpphs (no need to quote options
20122 containing spaces)
20123
20124 --doctest-option OPT
20125 give an extra option to doctest (no need to quote options
20126 containing spaces)
20127
20128 --gcc-option OPT
20129 give an extra option to gcc (no need to quote options
20130 containing spaces)
20131
20132 --ghc-option OPT
20133 give an extra option to ghc (no need to quote options
20134 containing spaces)
20135
20136 --ghc-pkg-option OPT
20137 give an extra option to ghc-pkg (no need to quote options
20138 containing spaces)
20139
20140 --ghcjs-option OPT
20141 give an extra option to ghcjs (no need to quote options
20142 containing spaces)
20143
20144 --ghcjs-pkg-option OPT
20145 give an extra option to ghcjs-pkg (no need to quote op‐
20146 tions containing spaces)
20147
20148 --greencard-option OPT
20149 give an extra option to greencard (no need to quote op‐
20150 tions containing spaces)
20151
20152 --haddock-option OPT
20153 give an extra option to haddock (no need to quote options
20154 containing spaces)
20155
20156 --happy-option OPT
20157 give an extra option to happy (no need to quote options
20158 containing spaces)
20159
20160 --haskell-suite-option OPT
20161 give an extra option to haskell-suite (no need to quote
20162 options containing spaces)
20163
20164 --haskell-suite-pkg-option OPT
20165 give an extra option to haskell-suite-pkg (no need to
20166 quote options containing spaces)
20167
20168 --hmake-option OPT
20169 give an extra option to hmake (no need to quote options
20170 containing spaces)
20171
20172 --hpc-option OPT
20173 give an extra option to hpc (no need to quote options
20174 containing spaces)
20175
20176 --hsc2hs-option OPT
20177 give an extra option to hsc2hs (no need to quote options
20178 containing spaces)
20179
20180 --hscolour-option OPT
20181 give an extra option to hscolour (no need to quote op‐
20182 tions containing spaces)
20183
20184 --jhc-option OPT
20185 give an extra option to jhc (no need to quote options
20186 containing spaces)
20187
20188 --ld-option OPT
20189 give an extra option to ld (no need to quote options con‐
20190 taining spaces)
20191
20192 --pkg-config-option OPT
20193 give an extra option to pkg-config (no need to quote op‐
20194 tions containing spaces)
20195
20196 --runghc-option OPT
20197 give an extra option to runghc (no need to quote options
20198 containing spaces)
20199
20200 --strip-option OPT
20201 give an extra option to strip (no need to quote options
20202 containing spaces)
20203
20204 --tar-option OPT
20205 give an extra option to tar (no need to quote options
20206 containing spaces)
20207
20208 --uhc-option OPT
20209 give an extra option to uhc (no need to quote options
20210 containing spaces)
20211
20212 --alex-options OPTS
20213 give extra options to alex
20214
20215 --ar-options OPTS
20216 give extra options to ar
20217
20218 --c2hs-options OPTS
20219 give extra options to c2hs
20220
20221 --cpphs-options OPTS
20222 give extra options to cpphs
20223
20224 --doctest-options OPTS
20225 give extra options to doctest
20226
20227 --gcc-options OPTS
20228 give extra options to gcc
20229
20230 --ghc-options OPTS
20231 give extra options to ghc
20232
20233 --ghc-pkg-options OPTS
20234 give extra options to ghc-pkg
20235
20236 --ghcjs-options OPTS
20237 give extra options to ghcjs
20238
20239 --ghcjs-pkg-options OPTS
20240 give extra options to ghcjs-pkg
20241
20242 --greencard-options OPTS
20243 give extra options to greencard
20244
20245 --haddock-options OPTS
20246 give extra options to haddock
20247
20248 --happy-options OPTS
20249 give extra options to happy
20250
20251 --haskell-suite-options OPTS
20252 give extra options to haskell-suite
20253
20254 --haskell-suite-pkg-options OPTS
20255 give extra options to haskell-suite-pkg
20256
20257 --hmake-options OPTS
20258 give extra options to hmake
20259
20260 --hpc-options OPTS
20261 give extra options to hpc
20262
20263 --hsc2hs-options OPTS
20264 give extra options to hsc2hs
20265
20266 --hscolour-options OPTS
20267 give extra options to hscolour
20268
20269 --jhc-options OPTS
20270 give extra options to jhc
20271
20272 --ld-options OPTS
20273 give extra options to ld
20274
20275 --pkg-config-options OPTS
20276 give extra options to pkg-config
20277
20278 --runghc-options OPTS
20279 give extra options to runghc
20280
20281 --strip-options OPTS
20282 give extra options to strip
20283
20284 --tar-options OPTS
20285 give extra options to tar
20286
20287 --uhc-options OPTS
20288 give extra options to uhc
20289
20290 --cabal-lib-version VERSION
20291 Select which version of the Cabal lib to use to build
20292 packages (useful for testing).
20293
20294 --constraint CONSTRAINT
20295 Specify constraints on a package (version, in‐
20296 stalled/source, flags)
20297
20298 --preference CONSTRAINT
20299 Specify preferences (soft constraints) on the version of
20300 a package
20301
20302 --solver SOLVER
20303 Select dependency solver to use (default: modular).
20304 Choices: modular.
20305
20306 --allow-older [DEPS]
20307 Ignore lower bounds in all dependencies or DEPS
20308
20309 --allow-newer [DEPS]
20310 Ignore upper bounds in all dependencies or DEPS
20311
20312 --write-ghc-environment-files always|never|ghc8.4.4+
20313 Whether to create a .ghc.environment file after a suc‐
20314 cessful build (v2-build only)
20315
20316 --enable-documentation
20317 --disable-documentation
20318 building of documentation
20319
20320 --doc-index-file TEMPLATE
20321 A central index of haddock API documentation (template
20322 cannot use $pkgid)
20323
20324 --dry-run
20325 Do not install anything, only print what would be in‐
20326 stalled.
20327
20328 --max-backjumps NUM
20329 Maximum number of backjumps allowed while solving (de‐
20330 fault: 4000). Use a negative number to enable unlimited
20331 backtracking. Use 0 to disable backtracking completely.
20332
20333 --reorder-goals
20334 --no-reorder-goals
20335 Try to reorder goals according to certain heuristics.
20336 Slows things down on average, but may make backtracking
20337 faster for some packages.
20338
20339 --count-conflicts
20340 --no-count-conflicts
20341 Try to speed up solving by preferring goals that are in‐
20342 volved in a lot of conflicts (default).
20343
20344 --fine-grained-conflicts
20345 --no-fine-grained-conflicts
20346 Skip a version of a package if it does not resolve the
20347 conflicts encountered in the last version, as a solver
20348 optimization (default).
20349
20350 --minimize-conflict-set
20351 --no-minimize-conflict-set
20352 When there is no solution, try to improve the error mes‐
20353 sage by finding a minimal conflict set (default: false).
20354 May increase run time significantly.
20355
20356 --independent-goals
20357 --no-independent-goals
20358 Treat several goals on the command line as independent.
20359 If several goals depend on the same package, different
20360 versions can be chosen.
20361
20362 --shadow-installed-packages
20363 --no-shadow-installed-packages
20364 If multiple package instances of the same version are in‐
20365 stalled, treat all but one as shadowed.
20366
20367 --strong-flags
20368 --no-strong-flags
20369 Do not defer flag choices (this used to be the default in
20370 cabal-install <= 1.20).
20371
20372 --allow-boot-library-installs
20373 --no-allow-boot-library-installs
20374 Allow cabal to install base, ghc-prim, integer-simple,
20375 integer-gmp, and template-haskell.
20376
20377 --reject-unconstrained-dependencies none|all
20378 Require these packages to have constraints on them if
20379 they are to be selected (default: none).
20380
20381 --reinstall
20382 --no-reinstall
20383 Install even if it means installing the same version
20384 again.
20385
20386 --avoid-reinstalls
20387 --no-avoid-reinstalls
20388 Do not select versions that would destructively overwrite
20389 installed packages.
20390
20391 --force-reinstalls
20392 --no-force-reinstalls
20393 Reinstall packages even if they will most likely break
20394 other installed packages.
20395
20396 --upgrade-dependencies
20397 --no-upgrade-dependencies
20398 Pick the latest version for all dependencies, rather than
20399 trying to pick an installed version.
20400
20401 --only-dependencies
20402 --no-only-dependencies
20403 Install only the dependencies necessary to build the
20404 given packages
20405
20406 --dependencies-only
20407 --no-dependencies-only
20408 A synonym for --only-dependencies
20409
20410 --index-state STATE
20411 Use source package index state as it existed at a previ‐
20412 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
20413 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
20414 'HEAD' (default: 'HEAD').
20415
20416 --root-cmd COMMAND
20417 (No longer supported, do not use.)
20418
20419 --symlink-bindir DIR
20420 Add symlinks to installed executables into this direc‐
20421 tory.
20422
20423 --build-summary TEMPLATE
20424 Save build summaries to file (name template can use
20425 $pkgid, $compiler, $os, $arch)
20426
20427 --build-log TEMPLATE
20428 Log all builds to file (name template can use $pkgid,
20429 $compiler, $os, $arch)
20430
20431 --remote-build-reporting LEVEL
20432 Generate build reports to send to a remote server (none,
20433 anonymous or detailed).
20434
20435 --report-planning-failure
20436 Generate build reports when the dependency solver fails.
20437 This is used by the Hackage build bot.
20438
20439 --enable-per-component
20440 --disable-per-component
20441 Per-component builds when possible
20442
20443 --one-shot
20444 --no-one-shot
20445 Do not record the packages in the world file.
20446
20447 --run-tests
20448 Run package test suites during installation.
20449
20450 -j, --jobs [NUM]
20451 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
20452 given).
20453
20454 --keep-going
20455 After a build failure, continue to build other unaffected
20456 packages.
20457
20458 --offline
20459 --no-offline
20460 Don't download packages from the Internet.
20461
20462 --project-file FILE
20463 Set the name of the cabal.project file to search for in
20464 parent directories
20465
20466 --only
20467 Only installs the package in the current directory.
20468
20469 --haddock-hoogle
20470 Generate a hoogle database
20471
20472 --haddock-html
20473 Generate HTML documentation (the default)
20474
20475 --haddock-html-location URL
20476 Location of HTML documentation for pre-requisite packages
20477
20478 --haddock-for-hackage
20479 Collection of flags to generate documentation suitable
20480 for upload to hackage
20481
20482 --haddock-executables
20483 Run haddock for Executables targets
20484
20485 --haddock-tests
20486 Run haddock for Test Suite targets
20487
20488 --haddock-benchmarks
20489 Run haddock for Benchmark targets
20490
20491 --haddock-all
20492 Run haddock for all targets
20493
20494 --haddock-internal
20495 Run haddock for internal modules and include all symbols
20496
20497 --haddock-css PATH
20498 Use PATH as the haddock stylesheet
20499
20500 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
20501 dock-hyperlinked-source
20502 Hyperlink the documentation to the source code
20503
20504 --haddock-quickjump
20505 Generate an index for interactive documentation naviga‐
20506 tion
20507
20508 --haddock-hscolour-css PATH
20509 Use PATH as the HsColour stylesheet
20510
20511 --haddock-contents-location URL
20512 Bake URL in as the location for the contents page
20513
20514 --test-log TEMPLATE
20515 Log all test suite results to file (name template can use
20516 $pkgid, $compiler, $os, $arch, $test-suite, $result)
20517
20518 --test-machine-log TEMPLATE
20519 Produce a machine-readable log file (name template can
20520 use $pkgid, $compiler, $os, $arch, $result)
20521
20522 --test-show-details FILTER
20523
20524 --test-keep-tix-files
20525 keep .tix files for HPC between test runs
20526
20527 --test-wrapper FILE
20528 Run test through a wrapper.
20529
20530 --test-fail-when-no-test-suites
20531 Exit with failure when no test suites are found.
20532
20533 --test-options TEMPLATES
20534 give extra options to test executables (name templates
20535 can use $pkgid, $compiler, $os, $arch, $test-suite)
20536
20537 --test-option TEMPLATE
20538 give extra option to test executables (no need to quote
20539 options containing spaces, name template can use $pkgid,
20540 $compiler, $os, $arch, $test-suite)
20541
20542 --benchmark-options TEMPLATES
20543 give extra options to benchmark executables (name tem‐
20544 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
20545
20546 --benchmark-option TEMPLATE
20547 give extra option to benchmark executables (no need to
20548 quote options containing spaces, name template can use
20549 $pkgid, $compiler, $os, $arch, $benchmark)
20550
20551
20552 cabal new-test
20553
20554 Usage: cabal new-test [TARGETS] [FLAGS]
20555
20556
20557 Runs the specified test-suites, first ensuring they are up to date.
20558
20559 Any test-suite in any package in the project can be specified. A pack‐
20560 age can be specified in which case all the test-suites in the package
20561 are run. The default is to run all the test-suites in the package in
20562 the current directory.
20563
20564 Dependencies are built or rebuilt as necessary. Additional configura‐
20565 tion flags can be specified on the command line and these extend the
20566 project configuration from the 'cabal.project', 'cabal.project.local'
20567 and other files.
20568
20569 To pass command-line arguments to a test suite, see the new-run com‐
20570 mand.
20571
20572
20573 Runs the specified test-suites, first ensuring they are up to date.
20574
20575 Any test-suite in any package in the project can be specified. A pack‐
20576 age can be specified in which case all the test-suites in the package
20577 are run. The default is to run all the test-suites in the package in
20578 the current directory.
20579
20580 Dependencies are built or rebuilt as necessary. Additional configura‐
20581 tion flags can be specified on the command line and these extend the
20582 project configuration from the 'cabal.project', 'cabal.project.local'
20583 and other files.
20584
20585 To pass command-line arguments to a test suite, see the new-run com‐
20586 mand.
20587
20588
20589 Flags:
20590 -v, --verbose [n]
20591 Control verbosity (n is 0--3, default verbosity level is
20592 1)
20593
20594 --builddir, --distdir, --distpref DIR
20595 The directory where Cabal puts generated build files (de‐
20596 fault dist)
20597
20598 -g, --ghc
20599 compile with GHC
20600
20601 --ghcjs
20602 compile with GHCJS
20603
20604 --uhc
20605 compile with UHC
20606
20607 --haskell-suite
20608 compile with a haskell-suite compiler
20609
20610 --cabal-file PATH
20611 use this Cabal file
20612
20613 -w, --with-compiler PATH
20614 give the path to a particular compiler
20615
20616 --with-hc-pkg PATH
20617 give the path to the package tool
20618
20619 --prefix DIR
20620 bake this prefix in preparation of installation
20621
20622 --bindir DIR
20623 installation directory for executables
20624
20625 --libdir DIR
20626 installation directory for libraries
20627
20628 --libsubdir DIR
20629 subdirectory of libdir in which libs are installed
20630
20631 --dynlibdir DIR
20632 installation directory for dynamic libraries
20633
20634 --libexecdir DIR
20635 installation directory for program executables
20636
20637 --libexecsubdir DIR
20638 subdirectory of libexecdir in which private executables
20639 are installed
20640
20641 --datadir DIR
20642 installation directory for read-only data
20643
20644 --datasubdir DIR
20645 subdirectory of datadir in which data files are installed
20646
20647 --docdir DIR
20648 installation directory for documentation
20649
20650 --htmldir DIR
20651 installation directory for HTML documentation
20652
20653 --haddockdir DIR
20654 installation directory for haddock interfaces
20655
20656 --sysconfdir DIR
20657 installation directory for configuration files
20658
20659 --program-prefix PREFIX
20660 prefix to be applied to installed executables
20661
20662 --program-suffix SUFFIX
20663 suffix to be applied to installed executables
20664
20665 --enable-library-vanilla
20666 --disable-library-vanilla
20667 Vanilla libraries
20668
20669 -p, --enable-library-profiling
20670 --disable-library-profiling
20671 Library profiling
20672
20673 --enable-shared
20674 --disable-shared
20675 Shared library
20676
20677 --enable-static
20678 --disable-static
20679 Static library
20680
20681 --enable-executable-dynamic
20682 --disable-executable-dynamic
20683 Executable dynamic linking
20684
20685 --enable-executable-static
20686 --disable-executable-static
20687 Executable fully static linking
20688
20689 --enable-profiling
20690 --disable-profiling
20691 Executable and library profiling
20692
20693 --enable-executable-profiling
20694 --disable-executable-profiling
20695 Executable profiling (DEPRECATED)
20696
20697 --profiling-detail level
20698 Profiling detail level for executable and library (de‐
20699 fault, none, exported-functions, toplevel-functions,
20700 all-functions).
20701
20702 --library-profiling-detail level
20703 Profiling detail level for libraries only.
20704
20705 -O, --enable-optimization, --enable-optimisation [n]
20706 Build with optimization (n is 0--2, default is 1)
20707
20708 --disable-optimization, --disable-optimisation
20709 Build without optimization
20710
20711 --enable-debug-info [n]
20712 Emit debug info (n is 0--3, default is 0)
20713
20714 --disable-debug-info
20715 Don't emit debug info
20716
20717 --enable-library-for-ghci
20718 --disable-library-for-ghci
20719 compile library for use with GHCi
20720
20721 --enable-split-sections
20722 --disable-split-sections
20723 compile library code such that unneeded definitions can
20724 be dropped from the final executable (GHC 7.8+)
20725
20726 --enable-split-objs
20727 --disable-split-objs
20728 split library into smaller objects to reduce binary sizes
20729 (GHC 6.6+)
20730
20731 --enable-executable-stripping
20732 --disable-executable-stripping
20733 strip executables upon installation to reduce binary
20734 sizes
20735
20736 --enable-library-stripping
20737 --disable-library-stripping
20738 strip libraries upon installation to reduce binary sizes
20739
20740 --configure-option OPT
20741 Extra option for configure
20742
20743 --user
20744 --global
20745 doing a per-user installation
20746
20747 --package-db DB
20748 Append the given package database to the list of package
20749 databases used (to satisfy dependencies and register
20750 into). May be a specific file, 'global' or 'user'. The
20751 initial list is ['global'], ['global', 'user'], or
20752 ['global', $sandbox], depending on context. Use 'clear'
20753 to reset the list to empty. See the user guide for de‐
20754 tails.
20755
20756 -f, --flags FLAGS
20757 Force values for the given flags in Cabal conditionals in
20758 the .cabal file. E.g., --flags="debug -usebytestrings"
20759 forces the flag "debug" to true and "usebytestrings" to
20760 false.
20761
20762 --extra-include-dirs PATH
20763 A list of directories to search for header files
20764
20765 --enable-deterministic
20766 --disable-deterministic
20767 Try to be as deterministic as possible (used by the test
20768 suite)
20769
20770 --ipid IPID
20771 Installed package ID to compile this package as
20772
20773 --cid CID
20774 Installed component ID to compile this component as
20775
20776 --extra-lib-dirs PATH
20777 A list of directories to search for external libraries
20778
20779 --extra-framework-dirs PATH
20780 A list of directories to search for external frameworks
20781 (OS X only)
20782
20783 --extra-prog-path PATH
20784 A list of directories to search for required programs (in
20785 addition to the normal search locations)
20786
20787 --instantiate-with NAME=MOD
20788 A mapping of signature names to concrete module instanti‐
20789 ations.
20790
20791 --enable-tests
20792 --disable-tests
20793 dependency checking and compilation for test suites
20794 listed in the package description file.
20795
20796 --enable-coverage
20797 --disable-coverage
20798 build package with Haskell Program Coverage. (GHC only)
20799
20800 --enable-library-coverage
20801 --disable-library-coverage
20802 build package with Haskell Program Coverage. (GHC only)
20803 (DEPRECATED)
20804
20805 --enable-benchmarks
20806 --disable-benchmarks
20807 dependency checking and compilation for benchmarks listed
20808 in the package description file.
20809
20810 --enable-relocatable
20811 --disable-relocatable
20812 building a package that is relocatable. (GHC only)
20813
20814 --disable-response-files
20815 enable workaround for old versions of programs like "ar"
20816 that do not support @file arguments
20817
20818 --allow-depending-on-private-libs
20819 Allow depending on private libraries. If set, the library
20820 visibility check MUST be done externally.
20821
20822 --with-alex PATH
20823 give the path to alex
20824
20825 --with-ar PATH
20826 give the path to ar
20827
20828 --with-c2hs PATH
20829 give the path to c2hs
20830
20831 --with-cpphs PATH
20832 give the path to cpphs
20833
20834 --with-doctest PATH
20835 give the path to doctest
20836
20837 --with-gcc PATH
20838 give the path to gcc
20839
20840 --with-ghc PATH
20841 give the path to ghc
20842
20843 --with-ghc-pkg PATH
20844 give the path to ghc-pkg
20845
20846 --with-ghcjs PATH
20847 give the path to ghcjs
20848
20849 --with-ghcjs-pkg PATH
20850 give the path to ghcjs-pkg
20851
20852 --with-greencard PATH
20853 give the path to greencard
20854
20855 --with-haddock PATH
20856 give the path to haddock
20857
20858 --with-happy PATH
20859 give the path to happy
20860
20861 --with-haskell-suite PATH
20862 give the path to haskell-suite
20863
20864 --with-haskell-suite-pkg PATH
20865 give the path to haskell-suite-pkg
20866
20867 --with-hmake PATH
20868 give the path to hmake
20869
20870 --with-hpc PATH
20871 give the path to hpc
20872
20873 --with-hsc2hs PATH
20874 give the path to hsc2hs
20875
20876 --with-hscolour PATH
20877 give the path to hscolour
20878
20879 --with-jhc PATH
20880 give the path to jhc
20881
20882 --with-ld PATH
20883 give the path to ld
20884
20885 --with-pkg-config PATH
20886 give the path to pkg-config
20887
20888 --with-runghc PATH
20889 give the path to runghc
20890
20891 --with-strip PATH
20892 give the path to strip
20893
20894 --with-tar PATH
20895 give the path to tar
20896
20897 --with-uhc PATH
20898 give the path to uhc
20899
20900 --alex-option OPT
20901 give an extra option to alex (no need to quote options
20902 containing spaces)
20903
20904 --ar-option OPT
20905 give an extra option to ar (no need to quote options con‐
20906 taining spaces)
20907
20908 --c2hs-option OPT
20909 give an extra option to c2hs (no need to quote options
20910 containing spaces)
20911
20912 --cpphs-option OPT
20913 give an extra option to cpphs (no need to quote options
20914 containing spaces)
20915
20916 --doctest-option OPT
20917 give an extra option to doctest (no need to quote options
20918 containing spaces)
20919
20920 --gcc-option OPT
20921 give an extra option to gcc (no need to quote options
20922 containing spaces)
20923
20924 --ghc-option OPT
20925 give an extra option to ghc (no need to quote options
20926 containing spaces)
20927
20928 --ghc-pkg-option OPT
20929 give an extra option to ghc-pkg (no need to quote options
20930 containing spaces)
20931
20932 --ghcjs-option OPT
20933 give an extra option to ghcjs (no need to quote options
20934 containing spaces)
20935
20936 --ghcjs-pkg-option OPT
20937 give an extra option to ghcjs-pkg (no need to quote op‐
20938 tions containing spaces)
20939
20940 --greencard-option OPT
20941 give an extra option to greencard (no need to quote op‐
20942 tions containing spaces)
20943
20944 --haddock-option OPT
20945 give an extra option to haddock (no need to quote options
20946 containing spaces)
20947
20948 --happy-option OPT
20949 give an extra option to happy (no need to quote options
20950 containing spaces)
20951
20952 --haskell-suite-option OPT
20953 give an extra option to haskell-suite (no need to quote
20954 options containing spaces)
20955
20956 --haskell-suite-pkg-option OPT
20957 give an extra option to haskell-suite-pkg (no need to
20958 quote options containing spaces)
20959
20960 --hmake-option OPT
20961 give an extra option to hmake (no need to quote options
20962 containing spaces)
20963
20964 --hpc-option OPT
20965 give an extra option to hpc (no need to quote options
20966 containing spaces)
20967
20968 --hsc2hs-option OPT
20969 give an extra option to hsc2hs (no need to quote options
20970 containing spaces)
20971
20972 --hscolour-option OPT
20973 give an extra option to hscolour (no need to quote op‐
20974 tions containing spaces)
20975
20976 --jhc-option OPT
20977 give an extra option to jhc (no need to quote options
20978 containing spaces)
20979
20980 --ld-option OPT
20981 give an extra option to ld (no need to quote options con‐
20982 taining spaces)
20983
20984 --pkg-config-option OPT
20985 give an extra option to pkg-config (no need to quote op‐
20986 tions containing spaces)
20987
20988 --runghc-option OPT
20989 give an extra option to runghc (no need to quote options
20990 containing spaces)
20991
20992 --strip-option OPT
20993 give an extra option to strip (no need to quote options
20994 containing spaces)
20995
20996 --tar-option OPT
20997 give an extra option to tar (no need to quote options
20998 containing spaces)
20999
21000 --uhc-option OPT
21001 give an extra option to uhc (no need to quote options
21002 containing spaces)
21003
21004 --alex-options OPTS
21005 give extra options to alex
21006
21007 --ar-options OPTS
21008 give extra options to ar
21009
21010 --c2hs-options OPTS
21011 give extra options to c2hs
21012
21013 --cpphs-options OPTS
21014 give extra options to cpphs
21015
21016 --doctest-options OPTS
21017 give extra options to doctest
21018
21019 --gcc-options OPTS
21020 give extra options to gcc
21021
21022 --ghc-options OPTS
21023 give extra options to ghc
21024
21025 --ghc-pkg-options OPTS
21026 give extra options to ghc-pkg
21027
21028 --ghcjs-options OPTS
21029 give extra options to ghcjs
21030
21031 --ghcjs-pkg-options OPTS
21032 give extra options to ghcjs-pkg
21033
21034 --greencard-options OPTS
21035 give extra options to greencard
21036
21037 --haddock-options OPTS
21038 give extra options to haddock
21039
21040 --happy-options OPTS
21041 give extra options to happy
21042
21043 --haskell-suite-options OPTS
21044 give extra options to haskell-suite
21045
21046 --haskell-suite-pkg-options OPTS
21047 give extra options to haskell-suite-pkg
21048
21049 --hmake-options OPTS
21050 give extra options to hmake
21051
21052 --hpc-options OPTS
21053 give extra options to hpc
21054
21055 --hsc2hs-options OPTS
21056 give extra options to hsc2hs
21057
21058 --hscolour-options OPTS
21059 give extra options to hscolour
21060
21061 --jhc-options OPTS
21062 give extra options to jhc
21063
21064 --ld-options OPTS
21065 give extra options to ld
21066
21067 --pkg-config-options OPTS
21068 give extra options to pkg-config
21069
21070 --runghc-options OPTS
21071 give extra options to runghc
21072
21073 --strip-options OPTS
21074 give extra options to strip
21075
21076 --tar-options OPTS
21077 give extra options to tar
21078
21079 --uhc-options OPTS
21080 give extra options to uhc
21081
21082 --cabal-lib-version VERSION
21083 Select which version of the Cabal lib to use to build
21084 packages (useful for testing).
21085
21086 --constraint CONSTRAINT
21087 Specify constraints on a package (version, in‐
21088 stalled/source, flags)
21089
21090 --preference CONSTRAINT
21091 Specify preferences (soft constraints) on the version of
21092 a package
21093
21094 --solver SOLVER
21095 Select dependency solver to use (default: modular).
21096 Choices: modular.
21097
21098 --allow-older [DEPS]
21099 Ignore lower bounds in all dependencies or DEPS
21100
21101 --allow-newer [DEPS]
21102 Ignore upper bounds in all dependencies or DEPS
21103
21104 --write-ghc-environment-files always|never|ghc8.4.4+
21105 Whether to create a .ghc.environment file after a suc‐
21106 cessful build (v2-build only)
21107
21108 --enable-documentation
21109 --disable-documentation
21110 building of documentation
21111
21112 --doc-index-file TEMPLATE
21113 A central index of haddock API documentation (template
21114 cannot use $pkgid)
21115
21116 --dry-run
21117 Do not install anything, only print what would be in‐
21118 stalled.
21119
21120 --max-backjumps NUM
21121 Maximum number of backjumps allowed while solving (de‐
21122 fault: 4000). Use a negative number to enable unlimited
21123 backtracking. Use 0 to disable backtracking completely.
21124
21125 --reorder-goals
21126 --no-reorder-goals
21127 Try to reorder goals according to certain heuristics.
21128 Slows things down on average, but may make backtracking
21129 faster for some packages.
21130
21131 --count-conflicts
21132 --no-count-conflicts
21133 Try to speed up solving by preferring goals that are in‐
21134 volved in a lot of conflicts (default).
21135
21136 --fine-grained-conflicts
21137 --no-fine-grained-conflicts
21138 Skip a version of a package if it does not resolve the
21139 conflicts encountered in the last version, as a solver
21140 optimization (default).
21141
21142 --minimize-conflict-set
21143 --no-minimize-conflict-set
21144 When there is no solution, try to improve the error mes‐
21145 sage by finding a minimal conflict set (default: false).
21146 May increase run time significantly.
21147
21148 --independent-goals
21149 --no-independent-goals
21150 Treat several goals on the command line as independent.
21151 If several goals depend on the same package, different
21152 versions can be chosen.
21153
21154 --shadow-installed-packages
21155 --no-shadow-installed-packages
21156 If multiple package instances of the same version are in‐
21157 stalled, treat all but one as shadowed.
21158
21159 --strong-flags
21160 --no-strong-flags
21161 Do not defer flag choices (this used to be the default in
21162 cabal-install <= 1.20).
21163
21164 --allow-boot-library-installs
21165 --no-allow-boot-library-installs
21166 Allow cabal to install base, ghc-prim, integer-simple,
21167 integer-gmp, and template-haskell.
21168
21169 --reject-unconstrained-dependencies none|all
21170 Require these packages to have constraints on them if
21171 they are to be selected (default: none).
21172
21173 --reinstall
21174 --no-reinstall
21175 Install even if it means installing the same version
21176 again.
21177
21178 --avoid-reinstalls
21179 --no-avoid-reinstalls
21180 Do not select versions that would destructively overwrite
21181 installed packages.
21182
21183 --force-reinstalls
21184 --no-force-reinstalls
21185 Reinstall packages even if they will most likely break
21186 other installed packages.
21187
21188 --upgrade-dependencies
21189 --no-upgrade-dependencies
21190 Pick the latest version for all dependencies, rather than
21191 trying to pick an installed version.
21192
21193 --only-dependencies
21194 --no-only-dependencies
21195 Install only the dependencies necessary to build the
21196 given packages
21197
21198 --dependencies-only
21199 --no-dependencies-only
21200 A synonym for --only-dependencies
21201
21202 --index-state STATE
21203 Use source package index state as it existed at a previ‐
21204 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
21205 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
21206 'HEAD' (default: 'HEAD').
21207
21208 --root-cmd COMMAND
21209 (No longer supported, do not use.)
21210
21211 --symlink-bindir DIR
21212 Add symlinks to installed executables into this direc‐
21213 tory.
21214
21215 --build-summary TEMPLATE
21216 Save build summaries to file (name template can use
21217 $pkgid, $compiler, $os, $arch)
21218
21219 --build-log TEMPLATE
21220 Log all builds to file (name template can use $pkgid,
21221 $compiler, $os, $arch)
21222
21223 --remote-build-reporting LEVEL
21224 Generate build reports to send to a remote server (none,
21225 anonymous or detailed).
21226
21227 --report-planning-failure
21228 Generate build reports when the dependency solver fails.
21229 This is used by the Hackage build bot.
21230
21231 --enable-per-component
21232 --disable-per-component
21233 Per-component builds when possible
21234
21235 --one-shot
21236 --no-one-shot
21237 Do not record the packages in the world file.
21238
21239 --run-tests
21240 Run package test suites during installation.
21241
21242 -j, --jobs [NUM]
21243 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
21244 given).
21245
21246 --keep-going
21247 After a build failure, continue to build other unaffected
21248 packages.
21249
21250 --offline
21251 --no-offline
21252 Don't download packages from the Internet.
21253
21254 --project-file FILE
21255 Set the name of the cabal.project file to search for in
21256 parent directories
21257
21258 --only
21259 Only installs the package in the current directory.
21260
21261 --haddock-hoogle
21262 Generate a hoogle database
21263
21264 --haddock-html
21265 Generate HTML documentation (the default)
21266
21267 --haddock-html-location URL
21268 Location of HTML documentation for pre-requisite packages
21269
21270 --haddock-for-hackage
21271 Collection of flags to generate documentation suitable
21272 for upload to hackage
21273
21274 --haddock-executables
21275 Run haddock for Executables targets
21276
21277 --haddock-tests
21278 Run haddock for Test Suite targets
21279
21280 --haddock-benchmarks
21281 Run haddock for Benchmark targets
21282
21283 --haddock-all
21284 Run haddock for all targets
21285
21286 --haddock-internal
21287 Run haddock for internal modules and include all symbols
21288
21289 --haddock-css PATH
21290 Use PATH as the haddock stylesheet
21291
21292 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
21293 dock-hyperlinked-source
21294 Hyperlink the documentation to the source code
21295
21296 --haddock-quickjump
21297 Generate an index for interactive documentation naviga‐
21298 tion
21299
21300 --haddock-hscolour-css PATH
21301 Use PATH as the HsColour stylesheet
21302
21303 --haddock-contents-location URL
21304 Bake URL in as the location for the contents page
21305
21306 --test-log TEMPLATE
21307 Log all test suite results to file (name template can use
21308 $pkgid, $compiler, $os, $arch, $test-suite, $result)
21309
21310 --test-machine-log TEMPLATE
21311 Produce a machine-readable log file (name template can
21312 use $pkgid, $compiler, $os, $arch, $result)
21313
21314 --test-show-details FILTER
21315
21316 --test-keep-tix-files
21317 keep .tix files for HPC between test runs
21318
21319 --test-wrapper FILE
21320 Run test through a wrapper.
21321
21322 --test-fail-when-no-test-suites
21323 Exit with failure when no test suites are found.
21324
21325 --test-options TEMPLATES
21326 give extra options to test executables (name templates
21327 can use $pkgid, $compiler, $os, $arch, $test-suite)
21328
21329 --test-option TEMPLATE
21330 give extra option to test executables (no need to quote
21331 options containing spaces, name template can use $pkgid,
21332 $compiler, $os, $arch, $test-suite)
21333
21334 --benchmark-options TEMPLATES
21335 give extra options to benchmark executables (name tem‐
21336 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
21337
21338 --benchmark-option TEMPLATE
21339 give extra option to benchmark executables (no need to
21340 quote options containing spaces, name template can use
21341 $pkgid, $compiler, $os, $arch, $benchmark)
21342
21343
21344 cabal v2-test
21345
21346 Usage: cabal v2-test [TARGETS] [FLAGS]
21347
21348
21349 Runs the specified test-suites, first ensuring they are up to date.
21350
21351 Any test-suite in any package in the project can be specified. A pack‐
21352 age can be specified in which case all the test-suites in the package
21353 are run. The default is to run all the test-suites in the package in
21354 the current directory.
21355
21356 Dependencies are built or rebuilt as necessary. Additional configura‐
21357 tion flags can be specified on the command line and these extend the
21358 project configuration from the 'cabal.project', 'cabal.project.local'
21359 and other files.
21360
21361 To pass command-line arguments to a test suite, see the v2-run command.
21362
21363
21364 Examples:
21365 cabal v2-test
21366 Run all the test-suites in the package in the current directory
21367 cabal v2-test pkgname
21368 Run all the test-suites in the package named pkgname
21369 cabal v2-test cname
21370 Run the test-suite named cname
21371 cabal v2-test cname --enable-coverage
21372 Run the test-suite built with code coverage (including local libs
21373 used)
21374
21375 Note: this command is part of the new project-based system (aka nix-
21376 style local builds). These features are currently in beta. Please see
21377 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
21378 details and advice on what you can expect to work. If you encounter
21379 problems please file issues at https://github.com/haskell/cabal/issues
21380 and if you have any time to get involved and help with testing, fixing
21381 bugs etc then that is very much appreciated.
21382
21383
21384 Flags:
21385 -v, --verbose [n]
21386 Control verbosity (n is 0--3, default verbosity level is
21387 1)
21388
21389 --builddir, --distdir, --distpref DIR
21390 The directory where Cabal puts generated build files (de‐
21391 fault dist)
21392
21393 -g, --ghc
21394 compile with GHC
21395
21396 --ghcjs
21397 compile with GHCJS
21398
21399 --uhc
21400 compile with UHC
21401
21402 --haskell-suite
21403 compile with a haskell-suite compiler
21404
21405 --cabal-file PATH
21406 use this Cabal file
21407
21408 -w, --with-compiler PATH
21409 give the path to a particular compiler
21410
21411 --with-hc-pkg PATH
21412 give the path to the package tool
21413
21414 --prefix DIR
21415 bake this prefix in preparation of installation
21416
21417 --bindir DIR
21418 installation directory for executables
21419
21420 --libdir DIR
21421 installation directory for libraries
21422
21423 --libsubdir DIR
21424 subdirectory of libdir in which libs are installed
21425
21426 --dynlibdir DIR
21427 installation directory for dynamic libraries
21428
21429 --libexecdir DIR
21430 installation directory for program executables
21431
21432 --libexecsubdir DIR
21433 subdirectory of libexecdir in which private executables
21434 are installed
21435
21436 --datadir DIR
21437 installation directory for read-only data
21438
21439 --datasubdir DIR
21440 subdirectory of datadir in which data files are installed
21441
21442 --docdir DIR
21443 installation directory for documentation
21444
21445 --htmldir DIR
21446 installation directory for HTML documentation
21447
21448 --haddockdir DIR
21449 installation directory for haddock interfaces
21450
21451 --sysconfdir DIR
21452 installation directory for configuration files
21453
21454 --program-prefix PREFIX
21455 prefix to be applied to installed executables
21456
21457 --program-suffix SUFFIX
21458 suffix to be applied to installed executables
21459
21460 --enable-library-vanilla
21461 --disable-library-vanilla
21462 Vanilla libraries
21463
21464 -p, --enable-library-profiling
21465 --disable-library-profiling
21466 Library profiling
21467
21468 --enable-shared
21469 --disable-shared
21470 Shared library
21471
21472 --enable-static
21473 --disable-static
21474 Static library
21475
21476 --enable-executable-dynamic
21477 --disable-executable-dynamic
21478 Executable dynamic linking
21479
21480 --enable-executable-static
21481 --disable-executable-static
21482 Executable fully static linking
21483
21484 --enable-profiling
21485 --disable-profiling
21486 Executable and library profiling
21487
21488 --enable-executable-profiling
21489 --disable-executable-profiling
21490 Executable profiling (DEPRECATED)
21491
21492 --profiling-detail level
21493 Profiling detail level for executable and library (de‐
21494 fault, none, exported-functions, toplevel-functions,
21495 all-functions).
21496
21497 --library-profiling-detail level
21498 Profiling detail level for libraries only.
21499
21500 -O, --enable-optimization, --enable-optimisation [n]
21501 Build with optimization (n is 0--2, default is 1)
21502
21503 --disable-optimization, --disable-optimisation
21504 Build without optimization
21505
21506 --enable-debug-info [n]
21507 Emit debug info (n is 0--3, default is 0)
21508
21509 --disable-debug-info
21510 Don't emit debug info
21511
21512 --enable-library-for-ghci
21513 --disable-library-for-ghci
21514 compile library for use with GHCi
21515
21516 --enable-split-sections
21517 --disable-split-sections
21518 compile library code such that unneeded definitions can
21519 be dropped from the final executable (GHC 7.8+)
21520
21521 --enable-split-objs
21522 --disable-split-objs
21523 split library into smaller objects to reduce binary sizes
21524 (GHC 6.6+)
21525
21526 --enable-executable-stripping
21527 --disable-executable-stripping
21528 strip executables upon installation to reduce binary
21529 sizes
21530
21531 --enable-library-stripping
21532 --disable-library-stripping
21533 strip libraries upon installation to reduce binary sizes
21534
21535 --configure-option OPT
21536 Extra option for configure
21537
21538 --user
21539 --global
21540 doing a per-user installation
21541
21542 --package-db DB
21543 Append the given package database to the list of package
21544 databases used (to satisfy dependencies and register
21545 into). May be a specific file, 'global' or 'user'. The
21546 initial list is ['global'], ['global', 'user'], or
21547 ['global', $sandbox], depending on context. Use 'clear'
21548 to reset the list to empty. See the user guide for de‐
21549 tails.
21550
21551 -f, --flags FLAGS
21552 Force values for the given flags in Cabal conditionals in
21553 the .cabal file. E.g., --flags="debug -usebytestrings"
21554 forces the flag "debug" to true and "usebytestrings" to
21555 false.
21556
21557 --extra-include-dirs PATH
21558 A list of directories to search for header files
21559
21560 --enable-deterministic
21561 --disable-deterministic
21562 Try to be as deterministic as possible (used by the test
21563 suite)
21564
21565 --ipid IPID
21566 Installed package ID to compile this package as
21567
21568 --cid CID
21569 Installed component ID to compile this component as
21570
21571 --extra-lib-dirs PATH
21572 A list of directories to search for external libraries
21573
21574 --extra-framework-dirs PATH
21575 A list of directories to search for external frameworks
21576 (OS X only)
21577
21578 --extra-prog-path PATH
21579 A list of directories to search for required programs (in
21580 addition to the normal search locations)
21581
21582 --instantiate-with NAME=MOD
21583 A mapping of signature names to concrete module instanti‐
21584 ations.
21585
21586 --enable-tests
21587 --disable-tests
21588 dependency checking and compilation for test suites
21589 listed in the package description file.
21590
21591 --enable-coverage
21592 --disable-coverage
21593 build package with Haskell Program Coverage. (GHC only)
21594
21595 --enable-library-coverage
21596 --disable-library-coverage
21597 build package with Haskell Program Coverage. (GHC only)
21598 (DEPRECATED)
21599
21600 --enable-benchmarks
21601 --disable-benchmarks
21602 dependency checking and compilation for benchmarks listed
21603 in the package description file.
21604
21605 --enable-relocatable
21606 --disable-relocatable
21607 building a package that is relocatable. (GHC only)
21608
21609 --disable-response-files
21610 enable workaround for old versions of programs like "ar"
21611 that do not support @file arguments
21612
21613 --allow-depending-on-private-libs
21614 Allow depending on private libraries. If set, the library
21615 visibility check MUST be done externally.
21616
21617 --with-alex PATH
21618 give the path to alex
21619
21620 --with-ar PATH
21621 give the path to ar
21622
21623 --with-c2hs PATH
21624 give the path to c2hs
21625
21626 --with-cpphs PATH
21627 give the path to cpphs
21628
21629 --with-doctest PATH
21630 give the path to doctest
21631
21632 --with-gcc PATH
21633 give the path to gcc
21634
21635 --with-ghc PATH
21636 give the path to ghc
21637
21638 --with-ghc-pkg PATH
21639 give the path to ghc-pkg
21640
21641 --with-ghcjs PATH
21642 give the path to ghcjs
21643
21644 --with-ghcjs-pkg PATH
21645 give the path to ghcjs-pkg
21646
21647 --with-greencard PATH
21648 give the path to greencard
21649
21650 --with-haddock PATH
21651 give the path to haddock
21652
21653 --with-happy PATH
21654 give the path to happy
21655
21656 --with-haskell-suite PATH
21657 give the path to haskell-suite
21658
21659 --with-haskell-suite-pkg PATH
21660 give the path to haskell-suite-pkg
21661
21662 --with-hmake PATH
21663 give the path to hmake
21664
21665 --with-hpc PATH
21666 give the path to hpc
21667
21668 --with-hsc2hs PATH
21669 give the path to hsc2hs
21670
21671 --with-hscolour PATH
21672 give the path to hscolour
21673
21674 --with-jhc PATH
21675 give the path to jhc
21676
21677 --with-ld PATH
21678 give the path to ld
21679
21680 --with-pkg-config PATH
21681 give the path to pkg-config
21682
21683 --with-runghc PATH
21684 give the path to runghc
21685
21686 --with-strip PATH
21687 give the path to strip
21688
21689 --with-tar PATH
21690 give the path to tar
21691
21692 --with-uhc PATH
21693 give the path to uhc
21694
21695 --alex-option OPT
21696 give an extra option to alex (no need to quote options
21697 containing spaces)
21698
21699 --ar-option OPT
21700 give an extra option to ar (no need to quote options con‐
21701 taining spaces)
21702
21703 --c2hs-option OPT
21704 give an extra option to c2hs (no need to quote options
21705 containing spaces)
21706
21707 --cpphs-option OPT
21708 give an extra option to cpphs (no need to quote options
21709 containing spaces)
21710
21711 --doctest-option OPT
21712 give an extra option to doctest (no need to quote options
21713 containing spaces)
21714
21715 --gcc-option OPT
21716 give an extra option to gcc (no need to quote options
21717 containing spaces)
21718
21719 --ghc-option OPT
21720 give an extra option to ghc (no need to quote options
21721 containing spaces)
21722
21723 --ghc-pkg-option OPT
21724 give an extra option to ghc-pkg (no need to quote options
21725 containing spaces)
21726
21727 --ghcjs-option OPT
21728 give an extra option to ghcjs (no need to quote options
21729 containing spaces)
21730
21731 --ghcjs-pkg-option OPT
21732 give an extra option to ghcjs-pkg (no need to quote op‐
21733 tions containing spaces)
21734
21735 --greencard-option OPT
21736 give an extra option to greencard (no need to quote op‐
21737 tions containing spaces)
21738
21739 --haddock-option OPT
21740 give an extra option to haddock (no need to quote options
21741 containing spaces)
21742
21743 --happy-option OPT
21744 give an extra option to happy (no need to quote options
21745 containing spaces)
21746
21747 --haskell-suite-option OPT
21748 give an extra option to haskell-suite (no need to quote
21749 options containing spaces)
21750
21751 --haskell-suite-pkg-option OPT
21752 give an extra option to haskell-suite-pkg (no need to
21753 quote options containing spaces)
21754
21755 --hmake-option OPT
21756 give an extra option to hmake (no need to quote options
21757 containing spaces)
21758
21759 --hpc-option OPT
21760 give an extra option to hpc (no need to quote options
21761 containing spaces)
21762
21763 --hsc2hs-option OPT
21764 give an extra option to hsc2hs (no need to quote options
21765 containing spaces)
21766
21767 --hscolour-option OPT
21768 give an extra option to hscolour (no need to quote op‐
21769 tions containing spaces)
21770
21771 --jhc-option OPT
21772 give an extra option to jhc (no need to quote options
21773 containing spaces)
21774
21775 --ld-option OPT
21776 give an extra option to ld (no need to quote options con‐
21777 taining spaces)
21778
21779 --pkg-config-option OPT
21780 give an extra option to pkg-config (no need to quote op‐
21781 tions containing spaces)
21782
21783 --runghc-option OPT
21784 give an extra option to runghc (no need to quote options
21785 containing spaces)
21786
21787 --strip-option OPT
21788 give an extra option to strip (no need to quote options
21789 containing spaces)
21790
21791 --tar-option OPT
21792 give an extra option to tar (no need to quote options
21793 containing spaces)
21794
21795 --uhc-option OPT
21796 give an extra option to uhc (no need to quote options
21797 containing spaces)
21798
21799 --alex-options OPTS
21800 give extra options to alex
21801
21802 --ar-options OPTS
21803 give extra options to ar
21804
21805 --c2hs-options OPTS
21806 give extra options to c2hs
21807
21808 --cpphs-options OPTS
21809 give extra options to cpphs
21810
21811 --doctest-options OPTS
21812 give extra options to doctest
21813
21814 --gcc-options OPTS
21815 give extra options to gcc
21816
21817 --ghc-options OPTS
21818 give extra options to ghc
21819
21820 --ghc-pkg-options OPTS
21821 give extra options to ghc-pkg
21822
21823 --ghcjs-options OPTS
21824 give extra options to ghcjs
21825
21826 --ghcjs-pkg-options OPTS
21827 give extra options to ghcjs-pkg
21828
21829 --greencard-options OPTS
21830 give extra options to greencard
21831
21832 --haddock-options OPTS
21833 give extra options to haddock
21834
21835 --happy-options OPTS
21836 give extra options to happy
21837
21838 --haskell-suite-options OPTS
21839 give extra options to haskell-suite
21840
21841 --haskell-suite-pkg-options OPTS
21842 give extra options to haskell-suite-pkg
21843
21844 --hmake-options OPTS
21845 give extra options to hmake
21846
21847 --hpc-options OPTS
21848 give extra options to hpc
21849
21850 --hsc2hs-options OPTS
21851 give extra options to hsc2hs
21852
21853 --hscolour-options OPTS
21854 give extra options to hscolour
21855
21856 --jhc-options OPTS
21857 give extra options to jhc
21858
21859 --ld-options OPTS
21860 give extra options to ld
21861
21862 --pkg-config-options OPTS
21863 give extra options to pkg-config
21864
21865 --runghc-options OPTS
21866 give extra options to runghc
21867
21868 --strip-options OPTS
21869 give extra options to strip
21870
21871 --tar-options OPTS
21872 give extra options to tar
21873
21874 --uhc-options OPTS
21875 give extra options to uhc
21876
21877 --cabal-lib-version VERSION
21878 Select which version of the Cabal lib to use to build
21879 packages (useful for testing).
21880
21881 --constraint CONSTRAINT
21882 Specify constraints on a package (version, in‐
21883 stalled/source, flags)
21884
21885 --preference CONSTRAINT
21886 Specify preferences (soft constraints) on the version of
21887 a package
21888
21889 --solver SOLVER
21890 Select dependency solver to use (default: modular).
21891 Choices: modular.
21892
21893 --allow-older [DEPS]
21894 Ignore lower bounds in all dependencies or DEPS
21895
21896 --allow-newer [DEPS]
21897 Ignore upper bounds in all dependencies or DEPS
21898
21899 --write-ghc-environment-files always|never|ghc8.4.4+
21900 Whether to create a .ghc.environment file after a suc‐
21901 cessful build (v2-build only)
21902
21903 --enable-documentation
21904 --disable-documentation
21905 building of documentation
21906
21907 --doc-index-file TEMPLATE
21908 A central index of haddock API documentation (template
21909 cannot use $pkgid)
21910
21911 --dry-run
21912 Do not install anything, only print what would be in‐
21913 stalled.
21914
21915 --max-backjumps NUM
21916 Maximum number of backjumps allowed while solving (de‐
21917 fault: 4000). Use a negative number to enable unlimited
21918 backtracking. Use 0 to disable backtracking completely.
21919
21920 --reorder-goals
21921 --no-reorder-goals
21922 Try to reorder goals according to certain heuristics.
21923 Slows things down on average, but may make backtracking
21924 faster for some packages.
21925
21926 --count-conflicts
21927 --no-count-conflicts
21928 Try to speed up solving by preferring goals that are in‐
21929 volved in a lot of conflicts (default).
21930
21931 --fine-grained-conflicts
21932 --no-fine-grained-conflicts
21933 Skip a version of a package if it does not resolve the
21934 conflicts encountered in the last version, as a solver
21935 optimization (default).
21936
21937 --minimize-conflict-set
21938 --no-minimize-conflict-set
21939 When there is no solution, try to improve the error mes‐
21940 sage by finding a minimal conflict set (default: false).
21941 May increase run time significantly.
21942
21943 --independent-goals
21944 --no-independent-goals
21945 Treat several goals on the command line as independent.
21946 If several goals depend on the same package, different
21947 versions can be chosen.
21948
21949 --shadow-installed-packages
21950 --no-shadow-installed-packages
21951 If multiple package instances of the same version are in‐
21952 stalled, treat all but one as shadowed.
21953
21954 --strong-flags
21955 --no-strong-flags
21956 Do not defer flag choices (this used to be the default in
21957 cabal-install <= 1.20).
21958
21959 --allow-boot-library-installs
21960 --no-allow-boot-library-installs
21961 Allow cabal to install base, ghc-prim, integer-simple,
21962 integer-gmp, and template-haskell.
21963
21964 --reject-unconstrained-dependencies none|all
21965 Require these packages to have constraints on them if
21966 they are to be selected (default: none).
21967
21968 --reinstall
21969 --no-reinstall
21970 Install even if it means installing the same version
21971 again.
21972
21973 --avoid-reinstalls
21974 --no-avoid-reinstalls
21975 Do not select versions that would destructively overwrite
21976 installed packages.
21977
21978 --force-reinstalls
21979 --no-force-reinstalls
21980 Reinstall packages even if they will most likely break
21981 other installed packages.
21982
21983 --upgrade-dependencies
21984 --no-upgrade-dependencies
21985 Pick the latest version for all dependencies, rather than
21986 trying to pick an installed version.
21987
21988 --only-dependencies
21989 --no-only-dependencies
21990 Install only the dependencies necessary to build the
21991 given packages
21992
21993 --dependencies-only
21994 --no-dependencies-only
21995 A synonym for --only-dependencies
21996
21997 --index-state STATE
21998 Use source package index state as it existed at a previ‐
21999 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
22000 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
22001 'HEAD' (default: 'HEAD').
22002
22003 --root-cmd COMMAND
22004 (No longer supported, do not use.)
22005
22006 --symlink-bindir DIR
22007 Add symlinks to installed executables into this direc‐
22008 tory.
22009
22010 --build-summary TEMPLATE
22011 Save build summaries to file (name template can use
22012 $pkgid, $compiler, $os, $arch)
22013
22014 --build-log TEMPLATE
22015 Log all builds to file (name template can use $pkgid,
22016 $compiler, $os, $arch)
22017
22018 --remote-build-reporting LEVEL
22019 Generate build reports to send to a remote server (none,
22020 anonymous or detailed).
22021
22022 --report-planning-failure
22023 Generate build reports when the dependency solver fails.
22024 This is used by the Hackage build bot.
22025
22026 --enable-per-component
22027 --disable-per-component
22028 Per-component builds when possible
22029
22030 --one-shot
22031 --no-one-shot
22032 Do not record the packages in the world file.
22033
22034 --run-tests
22035 Run package test suites during installation.
22036
22037 -j, --jobs [NUM]
22038 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
22039 given).
22040
22041 --keep-going
22042 After a build failure, continue to build other unaffected
22043 packages.
22044
22045 --offline
22046 --no-offline
22047 Don't download packages from the Internet.
22048
22049 --project-file FILE
22050 Set the name of the cabal.project file to search for in
22051 parent directories
22052
22053 --only
22054 Only installs the package in the current directory.
22055
22056 --haddock-hoogle
22057 Generate a hoogle database
22058
22059 --haddock-html
22060 Generate HTML documentation (the default)
22061
22062 --haddock-html-location URL
22063 Location of HTML documentation for pre-requisite packages
22064
22065 --haddock-for-hackage
22066 Collection of flags to generate documentation suitable
22067 for upload to hackage
22068
22069 --haddock-executables
22070 Run haddock for Executables targets
22071
22072 --haddock-tests
22073 Run haddock for Test Suite targets
22074
22075 --haddock-benchmarks
22076 Run haddock for Benchmark targets
22077
22078 --haddock-all
22079 Run haddock for all targets
22080
22081 --haddock-internal
22082 Run haddock for internal modules and include all symbols
22083
22084 --haddock-css PATH
22085 Use PATH as the haddock stylesheet
22086
22087 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
22088 dock-hyperlinked-source
22089 Hyperlink the documentation to the source code
22090
22091 --haddock-quickjump
22092 Generate an index for interactive documentation naviga‐
22093 tion
22094
22095 --haddock-hscolour-css PATH
22096 Use PATH as the HsColour stylesheet
22097
22098 --haddock-contents-location URL
22099 Bake URL in as the location for the contents page
22100
22101 --test-log TEMPLATE
22102 Log all test suite results to file (name template can use
22103 $pkgid, $compiler, $os, $arch, $test-suite, $result)
22104
22105 --test-machine-log TEMPLATE
22106 Produce a machine-readable log file (name template can
22107 use $pkgid, $compiler, $os, $arch, $result)
22108
22109 --test-show-details FILTER
22110
22111 --test-keep-tix-files
22112 keep .tix files for HPC between test runs
22113
22114 --test-wrapper FILE
22115 Run test through a wrapper.
22116
22117 --test-fail-when-no-test-suites
22118 Exit with failure when no test suites are found.
22119
22120 --test-options TEMPLATES
22121 give extra options to test executables (name templates
22122 can use $pkgid, $compiler, $os, $arch, $test-suite)
22123
22124 --test-option TEMPLATE
22125 give extra option to test executables (no need to quote
22126 options containing spaces, name template can use $pkgid,
22127 $compiler, $os, $arch, $test-suite)
22128
22129 --benchmark-options TEMPLATES
22130 give extra options to benchmark executables (name tem‐
22131 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
22132
22133 --benchmark-option TEMPLATE
22134 give extra option to benchmark executables (no need to
22135 quote options containing spaces, name template can use
22136 $pkgid, $compiler, $os, $arch, $benchmark)
22137
22138
22139 cabal bench
22140
22141 Usage: cabal bench [TARGETS] [FLAGS]
22142
22143
22144 Runs the specified benchmarks, first ensuring they are up to date.
22145
22146 Any benchmark in any package in the project can be specified. A package
22147 can be specified in which case all the benchmarks in the package are
22148 run. The default is to run all the benchmarks in the package in the
22149 current directory.
22150
22151 Dependencies are built or rebuilt as necessary. Additional configura‐
22152 tion flags can be specified on the command line and these extend the
22153 project configuration from the 'cabal.project', 'cabal.project.local'
22154 and other files.
22155
22156
22157 Runs the specified benchmarks, first ensuring they are up to date.
22158
22159 Any benchmark in any package in the project can be specified. A package
22160 can be specified in which case all the benchmarks in the package are
22161 run. The default is to run all the benchmarks in the package in the
22162 current directory.
22163
22164 Dependencies are built or rebuilt as necessary. Additional configura‐
22165 tion flags can be specified on the command line and these extend the
22166 project configuration from the 'cabal.project', 'cabal.project.local'
22167 and other files.
22168
22169
22170 Flags:
22171 -v, --verbose [n]
22172 Control verbosity (n is 0--3, default verbosity level is
22173 1)
22174
22175 --builddir, --distdir, --distpref DIR
22176 The directory where Cabal puts generated build files (de‐
22177 fault dist)
22178
22179 -g, --ghc
22180 compile with GHC
22181
22182 --ghcjs
22183 compile with GHCJS
22184
22185 --uhc
22186 compile with UHC
22187
22188 --haskell-suite
22189 compile with a haskell-suite compiler
22190
22191 --cabal-file PATH
22192 use this Cabal file
22193
22194 -w, --with-compiler PATH
22195 give the path to a particular compiler
22196
22197 --with-hc-pkg PATH
22198 give the path to the package tool
22199
22200 --prefix DIR
22201 bake this prefix in preparation of installation
22202
22203 --bindir DIR
22204 installation directory for executables
22205
22206 --libdir DIR
22207 installation directory for libraries
22208
22209 --libsubdir DIR
22210 subdirectory of libdir in which libs are installed
22211
22212 --dynlibdir DIR
22213 installation directory for dynamic libraries
22214
22215 --libexecdir DIR
22216 installation directory for program executables
22217
22218 --libexecsubdir DIR
22219 subdirectory of libexecdir in which private executables
22220 are installed
22221
22222 --datadir DIR
22223 installation directory for read-only data
22224
22225 --datasubdir DIR
22226 subdirectory of datadir in which data files are installed
22227
22228 --docdir DIR
22229 installation directory for documentation
22230
22231 --htmldir DIR
22232 installation directory for HTML documentation
22233
22234 --haddockdir DIR
22235 installation directory for haddock interfaces
22236
22237 --sysconfdir DIR
22238 installation directory for configuration files
22239
22240 --program-prefix PREFIX
22241 prefix to be applied to installed executables
22242
22243 --program-suffix SUFFIX
22244 suffix to be applied to installed executables
22245
22246 --enable-library-vanilla
22247 --disable-library-vanilla
22248 Vanilla libraries
22249
22250 -p, --enable-library-profiling
22251 --disable-library-profiling
22252 Library profiling
22253
22254 --enable-shared
22255 --disable-shared
22256 Shared library
22257
22258 --enable-static
22259 --disable-static
22260 Static library
22261
22262 --enable-executable-dynamic
22263 --disable-executable-dynamic
22264 Executable dynamic linking
22265
22266 --enable-executable-static
22267 --disable-executable-static
22268 Executable fully static linking
22269
22270 --enable-profiling
22271 --disable-profiling
22272 Executable and library profiling
22273
22274 --enable-executable-profiling
22275 --disable-executable-profiling
22276 Executable profiling (DEPRECATED)
22277
22278 --profiling-detail level
22279 Profiling detail level for executable and library (de‐
22280 fault, none, exported-functions, toplevel-functions,
22281 all-functions).
22282
22283 --library-profiling-detail level
22284 Profiling detail level for libraries only.
22285
22286 -O, --enable-optimization, --enable-optimisation [n]
22287 Build with optimization (n is 0--2, default is 1)
22288
22289 --disable-optimization, --disable-optimisation
22290 Build without optimization
22291
22292 --enable-debug-info [n]
22293 Emit debug info (n is 0--3, default is 0)
22294
22295 --disable-debug-info
22296 Don't emit debug info
22297
22298 --enable-library-for-ghci
22299 --disable-library-for-ghci
22300 compile library for use with GHCi
22301
22302 --enable-split-sections
22303 --disable-split-sections
22304 compile library code such that unneeded definitions can
22305 be dropped from the final executable (GHC 7.8+)
22306
22307 --enable-split-objs
22308 --disable-split-objs
22309 split library into smaller objects to reduce binary sizes
22310 (GHC 6.6+)
22311
22312 --enable-executable-stripping
22313 --disable-executable-stripping
22314 strip executables upon installation to reduce binary
22315 sizes
22316
22317 --enable-library-stripping
22318 --disable-library-stripping
22319 strip libraries upon installation to reduce binary sizes
22320
22321 --configure-option OPT
22322 Extra option for configure
22323
22324 --user
22325 --global
22326 doing a per-user installation
22327
22328 --package-db DB
22329 Append the given package database to the list of package
22330 databases used (to satisfy dependencies and register
22331 into). May be a specific file, 'global' or 'user'. The
22332 initial list is ['global'], ['global', 'user'], or
22333 ['global', $sandbox], depending on context. Use 'clear'
22334 to reset the list to empty. See the user guide for de‐
22335 tails.
22336
22337 -f, --flags FLAGS
22338 Force values for the given flags in Cabal conditionals in
22339 the .cabal file. E.g., --flags="debug -usebytestrings"
22340 forces the flag "debug" to true and "usebytestrings" to
22341 false.
22342
22343 --extra-include-dirs PATH
22344 A list of directories to search for header files
22345
22346 --enable-deterministic
22347 --disable-deterministic
22348 Try to be as deterministic as possible (used by the test
22349 suite)
22350
22351 --ipid IPID
22352 Installed package ID to compile this package as
22353
22354 --cid CID
22355 Installed component ID to compile this component as
22356
22357 --extra-lib-dirs PATH
22358 A list of directories to search for external libraries
22359
22360 --extra-framework-dirs PATH
22361 A list of directories to search for external frameworks
22362 (OS X only)
22363
22364 --extra-prog-path PATH
22365 A list of directories to search for required programs (in
22366 addition to the normal search locations)
22367
22368 --instantiate-with NAME=MOD
22369 A mapping of signature names to concrete module instanti‐
22370 ations.
22371
22372 --enable-tests
22373 --disable-tests
22374 dependency checking and compilation for test suites
22375 listed in the package description file.
22376
22377 --enable-coverage
22378 --disable-coverage
22379 build package with Haskell Program Coverage. (GHC only)
22380
22381 --enable-library-coverage
22382 --disable-library-coverage
22383 build package with Haskell Program Coverage. (GHC only)
22384 (DEPRECATED)
22385
22386 --enable-benchmarks
22387 --disable-benchmarks
22388 dependency checking and compilation for benchmarks listed
22389 in the package description file.
22390
22391 --enable-relocatable
22392 --disable-relocatable
22393 building a package that is relocatable. (GHC only)
22394
22395 --disable-response-files
22396 enable workaround for old versions of programs like "ar"
22397 that do not support @file arguments
22398
22399 --allow-depending-on-private-libs
22400 Allow depending on private libraries. If set, the library
22401 visibility check MUST be done externally.
22402
22403 --with-alex PATH
22404 give the path to alex
22405
22406 --with-ar PATH
22407 give the path to ar
22408
22409 --with-c2hs PATH
22410 give the path to c2hs
22411
22412 --with-cpphs PATH
22413 give the path to cpphs
22414
22415 --with-doctest PATH
22416 give the path to doctest
22417
22418 --with-gcc PATH
22419 give the path to gcc
22420
22421 --with-ghc PATH
22422 give the path to ghc
22423
22424 --with-ghc-pkg PATH
22425 give the path to ghc-pkg
22426
22427 --with-ghcjs PATH
22428 give the path to ghcjs
22429
22430 --with-ghcjs-pkg PATH
22431 give the path to ghcjs-pkg
22432
22433 --with-greencard PATH
22434 give the path to greencard
22435
22436 --with-haddock PATH
22437 give the path to haddock
22438
22439 --with-happy PATH
22440 give the path to happy
22441
22442 --with-haskell-suite PATH
22443 give the path to haskell-suite
22444
22445 --with-haskell-suite-pkg PATH
22446 give the path to haskell-suite-pkg
22447
22448 --with-hmake PATH
22449 give the path to hmake
22450
22451 --with-hpc PATH
22452 give the path to hpc
22453
22454 --with-hsc2hs PATH
22455 give the path to hsc2hs
22456
22457 --with-hscolour PATH
22458 give the path to hscolour
22459
22460 --with-jhc PATH
22461 give the path to jhc
22462
22463 --with-ld PATH
22464 give the path to ld
22465
22466 --with-pkg-config PATH
22467 give the path to pkg-config
22468
22469 --with-runghc PATH
22470 give the path to runghc
22471
22472 --with-strip PATH
22473 give the path to strip
22474
22475 --with-tar PATH
22476 give the path to tar
22477
22478 --with-uhc PATH
22479 give the path to uhc
22480
22481 --alex-option OPT
22482 give an extra option to alex (no need to quote options
22483 containing spaces)
22484
22485 --ar-option OPT
22486 give an extra option to ar (no need to quote options con‐
22487 taining spaces)
22488
22489 --c2hs-option OPT
22490 give an extra option to c2hs (no need to quote options
22491 containing spaces)
22492
22493 --cpphs-option OPT
22494 give an extra option to cpphs (no need to quote options
22495 containing spaces)
22496
22497 --doctest-option OPT
22498 give an extra option to doctest (no need to quote options
22499 containing spaces)
22500
22501 --gcc-option OPT
22502 give an extra option to gcc (no need to quote options
22503 containing spaces)
22504
22505 --ghc-option OPT
22506 give an extra option to ghc (no need to quote options
22507 containing spaces)
22508
22509 --ghc-pkg-option OPT
22510 give an extra option to ghc-pkg (no need to quote options
22511 containing spaces)
22512
22513 --ghcjs-option OPT
22514 give an extra option to ghcjs (no need to quote options
22515 containing spaces)
22516
22517 --ghcjs-pkg-option OPT
22518 give an extra option to ghcjs-pkg (no need to quote op‐
22519 tions containing spaces)
22520
22521 --greencard-option OPT
22522 give an extra option to greencard (no need to quote op‐
22523 tions containing spaces)
22524
22525 --haddock-option OPT
22526 give an extra option to haddock (no need to quote options
22527 containing spaces)
22528
22529 --happy-option OPT
22530 give an extra option to happy (no need to quote options
22531 containing spaces)
22532
22533 --haskell-suite-option OPT
22534 give an extra option to haskell-suite (no need to quote
22535 options containing spaces)
22536
22537 --haskell-suite-pkg-option OPT
22538 give an extra option to haskell-suite-pkg (no need to
22539 quote options containing spaces)
22540
22541 --hmake-option OPT
22542 give an extra option to hmake (no need to quote options
22543 containing spaces)
22544
22545 --hpc-option OPT
22546 give an extra option to hpc (no need to quote options
22547 containing spaces)
22548
22549 --hsc2hs-option OPT
22550 give an extra option to hsc2hs (no need to quote options
22551 containing spaces)
22552
22553 --hscolour-option OPT
22554 give an extra option to hscolour (no need to quote op‐
22555 tions containing spaces)
22556
22557 --jhc-option OPT
22558 give an extra option to jhc (no need to quote options
22559 containing spaces)
22560
22561 --ld-option OPT
22562 give an extra option to ld (no need to quote options con‐
22563 taining spaces)
22564
22565 --pkg-config-option OPT
22566 give an extra option to pkg-config (no need to quote op‐
22567 tions containing spaces)
22568
22569 --runghc-option OPT
22570 give an extra option to runghc (no need to quote options
22571 containing spaces)
22572
22573 --strip-option OPT
22574 give an extra option to strip (no need to quote options
22575 containing spaces)
22576
22577 --tar-option OPT
22578 give an extra option to tar (no need to quote options
22579 containing spaces)
22580
22581 --uhc-option OPT
22582 give an extra option to uhc (no need to quote options
22583 containing spaces)
22584
22585 --alex-options OPTS
22586 give extra options to alex
22587
22588 --ar-options OPTS
22589 give extra options to ar
22590
22591 --c2hs-options OPTS
22592 give extra options to c2hs
22593
22594 --cpphs-options OPTS
22595 give extra options to cpphs
22596
22597 --doctest-options OPTS
22598 give extra options to doctest
22599
22600 --gcc-options OPTS
22601 give extra options to gcc
22602
22603 --ghc-options OPTS
22604 give extra options to ghc
22605
22606 --ghc-pkg-options OPTS
22607 give extra options to ghc-pkg
22608
22609 --ghcjs-options OPTS
22610 give extra options to ghcjs
22611
22612 --ghcjs-pkg-options OPTS
22613 give extra options to ghcjs-pkg
22614
22615 --greencard-options OPTS
22616 give extra options to greencard
22617
22618 --haddock-options OPTS
22619 give extra options to haddock
22620
22621 --happy-options OPTS
22622 give extra options to happy
22623
22624 --haskell-suite-options OPTS
22625 give extra options to haskell-suite
22626
22627 --haskell-suite-pkg-options OPTS
22628 give extra options to haskell-suite-pkg
22629
22630 --hmake-options OPTS
22631 give extra options to hmake
22632
22633 --hpc-options OPTS
22634 give extra options to hpc
22635
22636 --hsc2hs-options OPTS
22637 give extra options to hsc2hs
22638
22639 --hscolour-options OPTS
22640 give extra options to hscolour
22641
22642 --jhc-options OPTS
22643 give extra options to jhc
22644
22645 --ld-options OPTS
22646 give extra options to ld
22647
22648 --pkg-config-options OPTS
22649 give extra options to pkg-config
22650
22651 --runghc-options OPTS
22652 give extra options to runghc
22653
22654 --strip-options OPTS
22655 give extra options to strip
22656
22657 --tar-options OPTS
22658 give extra options to tar
22659
22660 --uhc-options OPTS
22661 give extra options to uhc
22662
22663 --cabal-lib-version VERSION
22664 Select which version of the Cabal lib to use to build
22665 packages (useful for testing).
22666
22667 --constraint CONSTRAINT
22668 Specify constraints on a package (version, in‐
22669 stalled/source, flags)
22670
22671 --preference CONSTRAINT
22672 Specify preferences (soft constraints) on the version of
22673 a package
22674
22675 --solver SOLVER
22676 Select dependency solver to use (default: modular).
22677 Choices: modular.
22678
22679 --allow-older [DEPS]
22680 Ignore lower bounds in all dependencies or DEPS
22681
22682 --allow-newer [DEPS]
22683 Ignore upper bounds in all dependencies or DEPS
22684
22685 --write-ghc-environment-files always|never|ghc8.4.4+
22686 Whether to create a .ghc.environment file after a suc‐
22687 cessful build (v2-build only)
22688
22689 --enable-documentation
22690 --disable-documentation
22691 building of documentation
22692
22693 --doc-index-file TEMPLATE
22694 A central index of haddock API documentation (template
22695 cannot use $pkgid)
22696
22697 --dry-run
22698 Do not install anything, only print what would be in‐
22699 stalled.
22700
22701 --max-backjumps NUM
22702 Maximum number of backjumps allowed while solving (de‐
22703 fault: 4000). Use a negative number to enable unlimited
22704 backtracking. Use 0 to disable backtracking completely.
22705
22706 --reorder-goals
22707 --no-reorder-goals
22708 Try to reorder goals according to certain heuristics.
22709 Slows things down on average, but may make backtracking
22710 faster for some packages.
22711
22712 --count-conflicts
22713 --no-count-conflicts
22714 Try to speed up solving by preferring goals that are in‐
22715 volved in a lot of conflicts (default).
22716
22717 --fine-grained-conflicts
22718 --no-fine-grained-conflicts
22719 Skip a version of a package if it does not resolve the
22720 conflicts encountered in the last version, as a solver
22721 optimization (default).
22722
22723 --minimize-conflict-set
22724 --no-minimize-conflict-set
22725 When there is no solution, try to improve the error mes‐
22726 sage by finding a minimal conflict set (default: false).
22727 May increase run time significantly.
22728
22729 --independent-goals
22730 --no-independent-goals
22731 Treat several goals on the command line as independent.
22732 If several goals depend on the same package, different
22733 versions can be chosen.
22734
22735 --shadow-installed-packages
22736 --no-shadow-installed-packages
22737 If multiple package instances of the same version are in‐
22738 stalled, treat all but one as shadowed.
22739
22740 --strong-flags
22741 --no-strong-flags
22742 Do not defer flag choices (this used to be the default in
22743 cabal-install <= 1.20).
22744
22745 --allow-boot-library-installs
22746 --no-allow-boot-library-installs
22747 Allow cabal to install base, ghc-prim, integer-simple,
22748 integer-gmp, and template-haskell.
22749
22750 --reject-unconstrained-dependencies none|all
22751 Require these packages to have constraints on them if
22752 they are to be selected (default: none).
22753
22754 --reinstall
22755 --no-reinstall
22756 Install even if it means installing the same version
22757 again.
22758
22759 --avoid-reinstalls
22760 --no-avoid-reinstalls
22761 Do not select versions that would destructively overwrite
22762 installed packages.
22763
22764 --force-reinstalls
22765 --no-force-reinstalls
22766 Reinstall packages even if they will most likely break
22767 other installed packages.
22768
22769 --upgrade-dependencies
22770 --no-upgrade-dependencies
22771 Pick the latest version for all dependencies, rather than
22772 trying to pick an installed version.
22773
22774 --only-dependencies
22775 --no-only-dependencies
22776 Install only the dependencies necessary to build the
22777 given packages
22778
22779 --dependencies-only
22780 --no-dependencies-only
22781 A synonym for --only-dependencies
22782
22783 --index-state STATE
22784 Use source package index state as it existed at a previ‐
22785 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
22786 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
22787 'HEAD' (default: 'HEAD').
22788
22789 --root-cmd COMMAND
22790 (No longer supported, do not use.)
22791
22792 --symlink-bindir DIR
22793 Add symlinks to installed executables into this direc‐
22794 tory.
22795
22796 --build-summary TEMPLATE
22797 Save build summaries to file (name template can use
22798 $pkgid, $compiler, $os, $arch)
22799
22800 --build-log TEMPLATE
22801 Log all builds to file (name template can use $pkgid,
22802 $compiler, $os, $arch)
22803
22804 --remote-build-reporting LEVEL
22805 Generate build reports to send to a remote server (none,
22806 anonymous or detailed).
22807
22808 --report-planning-failure
22809 Generate build reports when the dependency solver fails.
22810 This is used by the Hackage build bot.
22811
22812 --enable-per-component
22813 --disable-per-component
22814 Per-component builds when possible
22815
22816 --one-shot
22817 --no-one-shot
22818 Do not record the packages in the world file.
22819
22820 --run-tests
22821 Run package test suites during installation.
22822
22823 -j, --jobs [NUM]
22824 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
22825 given).
22826
22827 --keep-going
22828 After a build failure, continue to build other unaffected
22829 packages.
22830
22831 --offline
22832 --no-offline
22833 Don't download packages from the Internet.
22834
22835 --project-file FILE
22836 Set the name of the cabal.project file to search for in
22837 parent directories
22838
22839 --only
22840 Only installs the package in the current directory.
22841
22842 --haddock-hoogle
22843 Generate a hoogle database
22844
22845 --haddock-html
22846 Generate HTML documentation (the default)
22847
22848 --haddock-html-location URL
22849 Location of HTML documentation for pre-requisite packages
22850
22851 --haddock-for-hackage
22852 Collection of flags to generate documentation suitable
22853 for upload to hackage
22854
22855 --haddock-executables
22856 Run haddock for Executables targets
22857
22858 --haddock-tests
22859 Run haddock for Test Suite targets
22860
22861 --haddock-benchmarks
22862 Run haddock for Benchmark targets
22863
22864 --haddock-all
22865 Run haddock for all targets
22866
22867 --haddock-internal
22868 Run haddock for internal modules and include all symbols
22869
22870 --haddock-css PATH
22871 Use PATH as the haddock stylesheet
22872
22873 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
22874 dock-hyperlinked-source
22875 Hyperlink the documentation to the source code
22876
22877 --haddock-quickjump
22878 Generate an index for interactive documentation naviga‐
22879 tion
22880
22881 --haddock-hscolour-css PATH
22882 Use PATH as the HsColour stylesheet
22883
22884 --haddock-contents-location URL
22885 Bake URL in as the location for the contents page
22886
22887 --test-log TEMPLATE
22888 Log all test suite results to file (name template can use
22889 $pkgid, $compiler, $os, $arch, $test-suite, $result)
22890
22891 --test-machine-log TEMPLATE
22892 Produce a machine-readable log file (name template can
22893 use $pkgid, $compiler, $os, $arch, $result)
22894
22895 --test-show-details FILTER
22896
22897 --test-keep-tix-files
22898 keep .tix files for HPC between test runs
22899
22900 --test-wrapper FILE
22901 Run test through a wrapper.
22902
22903 --test-fail-when-no-test-suites
22904 Exit with failure when no test suites are found.
22905
22906 --test-options TEMPLATES
22907 give extra options to test executables (name templates
22908 can use $pkgid, $compiler, $os, $arch, $test-suite)
22909
22910 --test-option TEMPLATE
22911 give extra option to test executables (no need to quote
22912 options containing spaces, name template can use $pkgid,
22913 $compiler, $os, $arch, $test-suite)
22914
22915 --benchmark-options TEMPLATES
22916 give extra options to benchmark executables (name tem‐
22917 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
22918
22919 --benchmark-option TEMPLATE
22920 give extra option to benchmark executables (no need to
22921 quote options containing spaces, name template can use
22922 $pkgid, $compiler, $os, $arch, $benchmark)
22923
22924
22925 cabal new-bench
22926
22927 Usage: cabal new-bench [TARGETS] [FLAGS]
22928
22929
22930 Runs the specified benchmarks, first ensuring they are up to date.
22931
22932 Any benchmark in any package in the project can be specified. A package
22933 can be specified in which case all the benchmarks in the package are
22934 run. The default is to run all the benchmarks in the package in the
22935 current directory.
22936
22937 Dependencies are built or rebuilt as necessary. Additional configura‐
22938 tion flags can be specified on the command line and these extend the
22939 project configuration from the 'cabal.project', 'cabal.project.local'
22940 and other files.
22941
22942
22943 Runs the specified benchmarks, first ensuring they are up to date.
22944
22945 Any benchmark in any package in the project can be specified. A package
22946 can be specified in which case all the benchmarks in the package are
22947 run. The default is to run all the benchmarks in the package in the
22948 current directory.
22949
22950 Dependencies are built or rebuilt as necessary. Additional configura‐
22951 tion flags can be specified on the command line and these extend the
22952 project configuration from the 'cabal.project', 'cabal.project.local'
22953 and other files.
22954
22955
22956 Flags:
22957 -v, --verbose [n]
22958 Control verbosity (n is 0--3, default verbosity level is
22959 1)
22960
22961 --builddir, --distdir, --distpref DIR
22962 The directory where Cabal puts generated build files (de‐
22963 fault dist)
22964
22965 -g, --ghc
22966 compile with GHC
22967
22968 --ghcjs
22969 compile with GHCJS
22970
22971 --uhc
22972 compile with UHC
22973
22974 --haskell-suite
22975 compile with a haskell-suite compiler
22976
22977 --cabal-file PATH
22978 use this Cabal file
22979
22980 -w, --with-compiler PATH
22981 give the path to a particular compiler
22982
22983 --with-hc-pkg PATH
22984 give the path to the package tool
22985
22986 --prefix DIR
22987 bake this prefix in preparation of installation
22988
22989 --bindir DIR
22990 installation directory for executables
22991
22992 --libdir DIR
22993 installation directory for libraries
22994
22995 --libsubdir DIR
22996 subdirectory of libdir in which libs are installed
22997
22998 --dynlibdir DIR
22999 installation directory for dynamic libraries
23000
23001 --libexecdir DIR
23002 installation directory for program executables
23003
23004 --libexecsubdir DIR
23005 subdirectory of libexecdir in which private executables
23006 are installed
23007
23008 --datadir DIR
23009 installation directory for read-only data
23010
23011 --datasubdir DIR
23012 subdirectory of datadir in which data files are installed
23013
23014 --docdir DIR
23015 installation directory for documentation
23016
23017 --htmldir DIR
23018 installation directory for HTML documentation
23019
23020 --haddockdir DIR
23021 installation directory for haddock interfaces
23022
23023 --sysconfdir DIR
23024 installation directory for configuration files
23025
23026 --program-prefix PREFIX
23027 prefix to be applied to installed executables
23028
23029 --program-suffix SUFFIX
23030 suffix to be applied to installed executables
23031
23032 --enable-library-vanilla
23033 --disable-library-vanilla
23034 Vanilla libraries
23035
23036 -p, --enable-library-profiling
23037 --disable-library-profiling
23038 Library profiling
23039
23040 --enable-shared
23041 --disable-shared
23042 Shared library
23043
23044 --enable-static
23045 --disable-static
23046 Static library
23047
23048 --enable-executable-dynamic
23049 --disable-executable-dynamic
23050 Executable dynamic linking
23051
23052 --enable-executable-static
23053 --disable-executable-static
23054 Executable fully static linking
23055
23056 --enable-profiling
23057 --disable-profiling
23058 Executable and library profiling
23059
23060 --enable-executable-profiling
23061 --disable-executable-profiling
23062 Executable profiling (DEPRECATED)
23063
23064 --profiling-detail level
23065 Profiling detail level for executable and library (de‐
23066 fault, none, exported-functions, toplevel-functions,
23067 all-functions).
23068
23069 --library-profiling-detail level
23070 Profiling detail level for libraries only.
23071
23072 -O, --enable-optimization, --enable-optimisation [n]
23073 Build with optimization (n is 0--2, default is 1)
23074
23075 --disable-optimization, --disable-optimisation
23076 Build without optimization
23077
23078 --enable-debug-info [n]
23079 Emit debug info (n is 0--3, default is 0)
23080
23081 --disable-debug-info
23082 Don't emit debug info
23083
23084 --enable-library-for-ghci
23085 --disable-library-for-ghci
23086 compile library for use with GHCi
23087
23088 --enable-split-sections
23089 --disable-split-sections
23090 compile library code such that unneeded definitions can
23091 be dropped from the final executable (GHC 7.8+)
23092
23093 --enable-split-objs
23094 --disable-split-objs
23095 split library into smaller objects to reduce binary sizes
23096 (GHC 6.6+)
23097
23098 --enable-executable-stripping
23099 --disable-executable-stripping
23100 strip executables upon installation to reduce binary
23101 sizes
23102
23103 --enable-library-stripping
23104 --disable-library-stripping
23105 strip libraries upon installation to reduce binary sizes
23106
23107 --configure-option OPT
23108 Extra option for configure
23109
23110 --user
23111 --global
23112 doing a per-user installation
23113
23114 --package-db DB
23115 Append the given package database to the list of package
23116 databases used (to satisfy dependencies and register
23117 into). May be a specific file, 'global' or 'user'. The
23118 initial list is ['global'], ['global', 'user'], or
23119 ['global', $sandbox], depending on context. Use 'clear'
23120 to reset the list to empty. See the user guide for de‐
23121 tails.
23122
23123 -f, --flags FLAGS
23124 Force values for the given flags in Cabal conditionals in
23125 the .cabal file. E.g., --flags="debug -usebytestrings"
23126 forces the flag "debug" to true and "usebytestrings" to
23127 false.
23128
23129 --extra-include-dirs PATH
23130 A list of directories to search for header files
23131
23132 --enable-deterministic
23133 --disable-deterministic
23134 Try to be as deterministic as possible (used by the test
23135 suite)
23136
23137 --ipid IPID
23138 Installed package ID to compile this package as
23139
23140 --cid CID
23141 Installed component ID to compile this component as
23142
23143 --extra-lib-dirs PATH
23144 A list of directories to search for external libraries
23145
23146 --extra-framework-dirs PATH
23147 A list of directories to search for external frameworks
23148 (OS X only)
23149
23150 --extra-prog-path PATH
23151 A list of directories to search for required programs (in
23152 addition to the normal search locations)
23153
23154 --instantiate-with NAME=MOD
23155 A mapping of signature names to concrete module instanti‐
23156 ations.
23157
23158 --enable-tests
23159 --disable-tests
23160 dependency checking and compilation for test suites
23161 listed in the package description file.
23162
23163 --enable-coverage
23164 --disable-coverage
23165 build package with Haskell Program Coverage. (GHC only)
23166
23167 --enable-library-coverage
23168 --disable-library-coverage
23169 build package with Haskell Program Coverage. (GHC only)
23170 (DEPRECATED)
23171
23172 --enable-benchmarks
23173 --disable-benchmarks
23174 dependency checking and compilation for benchmarks listed
23175 in the package description file.
23176
23177 --enable-relocatable
23178 --disable-relocatable
23179 building a package that is relocatable. (GHC only)
23180
23181 --disable-response-files
23182 enable workaround for old versions of programs like "ar"
23183 that do not support @file arguments
23184
23185 --allow-depending-on-private-libs
23186 Allow depending on private libraries. If set, the library
23187 visibility check MUST be done externally.
23188
23189 --with-alex PATH
23190 give the path to alex
23191
23192 --with-ar PATH
23193 give the path to ar
23194
23195 --with-c2hs PATH
23196 give the path to c2hs
23197
23198 --with-cpphs PATH
23199 give the path to cpphs
23200
23201 --with-doctest PATH
23202 give the path to doctest
23203
23204 --with-gcc PATH
23205 give the path to gcc
23206
23207 --with-ghc PATH
23208 give the path to ghc
23209
23210 --with-ghc-pkg PATH
23211 give the path to ghc-pkg
23212
23213 --with-ghcjs PATH
23214 give the path to ghcjs
23215
23216 --with-ghcjs-pkg PATH
23217 give the path to ghcjs-pkg
23218
23219 --with-greencard PATH
23220 give the path to greencard
23221
23222 --with-haddock PATH
23223 give the path to haddock
23224
23225 --with-happy PATH
23226 give the path to happy
23227
23228 --with-haskell-suite PATH
23229 give the path to haskell-suite
23230
23231 --with-haskell-suite-pkg PATH
23232 give the path to haskell-suite-pkg
23233
23234 --with-hmake PATH
23235 give the path to hmake
23236
23237 --with-hpc PATH
23238 give the path to hpc
23239
23240 --with-hsc2hs PATH
23241 give the path to hsc2hs
23242
23243 --with-hscolour PATH
23244 give the path to hscolour
23245
23246 --with-jhc PATH
23247 give the path to jhc
23248
23249 --with-ld PATH
23250 give the path to ld
23251
23252 --with-pkg-config PATH
23253 give the path to pkg-config
23254
23255 --with-runghc PATH
23256 give the path to runghc
23257
23258 --with-strip PATH
23259 give the path to strip
23260
23261 --with-tar PATH
23262 give the path to tar
23263
23264 --with-uhc PATH
23265 give the path to uhc
23266
23267 --alex-option OPT
23268 give an extra option to alex (no need to quote options
23269 containing spaces)
23270
23271 --ar-option OPT
23272 give an extra option to ar (no need to quote options con‐
23273 taining spaces)
23274
23275 --c2hs-option OPT
23276 give an extra option to c2hs (no need to quote options
23277 containing spaces)
23278
23279 --cpphs-option OPT
23280 give an extra option to cpphs (no need to quote options
23281 containing spaces)
23282
23283 --doctest-option OPT
23284 give an extra option to doctest (no need to quote options
23285 containing spaces)
23286
23287 --gcc-option OPT
23288 give an extra option to gcc (no need to quote options
23289 containing spaces)
23290
23291 --ghc-option OPT
23292 give an extra option to ghc (no need to quote options
23293 containing spaces)
23294
23295 --ghc-pkg-option OPT
23296 give an extra option to ghc-pkg (no need to quote options
23297 containing spaces)
23298
23299 --ghcjs-option OPT
23300 give an extra option to ghcjs (no need to quote options
23301 containing spaces)
23302
23303 --ghcjs-pkg-option OPT
23304 give an extra option to ghcjs-pkg (no need to quote op‐
23305 tions containing spaces)
23306
23307 --greencard-option OPT
23308 give an extra option to greencard (no need to quote op‐
23309 tions containing spaces)
23310
23311 --haddock-option OPT
23312 give an extra option to haddock (no need to quote options
23313 containing spaces)
23314
23315 --happy-option OPT
23316 give an extra option to happy (no need to quote options
23317 containing spaces)
23318
23319 --haskell-suite-option OPT
23320 give an extra option to haskell-suite (no need to quote
23321 options containing spaces)
23322
23323 --haskell-suite-pkg-option OPT
23324 give an extra option to haskell-suite-pkg (no need to
23325 quote options containing spaces)
23326
23327 --hmake-option OPT
23328 give an extra option to hmake (no need to quote options
23329 containing spaces)
23330
23331 --hpc-option OPT
23332 give an extra option to hpc (no need to quote options
23333 containing spaces)
23334
23335 --hsc2hs-option OPT
23336 give an extra option to hsc2hs (no need to quote options
23337 containing spaces)
23338
23339 --hscolour-option OPT
23340 give an extra option to hscolour (no need to quote op‐
23341 tions containing spaces)
23342
23343 --jhc-option OPT
23344 give an extra option to jhc (no need to quote options
23345 containing spaces)
23346
23347 --ld-option OPT
23348 give an extra option to ld (no need to quote options con‐
23349 taining spaces)
23350
23351 --pkg-config-option OPT
23352 give an extra option to pkg-config (no need to quote op‐
23353 tions containing spaces)
23354
23355 --runghc-option OPT
23356 give an extra option to runghc (no need to quote options
23357 containing spaces)
23358
23359 --strip-option OPT
23360 give an extra option to strip (no need to quote options
23361 containing spaces)
23362
23363 --tar-option OPT
23364 give an extra option to tar (no need to quote options
23365 containing spaces)
23366
23367 --uhc-option OPT
23368 give an extra option to uhc (no need to quote options
23369 containing spaces)
23370
23371 --alex-options OPTS
23372 give extra options to alex
23373
23374 --ar-options OPTS
23375 give extra options to ar
23376
23377 --c2hs-options OPTS
23378 give extra options to c2hs
23379
23380 --cpphs-options OPTS
23381 give extra options to cpphs
23382
23383 --doctest-options OPTS
23384 give extra options to doctest
23385
23386 --gcc-options OPTS
23387 give extra options to gcc
23388
23389 --ghc-options OPTS
23390 give extra options to ghc
23391
23392 --ghc-pkg-options OPTS
23393 give extra options to ghc-pkg
23394
23395 --ghcjs-options OPTS
23396 give extra options to ghcjs
23397
23398 --ghcjs-pkg-options OPTS
23399 give extra options to ghcjs-pkg
23400
23401 --greencard-options OPTS
23402 give extra options to greencard
23403
23404 --haddock-options OPTS
23405 give extra options to haddock
23406
23407 --happy-options OPTS
23408 give extra options to happy
23409
23410 --haskell-suite-options OPTS
23411 give extra options to haskell-suite
23412
23413 --haskell-suite-pkg-options OPTS
23414 give extra options to haskell-suite-pkg
23415
23416 --hmake-options OPTS
23417 give extra options to hmake
23418
23419 --hpc-options OPTS
23420 give extra options to hpc
23421
23422 --hsc2hs-options OPTS
23423 give extra options to hsc2hs
23424
23425 --hscolour-options OPTS
23426 give extra options to hscolour
23427
23428 --jhc-options OPTS
23429 give extra options to jhc
23430
23431 --ld-options OPTS
23432 give extra options to ld
23433
23434 --pkg-config-options OPTS
23435 give extra options to pkg-config
23436
23437 --runghc-options OPTS
23438 give extra options to runghc
23439
23440 --strip-options OPTS
23441 give extra options to strip
23442
23443 --tar-options OPTS
23444 give extra options to tar
23445
23446 --uhc-options OPTS
23447 give extra options to uhc
23448
23449 --cabal-lib-version VERSION
23450 Select which version of the Cabal lib to use to build
23451 packages (useful for testing).
23452
23453 --constraint CONSTRAINT
23454 Specify constraints on a package (version, in‐
23455 stalled/source, flags)
23456
23457 --preference CONSTRAINT
23458 Specify preferences (soft constraints) on the version of
23459 a package
23460
23461 --solver SOLVER
23462 Select dependency solver to use (default: modular).
23463 Choices: modular.
23464
23465 --allow-older [DEPS]
23466 Ignore lower bounds in all dependencies or DEPS
23467
23468 --allow-newer [DEPS]
23469 Ignore upper bounds in all dependencies or DEPS
23470
23471 --write-ghc-environment-files always|never|ghc8.4.4+
23472 Whether to create a .ghc.environment file after a suc‐
23473 cessful build (v2-build only)
23474
23475 --enable-documentation
23476 --disable-documentation
23477 building of documentation
23478
23479 --doc-index-file TEMPLATE
23480 A central index of haddock API documentation (template
23481 cannot use $pkgid)
23482
23483 --dry-run
23484 Do not install anything, only print what would be in‐
23485 stalled.
23486
23487 --max-backjumps NUM
23488 Maximum number of backjumps allowed while solving (de‐
23489 fault: 4000). Use a negative number to enable unlimited
23490 backtracking. Use 0 to disable backtracking completely.
23491
23492 --reorder-goals
23493 --no-reorder-goals
23494 Try to reorder goals according to certain heuristics.
23495 Slows things down on average, but may make backtracking
23496 faster for some packages.
23497
23498 --count-conflicts
23499 --no-count-conflicts
23500 Try to speed up solving by preferring goals that are in‐
23501 volved in a lot of conflicts (default).
23502
23503 --fine-grained-conflicts
23504 --no-fine-grained-conflicts
23505 Skip a version of a package if it does not resolve the
23506 conflicts encountered in the last version, as a solver
23507 optimization (default).
23508
23509 --minimize-conflict-set
23510 --no-minimize-conflict-set
23511 When there is no solution, try to improve the error mes‐
23512 sage by finding a minimal conflict set (default: false).
23513 May increase run time significantly.
23514
23515 --independent-goals
23516 --no-independent-goals
23517 Treat several goals on the command line as independent.
23518 If several goals depend on the same package, different
23519 versions can be chosen.
23520
23521 --shadow-installed-packages
23522 --no-shadow-installed-packages
23523 If multiple package instances of the same version are in‐
23524 stalled, treat all but one as shadowed.
23525
23526 --strong-flags
23527 --no-strong-flags
23528 Do not defer flag choices (this used to be the default in
23529 cabal-install <= 1.20).
23530
23531 --allow-boot-library-installs
23532 --no-allow-boot-library-installs
23533 Allow cabal to install base, ghc-prim, integer-simple,
23534 integer-gmp, and template-haskell.
23535
23536 --reject-unconstrained-dependencies none|all
23537 Require these packages to have constraints on them if
23538 they are to be selected (default: none).
23539
23540 --reinstall
23541 --no-reinstall
23542 Install even if it means installing the same version
23543 again.
23544
23545 --avoid-reinstalls
23546 --no-avoid-reinstalls
23547 Do not select versions that would destructively overwrite
23548 installed packages.
23549
23550 --force-reinstalls
23551 --no-force-reinstalls
23552 Reinstall packages even if they will most likely break
23553 other installed packages.
23554
23555 --upgrade-dependencies
23556 --no-upgrade-dependencies
23557 Pick the latest version for all dependencies, rather than
23558 trying to pick an installed version.
23559
23560 --only-dependencies
23561 --no-only-dependencies
23562 Install only the dependencies necessary to build the
23563 given packages
23564
23565 --dependencies-only
23566 --no-dependencies-only
23567 A synonym for --only-dependencies
23568
23569 --index-state STATE
23570 Use source package index state as it existed at a previ‐
23571 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
23572 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
23573 'HEAD' (default: 'HEAD').
23574
23575 --root-cmd COMMAND
23576 (No longer supported, do not use.)
23577
23578 --symlink-bindir DIR
23579 Add symlinks to installed executables into this direc‐
23580 tory.
23581
23582 --build-summary TEMPLATE
23583 Save build summaries to file (name template can use
23584 $pkgid, $compiler, $os, $arch)
23585
23586 --build-log TEMPLATE
23587 Log all builds to file (name template can use $pkgid,
23588 $compiler, $os, $arch)
23589
23590 --remote-build-reporting LEVEL
23591 Generate build reports to send to a remote server (none,
23592 anonymous or detailed).
23593
23594 --report-planning-failure
23595 Generate build reports when the dependency solver fails.
23596 This is used by the Hackage build bot.
23597
23598 --enable-per-component
23599 --disable-per-component
23600 Per-component builds when possible
23601
23602 --one-shot
23603 --no-one-shot
23604 Do not record the packages in the world file.
23605
23606 --run-tests
23607 Run package test suites during installation.
23608
23609 -j, --jobs [NUM]
23610 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
23611 given).
23612
23613 --keep-going
23614 After a build failure, continue to build other unaffected
23615 packages.
23616
23617 --offline
23618 --no-offline
23619 Don't download packages from the Internet.
23620
23621 --project-file FILE
23622 Set the name of the cabal.project file to search for in
23623 parent directories
23624
23625 --only
23626 Only installs the package in the current directory.
23627
23628 --haddock-hoogle
23629 Generate a hoogle database
23630
23631 --haddock-html
23632 Generate HTML documentation (the default)
23633
23634 --haddock-html-location URL
23635 Location of HTML documentation for pre-requisite packages
23636
23637 --haddock-for-hackage
23638 Collection of flags to generate documentation suitable
23639 for upload to hackage
23640
23641 --haddock-executables
23642 Run haddock for Executables targets
23643
23644 --haddock-tests
23645 Run haddock for Test Suite targets
23646
23647 --haddock-benchmarks
23648 Run haddock for Benchmark targets
23649
23650 --haddock-all
23651 Run haddock for all targets
23652
23653 --haddock-internal
23654 Run haddock for internal modules and include all symbols
23655
23656 --haddock-css PATH
23657 Use PATH as the haddock stylesheet
23658
23659 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
23660 dock-hyperlinked-source
23661 Hyperlink the documentation to the source code
23662
23663 --haddock-quickjump
23664 Generate an index for interactive documentation naviga‐
23665 tion
23666
23667 --haddock-hscolour-css PATH
23668 Use PATH as the HsColour stylesheet
23669
23670 --haddock-contents-location URL
23671 Bake URL in as the location for the contents page
23672
23673 --test-log TEMPLATE
23674 Log all test suite results to file (name template can use
23675 $pkgid, $compiler, $os, $arch, $test-suite, $result)
23676
23677 --test-machine-log TEMPLATE
23678 Produce a machine-readable log file (name template can
23679 use $pkgid, $compiler, $os, $arch, $result)
23680
23681 --test-show-details FILTER
23682
23683 --test-keep-tix-files
23684 keep .tix files for HPC between test runs
23685
23686 --test-wrapper FILE
23687 Run test through a wrapper.
23688
23689 --test-fail-when-no-test-suites
23690 Exit with failure when no test suites are found.
23691
23692 --test-options TEMPLATES
23693 give extra options to test executables (name templates
23694 can use $pkgid, $compiler, $os, $arch, $test-suite)
23695
23696 --test-option TEMPLATE
23697 give extra option to test executables (no need to quote
23698 options containing spaces, name template can use $pkgid,
23699 $compiler, $os, $arch, $test-suite)
23700
23701 --benchmark-options TEMPLATES
23702 give extra options to benchmark executables (name tem‐
23703 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
23704
23705 --benchmark-option TEMPLATE
23706 give extra option to benchmark executables (no need to
23707 quote options containing spaces, name template can use
23708 $pkgid, $compiler, $os, $arch, $benchmark)
23709
23710
23711 cabal v2-bench
23712
23713 Usage: cabal v2-bench [TARGETS] [FLAGS]
23714
23715
23716 Runs the specified benchmarks, first ensuring they are up to date.
23717
23718 Any benchmark in any package in the project can be specified. A package
23719 can be specified in which case all the benchmarks in the package are
23720 run. The default is to run all the benchmarks in the package in the
23721 current directory.
23722
23723 Dependencies are built or rebuilt as necessary. Additional configura‐
23724 tion flags can be specified on the command line and these extend the
23725 project configuration from the 'cabal.project', 'cabal.project.local'
23726 and other files.
23727
23728
23729 Examples:
23730 cabal v2-bench
23731 Run all the benchmarks in the package in the current directory
23732 cabal v2-bench pkgname
23733 Run all the benchmarks in the package named pkgname
23734 cabal v2-bench cname
23735 Run the benchmark named cname
23736 cabal v2-bench cname -O2
23737 Run the benchmark built with '-O2' (including local libs used)
23738
23739 Note: this command is part of the new project-based system (aka nix-
23740 style local builds). These features are currently in beta. Please see
23741 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
23742 details and advice on what you can expect to work. If you encounter
23743 problems please file issues at https://github.com/haskell/cabal/issues
23744 and if you have any time to get involved and help with testing, fixing
23745 bugs etc then that is very much appreciated.
23746
23747
23748 Flags:
23749 -v, --verbose [n]
23750 Control verbosity (n is 0--3, default verbosity level is
23751 1)
23752
23753 --builddir, --distdir, --distpref DIR
23754 The directory where Cabal puts generated build files (de‐
23755 fault dist)
23756
23757 -g, --ghc
23758 compile with GHC
23759
23760 --ghcjs
23761 compile with GHCJS
23762
23763 --uhc
23764 compile with UHC
23765
23766 --haskell-suite
23767 compile with a haskell-suite compiler
23768
23769 --cabal-file PATH
23770 use this Cabal file
23771
23772 -w, --with-compiler PATH
23773 give the path to a particular compiler
23774
23775 --with-hc-pkg PATH
23776 give the path to the package tool
23777
23778 --prefix DIR
23779 bake this prefix in preparation of installation
23780
23781 --bindir DIR
23782 installation directory for executables
23783
23784 --libdir DIR
23785 installation directory for libraries
23786
23787 --libsubdir DIR
23788 subdirectory of libdir in which libs are installed
23789
23790 --dynlibdir DIR
23791 installation directory for dynamic libraries
23792
23793 --libexecdir DIR
23794 installation directory for program executables
23795
23796 --libexecsubdir DIR
23797 subdirectory of libexecdir in which private executables
23798 are installed
23799
23800 --datadir DIR
23801 installation directory for read-only data
23802
23803 --datasubdir DIR
23804 subdirectory of datadir in which data files are installed
23805
23806 --docdir DIR
23807 installation directory for documentation
23808
23809 --htmldir DIR
23810 installation directory for HTML documentation
23811
23812 --haddockdir DIR
23813 installation directory for haddock interfaces
23814
23815 --sysconfdir DIR
23816 installation directory for configuration files
23817
23818 --program-prefix PREFIX
23819 prefix to be applied to installed executables
23820
23821 --program-suffix SUFFIX
23822 suffix to be applied to installed executables
23823
23824 --enable-library-vanilla
23825 --disable-library-vanilla
23826 Vanilla libraries
23827
23828 -p, --enable-library-profiling
23829 --disable-library-profiling
23830 Library profiling
23831
23832 --enable-shared
23833 --disable-shared
23834 Shared library
23835
23836 --enable-static
23837 --disable-static
23838 Static library
23839
23840 --enable-executable-dynamic
23841 --disable-executable-dynamic
23842 Executable dynamic linking
23843
23844 --enable-executable-static
23845 --disable-executable-static
23846 Executable fully static linking
23847
23848 --enable-profiling
23849 --disable-profiling
23850 Executable and library profiling
23851
23852 --enable-executable-profiling
23853 --disable-executable-profiling
23854 Executable profiling (DEPRECATED)
23855
23856 --profiling-detail level
23857 Profiling detail level for executable and library (de‐
23858 fault, none, exported-functions, toplevel-functions,
23859 all-functions).
23860
23861 --library-profiling-detail level
23862 Profiling detail level for libraries only.
23863
23864 -O, --enable-optimization, --enable-optimisation [n]
23865 Build with optimization (n is 0--2, default is 1)
23866
23867 --disable-optimization, --disable-optimisation
23868 Build without optimization
23869
23870 --enable-debug-info [n]
23871 Emit debug info (n is 0--3, default is 0)
23872
23873 --disable-debug-info
23874 Don't emit debug info
23875
23876 --enable-library-for-ghci
23877 --disable-library-for-ghci
23878 compile library for use with GHCi
23879
23880 --enable-split-sections
23881 --disable-split-sections
23882 compile library code such that unneeded definitions can
23883 be dropped from the final executable (GHC 7.8+)
23884
23885 --enable-split-objs
23886 --disable-split-objs
23887 split library into smaller objects to reduce binary sizes
23888 (GHC 6.6+)
23889
23890 --enable-executable-stripping
23891 --disable-executable-stripping
23892 strip executables upon installation to reduce binary
23893 sizes
23894
23895 --enable-library-stripping
23896 --disable-library-stripping
23897 strip libraries upon installation to reduce binary sizes
23898
23899 --configure-option OPT
23900 Extra option for configure
23901
23902 --user
23903 --global
23904 doing a per-user installation
23905
23906 --package-db DB
23907 Append the given package database to the list of package
23908 databases used (to satisfy dependencies and register
23909 into). May be a specific file, 'global' or 'user'. The
23910 initial list is ['global'], ['global', 'user'], or
23911 ['global', $sandbox], depending on context. Use 'clear'
23912 to reset the list to empty. See the user guide for de‐
23913 tails.
23914
23915 -f, --flags FLAGS
23916 Force values for the given flags in Cabal conditionals in
23917 the .cabal file. E.g., --flags="debug -usebytestrings"
23918 forces the flag "debug" to true and "usebytestrings" to
23919 false.
23920
23921 --extra-include-dirs PATH
23922 A list of directories to search for header files
23923
23924 --enable-deterministic
23925 --disable-deterministic
23926 Try to be as deterministic as possible (used by the test
23927 suite)
23928
23929 --ipid IPID
23930 Installed package ID to compile this package as
23931
23932 --cid CID
23933 Installed component ID to compile this component as
23934
23935 --extra-lib-dirs PATH
23936 A list of directories to search for external libraries
23937
23938 --extra-framework-dirs PATH
23939 A list of directories to search for external frameworks
23940 (OS X only)
23941
23942 --extra-prog-path PATH
23943 A list of directories to search for required programs (in
23944 addition to the normal search locations)
23945
23946 --instantiate-with NAME=MOD
23947 A mapping of signature names to concrete module instanti‐
23948 ations.
23949
23950 --enable-tests
23951 --disable-tests
23952 dependency checking and compilation for test suites
23953 listed in the package description file.
23954
23955 --enable-coverage
23956 --disable-coverage
23957 build package with Haskell Program Coverage. (GHC only)
23958
23959 --enable-library-coverage
23960 --disable-library-coverage
23961 build package with Haskell Program Coverage. (GHC only)
23962 (DEPRECATED)
23963
23964 --enable-benchmarks
23965 --disable-benchmarks
23966 dependency checking and compilation for benchmarks listed
23967 in the package description file.
23968
23969 --enable-relocatable
23970 --disable-relocatable
23971 building a package that is relocatable. (GHC only)
23972
23973 --disable-response-files
23974 enable workaround for old versions of programs like "ar"
23975 that do not support @file arguments
23976
23977 --allow-depending-on-private-libs
23978 Allow depending on private libraries. If set, the library
23979 visibility check MUST be done externally.
23980
23981 --with-alex PATH
23982 give the path to alex
23983
23984 --with-ar PATH
23985 give the path to ar
23986
23987 --with-c2hs PATH
23988 give the path to c2hs
23989
23990 --with-cpphs PATH
23991 give the path to cpphs
23992
23993 --with-doctest PATH
23994 give the path to doctest
23995
23996 --with-gcc PATH
23997 give the path to gcc
23998
23999 --with-ghc PATH
24000 give the path to ghc
24001
24002 --with-ghc-pkg PATH
24003 give the path to ghc-pkg
24004
24005 --with-ghcjs PATH
24006 give the path to ghcjs
24007
24008 --with-ghcjs-pkg PATH
24009 give the path to ghcjs-pkg
24010
24011 --with-greencard PATH
24012 give the path to greencard
24013
24014 --with-haddock PATH
24015 give the path to haddock
24016
24017 --with-happy PATH
24018 give the path to happy
24019
24020 --with-haskell-suite PATH
24021 give the path to haskell-suite
24022
24023 --with-haskell-suite-pkg PATH
24024 give the path to haskell-suite-pkg
24025
24026 --with-hmake PATH
24027 give the path to hmake
24028
24029 --with-hpc PATH
24030 give the path to hpc
24031
24032 --with-hsc2hs PATH
24033 give the path to hsc2hs
24034
24035 --with-hscolour PATH
24036 give the path to hscolour
24037
24038 --with-jhc PATH
24039 give the path to jhc
24040
24041 --with-ld PATH
24042 give the path to ld
24043
24044 --with-pkg-config PATH
24045 give the path to pkg-config
24046
24047 --with-runghc PATH
24048 give the path to runghc
24049
24050 --with-strip PATH
24051 give the path to strip
24052
24053 --with-tar PATH
24054 give the path to tar
24055
24056 --with-uhc PATH
24057 give the path to uhc
24058
24059 --alex-option OPT
24060 give an extra option to alex (no need to quote options
24061 containing spaces)
24062
24063 --ar-option OPT
24064 give an extra option to ar (no need to quote options con‐
24065 taining spaces)
24066
24067 --c2hs-option OPT
24068 give an extra option to c2hs (no need to quote options
24069 containing spaces)
24070
24071 --cpphs-option OPT
24072 give an extra option to cpphs (no need to quote options
24073 containing spaces)
24074
24075 --doctest-option OPT
24076 give an extra option to doctest (no need to quote options
24077 containing spaces)
24078
24079 --gcc-option OPT
24080 give an extra option to gcc (no need to quote options
24081 containing spaces)
24082
24083 --ghc-option OPT
24084 give an extra option to ghc (no need to quote options
24085 containing spaces)
24086
24087 --ghc-pkg-option OPT
24088 give an extra option to ghc-pkg (no need to quote options
24089 containing spaces)
24090
24091 --ghcjs-option OPT
24092 give an extra option to ghcjs (no need to quote options
24093 containing spaces)
24094
24095 --ghcjs-pkg-option OPT
24096 give an extra option to ghcjs-pkg (no need to quote op‐
24097 tions containing spaces)
24098
24099 --greencard-option OPT
24100 give an extra option to greencard (no need to quote op‐
24101 tions containing spaces)
24102
24103 --haddock-option OPT
24104 give an extra option to haddock (no need to quote options
24105 containing spaces)
24106
24107 --happy-option OPT
24108 give an extra option to happy (no need to quote options
24109 containing spaces)
24110
24111 --haskell-suite-option OPT
24112 give an extra option to haskell-suite (no need to quote
24113 options containing spaces)
24114
24115 --haskell-suite-pkg-option OPT
24116 give an extra option to haskell-suite-pkg (no need to
24117 quote options containing spaces)
24118
24119 --hmake-option OPT
24120 give an extra option to hmake (no need to quote options
24121 containing spaces)
24122
24123 --hpc-option OPT
24124 give an extra option to hpc (no need to quote options
24125 containing spaces)
24126
24127 --hsc2hs-option OPT
24128 give an extra option to hsc2hs (no need to quote options
24129 containing spaces)
24130
24131 --hscolour-option OPT
24132 give an extra option to hscolour (no need to quote op‐
24133 tions containing spaces)
24134
24135 --jhc-option OPT
24136 give an extra option to jhc (no need to quote options
24137 containing spaces)
24138
24139 --ld-option OPT
24140 give an extra option to ld (no need to quote options con‐
24141 taining spaces)
24142
24143 --pkg-config-option OPT
24144 give an extra option to pkg-config (no need to quote op‐
24145 tions containing spaces)
24146
24147 --runghc-option OPT
24148 give an extra option to runghc (no need to quote options
24149 containing spaces)
24150
24151 --strip-option OPT
24152 give an extra option to strip (no need to quote options
24153 containing spaces)
24154
24155 --tar-option OPT
24156 give an extra option to tar (no need to quote options
24157 containing spaces)
24158
24159 --uhc-option OPT
24160 give an extra option to uhc (no need to quote options
24161 containing spaces)
24162
24163 --alex-options OPTS
24164 give extra options to alex
24165
24166 --ar-options OPTS
24167 give extra options to ar
24168
24169 --c2hs-options OPTS
24170 give extra options to c2hs
24171
24172 --cpphs-options OPTS
24173 give extra options to cpphs
24174
24175 --doctest-options OPTS
24176 give extra options to doctest
24177
24178 --gcc-options OPTS
24179 give extra options to gcc
24180
24181 --ghc-options OPTS
24182 give extra options to ghc
24183
24184 --ghc-pkg-options OPTS
24185 give extra options to ghc-pkg
24186
24187 --ghcjs-options OPTS
24188 give extra options to ghcjs
24189
24190 --ghcjs-pkg-options OPTS
24191 give extra options to ghcjs-pkg
24192
24193 --greencard-options OPTS
24194 give extra options to greencard
24195
24196 --haddock-options OPTS
24197 give extra options to haddock
24198
24199 --happy-options OPTS
24200 give extra options to happy
24201
24202 --haskell-suite-options OPTS
24203 give extra options to haskell-suite
24204
24205 --haskell-suite-pkg-options OPTS
24206 give extra options to haskell-suite-pkg
24207
24208 --hmake-options OPTS
24209 give extra options to hmake
24210
24211 --hpc-options OPTS
24212 give extra options to hpc
24213
24214 --hsc2hs-options OPTS
24215 give extra options to hsc2hs
24216
24217 --hscolour-options OPTS
24218 give extra options to hscolour
24219
24220 --jhc-options OPTS
24221 give extra options to jhc
24222
24223 --ld-options OPTS
24224 give extra options to ld
24225
24226 --pkg-config-options OPTS
24227 give extra options to pkg-config
24228
24229 --runghc-options OPTS
24230 give extra options to runghc
24231
24232 --strip-options OPTS
24233 give extra options to strip
24234
24235 --tar-options OPTS
24236 give extra options to tar
24237
24238 --uhc-options OPTS
24239 give extra options to uhc
24240
24241 --cabal-lib-version VERSION
24242 Select which version of the Cabal lib to use to build
24243 packages (useful for testing).
24244
24245 --constraint CONSTRAINT
24246 Specify constraints on a package (version, in‐
24247 stalled/source, flags)
24248
24249 --preference CONSTRAINT
24250 Specify preferences (soft constraints) on the version of
24251 a package
24252
24253 --solver SOLVER
24254 Select dependency solver to use (default: modular).
24255 Choices: modular.
24256
24257 --allow-older [DEPS]
24258 Ignore lower bounds in all dependencies or DEPS
24259
24260 --allow-newer [DEPS]
24261 Ignore upper bounds in all dependencies or DEPS
24262
24263 --write-ghc-environment-files always|never|ghc8.4.4+
24264 Whether to create a .ghc.environment file after a suc‐
24265 cessful build (v2-build only)
24266
24267 --enable-documentation
24268 --disable-documentation
24269 building of documentation
24270
24271 --doc-index-file TEMPLATE
24272 A central index of haddock API documentation (template
24273 cannot use $pkgid)
24274
24275 --dry-run
24276 Do not install anything, only print what would be in‐
24277 stalled.
24278
24279 --max-backjumps NUM
24280 Maximum number of backjumps allowed while solving (de‐
24281 fault: 4000). Use a negative number to enable unlimited
24282 backtracking. Use 0 to disable backtracking completely.
24283
24284 --reorder-goals
24285 --no-reorder-goals
24286 Try to reorder goals according to certain heuristics.
24287 Slows things down on average, but may make backtracking
24288 faster for some packages.
24289
24290 --count-conflicts
24291 --no-count-conflicts
24292 Try to speed up solving by preferring goals that are in‐
24293 volved in a lot of conflicts (default).
24294
24295 --fine-grained-conflicts
24296 --no-fine-grained-conflicts
24297 Skip a version of a package if it does not resolve the
24298 conflicts encountered in the last version, as a solver
24299 optimization (default).
24300
24301 --minimize-conflict-set
24302 --no-minimize-conflict-set
24303 When there is no solution, try to improve the error mes‐
24304 sage by finding a minimal conflict set (default: false).
24305 May increase run time significantly.
24306
24307 --independent-goals
24308 --no-independent-goals
24309 Treat several goals on the command line as independent.
24310 If several goals depend on the same package, different
24311 versions can be chosen.
24312
24313 --shadow-installed-packages
24314 --no-shadow-installed-packages
24315 If multiple package instances of the same version are in‐
24316 stalled, treat all but one as shadowed.
24317
24318 --strong-flags
24319 --no-strong-flags
24320 Do not defer flag choices (this used to be the default in
24321 cabal-install <= 1.20).
24322
24323 --allow-boot-library-installs
24324 --no-allow-boot-library-installs
24325 Allow cabal to install base, ghc-prim, integer-simple,
24326 integer-gmp, and template-haskell.
24327
24328 --reject-unconstrained-dependencies none|all
24329 Require these packages to have constraints on them if
24330 they are to be selected (default: none).
24331
24332 --reinstall
24333 --no-reinstall
24334 Install even if it means installing the same version
24335 again.
24336
24337 --avoid-reinstalls
24338 --no-avoid-reinstalls
24339 Do not select versions that would destructively overwrite
24340 installed packages.
24341
24342 --force-reinstalls
24343 --no-force-reinstalls
24344 Reinstall packages even if they will most likely break
24345 other installed packages.
24346
24347 --upgrade-dependencies
24348 --no-upgrade-dependencies
24349 Pick the latest version for all dependencies, rather than
24350 trying to pick an installed version.
24351
24352 --only-dependencies
24353 --no-only-dependencies
24354 Install only the dependencies necessary to build the
24355 given packages
24356
24357 --dependencies-only
24358 --no-dependencies-only
24359 A synonym for --only-dependencies
24360
24361 --index-state STATE
24362 Use source package index state as it existed at a previ‐
24363 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
24364 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
24365 'HEAD' (default: 'HEAD').
24366
24367 --root-cmd COMMAND
24368 (No longer supported, do not use.)
24369
24370 --symlink-bindir DIR
24371 Add symlinks to installed executables into this direc‐
24372 tory.
24373
24374 --build-summary TEMPLATE
24375 Save build summaries to file (name template can use
24376 $pkgid, $compiler, $os, $arch)
24377
24378 --build-log TEMPLATE
24379 Log all builds to file (name template can use $pkgid,
24380 $compiler, $os, $arch)
24381
24382 --remote-build-reporting LEVEL
24383 Generate build reports to send to a remote server (none,
24384 anonymous or detailed).
24385
24386 --report-planning-failure
24387 Generate build reports when the dependency solver fails.
24388 This is used by the Hackage build bot.
24389
24390 --enable-per-component
24391 --disable-per-component
24392 Per-component builds when possible
24393
24394 --one-shot
24395 --no-one-shot
24396 Do not record the packages in the world file.
24397
24398 --run-tests
24399 Run package test suites during installation.
24400
24401 -j, --jobs [NUM]
24402 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
24403 given).
24404
24405 --keep-going
24406 After a build failure, continue to build other unaffected
24407 packages.
24408
24409 --offline
24410 --no-offline
24411 Don't download packages from the Internet.
24412
24413 --project-file FILE
24414 Set the name of the cabal.project file to search for in
24415 parent directories
24416
24417 --only
24418 Only installs the package in the current directory.
24419
24420 --haddock-hoogle
24421 Generate a hoogle database
24422
24423 --haddock-html
24424 Generate HTML documentation (the default)
24425
24426 --haddock-html-location URL
24427 Location of HTML documentation for pre-requisite packages
24428
24429 --haddock-for-hackage
24430 Collection of flags to generate documentation suitable
24431 for upload to hackage
24432
24433 --haddock-executables
24434 Run haddock for Executables targets
24435
24436 --haddock-tests
24437 Run haddock for Test Suite targets
24438
24439 --haddock-benchmarks
24440 Run haddock for Benchmark targets
24441
24442 --haddock-all
24443 Run haddock for all targets
24444
24445 --haddock-internal
24446 Run haddock for internal modules and include all symbols
24447
24448 --haddock-css PATH
24449 Use PATH as the haddock stylesheet
24450
24451 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
24452 dock-hyperlinked-source
24453 Hyperlink the documentation to the source code
24454
24455 --haddock-quickjump
24456 Generate an index for interactive documentation naviga‐
24457 tion
24458
24459 --haddock-hscolour-css PATH
24460 Use PATH as the HsColour stylesheet
24461
24462 --haddock-contents-location URL
24463 Bake URL in as the location for the contents page
24464
24465 --test-log TEMPLATE
24466 Log all test suite results to file (name template can use
24467 $pkgid, $compiler, $os, $arch, $test-suite, $result)
24468
24469 --test-machine-log TEMPLATE
24470 Produce a machine-readable log file (name template can
24471 use $pkgid, $compiler, $os, $arch, $result)
24472
24473 --test-show-details FILTER
24474
24475 --test-keep-tix-files
24476 keep .tix files for HPC between test runs
24477
24478 --test-wrapper FILE
24479 Run test through a wrapper.
24480
24481 --test-fail-when-no-test-suites
24482 Exit with failure when no test suites are found.
24483
24484 --test-options TEMPLATES
24485 give extra options to test executables (name templates
24486 can use $pkgid, $compiler, $os, $arch, $test-suite)
24487
24488 --test-option TEMPLATE
24489 give extra option to test executables (no need to quote
24490 options containing spaces, name template can use $pkgid,
24491 $compiler, $os, $arch, $test-suite)
24492
24493 --benchmark-options TEMPLATES
24494 give extra options to benchmark executables (name tem‐
24495 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
24496
24497 --benchmark-option TEMPLATE
24498 give extra option to benchmark executables (no need to
24499 quote options containing spaces, name template can use
24500 $pkgid, $compiler, $os, $arch, $benchmark)
24501
24502
24503 cabal exec
24504
24505 Usage: cabal exec [FLAGS] [--] COMMAND [--] [ARGS]
24506
24507
24508 During development it is often useful to run build tasks and perform
24509 one-off program executions to experiment with the behavior of build
24510 tools. It is convenient to run these tools in the same way cabal itself
24511 would. The `cabal exec` command provides a way to do so.
24512
24513 Compiler tools will be configured to see the same subset of the store
24514 that builds would see. The PATH is modified to make all executables in
24515 the dependency tree available (provided they have been built already).
24516 Commands are also rewritten in the way cabal itself would. For example,
24517 `cabal exec ghc` will consult the configuration to choose an appropri‐
24518 ate version of ghc and to include any ghc-specific flags requested.
24519
24520
24521 During development it is often useful to run build tasks and perform
24522 one-off program executions to experiment with the behavior of build
24523 tools. It is convenient to run these tools in the same way cabal itself
24524 would. The `cabal exec` command provides a way to do so.
24525
24526 Compiler tools will be configured to see the same subset of the store
24527 that builds would see. The PATH is modified to make all executables in
24528 the dependency tree available (provided they have been built already).
24529 Commands are also rewritten in the way cabal itself would. For example,
24530 `cabal exec ghc` will consult the configuration to choose an appropri‐
24531 ate version of ghc and to include any ghc-specific flags requested.
24532
24533
24534 Flags:
24535 -v, --verbose [n]
24536 Control verbosity (n is 0--3, default verbosity level is
24537 1)
24538
24539 --builddir, --distdir, --distpref DIR
24540 The directory where Cabal puts generated build files (de‐
24541 fault dist)
24542
24543 -g, --ghc
24544 compile with GHC
24545
24546 --ghcjs
24547 compile with GHCJS
24548
24549 --uhc
24550 compile with UHC
24551
24552 --haskell-suite
24553 compile with a haskell-suite compiler
24554
24555 --cabal-file PATH
24556 use this Cabal file
24557
24558 -w, --with-compiler PATH
24559 give the path to a particular compiler
24560
24561 --with-hc-pkg PATH
24562 give the path to the package tool
24563
24564 --prefix DIR
24565 bake this prefix in preparation of installation
24566
24567 --bindir DIR
24568 installation directory for executables
24569
24570 --libdir DIR
24571 installation directory for libraries
24572
24573 --libsubdir DIR
24574 subdirectory of libdir in which libs are installed
24575
24576 --dynlibdir DIR
24577 installation directory for dynamic libraries
24578
24579 --libexecdir DIR
24580 installation directory for program executables
24581
24582 --libexecsubdir DIR
24583 subdirectory of libexecdir in which private executables
24584 are installed
24585
24586 --datadir DIR
24587 installation directory for read-only data
24588
24589 --datasubdir DIR
24590 subdirectory of datadir in which data files are installed
24591
24592 --docdir DIR
24593 installation directory for documentation
24594
24595 --htmldir DIR
24596 installation directory for HTML documentation
24597
24598 --haddockdir DIR
24599 installation directory for haddock interfaces
24600
24601 --sysconfdir DIR
24602 installation directory for configuration files
24603
24604 --program-prefix PREFIX
24605 prefix to be applied to installed executables
24606
24607 --program-suffix SUFFIX
24608 suffix to be applied to installed executables
24609
24610 --enable-library-vanilla
24611 --disable-library-vanilla
24612 Vanilla libraries
24613
24614 -p, --enable-library-profiling
24615 --disable-library-profiling
24616 Library profiling
24617
24618 --enable-shared
24619 --disable-shared
24620 Shared library
24621
24622 --enable-static
24623 --disable-static
24624 Static library
24625
24626 --enable-executable-dynamic
24627 --disable-executable-dynamic
24628 Executable dynamic linking
24629
24630 --enable-executable-static
24631 --disable-executable-static
24632 Executable fully static linking
24633
24634 --enable-profiling
24635 --disable-profiling
24636 Executable and library profiling
24637
24638 --enable-executable-profiling
24639 --disable-executable-profiling
24640 Executable profiling (DEPRECATED)
24641
24642 --profiling-detail level
24643 Profiling detail level for executable and library (de‐
24644 fault, none, exported-functions, toplevel-functions,
24645 all-functions).
24646
24647 --library-profiling-detail level
24648 Profiling detail level for libraries only.
24649
24650 -O, --enable-optimization, --enable-optimisation [n]
24651 Build with optimization (n is 0--2, default is 1)
24652
24653 --disable-optimization, --disable-optimisation
24654 Build without optimization
24655
24656 --enable-debug-info [n]
24657 Emit debug info (n is 0--3, default is 0)
24658
24659 --disable-debug-info
24660 Don't emit debug info
24661
24662 --enable-library-for-ghci
24663 --disable-library-for-ghci
24664 compile library for use with GHCi
24665
24666 --enable-split-sections
24667 --disable-split-sections
24668 compile library code such that unneeded definitions can
24669 be dropped from the final executable (GHC 7.8+)
24670
24671 --enable-split-objs
24672 --disable-split-objs
24673 split library into smaller objects to reduce binary sizes
24674 (GHC 6.6+)
24675
24676 --enable-executable-stripping
24677 --disable-executable-stripping
24678 strip executables upon installation to reduce binary
24679 sizes
24680
24681 --enable-library-stripping
24682 --disable-library-stripping
24683 strip libraries upon installation to reduce binary sizes
24684
24685 --configure-option OPT
24686 Extra option for configure
24687
24688 --user
24689 --global
24690 doing a per-user installation
24691
24692 --package-db DB
24693 Append the given package database to the list of package
24694 databases used (to satisfy dependencies and register
24695 into). May be a specific file, 'global' or 'user'. The
24696 initial list is ['global'], ['global', 'user'], or
24697 ['global', $sandbox], depending on context. Use 'clear'
24698 to reset the list to empty. See the user guide for de‐
24699 tails.
24700
24701 -f, --flags FLAGS
24702 Force values for the given flags in Cabal conditionals in
24703 the .cabal file. E.g., --flags="debug -usebytestrings"
24704 forces the flag "debug" to true and "usebytestrings" to
24705 false.
24706
24707 --extra-include-dirs PATH
24708 A list of directories to search for header files
24709
24710 --enable-deterministic
24711 --disable-deterministic
24712 Try to be as deterministic as possible (used by the test
24713 suite)
24714
24715 --ipid IPID
24716 Installed package ID to compile this package as
24717
24718 --cid CID
24719 Installed component ID to compile this component as
24720
24721 --extra-lib-dirs PATH
24722 A list of directories to search for external libraries
24723
24724 --extra-framework-dirs PATH
24725 A list of directories to search for external frameworks
24726 (OS X only)
24727
24728 --extra-prog-path PATH
24729 A list of directories to search for required programs (in
24730 addition to the normal search locations)
24731
24732 --instantiate-with NAME=MOD
24733 A mapping of signature names to concrete module instanti‐
24734 ations.
24735
24736 --enable-tests
24737 --disable-tests
24738 dependency checking and compilation for test suites
24739 listed in the package description file.
24740
24741 --enable-coverage
24742 --disable-coverage
24743 build package with Haskell Program Coverage. (GHC only)
24744
24745 --enable-library-coverage
24746 --disable-library-coverage
24747 build package with Haskell Program Coverage. (GHC only)
24748 (DEPRECATED)
24749
24750 --enable-benchmarks
24751 --disable-benchmarks
24752 dependency checking and compilation for benchmarks listed
24753 in the package description file.
24754
24755 --enable-relocatable
24756 --disable-relocatable
24757 building a package that is relocatable. (GHC only)
24758
24759 --disable-response-files
24760 enable workaround for old versions of programs like "ar"
24761 that do not support @file arguments
24762
24763 --allow-depending-on-private-libs
24764 Allow depending on private libraries. If set, the library
24765 visibility check MUST be done externally.
24766
24767 --with-alex PATH
24768 give the path to alex
24769
24770 --with-ar PATH
24771 give the path to ar
24772
24773 --with-c2hs PATH
24774 give the path to c2hs
24775
24776 --with-cpphs PATH
24777 give the path to cpphs
24778
24779 --with-doctest PATH
24780 give the path to doctest
24781
24782 --with-gcc PATH
24783 give the path to gcc
24784
24785 --with-ghc PATH
24786 give the path to ghc
24787
24788 --with-ghc-pkg PATH
24789 give the path to ghc-pkg
24790
24791 --with-ghcjs PATH
24792 give the path to ghcjs
24793
24794 --with-ghcjs-pkg PATH
24795 give the path to ghcjs-pkg
24796
24797 --with-greencard PATH
24798 give the path to greencard
24799
24800 --with-haddock PATH
24801 give the path to haddock
24802
24803 --with-happy PATH
24804 give the path to happy
24805
24806 --with-haskell-suite PATH
24807 give the path to haskell-suite
24808
24809 --with-haskell-suite-pkg PATH
24810 give the path to haskell-suite-pkg
24811
24812 --with-hmake PATH
24813 give the path to hmake
24814
24815 --with-hpc PATH
24816 give the path to hpc
24817
24818 --with-hsc2hs PATH
24819 give the path to hsc2hs
24820
24821 --with-hscolour PATH
24822 give the path to hscolour
24823
24824 --with-jhc PATH
24825 give the path to jhc
24826
24827 --with-ld PATH
24828 give the path to ld
24829
24830 --with-pkg-config PATH
24831 give the path to pkg-config
24832
24833 --with-runghc PATH
24834 give the path to runghc
24835
24836 --with-strip PATH
24837 give the path to strip
24838
24839 --with-tar PATH
24840 give the path to tar
24841
24842 --with-uhc PATH
24843 give the path to uhc
24844
24845 --alex-option OPT
24846 give an extra option to alex (no need to quote options
24847 containing spaces)
24848
24849 --ar-option OPT
24850 give an extra option to ar (no need to quote options con‐
24851 taining spaces)
24852
24853 --c2hs-option OPT
24854 give an extra option to c2hs (no need to quote options
24855 containing spaces)
24856
24857 --cpphs-option OPT
24858 give an extra option to cpphs (no need to quote options
24859 containing spaces)
24860
24861 --doctest-option OPT
24862 give an extra option to doctest (no need to quote options
24863 containing spaces)
24864
24865 --gcc-option OPT
24866 give an extra option to gcc (no need to quote options
24867 containing spaces)
24868
24869 --ghc-option OPT
24870 give an extra option to ghc (no need to quote options
24871 containing spaces)
24872
24873 --ghc-pkg-option OPT
24874 give an extra option to ghc-pkg (no need to quote options
24875 containing spaces)
24876
24877 --ghcjs-option OPT
24878 give an extra option to ghcjs (no need to quote options
24879 containing spaces)
24880
24881 --ghcjs-pkg-option OPT
24882 give an extra option to ghcjs-pkg (no need to quote op‐
24883 tions containing spaces)
24884
24885 --greencard-option OPT
24886 give an extra option to greencard (no need to quote op‐
24887 tions containing spaces)
24888
24889 --haddock-option OPT
24890 give an extra option to haddock (no need to quote options
24891 containing spaces)
24892
24893 --happy-option OPT
24894 give an extra option to happy (no need to quote options
24895 containing spaces)
24896
24897 --haskell-suite-option OPT
24898 give an extra option to haskell-suite (no need to quote
24899 options containing spaces)
24900
24901 --haskell-suite-pkg-option OPT
24902 give an extra option to haskell-suite-pkg (no need to
24903 quote options containing spaces)
24904
24905 --hmake-option OPT
24906 give an extra option to hmake (no need to quote options
24907 containing spaces)
24908
24909 --hpc-option OPT
24910 give an extra option to hpc (no need to quote options
24911 containing spaces)
24912
24913 --hsc2hs-option OPT
24914 give an extra option to hsc2hs (no need to quote options
24915 containing spaces)
24916
24917 --hscolour-option OPT
24918 give an extra option to hscolour (no need to quote op‐
24919 tions containing spaces)
24920
24921 --jhc-option OPT
24922 give an extra option to jhc (no need to quote options
24923 containing spaces)
24924
24925 --ld-option OPT
24926 give an extra option to ld (no need to quote options con‐
24927 taining spaces)
24928
24929 --pkg-config-option OPT
24930 give an extra option to pkg-config (no need to quote op‐
24931 tions containing spaces)
24932
24933 --runghc-option OPT
24934 give an extra option to runghc (no need to quote options
24935 containing spaces)
24936
24937 --strip-option OPT
24938 give an extra option to strip (no need to quote options
24939 containing spaces)
24940
24941 --tar-option OPT
24942 give an extra option to tar (no need to quote options
24943 containing spaces)
24944
24945 --uhc-option OPT
24946 give an extra option to uhc (no need to quote options
24947 containing spaces)
24948
24949 --alex-options OPTS
24950 give extra options to alex
24951
24952 --ar-options OPTS
24953 give extra options to ar
24954
24955 --c2hs-options OPTS
24956 give extra options to c2hs
24957
24958 --cpphs-options OPTS
24959 give extra options to cpphs
24960
24961 --doctest-options OPTS
24962 give extra options to doctest
24963
24964 --gcc-options OPTS
24965 give extra options to gcc
24966
24967 --ghc-options OPTS
24968 give extra options to ghc
24969
24970 --ghc-pkg-options OPTS
24971 give extra options to ghc-pkg
24972
24973 --ghcjs-options OPTS
24974 give extra options to ghcjs
24975
24976 --ghcjs-pkg-options OPTS
24977 give extra options to ghcjs-pkg
24978
24979 --greencard-options OPTS
24980 give extra options to greencard
24981
24982 --haddock-options OPTS
24983 give extra options to haddock
24984
24985 --happy-options OPTS
24986 give extra options to happy
24987
24988 --haskell-suite-options OPTS
24989 give extra options to haskell-suite
24990
24991 --haskell-suite-pkg-options OPTS
24992 give extra options to haskell-suite-pkg
24993
24994 --hmake-options OPTS
24995 give extra options to hmake
24996
24997 --hpc-options OPTS
24998 give extra options to hpc
24999
25000 --hsc2hs-options OPTS
25001 give extra options to hsc2hs
25002
25003 --hscolour-options OPTS
25004 give extra options to hscolour
25005
25006 --jhc-options OPTS
25007 give extra options to jhc
25008
25009 --ld-options OPTS
25010 give extra options to ld
25011
25012 --pkg-config-options OPTS
25013 give extra options to pkg-config
25014
25015 --runghc-options OPTS
25016 give extra options to runghc
25017
25018 --strip-options OPTS
25019 give extra options to strip
25020
25021 --tar-options OPTS
25022 give extra options to tar
25023
25024 --uhc-options OPTS
25025 give extra options to uhc
25026
25027 --cabal-lib-version VERSION
25028 Select which version of the Cabal lib to use to build
25029 packages (useful for testing).
25030
25031 --constraint CONSTRAINT
25032 Specify constraints on a package (version, in‐
25033 stalled/source, flags)
25034
25035 --preference CONSTRAINT
25036 Specify preferences (soft constraints) on the version of
25037 a package
25038
25039 --solver SOLVER
25040 Select dependency solver to use (default: modular).
25041 Choices: modular.
25042
25043 --allow-older [DEPS]
25044 Ignore lower bounds in all dependencies or DEPS
25045
25046 --allow-newer [DEPS]
25047 Ignore upper bounds in all dependencies or DEPS
25048
25049 --write-ghc-environment-files always|never|ghc8.4.4+
25050 Whether to create a .ghc.environment file after a suc‐
25051 cessful build (v2-build only)
25052
25053 --enable-documentation
25054 --disable-documentation
25055 building of documentation
25056
25057 --doc-index-file TEMPLATE
25058 A central index of haddock API documentation (template
25059 cannot use $pkgid)
25060
25061 --dry-run
25062 Do not install anything, only print what would be in‐
25063 stalled.
25064
25065 --max-backjumps NUM
25066 Maximum number of backjumps allowed while solving (de‐
25067 fault: 4000). Use a negative number to enable unlimited
25068 backtracking. Use 0 to disable backtracking completely.
25069
25070 --reorder-goals
25071 --no-reorder-goals
25072 Try to reorder goals according to certain heuristics.
25073 Slows things down on average, but may make backtracking
25074 faster for some packages.
25075
25076 --count-conflicts
25077 --no-count-conflicts
25078 Try to speed up solving by preferring goals that are in‐
25079 volved in a lot of conflicts (default).
25080
25081 --fine-grained-conflicts
25082 --no-fine-grained-conflicts
25083 Skip a version of a package if it does not resolve the
25084 conflicts encountered in the last version, as a solver
25085 optimization (default).
25086
25087 --minimize-conflict-set
25088 --no-minimize-conflict-set
25089 When there is no solution, try to improve the error mes‐
25090 sage by finding a minimal conflict set (default: false).
25091 May increase run time significantly.
25092
25093 --independent-goals
25094 --no-independent-goals
25095 Treat several goals on the command line as independent.
25096 If several goals depend on the same package, different
25097 versions can be chosen.
25098
25099 --shadow-installed-packages
25100 --no-shadow-installed-packages
25101 If multiple package instances of the same version are in‐
25102 stalled, treat all but one as shadowed.
25103
25104 --strong-flags
25105 --no-strong-flags
25106 Do not defer flag choices (this used to be the default in
25107 cabal-install <= 1.20).
25108
25109 --allow-boot-library-installs
25110 --no-allow-boot-library-installs
25111 Allow cabal to install base, ghc-prim, integer-simple,
25112 integer-gmp, and template-haskell.
25113
25114 --reject-unconstrained-dependencies none|all
25115 Require these packages to have constraints on them if
25116 they are to be selected (default: none).
25117
25118 --reinstall
25119 --no-reinstall
25120 Install even if it means installing the same version
25121 again.
25122
25123 --avoid-reinstalls
25124 --no-avoid-reinstalls
25125 Do not select versions that would destructively overwrite
25126 installed packages.
25127
25128 --force-reinstalls
25129 --no-force-reinstalls
25130 Reinstall packages even if they will most likely break
25131 other installed packages.
25132
25133 --upgrade-dependencies
25134 --no-upgrade-dependencies
25135 Pick the latest version for all dependencies, rather than
25136 trying to pick an installed version.
25137
25138 --only-dependencies
25139 --no-only-dependencies
25140 Install only the dependencies necessary to build the
25141 given packages
25142
25143 --dependencies-only
25144 --no-dependencies-only
25145 A synonym for --only-dependencies
25146
25147 --index-state STATE
25148 Use source package index state as it existed at a previ‐
25149 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
25150 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
25151 'HEAD' (default: 'HEAD').
25152
25153 --root-cmd COMMAND
25154 (No longer supported, do not use.)
25155
25156 --symlink-bindir DIR
25157 Add symlinks to installed executables into this direc‐
25158 tory.
25159
25160 --build-summary TEMPLATE
25161 Save build summaries to file (name template can use
25162 $pkgid, $compiler, $os, $arch)
25163
25164 --build-log TEMPLATE
25165 Log all builds to file (name template can use $pkgid,
25166 $compiler, $os, $arch)
25167
25168 --remote-build-reporting LEVEL
25169 Generate build reports to send to a remote server (none,
25170 anonymous or detailed).
25171
25172 --report-planning-failure
25173 Generate build reports when the dependency solver fails.
25174 This is used by the Hackage build bot.
25175
25176 --enable-per-component
25177 --disable-per-component
25178 Per-component builds when possible
25179
25180 --one-shot
25181 --no-one-shot
25182 Do not record the packages in the world file.
25183
25184 --run-tests
25185 Run package test suites during installation.
25186
25187 -j, --jobs [NUM]
25188 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
25189 given).
25190
25191 --keep-going
25192 After a build failure, continue to build other unaffected
25193 packages.
25194
25195 --offline
25196 --no-offline
25197 Don't download packages from the Internet.
25198
25199 --project-file FILE
25200 Set the name of the cabal.project file to search for in
25201 parent directories
25202
25203 --only
25204 Only installs the package in the current directory.
25205
25206 --haddock-hoogle
25207 Generate a hoogle database
25208
25209 --haddock-html
25210 Generate HTML documentation (the default)
25211
25212 --haddock-html-location URL
25213 Location of HTML documentation for pre-requisite packages
25214
25215 --haddock-for-hackage
25216 Collection of flags to generate documentation suitable
25217 for upload to hackage
25218
25219 --haddock-executables
25220 Run haddock for Executables targets
25221
25222 --haddock-tests
25223 Run haddock for Test Suite targets
25224
25225 --haddock-benchmarks
25226 Run haddock for Benchmark targets
25227
25228 --haddock-all
25229 Run haddock for all targets
25230
25231 --haddock-internal
25232 Run haddock for internal modules and include all symbols
25233
25234 --haddock-css PATH
25235 Use PATH as the haddock stylesheet
25236
25237 --haddock-hyperlink-source, --haddock-hyperlink-sources, --had‐
25238 dock-hyperlinked-source
25239 Hyperlink the documentation to the source code
25240
25241 --haddock-quickjump
25242 Generate an index for interactive documentation naviga‐
25243 tion
25244
25245 --haddock-hscolour-css PATH
25246 Use PATH as the HsColour stylesheet
25247
25248 --haddock-contents-location URL
25249 Bake URL in as the location for the contents page
25250
25251 --test-log TEMPLATE
25252 Log all test suite results to file (name template can use
25253 $pkgid, $compiler, $os, $arch, $test-suite, $result)
25254
25255 --test-machine-log TEMPLATE
25256 Produce a machine-readable log file (name template can
25257 use $pkgid, $compiler, $os, $arch, $result)
25258
25259 --test-show-details FILTER
25260
25261 --test-keep-tix-files
25262 keep .tix files for HPC between test runs
25263
25264 --test-wrapper FILE
25265 Run test through a wrapper.
25266
25267 --test-fail-when-no-test-suites
25268 Exit with failure when no test suites are found.
25269
25270 --test-options TEMPLATES
25271 give extra options to test executables (name templates
25272 can use $pkgid, $compiler, $os, $arch, $test-suite)
25273
25274 --test-option TEMPLATE
25275 give extra option to test executables (no need to quote
25276 options containing spaces, name template can use $pkgid,
25277 $compiler, $os, $arch, $test-suite)
25278
25279 --benchmark-options TEMPLATES
25280 give extra options to benchmark executables (name tem‐
25281 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
25282
25283 --benchmark-option TEMPLATE
25284 give extra option to benchmark executables (no need to
25285 quote options containing spaces, name template can use
25286 $pkgid, $compiler, $os, $arch, $benchmark)
25287
25288
25289 cabal new-exec
25290
25291 Usage: cabal new-exec [FLAGS] [--] COMMAND [--] [ARGS]
25292
25293
25294 During development it is often useful to run build tasks and perform
25295 one-off program executions to experiment with the behavior of build
25296 tools. It is convenient to run these tools in the same way cabal itself
25297 would. The `cabal new-exec` command provides a way to do so.
25298
25299 Compiler tools will be configured to see the same subset of the store
25300 that builds would see. The PATH is modified to make all executables in
25301 the dependency tree available (provided they have been built already).
25302 Commands are also rewritten in the way cabal itself would. For example,
25303 `cabal new-exec ghc` will consult the configuration to choose an appro‐
25304 priate version of ghc and to include any ghc-specific flags requested.
25305
25306
25307 During development it is often useful to run build tasks and perform
25308 one-off program executions to experiment with the behavior of build
25309 tools. It is convenient to run these tools in the same way cabal itself
25310 would. The `cabal new-exec` command provides a way to do so.
25311
25312 Compiler tools will be configured to see the same subset of the store
25313 that builds would see. The PATH is modified to make all executables in
25314 the dependency tree available (provided they have been built already).
25315 Commands are also rewritten in the way cabal itself would. For example,
25316 `cabal new-exec ghc` will consult the configuration to choose an appro‐
25317 priate version of ghc and to include any ghc-specific flags requested.
25318
25319
25320 Flags:
25321 -v, --verbose [n]
25322 Control verbosity (n is 0--3, default verbosity level is
25323 1)
25324
25325 --builddir, --distdir, --distpref DIR
25326 The directory where Cabal puts generated build files (de‐
25327 fault dist)
25328
25329 -g, --ghc
25330 compile with GHC
25331
25332 --ghcjs
25333 compile with GHCJS
25334
25335 --uhc
25336 compile with UHC
25337
25338 --haskell-suite
25339 compile with a haskell-suite compiler
25340
25341 --cabal-file PATH
25342 use this Cabal file
25343
25344 -w, --with-compiler PATH
25345 give the path to a particular compiler
25346
25347 --with-hc-pkg PATH
25348 give the path to the package tool
25349
25350 --prefix DIR
25351 bake this prefix in preparation of installation
25352
25353 --bindir DIR
25354 installation directory for executables
25355
25356 --libdir DIR
25357 installation directory for libraries
25358
25359 --libsubdir DIR
25360 subdirectory of libdir in which libs are installed
25361
25362 --dynlibdir DIR
25363 installation directory for dynamic libraries
25364
25365 --libexecdir DIR
25366 installation directory for program executables
25367
25368 --libexecsubdir DIR
25369 subdirectory of libexecdir in which private executables
25370 are installed
25371
25372 --datadir DIR
25373 installation directory for read-only data
25374
25375 --datasubdir DIR
25376 subdirectory of datadir in which data files are installed
25377
25378 --docdir DIR
25379 installation directory for documentation
25380
25381 --htmldir DIR
25382 installation directory for HTML documentation
25383
25384 --haddockdir DIR
25385 installation directory for haddock interfaces
25386
25387 --sysconfdir DIR
25388 installation directory for configuration files
25389
25390 --program-prefix PREFIX
25391 prefix to be applied to installed executables
25392
25393 --program-suffix SUFFIX
25394 suffix to be applied to installed executables
25395
25396 --enable-library-vanilla
25397 --disable-library-vanilla
25398 Vanilla libraries
25399
25400 -p, --enable-library-profiling
25401 --disable-library-profiling
25402 Library profiling
25403
25404 --enable-shared
25405 --disable-shared
25406 Shared library
25407
25408 --enable-static
25409 --disable-static
25410 Static library
25411
25412 --enable-executable-dynamic
25413 --disable-executable-dynamic
25414 Executable dynamic linking
25415
25416 --enable-executable-static
25417 --disable-executable-static
25418 Executable fully static linking
25419
25420 --enable-profiling
25421 --disable-profiling
25422 Executable and library profiling
25423
25424 --enable-executable-profiling
25425 --disable-executable-profiling
25426 Executable profiling (DEPRECATED)
25427
25428 --profiling-detail level
25429 Profiling detail level for executable and library (de‐
25430 fault, none, exported-functions, toplevel-functions,
25431 all-functions).
25432
25433 --library-profiling-detail level
25434 Profiling detail level for libraries only.
25435
25436 -O, --enable-optimization, --enable-optimisation [n]
25437 Build with optimization (n is 0--2, default is 1)
25438
25439 --disable-optimization, --disable-optimisation
25440 Build without optimization
25441
25442 --enable-debug-info [n]
25443 Emit debug info (n is 0--3, default is 0)
25444
25445 --disable-debug-info
25446 Don't emit debug info
25447
25448 --enable-library-for-ghci
25449 --disable-library-for-ghci
25450 compile library for use with GHCi
25451
25452 --enable-split-sections
25453 --disable-split-sections
25454 compile library code such that unneeded definitions can
25455 be dropped from the final executable (GHC 7.8+)
25456
25457 --enable-split-objs
25458 --disable-split-objs
25459 split library into smaller objects to reduce binary sizes
25460 (GHC 6.6+)
25461
25462 --enable-executable-stripping
25463 --disable-executable-stripping
25464 strip executables upon installation to reduce binary
25465 sizes
25466
25467 --enable-library-stripping
25468 --disable-library-stripping
25469 strip libraries upon installation to reduce binary sizes
25470
25471 --configure-option OPT
25472 Extra option for configure
25473
25474 --user
25475 --global
25476 doing a per-user installation
25477
25478 --package-db DB
25479 Append the given package database to the list of package
25480 databases used (to satisfy dependencies and register
25481 into). May be a specific file, 'global' or 'user'. The
25482 initial list is ['global'], ['global', 'user'], or
25483 ['global', $sandbox], depending on context. Use 'clear'
25484 to reset the list to empty. See the user guide for de‐
25485 tails.
25486
25487 -f, --flags FLAGS
25488 Force values for the given flags in Cabal conditionals in
25489 the .cabal file. E.g., --flags="debug -usebytestrings"
25490 forces the flag "debug" to true and "usebytestrings" to
25491 false.
25492
25493 --extra-include-dirs PATH
25494 A list of directories to search for header files
25495
25496 --enable-deterministic
25497 --disable-deterministic
25498 Try to be as deterministic as possible (used by the test
25499 suite)
25500
25501 --ipid IPID
25502 Installed package ID to compile this package as
25503
25504 --cid CID
25505 Installed component ID to compile this component as
25506
25507 --extra-lib-dirs PATH
25508 A list of directories to search for external libraries
25509
25510 --extra-framework-dirs PATH
25511 A list of directories to search for external frameworks
25512 (OS X only)
25513
25514 --extra-prog-path PATH
25515 A list of directories to search for required programs (in
25516 addition to the normal search locations)
25517
25518 --instantiate-with NAME=MOD
25519 A mapping of signature names to concrete module instanti‐
25520 ations.
25521
25522 --enable-tests
25523 --disable-tests
25524 dependency checking and compilation for test suites
25525 listed in the package description file.
25526
25527 --enable-coverage
25528 --disable-coverage
25529 build package with Haskell Program Coverage. (GHC only)
25530
25531 --enable-library-coverage
25532 --disable-library-coverage
25533 build package with Haskell Program Coverage. (GHC only)
25534 (DEPRECATED)
25535
25536 --enable-benchmarks
25537 --disable-benchmarks
25538 dependency checking and compilation for benchmarks listed
25539 in the package description file.
25540
25541 --enable-relocatable
25542 --disable-relocatable
25543 building a package that is relocatable. (GHC only)
25544
25545 --disable-response-files
25546 enable workaround for old versions of programs like "ar"
25547 that do not support @file arguments
25548
25549 --allow-depending-on-private-libs
25550 Allow depending on private libraries. If set, the library
25551 visibility check MUST be done externally.
25552
25553 --with-alex PATH
25554 give the path to alex
25555
25556 --with-ar PATH
25557 give the path to ar
25558
25559 --with-c2hs PATH
25560 give the path to c2hs
25561
25562 --with-cpphs PATH
25563 give the path to cpphs
25564
25565 --with-doctest PATH
25566 give the path to doctest
25567
25568 --with-gcc PATH
25569 give the path to gcc
25570
25571 --with-ghc PATH
25572 give the path to ghc
25573
25574 --with-ghc-pkg PATH
25575 give the path to ghc-pkg
25576
25577 --with-ghcjs PATH
25578 give the path to ghcjs
25579
25580 --with-ghcjs-pkg PATH
25581 give the path to ghcjs-pkg
25582
25583 --with-greencard PATH
25584 give the path to greencard
25585
25586 --with-haddock PATH
25587 give the path to haddock
25588
25589 --with-happy PATH
25590 give the path to happy
25591
25592 --with-haskell-suite PATH
25593 give the path to haskell-suite
25594
25595 --with-haskell-suite-pkg PATH
25596 give the path to haskell-suite-pkg
25597
25598 --with-hmake PATH
25599 give the path to hmake
25600
25601 --with-hpc PATH
25602 give the path to hpc
25603
25604 --with-hsc2hs PATH
25605 give the path to hsc2hs
25606
25607 --with-hscolour PATH
25608 give the path to hscolour
25609
25610 --with-jhc PATH
25611 give the path to jhc
25612
25613 --with-ld PATH
25614 give the path to ld
25615
25616 --with-pkg-config PATH
25617 give the path to pkg-config
25618
25619 --with-runghc PATH
25620 give the path to runghc
25621
25622 --with-strip PATH
25623 give the path to strip
25624
25625 --with-tar PATH
25626 give the path to tar
25627
25628 --with-uhc PATH
25629 give the path to uhc
25630
25631 --alex-option OPT
25632 give an extra option to alex (no need to quote options
25633 containing spaces)
25634
25635 --ar-option OPT
25636 give an extra option to ar (no need to quote options con‐
25637 taining spaces)
25638
25639 --c2hs-option OPT
25640 give an extra option to c2hs (no need to quote options
25641 containing spaces)
25642
25643 --cpphs-option OPT
25644 give an extra option to cpphs (no need to quote options
25645 containing spaces)
25646
25647 --doctest-option OPT
25648 give an extra option to doctest (no need to quote options
25649 containing spaces)
25650
25651 --gcc-option OPT
25652 give an extra option to gcc (no need to quote options
25653 containing spaces)
25654
25655 --ghc-option OPT
25656 give an extra option to ghc (no need to quote options
25657 containing spaces)
25658
25659 --ghc-pkg-option OPT
25660 give an extra option to ghc-pkg (no need to quote options
25661 containing spaces)
25662
25663 --ghcjs-option OPT
25664 give an extra option to ghcjs (no need to quote options
25665 containing spaces)
25666
25667 --ghcjs-pkg-option OPT
25668 give an extra option to ghcjs-pkg (no need to quote op‐
25669 tions containing spaces)
25670
25671 --greencard-option OPT
25672 give an extra option to greencard (no need to quote op‐
25673 tions containing spaces)
25674
25675 --haddock-option OPT
25676 give an extra option to haddock (no need to quote options
25677 containing spaces)
25678
25679 --happy-option OPT
25680 give an extra option to happy (no need to quote options
25681 containing spaces)
25682
25683 --haskell-suite-option OPT
25684 give an extra option to haskell-suite (no need to quote
25685 options containing spaces)
25686
25687 --haskell-suite-pkg-option OPT
25688 give an extra option to haskell-suite-pkg (no need to
25689 quote options containing spaces)
25690
25691 --hmake-option OPT
25692 give an extra option to hmake (no need to quote options
25693 containing spaces)
25694
25695 --hpc-option OPT
25696 give an extra option to hpc (no need to quote options
25697 containing spaces)
25698
25699 --hsc2hs-option OPT
25700 give an extra option to hsc2hs (no need to quote options
25701 containing spaces)
25702
25703 --hscolour-option OPT
25704 give an extra option to hscolour (no need to quote op‐
25705 tions containing spaces)
25706
25707 --jhc-option OPT
25708 give an extra option to jhc (no need to quote options
25709 containing spaces)
25710
25711 --ld-option OPT
25712 give an extra option to ld (no need to quote options con‐
25713 taining spaces)
25714
25715 --pkg-config-option OPT
25716 give an extra option to pkg-config (no need to quote op‐
25717 tions containing spaces)
25718
25719 --runghc-option OPT
25720 give an extra option to runghc (no need to quote options
25721 containing spaces)
25722
25723 --strip-option OPT
25724 give an extra option to strip (no need to quote options
25725 containing spaces)
25726
25727 --tar-option OPT
25728 give an extra option to tar (no need to quote options
25729 containing spaces)
25730
25731 --uhc-option OPT
25732 give an extra option to uhc (no need to quote options
25733 containing spaces)
25734
25735 --alex-options OPTS
25736 give extra options to alex
25737
25738 --ar-options OPTS
25739 give extra options to ar
25740
25741 --c2hs-options OPTS
25742 give extra options to c2hs
25743
25744 --cpphs-options OPTS
25745 give extra options to cpphs
25746
25747 --doctest-options OPTS
25748 give extra options to doctest
25749
25750 --gcc-options OPTS
25751 give extra options to gcc
25752
25753 --ghc-options OPTS
25754 give extra options to ghc
25755
25756 --ghc-pkg-options OPTS
25757 give extra options to ghc-pkg
25758
25759 --ghcjs-options OPTS
25760 give extra options to ghcjs
25761
25762 --ghcjs-pkg-options OPTS
25763 give extra options to ghcjs-pkg
25764
25765 --greencard-options OPTS
25766 give extra options to greencard
25767
25768 --haddock-options OPTS
25769 give extra options to haddock
25770
25771 --happy-options OPTS
25772 give extra options to happy
25773
25774 --haskell-suite-options OPTS
25775 give extra options to haskell-suite
25776
25777 --haskell-suite-pkg-options OPTS
25778 give extra options to haskell-suite-pkg
25779
25780 --hmake-options OPTS
25781 give extra options to hmake
25782
25783 --hpc-options OPTS
25784 give extra options to hpc
25785
25786 --hsc2hs-options OPTS
25787 give extra options to hsc2hs
25788
25789 --hscolour-options OPTS
25790 give extra options to hscolour
25791
25792 --jhc-options OPTS
25793 give extra options to jhc
25794
25795 --ld-options OPTS
25796 give extra options to ld
25797
25798 --pkg-config-options OPTS
25799 give extra options to pkg-config
25800
25801 --runghc-options OPTS
25802 give extra options to runghc
25803
25804 --strip-options OPTS
25805 give extra options to strip
25806
25807 --tar-options OPTS
25808 give extra options to tar
25809
25810 --uhc-options OPTS
25811 give extra options to uhc
25812
25813 --cabal-lib-version VERSION
25814 Select which version of the Cabal lib to use to build
25815 packages (useful for testing).
25816
25817 --constraint CONSTRAINT
25818 Specify constraints on a package (version, in‐
25819 stalled/source, flags)
25820
25821 --preference CONSTRAINT
25822 Specify preferences (soft constraints) on the version of
25823 a package
25824
25825 --solver SOLVER
25826 Select dependency solver to use (default: modular).
25827 Choices: modular.
25828
25829 --allow-older [DEPS]
25830 Ignore lower bounds in all dependencies or DEPS
25831
25832 --allow-newer [DEPS]
25833 Ignore upper bounds in all dependencies or DEPS
25834
25835 --write-ghc-environment-files always|never|ghc8.4.4+
25836 Whether to create a .ghc.environment file after a suc‐
25837 cessful build (v2-build only)
25838
25839 --enable-documentation
25840 --disable-documentation
25841 building of documentation
25842
25843 --doc-index-file TEMPLATE
25844 A central index of haddock API documentation (template
25845 cannot use $pkgid)
25846
25847 --dry-run
25848 Do not install anything, only print what would be in‐
25849 stalled.
25850
25851 --max-backjumps NUM
25852 Maximum number of backjumps allowed while solving (de‐
25853 fault: 4000). Use a negative number to enable unlimited
25854 backtracking. Use 0 to disable backtracking completely.
25855
25856 --reorder-goals
25857 --no-reorder-goals
25858 Try to reorder goals according to certain heuristics.
25859 Slows things down on average, but may make backtracking
25860 faster for some packages.
25861
25862 --count-conflicts
25863
25864
25865
25866 CABAL(1)