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 install - Install packages.
15 cabal update - Updates list of known packages.
16 cabal list - List packages matching a search string.
17 cabal info - Display detailed information about a particular package.
18 cabal fetch - Downloads packages for later installation.
19 cabal freeze - Freeze dependencies.
20 cabal get - Download/Extract a package's source code (repository).
21 cabal check - Check the package for common mistakes.
22 cabal sdist - Generate a source distribution file (.tar.gz).
23 cabal upload - Uploads source packages or documentation to Hackage.
24 cabal report - Upload build reports to a remote server.
25 cabal run - Builds and runs an executable.
26 cabal init - Create a new .cabal package file (interactively).
27 cabal configure - Prepare to build the package.
28 cabal reconfigure - Reconfigure the package if necessary.
29 cabal build - Compile all/specific components.
30 cabal repl - Open an interpreter session for the given component.
31 cabal sandbox - Create/modify/delete a sandbox.
32 cabal doctest - Run doctest tests.
33 cabal haddock - Generate Haddock HTML documentation.
34 cabal exec - Give a command access to the sandbox package repository.
35 cabal user-config - Display and update the user's global cabal configu‐
36 ration.
37 cabal clean - Clean up after a build.
38 cabal gen-bounds - Generate dependency bounds.
39 cabal outdated - Check for outdated dependencies
40 cabal copy - Copy the files of all/specific components to install loca‐
41 tions.
42 cabal hscolour - Generate HsColour colourised code, in HTML format.
43 cabal register - Register this package with the compiler.
44 cabal test - Run all/specific tests in the test suite.
45 cabal bench - Run all/specific benchmarks.
46 cabal new-configure - Add extra project configuration
47 cabal new-build - Compile targets within the project.
48 cabal new-repl - Open an interactive session for the given component.
49 cabal new-freeze - Freeze dependencies.
50 cabal new-haddock - Build Haddock documentation
51 cabal new-run - Run an executable.
52 cabal new-test - Run test-suites
53 cabal new-bench - Run benchmarks
54
56 Cabal is the standard package system for Haskell software. It helps
57 people to configure, build and install Haskell software and to distrib‐
58 ute it easily to other users and developers.
59
60 The command line cabal tool (also referred to as cabal-install) helps
61 with installing existing packages and developing new packages. It can
62 be used to work with local packages or to install packages from online
63 package archives, including automatically installing dependencies. By
64 default it is configured to use Hackage, which is Haskell's central
65 package archive that contains thousands of libraries and applications
66 in the Cabal package format.
67
69 Global options:
70
71 -V, --version
72 Print version information
73
74 --numeric-version
75 Print just the version number
76
77 --config-file FILE
78 Set an alternate location for the config file
79
80 --sandbox-config-file FILE
81 Set an alternate location for the sandbox config file (default:
82 './cabal.sandbox.config')
83
84 --default-user-config FILE
85 Set a location for a cabal.config file for projects without
86 their own cabal.config freeze file.
87
88 --require-sandbox
89 --no-require-sandbox
90 requiring the presence of a sandbox for sandbox-aware commands
91
92 --ignore-sandbox
93 Ignore any existing sandbox
94
95 --ignore-expiry
96 Ignore expiry dates on signed metadata (use only in exceptional
97 circumstances)
98
99 --http-transport HttpTransport
100 Set a transport for http(s) requests. Accepts 'curl', 'wget',
101 'powershell', and 'plain-http'. (default: 'curl')
102
103 --enable-nix
104 --disable-nix
105 Nix integration: run commands through nix-shell if a 'shell.nix'
106 file exists
107
108 --remote-repo NAME:URL
109 The name and url for a remote repository
110
111 --remote-repo-cache DIR
112 The location where downloads from all remote repos are cached
113
114 --local-repo DIR
115 The location of a local repository
116
117 --logs-dir DIR
118 The location to put log files
119
120 --world-file FILE
121 The location of the world file
122
123 --store-dir DIR
124 The location of the nix-local-build store
125
126
128 cabal install
129
130 Usage: cabal install [FLAGS]
131 or: cabal install [FLAGS] PACKAGES
132
133
134 Installs one or more packages. By default, the installed package will
135 be registered in the user's package database or, if a sandbox is
136 present in the current directory, inside the sandbox.
137
138 If PACKAGES are specified, downloads and installs those packages. Oth‐
139 erwise, install the package in the current directory (and/or its depen‐
140 dencies) (there must be exactly one .cabal file in the current direc‐
141 tory).
142
143 When using a sandbox, the flags for `install` only affect the current
144 command and have no effect on future commands. (To achieve that, `con‐
145 figure` must be used.) In contrast, without a sandbox, the flags to
146 `install` are saved and affect future commands such as `build` and
147 `repl`. See the help for `configure` for a list of commands being
148 affected.
149
150 Installed executables will by default (and without a sandbox) be put
151 into `~/.cabal/bin/`. If you want installed executable to be available
152 globally, make sure that the PATH environment variable contains that
153 directory. When using a sandbox, executables will be put into `$SAND‐
154 BOX/bin/` (by default: `./.cabal-sandbox/bin/`).
155
156 When specifying --bindir, consider also specifying --datadir; this way
157 the sandbox can be deleted and the executable should continue working
158 as long as bindir and datadir are left untouched.
159
160
161 The flags --with-PROG and --PROG-option(s) can be used with the follow‐
162 ing programs:
163 alex ar c2hs cpphs doctest gcc ghc ghc-pkg ghcjs ghcjs-pkg greencard
164 haddock
165 happy haskell-suite haskell-suite-pkg hmake hpc hsc2hs hscolour jhc
166 ld lhc
167 lhc-pkg pkg-config runghc strip tar uhc
168
169 Examples:
170 cabal install Package in the current directory
171 cabal install foo Package from the hackage server
172 cabal install foo-1.0 Specific version of a package
173 cabal install 'foo < 2' Constrained package version
174 cabal install haddock --bindir=$HOME/hask-bin/ --datadir=$HOME/hask-
175 data/
176 Change installation destination
177
178
179 Flags:
180 -v, --verbose [n]
181 Control verbosity (n is 0--3, default verbosity level is
182 1)
183
184 --builddir, --distdir, --distpref DIR
185 The directory where Cabal puts generated build files
186 (default dist)
187
188 -g, --ghc
189 compile with GHC
190
191 --ghcjs
192 compile with GHCJS
193
194 --jhc
195 compile with JHC
196
197 --lhc
198 compile with LHC
199
200 --uhc
201 compile with UHC
202
203 --haskell-suite
204 compile with a haskell-suite compiler
205
206 --cabal-file PATH
207 use this Cabal file
208
209 -w, --with-compiler PATH
210 give the path to a particular compiler
211
212 --with-hc-pkg PATH
213 give the path to the package tool
214
215 --prefix DIR
216 bake this prefix in preparation of installation
217
218 --bindir DIR
219 installation directory for executables
220
221 --libdir DIR
222 installation directory for libraries
223
224 --libsubdir DIR
225 subdirectory of libdir in which libs are installed
226
227 --dynlibdir DIR
228 installation directory for dynamic libraries
229
230 --libexecdir DIR
231 installation directory for program executables
232
233 --libexecsubdir DIR
234 subdirectory of libexecdir in which private executables
235 are installed
236
237 --datadir DIR
238 installation directory for read-only data
239
240 --datasubdir DIR
241 subdirectory of datadir in which data files are installed
242
243 --docdir DIR
244 installation directory for documentation
245
246 --htmldir DIR
247 installation directory for HTML documentation
248
249 --haddockdir DIR
250 installation directory for haddock interfaces
251
252 --sysconfdir DIR
253 installation directory for configuration files
254
255 --program-prefix PREFIX
256 prefix to be applied to installed executables
257
258 --program-suffix SUFFIX
259 suffix to be applied to installed executables
260
261 --enable-library-vanilla
262 --disable-library-vanilla
263 Vanilla libraries
264
265 -p, --enable-library-profiling
266 --disable-library-profiling
267 Library profiling
268
269 --enable-shared
270 --disable-shared
271 Shared library
272
273 --enable-executable-dynamic
274 --disable-executable-dynamic
275 Executable dynamic linking
276
277 --enable-profiling
278 --disable-profiling
279 Executable and library profiling
280
281 --enable-executable-profiling
282 --disable-executable-profiling
283 Executable profiling (DEPRECATED)
284
285 --profiling-detail level
286 Profiling detail level for executable and library
287 (default, none, exported-functions, toplevel-functions,
288 all-functions).
289
290 --library-profiling-detail level
291 Profiling detail level for libraries only.
292
293 -O, --enable-optimization, --enable-optimisation [n]
294 Build with optimization (n is 0--2, default is 1)
295
296 --disable-optimization, --disable-optimisation
297 Build without optimization
298
299 --enable-debug-info [n]
300 Emit debug info (n is 0--3, default is 0)
301
302 --disable-debug-info
303 Don't emit debug info
304
305 --enable-library-for-ghci
306 --disable-library-for-ghci
307 compile library for use with GHCi
308
309 --enable-split-objs
310 --disable-split-objs
311 split library into smaller objects to reduce binary sizes
312 (GHC 6.6+)
313
314 --enable-executable-stripping
315 --disable-executable-stripping
316 strip executables upon installation to reduce binary
317 sizes
318
319 --enable-library-stripping
320 --disable-library-stripping
321 strip libraries upon installation to reduce binary sizes
322
323 --configure-option OPT
324 Extra option for configure
325
326 --user
327 --global
328 doing a per-user installation
329
330 --package-db DB
331 Append the given package database to the list of package
332 databases used (to satisfy dependencies and register
333 into). May be a specific file, 'global' or 'user'. The
334 initial list is ['global'], ['global', 'user'], or
335 ['global', $sandbox], depending on context. Use 'clear'
336 to reset the list to empty. See the user guide for
337 details.
338
339 -f, --flags FLAGS
340 Force values for the given flags in Cabal conditionals in
341 the .cabal file. E.g., --flags="debug -usebytestrings"
342 forces the flag "debug" to true and "usebytestrings" to
343 false.
344
345 --extra-include-dirs PATH
346 A list of directories to search for header files
347
348 --enable-deterministic
349 --disable-deterministic
350 Try to be as deterministic as possible (used by the test
351 suite)
352
353 --ipid IPID
354 Installed package ID to compile this package as
355
356 --cid CID
357 Installed component ID to compile this component as
358
359 --extra-lib-dirs PATH
360 A list of directories to search for external libraries
361
362 --extra-framework-dirs PATH
363 A list of directories to search for external frameworks
364 (OS X only)
365
366 --extra-prog-path PATH
367 A list of directories to search for required programs (in
368 addition to the normal search locations)
369
370 --instantiate-with NAME=MOD
371 A mapping of signature names to concrete module instanti‐
372 ations.
373
374 --enable-tests
375 --disable-tests
376 dependency checking and compilation for test suites
377 listed in the package description file.
378
379 --enable-coverage
380 --disable-coverage
381 build package with Haskell Program Coverage. (GHC only)
382
383 --enable-library-coverage
384 --disable-library-coverage
385 build package with Haskell Program Coverage. (GHC only)
386 (DEPRECATED)
387
388 --allow-older [DEPS]
389 Ignore upper bounds in all dependencies or DEPS
390
391 --allow-newer [DEPS]
392 Ignore upper bounds in all dependencies or DEPS
393
394 --enable-benchmarks
395 --disable-benchmarks
396 dependency checking and compilation for benchmarks listed
397 in the package description file.
398
399 --enable-relocatable
400 --disable-relocatable
401 building a package that is relocatable. (GHC only)
402
403 --with-alex PATH
404 give the path to alex
405
406 --with-ar PATH
407 give the path to ar
408
409 --with-c2hs PATH
410 give the path to c2hs
411
412 --with-cpphs PATH
413 give the path to cpphs
414
415 --with-doctest PATH
416 give the path to doctest
417
418 --with-gcc PATH
419 give the path to gcc
420
421 --with-ghc PATH
422 give the path to ghc
423
424 --with-ghc-pkg PATH
425 give the path to ghc-pkg
426
427 --with-ghcjs PATH
428 give the path to ghcjs
429
430 --with-ghcjs-pkg PATH
431 give the path to ghcjs-pkg
432
433 --with-greencard PATH
434 give the path to greencard
435
436 --with-haddock PATH
437 give the path to haddock
438
439 --with-happy PATH
440 give the path to happy
441
442 --with-haskell-suite PATH
443 give the path to haskell-suite
444
445 --with-haskell-suite-pkg PATH
446 give the path to haskell-suite-pkg
447
448 --with-hmake PATH
449 give the path to hmake
450
451 --with-hpc PATH
452 give the path to hpc
453
454 --with-hsc2hs PATH
455 give the path to hsc2hs
456
457 --with-hscolour PATH
458 give the path to hscolour
459
460 --with-jhc PATH
461 give the path to jhc
462
463 --with-ld PATH
464 give the path to ld
465
466 --with-lhc PATH
467 give the path to lhc
468
469 --with-lhc-pkg PATH
470 give the path to lhc-pkg
471
472 --with-pkg-config PATH
473 give the path to pkg-config
474
475 --with-runghc PATH
476 give the path to runghc
477
478 --with-strip PATH
479 give the path to strip
480
481 --with-tar PATH
482 give the path to tar
483
484 --with-uhc PATH
485 give the path to uhc
486
487 --alex-option OPT
488 give an extra option to alex (no need to quote options
489 containing spaces)
490
491 --ar-option OPT
492 give an extra option to ar (no need to quote options con‐
493 taining spaces)
494
495 --c2hs-option OPT
496 give an extra option to c2hs (no need to quote options
497 containing spaces)
498
499 --cpphs-option OPT
500 give an extra option to cpphs (no need to quote options
501 containing spaces)
502
503 --doctest-option OPT
504 give an extra option to doctest (no need to quote options
505 containing spaces)
506
507 --gcc-option OPT
508 give an extra option to gcc (no need to quote options
509 containing spaces)
510
511 --ghc-option OPT
512 give an extra option to ghc (no need to quote options
513 containing spaces)
514
515 --ghc-pkg-option OPT
516 give an extra option to ghc-pkg (no need to quote options
517 containing spaces)
518
519 --ghcjs-option OPT
520 give an extra option to ghcjs (no need to quote options
521 containing spaces)
522
523 --ghcjs-pkg-option OPT
524 give an extra option to ghcjs-pkg (no need to quote
525 options containing spaces)
526
527 --greencard-option OPT
528 give an extra option to greencard (no need to quote
529 options containing spaces)
530
531 --haddock-option OPT
532 give an extra option to haddock (no need to quote options
533 containing spaces)
534
535 --happy-option OPT
536 give an extra option to happy (no need to quote options
537 containing spaces)
538
539 --haskell-suite-option OPT
540 give an extra option to haskell-suite (no need to quote
541 options containing spaces)
542
543 --haskell-suite-pkg-option OPT
544 give an extra option to haskell-suite-pkg (no need to
545 quote options containing spaces)
546
547 --hmake-option OPT
548 give an extra option to hmake (no need to quote options
549 containing spaces)
550
551 --hpc-option OPT
552 give an extra option to hpc (no need to quote options
553 containing spaces)
554
555 --hsc2hs-option OPT
556 give an extra option to hsc2hs (no need to quote options
557 containing spaces)
558
559 --hscolour-option OPT
560 give an extra option to hscolour (no need to quote
561 options containing spaces)
562
563 --jhc-option OPT
564 give an extra option to jhc (no need to quote options
565 containing spaces)
566
567 --ld-option OPT
568 give an extra option to ld (no need to quote options con‐
569 taining spaces)
570
571 --lhc-option OPT
572 give an extra option to lhc (no need to quote options
573 containing spaces)
574
575 --lhc-pkg-option OPT
576 give an extra option to lhc-pkg (no need to quote options
577 containing spaces)
578
579 --pkg-config-option OPT
580 give an extra option to pkg-config (no need to quote
581 options containing spaces)
582
583 --runghc-option OPT
584 give an extra option to runghc (no need to quote options
585 containing spaces)
586
587 --strip-option OPT
588 give an extra option to strip (no need to quote options
589 containing spaces)
590
591 --tar-option OPT
592 give an extra option to tar (no need to quote options
593 containing spaces)
594
595 --uhc-option OPT
596 give an extra option to uhc (no need to quote options
597 containing spaces)
598
599 --alex-options OPTS
600 give extra options to alex
601
602 --ar-options OPTS
603 give extra options to ar
604
605 --c2hs-options OPTS
606 give extra options to c2hs
607
608 --cpphs-options OPTS
609 give extra options to cpphs
610
611 --doctest-options OPTS
612 give extra options to doctest
613
614 --gcc-options OPTS
615 give extra options to gcc
616
617 --ghc-options OPTS
618 give extra options to ghc
619
620 --ghc-pkg-options OPTS
621 give extra options to ghc-pkg
622
623 --ghcjs-options OPTS
624 give extra options to ghcjs
625
626 --ghcjs-pkg-options OPTS
627 give extra options to ghcjs-pkg
628
629 --greencard-options OPTS
630 give extra options to greencard
631
632 --haddock-options OPTS
633 give extra options to haddock
634
635 --happy-options OPTS
636 give extra options to happy
637
638 --haskell-suite-options OPTS
639 give extra options to haskell-suite
640
641 --haskell-suite-pkg-options OPTS
642 give extra options to haskell-suite-pkg
643
644 --hmake-options OPTS
645 give extra options to hmake
646
647 --hpc-options OPTS
648 give extra options to hpc
649
650 --hsc2hs-options OPTS
651 give extra options to hsc2hs
652
653 --hscolour-options OPTS
654 give extra options to hscolour
655
656 --jhc-options OPTS
657 give extra options to jhc
658
659 --ld-options OPTS
660 give extra options to ld
661
662 --lhc-options OPTS
663 give extra options to lhc
664
665 --lhc-pkg-options OPTS
666 give extra options to lhc-pkg
667
668 --pkg-config-options OPTS
669 give extra options to pkg-config
670
671 --runghc-options OPTS
672 give extra options to runghc
673
674 --strip-options OPTS
675 give extra options to strip
676
677 --tar-options OPTS
678 give extra options to tar
679
680 --uhc-options OPTS
681 give extra options to uhc
682
683 --cabal-lib-version VERSION
684 Select which version of the Cabal lib to use to build
685 packages (useful for testing).
686
687 --constraint CONSTRAINT
688 Specify constraints on a package (version,
689 installed/source, flags)
690
691 --preference CONSTRAINT
692 Specify preferences (soft constraints) on the version of
693 a package
694
695 --solver SOLVER
696 Select dependency solver to use (default: modular).
697 Choices: modular.
698
699 --enable-documentation
700 --disable-documentation
701 building of documentation
702
703 --doc-index-file TEMPLATE
704 A central index of haddock API documentation (template
705 cannot use $pkgid)
706
707 --dry-run
708 Do not install anything, only print what would be
709 installed.
710
711 --max-backjumps NUM
712 Maximum number of backjumps allowed while solving
713 (default: 2000). Use a negative number to enable unlim‐
714 ited backtracking. Use 0 to disable backtracking com‐
715 pletely.
716
717 --reorder-goals
718 --no-reorder-goals
719 Try to reorder goals according to certain heuristics.
720 Slows things down on average, but may make backtracking
721 faster for some packages.
722
723 --count-conflicts
724 --no-count-conflicts
725 Try to speed up solving by preferring goals that are
726 involved in a lot of conflicts (default).
727
728 --shadow-installed-packages
729 --no-shadow-installed-packages
730 If multiple package instances of the same version are
731 installed, treat all but one as shadowed.
732
733 --strong-flags
734 --no-strong-flags
735 Do not defer flag choices (this used to be the default in
736 cabal-install <= 1.20).
737
738 --allow-boot-library-installs
739 --no-allow-boot-library-installs
740 Allow cabal to install base, ghc-prim, integer-simple,
741 integer-gmp, and template-haskell.
742
743 --reinstall
744 --no-reinstall
745 Install even if it means installing the same version
746 again.
747
748 --avoid-reinstalls
749 --no-avoid-reinstalls
750 Do not select versions that would destructively overwrite
751 installed packages.
752
753 --force-reinstalls
754 --no-force-reinstalls
755 Reinstall packages even if they will most likely break
756 other installed packages.
757
758 --upgrade-dependencies
759 --no-upgrade-dependencies
760 Pick the latest version for all dependencies, rather than
761 trying to pick an installed version.
762
763 --only-dependencies
764 --no-only-dependencies
765 Install only the dependencies necessary to build the
766 given packages
767
768 --dependencies-only
769 --no-dependencies-only
770 A synonym for --only-dependencies
771
772 --index-state STATE
773 Use source package index state as it existed at a previ‐
774 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
775 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
776 'HEAD' (default: 'HEAD').
777
778 --root-cmd COMMAND
779 (No longer supported, do not use.)
780
781 --symlink-bindir DIR
782 Add symlinks to installed executables into this direc‐
783 tory.
784
785 --build-summary TEMPLATE
786 Save build summaries to file (name template can use
787 $pkgid, $compiler, $os, $arch)
788
789 --build-log TEMPLATE
790 Log all builds to file (name template can use $pkgid,
791 $compiler, $os, $arch)
792
793 --remote-build-reporting LEVEL
794 Generate build reports to send to a remote server (none,
795 anonymous or detailed).
796
797 --report-planning-failure
798 Generate build reports when the dependency solver fails.
799 This is used by the Hackage build bot.
800
801 --enable-per-component
802 --disable-per-component
803 Per-component builds when possible
804
805 --one-shot
806 --no-one-shot
807 Do not record the packages in the world file.
808
809 --run-tests
810 Run package test suites during installation.
811
812 -j, --jobs [NUM]
813 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
814 given).
815
816 --keep-going
817 After a build failure, continue to build other unaffected
818 packages.
819
820 --offline
821 --no-offline
822 Don't download packages from the Internet.
823
824 --project-file FILE
825 Set the name of the cabal.project file to search for in
826 parent directories
827
828 --only
829 Only installs the package in the current directory.
830
831 --haddock-hoogle
832 Generate a hoogle database
833
834 --haddock-html
835 Generate HTML documentation (the default)
836
837 --haddock-html-location URL
838 Location of HTML documentation for pre-requisite packages
839
840 --haddock-executables
841 Run haddock for Executables targets
842
843 --haddock-tests
844 Run haddock for Test Suite targets
845
846 --haddock-benchmarks
847 Run haddock for Benchmark targets
848
849 --haddock-all
850 Run haddock for all targets
851
852 --haddock-internal
853 Run haddock for internal modules and include all symbols
854
855 --haddock-css PATH
856 Use PATH as the haddock stylesheet
857
858 --haddock-hyperlink-source, --haddock-hyperlink-sources
859 Hyperlink the documentation to the source code (using
860 HsColour)
861
862 --haddock-hscolour-css PATH
863 Use PATH as the HsColour stylesheet
864
865 --haddock-contents-location URL
866 Bake URL in as the location for the contents page
867
868
869 cabal update
870
871 Usage: cabal update [FLAGS]
872
873
874 For all known remote repositories, download the package list.
875
876
877 Relevant global configuration keys:
878 remote-repo
879 remote-repo-cache
880 local-repo
881
882
883 Flags:
884 -v, --verbose [n]
885 Control verbosity (n is 0--3, default verbosity level is
886 1)
887
888
889 cabal list
890
891 Usage: cabal list [FLAGS]
892 or: cabal list [FLAGS] STRINGS
893
894
895 List all packages, or all packages matching one of the search strings.
896
897 If there is a sandbox in the current directory and config:ignore-sand‐
898 box is False, use the sandbox package database. Otherwise, use the
899 package database specified with --package-db. If not specified, use the
900 user package database.
901
902
903 Examples:
904 cabal list pandoc
905 Will find pandoc, pandoc-citeproc, pandoc-lens, ...
906
907
908 Flags:
909 -v, --verbose [n]
910 Control verbosity (n is 0--3, default verbosity level is
911 1)
912
913 --installed
914 Only print installed packages
915
916 --simple-output
917 Print in a easy-to-parse format
918
919 --package-db DB
920 Append the given package database to the list of package
921 databases used (to satisfy dependencies and register
922 into). May be a specific file, 'global' or 'user'. The
923 initial list is ['global'], ['global', 'user'], or
924 ['global', $sandbox], depending on context. Use 'clear'
925 to reset the list to empty. See the user guide for
926 details.
927
928
929 cabal info
930
931 Usage: cabal info [FLAGS] PACKAGES
932
933
934 If there is a sandbox in the current directory and config:ignore-sand‐
935 box is False, use the sandbox package database. Otherwise, use the
936 package database specified with --package-db. If not specified, use the
937 user package database.
938
939
940 Flags:
941 -v, --verbose [n]
942 Control verbosity (n is 0--3, default verbosity level is
943 1)
944
945 --package-db DB
946 Append the given package database to the list of package
947 databases used (to satisfy dependencies and register
948 into). May be a specific file, 'global' or 'user'. The
949 initial list is ['global'], ['global', 'user'], or
950 ['global', $sandbox], depending on context. Use 'clear'
951 to reset the list to empty. See the user guide for
952 details.
953
954
955 cabal fetch
956
957 Usage: cabal fetch [FLAGS] PACKAGES
958
959
960 Note that it currently is not possible to fetch the dependencies for a
961 package in the current directory.
962
963
964 Flags:
965 -v, --verbose [n]
966 Control verbosity (n is 0--3, default verbosity level is
967 1)
968
969 --dependencies, --deps
970 Resolve and fetch dependencies (default)
971
972 --no-dependencies, --no-deps
973 Ignore dependencies
974
975 --dry-run
976 Do not install anything, only print what would be
977 installed.
978
979 --solver SOLVER
980 Select dependency solver to use (default: modular).
981 Choices: modular.
982
983 --max-backjumps NUM
984 Maximum number of backjumps allowed while solving
985 (default: 2000). Use a negative number to enable unlim‐
986 ited backtracking. Use 0 to disable backtracking com‐
987 pletely.
988
989 --reorder-goals
990 --no-reorder-goals
991 Try to reorder goals according to certain heuristics.
992 Slows things down on average, but may make backtracking
993 faster for some packages.
994
995 --count-conflicts
996 --no-count-conflicts
997 Try to speed up solving by preferring goals that are
998 involved in a lot of conflicts (default).
999
1000 --shadow-installed-packages
1001 --no-shadow-installed-packages
1002 If multiple package instances of the same version are
1003 installed, treat all but one as shadowed.
1004
1005 --strong-flags
1006 --no-strong-flags
1007 Do not defer flag choices (this used to be the default in
1008 cabal-install <= 1.20).
1009
1010 --allow-boot-library-installs
1011 --no-allow-boot-library-installs
1012 Allow cabal to install base, ghc-prim, integer-simple,
1013 integer-gmp, and template-haskell.
1014
1015
1016 cabal freeze
1017
1018 Usage: cabal freeze [FLAGS]
1019
1020
1021 Calculates a valid set of dependencies and their exact versions. If
1022 successful, saves the result to the file `cabal.config`.
1023
1024 The package versions specified in `cabal.config` will be used for any
1025 future installs.
1026
1027 An existing `cabal.config` is ignored and overwritten.
1028
1029
1030 Flags:
1031 -v, --verbose [n]
1032 Control verbosity (n is 0--3, default verbosity level is
1033 1)
1034
1035 --dry-run
1036 Do not freeze anything, only print what would be frozen
1037
1038 --enable-tests
1039 --disable-tests
1040 freezing of the dependencies of any tests suites in the
1041 package description file.
1042
1043 --enable-benchmarks
1044 --disable-benchmarks
1045 freezing of the dependencies of any benchmarks suites in
1046 the package description file.
1047
1048 --solver SOLVER
1049 Select dependency solver to use (default: modular).
1050 Choices: modular.
1051
1052 --max-backjumps NUM
1053 Maximum number of backjumps allowed while solving
1054 (default: 2000). Use a negative number to enable unlim‐
1055 ited backtracking. Use 0 to disable backtracking com‐
1056 pletely.
1057
1058 --reorder-goals
1059 --no-reorder-goals
1060 Try to reorder goals according to certain heuristics.
1061 Slows things down on average, but may make backtracking
1062 faster for some packages.
1063
1064 --count-conflicts
1065 --no-count-conflicts
1066 Try to speed up solving by preferring goals that are
1067 involved in a lot of conflicts (default).
1068
1069 --shadow-installed-packages
1070 --no-shadow-installed-packages
1071 If multiple package instances of the same version are
1072 installed, treat all but one as shadowed.
1073
1074 --strong-flags
1075 --no-strong-flags
1076 Do not defer flag choices (this used to be the default in
1077 cabal-install <= 1.20).
1078
1079 --allow-boot-library-installs
1080 --no-allow-boot-library-installs
1081 Allow cabal to install base, ghc-prim, integer-simple,
1082 integer-gmp, and template-haskell.
1083
1084
1085 cabal get
1086
1087 Usage: cabal get [PACKAGES]
1088
1089
1090 Creates a local copy of a package's source code. By default it gets the
1091 source tarball and unpacks it in a local subdirectory. Alternatively,
1092 with -s it will get the code from the source repository specified by
1093 the package.
1094
1095
1096 Examples:
1097 cabal get hlint
1098 Download the latest stable version of hlint;
1099 cabal get lens --source-repository=head
1100 Download the source repository (i.e. git clone from github).
1101
1102
1103 Flags:
1104 -v, --verbose [n]
1105 Control verbosity (n is 0--3, default verbosity level is
1106 1)
1107
1108 -d, --destdir PATH
1109 Where to place the package source, defaults to the cur‐
1110 rent directory.
1111
1112 -s, --source-repository [[head|this|...]]
1113 Copy the package's source repository (ie git clone, darcs
1114 get, etc as appropriate).
1115
1116 --index-state STATE
1117 Use source package index state as it existed at a previ‐
1118 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
1119 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
1120 'HEAD' (default: 'HEAD'). This determines which package
1121 versions are available as well as .cabal file revision is
1122 selected (unless --pristine is used).
1123
1124 --pristine
1125 Unpack the original pristine tarball, rather than updat‐
1126 ing the .cabal file with the latest revision from the
1127 package archive.
1128
1129
1130 cabal check
1131
1132 Usage: cabal check
1133
1134
1135 Expects a .cabal package file in the current directory.
1136
1137 The checks correspond to the requirements to packages on Hackage. If no
1138 errors and warnings are reported, Hackage will accept this package.
1139
1140
1141 Flags:
1142
1143 cabal sdist
1144
1145 Usage: cabal sdist [FLAGS]
1146
1147
1148 Flags:
1149 -v, --verbose [n]
1150 Control verbosity (n is 0--3, default verbosity level is
1151 1)
1152
1153 --builddir, --distdir, --distpref DIR
1154 The directory where Cabal puts generated build files
1155 (default dist)
1156
1157 --list-sources FILE
1158 Just write a list of the package's sources to a file
1159
1160 --snapshot
1161 Produce a snapshot source distribution
1162
1163 --output-directory DIR
1164 Generate a source distribution in the given directory,
1165 without creating a tarball
1166
1167 --targz
1168 Produce a '.tar.gz' format archive (default and required
1169 for uploading to hackage)
1170
1171 --zip
1172 Produce a '.zip' format archive
1173
1174
1175 cabal upload
1176
1177 Usage: cabal upload [FLAGS] TARFILES
1178
1179
1180 You can store your Hackage login in the ~/.cabal/config file Relevant
1181 global configuration keys:
1182 username
1183 password
1184
1185
1186 Flags:
1187 -v, --verbose [n]
1188 Control verbosity (n is 0--3, default verbosity level is
1189 1)
1190
1191 --publish
1192 Publish the package instead of uploading it as a candi‐
1193 date.
1194
1195 -d, --documentation
1196 Upload documentation instead of a source package. By
1197 default, this uploads documentation for a package candi‐
1198 date. To upload documentation for a published package,
1199 combine with --publish.
1200
1201 -u, --username USERNAME
1202 Hackage username.
1203
1204 -p, --password PASSWORD
1205 Hackage password.
1206
1207 -P, --password-command PASSWORD
1208 Command to get Hackage password.
1209
1210
1211 cabal report
1212
1213 Usage: cabal report [FLAGS]
1214
1215
1216 You can store your Hackage login in the ~/.cabal/config file
1217
1218
1219 Flags:
1220 -v, --verbose [n]
1221 Control verbosity (n is 0--3, default verbosity level is
1222 1)
1223
1224 -u, --username USERNAME
1225 Hackage username.
1226
1227 -p, --password PASSWORD
1228 Hackage password.
1229
1230
1231 cabal run
1232
1233 Usage: cabal run [FLAGS] [EXECUTABLE] [-- EXECUTABLE_FLAGS]
1234
1235
1236 Builds and then runs the specified executable. If no executable is
1237 specified, but the package contains just one executable, that one is
1238 built and executed.
1239
1240 Use `cabal test --show-details=streaming` to run a test-suite and get
1241 its full output.
1242
1243
1244 Examples:
1245 cabal run
1246 Run the only executable in the current package;
1247 cabal run foo -- --fooflag
1248 Works similar to `./foo --fooflag`.
1249
1250
1251 Flags:
1252 -v, --verbose [n]
1253 Control verbosity (n is 0--3, default verbosity level is
1254 1)
1255
1256 --builddir, --distdir, --distpref DIR
1257 The directory where Cabal puts generated build files
1258 (default dist)
1259
1260 -j, --jobs [NUM]
1261 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
1262 given).
1263
1264 --with-alex PATH
1265 give the path to alex
1266
1267 --with-ar PATH
1268 give the path to ar
1269
1270 --with-c2hs PATH
1271 give the path to c2hs
1272
1273 --with-cpphs PATH
1274 give the path to cpphs
1275
1276 --with-doctest PATH
1277 give the path to doctest
1278
1279 --with-gcc PATH
1280 give the path to gcc
1281
1282 --with-ghc PATH
1283 give the path to ghc
1284
1285 --with-ghc-pkg PATH
1286 give the path to ghc-pkg
1287
1288 --with-ghcjs PATH
1289 give the path to ghcjs
1290
1291 --with-ghcjs-pkg PATH
1292 give the path to ghcjs-pkg
1293
1294 --with-greencard PATH
1295 give the path to greencard
1296
1297 --with-haddock PATH
1298 give the path to haddock
1299
1300 --with-happy PATH
1301 give the path to happy
1302
1303 --with-haskell-suite PATH
1304 give the path to haskell-suite
1305
1306 --with-haskell-suite-pkg PATH
1307 give the path to haskell-suite-pkg
1308
1309 --with-hmake PATH
1310 give the path to hmake
1311
1312 --with-hpc PATH
1313 give the path to hpc
1314
1315 --with-hsc2hs PATH
1316 give the path to hsc2hs
1317
1318 --with-hscolour PATH
1319 give the path to hscolour
1320
1321 --with-jhc PATH
1322 give the path to jhc
1323
1324 --with-ld PATH
1325 give the path to ld
1326
1327 --with-lhc PATH
1328 give the path to lhc
1329
1330 --with-lhc-pkg PATH
1331 give the path to lhc-pkg
1332
1333 --with-pkg-config PATH
1334 give the path to pkg-config
1335
1336 --with-runghc PATH
1337 give the path to runghc
1338
1339 --with-strip PATH
1340 give the path to strip
1341
1342 --with-tar PATH
1343 give the path to tar
1344
1345 --with-uhc PATH
1346 give the path to uhc
1347
1348 --alex-option OPT
1349 give an extra option to alex (no need to quote options
1350 containing spaces)
1351
1352 --ar-option OPT
1353 give an extra option to ar (no need to quote options con‐
1354 taining spaces)
1355
1356 --c2hs-option OPT
1357 give an extra option to c2hs (no need to quote options
1358 containing spaces)
1359
1360 --cpphs-option OPT
1361 give an extra option to cpphs (no need to quote options
1362 containing spaces)
1363
1364 --doctest-option OPT
1365 give an extra option to doctest (no need to quote options
1366 containing spaces)
1367
1368 --gcc-option OPT
1369 give an extra option to gcc (no need to quote options
1370 containing spaces)
1371
1372 --ghc-option OPT
1373 give an extra option to ghc (no need to quote options
1374 containing spaces)
1375
1376 --ghc-pkg-option OPT
1377 give an extra option to ghc-pkg (no need to quote options
1378 containing spaces)
1379
1380 --ghcjs-option OPT
1381 give an extra option to ghcjs (no need to quote options
1382 containing spaces)
1383
1384 --ghcjs-pkg-option OPT
1385 give an extra option to ghcjs-pkg (no need to quote
1386 options containing spaces)
1387
1388 --greencard-option OPT
1389 give an extra option to greencard (no need to quote
1390 options containing spaces)
1391
1392 --haddock-option OPT
1393 give an extra option to haddock (no need to quote options
1394 containing spaces)
1395
1396 --happy-option OPT
1397 give an extra option to happy (no need to quote options
1398 containing spaces)
1399
1400 --haskell-suite-option OPT
1401 give an extra option to haskell-suite (no need to quote
1402 options containing spaces)
1403
1404 --haskell-suite-pkg-option OPT
1405 give an extra option to haskell-suite-pkg (no need to
1406 quote options containing spaces)
1407
1408 --hmake-option OPT
1409 give an extra option to hmake (no need to quote options
1410 containing spaces)
1411
1412 --hpc-option OPT
1413 give an extra option to hpc (no need to quote options
1414 containing spaces)
1415
1416 --hsc2hs-option OPT
1417 give an extra option to hsc2hs (no need to quote options
1418 containing spaces)
1419
1420 --hscolour-option OPT
1421 give an extra option to hscolour (no need to quote
1422 options containing spaces)
1423
1424 --jhc-option OPT
1425 give an extra option to jhc (no need to quote options
1426 containing spaces)
1427
1428 --ld-option OPT
1429 give an extra option to ld (no need to quote options con‐
1430 taining spaces)
1431
1432 --lhc-option OPT
1433 give an extra option to lhc (no need to quote options
1434 containing spaces)
1435
1436 --lhc-pkg-option OPT
1437 give an extra option to lhc-pkg (no need to quote options
1438 containing spaces)
1439
1440 --pkg-config-option OPT
1441 give an extra option to pkg-config (no need to quote
1442 options containing spaces)
1443
1444 --runghc-option OPT
1445 give an extra option to runghc (no need to quote options
1446 containing spaces)
1447
1448 --strip-option OPT
1449 give an extra option to strip (no need to quote options
1450 containing spaces)
1451
1452 --tar-option OPT
1453 give an extra option to tar (no need to quote options
1454 containing spaces)
1455
1456 --uhc-option OPT
1457 give an extra option to uhc (no need to quote options
1458 containing spaces)
1459
1460 --alex-options OPTS
1461 give extra options to alex
1462
1463 --ar-options OPTS
1464 give extra options to ar
1465
1466 --c2hs-options OPTS
1467 give extra options to c2hs
1468
1469 --cpphs-options OPTS
1470 give extra options to cpphs
1471
1472 --doctest-options OPTS
1473 give extra options to doctest
1474
1475 --gcc-options OPTS
1476 give extra options to gcc
1477
1478 --ghc-options OPTS
1479 give extra options to ghc
1480
1481 --ghc-pkg-options OPTS
1482 give extra options to ghc-pkg
1483
1484 --ghcjs-options OPTS
1485 give extra options to ghcjs
1486
1487 --ghcjs-pkg-options OPTS
1488 give extra options to ghcjs-pkg
1489
1490 --greencard-options OPTS
1491 give extra options to greencard
1492
1493 --haddock-options OPTS
1494 give extra options to haddock
1495
1496 --happy-options OPTS
1497 give extra options to happy
1498
1499 --haskell-suite-options OPTS
1500 give extra options to haskell-suite
1501
1502 --haskell-suite-pkg-options OPTS
1503 give extra options to haskell-suite-pkg
1504
1505 --hmake-options OPTS
1506 give extra options to hmake
1507
1508 --hpc-options OPTS
1509 give extra options to hpc
1510
1511 --hsc2hs-options OPTS
1512 give extra options to hsc2hs
1513
1514 --hscolour-options OPTS
1515 give extra options to hscolour
1516
1517 --jhc-options OPTS
1518 give extra options to jhc
1519
1520 --ld-options OPTS
1521 give extra options to ld
1522
1523 --lhc-options OPTS
1524 give extra options to lhc
1525
1526 --lhc-pkg-options OPTS
1527 give extra options to lhc-pkg
1528
1529 --pkg-config-options OPTS
1530 give extra options to pkg-config
1531
1532 --runghc-options OPTS
1533 give extra options to runghc
1534
1535 --strip-options OPTS
1536 give extra options to strip
1537
1538 --tar-options OPTS
1539 give extra options to tar
1540
1541 --uhc-options OPTS
1542 give extra options to uhc
1543
1544 --only
1545 Don't reinstall add-source dependencies (sandbox-only)
1546
1547
1548 cabal init
1549
1550 Usage: cabal init [FLAGS]
1551
1552
1553 Cabalise a project by creating a .cabal, Setup.hs, and optionally a
1554 LICENSE file.
1555
1556 Calling init with no arguments (recommended) uses an interactive mode,
1557 which will try to guess as much as possible and prompt you for the
1558 rest. Command-line arguments are provided for scripting purposes. If
1559 you don't want interactive mode, be sure to pass the -n flag.
1560
1561
1562 Flags:
1563 -n, --non-interactive
1564 Non-interactive mode.
1565
1566 -q, --quiet
1567 Do not generate log messages to stdout.
1568
1569 --no-comments
1570 Do not generate explanatory comments in the .cabal file.
1571
1572 -m, --minimal
1573 Generate a minimal .cabal file, that is, do not include
1574 extra empty fields. Also implies --no-comments.
1575
1576 --overwrite
1577 Overwrite any existing .cabal, LICENSE, or Setup.hs files
1578 without warning.
1579
1580 --package-dir DIRECTORY
1581 Root directory of the package (default = current direc‐
1582 tory).
1583
1584 -p, --package-name PACKAGE
1585 Name of the Cabal package to create.
1586
1587 --version VERSION
1588 Initial version of the package.
1589
1590 --cabal-version VERSION_RANGE
1591 Required version of the Cabal library.
1592
1593 -l, --license LICENSE
1594 Project license.
1595
1596 -a, --author NAME
1597 Name of the project's author.
1598
1599 -e, --email EMAIL
1600 Email address of the maintainer.
1601
1602 -u, --homepage URL
1603 Project homepage and/or repository.
1604
1605 -s, --synopsis TEXT
1606 Short project synopsis.
1607
1608 -c, --category CATEGORY
1609 Project category.
1610
1611 -x, --extra-source-file FILE
1612 Extra source file to be distributed with tarball.
1613
1614 --is-library
1615 Build a library.
1616
1617 --is-executable
1618 Build an executable.
1619
1620 --main-is FILE
1621 Specify the main module.
1622
1623 --language LANGUAGE
1624 Specify the default language.
1625
1626 -o, --expose-module MODULE
1627 Export a module from the package.
1628
1629 --extension EXTENSION
1630 Use a LANGUAGE extension (in the other-extensions field).
1631
1632 -d, --dependency PACKAGE
1633 Package dependency.
1634
1635 --source-dir DIR
1636 Directory containing package source.
1637
1638 --build-tool TOOL
1639 Required external build tool.
1640
1641 -v, --verbose [n]
1642 Control verbosity (n is 0--3, default verbosity level is
1643 1)
1644
1645
1646 cabal configure
1647
1648 Usage: cabal configure [FLAGS]
1649
1650
1651 Configure how the package is built by setting package (and other)
1652 flags.
1653
1654 The configuration affects several other commands, including build,
1655 test, bench, run, repl.
1656
1657
1658 The flags --with-PROG and --PROG-option(s) can be used with the follow‐
1659 ing programs:
1660 alex ar c2hs cpphs doctest gcc ghc ghc-pkg ghcjs ghcjs-pkg greencard
1661 haddock
1662 happy haskell-suite haskell-suite-pkg hmake hpc hsc2hs hscolour jhc
1663 ld lhc
1664 lhc-pkg pkg-config runghc strip tar uhc
1665
1666 Examples:
1667 cabal configure
1668 Configure with defaults;
1669 cabal configure --enable-tests -fcustomflag
1670 Configure building package including tests,
1671 with some package-specific flag.
1672
1673
1674 Flags:
1675 -v, --verbose [n]
1676 Control verbosity (n is 0--3, default verbosity level is
1677 1)
1678
1679 --builddir, --distdir, --distpref DIR
1680 The directory where Cabal puts generated build files
1681 (default dist)
1682
1683 -g, --ghc
1684 compile with GHC
1685
1686 --ghcjs
1687 compile with GHCJS
1688
1689 --jhc
1690 compile with JHC
1691
1692 --lhc
1693 compile with LHC
1694
1695 --uhc
1696 compile with UHC
1697
1698 --haskell-suite
1699 compile with a haskell-suite compiler
1700
1701 --cabal-file PATH
1702 use this Cabal file
1703
1704 -w, --with-compiler PATH
1705 give the path to a particular compiler
1706
1707 --with-hc-pkg PATH
1708 give the path to the package tool
1709
1710 --prefix DIR
1711 bake this prefix in preparation of installation
1712
1713 --bindir DIR
1714 installation directory for executables
1715
1716 --libdir DIR
1717 installation directory for libraries
1718
1719 --libsubdir DIR
1720 subdirectory of libdir in which libs are installed
1721
1722 --dynlibdir DIR
1723 installation directory for dynamic libraries
1724
1725 --libexecdir DIR
1726 installation directory for program executables
1727
1728 --libexecsubdir DIR
1729 subdirectory of libexecdir in which private executables
1730 are installed
1731
1732 --datadir DIR
1733 installation directory for read-only data
1734
1735 --datasubdir DIR
1736 subdirectory of datadir in which data files are installed
1737
1738 --docdir DIR
1739 installation directory for documentation
1740
1741 --htmldir DIR
1742 installation directory for HTML documentation
1743
1744 --haddockdir DIR
1745 installation directory for haddock interfaces
1746
1747 --sysconfdir DIR
1748 installation directory for configuration files
1749
1750 --program-prefix PREFIX
1751 prefix to be applied to installed executables
1752
1753 --program-suffix SUFFIX
1754 suffix to be applied to installed executables
1755
1756 --enable-library-vanilla
1757 --disable-library-vanilla
1758 Vanilla libraries
1759
1760 -p, --enable-library-profiling
1761 --disable-library-profiling
1762 Library profiling
1763
1764 --enable-shared
1765 --disable-shared
1766 Shared library
1767
1768 --enable-executable-dynamic
1769 --disable-executable-dynamic
1770 Executable dynamic linking
1771
1772 --enable-profiling
1773 --disable-profiling
1774 Executable and library profiling
1775
1776 --enable-executable-profiling
1777 --disable-executable-profiling
1778 Executable profiling (DEPRECATED)
1779
1780 --profiling-detail level
1781 Profiling detail level for executable and library
1782 (default, none, exported-functions, toplevel-functions,
1783 all-functions).
1784
1785 --library-profiling-detail level
1786 Profiling detail level for libraries only.
1787
1788 -O, --enable-optimization, --enable-optimisation [n]
1789 Build with optimization (n is 0--2, default is 1)
1790
1791 --disable-optimization, --disable-optimisation
1792 Build without optimization
1793
1794 --enable-debug-info [n]
1795 Emit debug info (n is 0--3, default is 0)
1796
1797 --disable-debug-info
1798 Don't emit debug info
1799
1800 --enable-library-for-ghci
1801 --disable-library-for-ghci
1802 compile library for use with GHCi
1803
1804 --enable-split-objs
1805 --disable-split-objs
1806 split library into smaller objects to reduce binary sizes
1807 (GHC 6.6+)
1808
1809 --enable-executable-stripping
1810 --disable-executable-stripping
1811 strip executables upon installation to reduce binary
1812 sizes
1813
1814 --enable-library-stripping
1815 --disable-library-stripping
1816 strip libraries upon installation to reduce binary sizes
1817
1818 --configure-option OPT
1819 Extra option for configure
1820
1821 --user
1822 --global
1823 doing a per-user installation
1824
1825 --package-db DB
1826 Append the given package database to the list of package
1827 databases used (to satisfy dependencies and register
1828 into). May be a specific file, 'global' or 'user'. The
1829 initial list is ['global'], ['global', 'user'], or
1830 ['global', $sandbox], depending on context. Use 'clear'
1831 to reset the list to empty. See the user guide for
1832 details.
1833
1834 -f, --flags FLAGS
1835 Force values for the given flags in Cabal conditionals in
1836 the .cabal file. E.g., --flags="debug -usebytestrings"
1837 forces the flag "debug" to true and "usebytestrings" to
1838 false.
1839
1840 --extra-include-dirs PATH
1841 A list of directories to search for header files
1842
1843 --enable-deterministic
1844 --disable-deterministic
1845 Try to be as deterministic as possible (used by the test
1846 suite)
1847
1848 --ipid IPID
1849 Installed package ID to compile this package as
1850
1851 --cid CID
1852 Installed component ID to compile this component as
1853
1854 --extra-lib-dirs PATH
1855 A list of directories to search for external libraries
1856
1857 --extra-framework-dirs PATH
1858 A list of directories to search for external frameworks
1859 (OS X only)
1860
1861 --extra-prog-path PATH
1862 A list of directories to search for required programs (in
1863 addition to the normal search locations)
1864
1865 --instantiate-with NAME=MOD
1866 A mapping of signature names to concrete module instanti‐
1867 ations.
1868
1869 --enable-tests
1870 --disable-tests
1871 dependency checking and compilation for test suites
1872 listed in the package description file.
1873
1874 --enable-coverage
1875 --disable-coverage
1876 build package with Haskell Program Coverage. (GHC only)
1877
1878 --enable-library-coverage
1879 --disable-library-coverage
1880 build package with Haskell Program Coverage. (GHC only)
1881 (DEPRECATED)
1882
1883 --allow-older [DEPS]
1884 Ignore upper bounds in all dependencies or DEPS
1885
1886 --allow-newer [DEPS]
1887 Ignore upper bounds in all dependencies or DEPS
1888
1889 --enable-benchmarks
1890 --disable-benchmarks
1891 dependency checking and compilation for benchmarks listed
1892 in the package description file.
1893
1894 --enable-relocatable
1895 --disable-relocatable
1896 building a package that is relocatable. (GHC only)
1897
1898 --with-alex PATH
1899 give the path to alex
1900
1901 --with-ar PATH
1902 give the path to ar
1903
1904 --with-c2hs PATH
1905 give the path to c2hs
1906
1907 --with-cpphs PATH
1908 give the path to cpphs
1909
1910 --with-doctest PATH
1911 give the path to doctest
1912
1913 --with-gcc PATH
1914 give the path to gcc
1915
1916 --with-ghc PATH
1917 give the path to ghc
1918
1919 --with-ghc-pkg PATH
1920 give the path to ghc-pkg
1921
1922 --with-ghcjs PATH
1923 give the path to ghcjs
1924
1925 --with-ghcjs-pkg PATH
1926 give the path to ghcjs-pkg
1927
1928 --with-greencard PATH
1929 give the path to greencard
1930
1931 --with-haddock PATH
1932 give the path to haddock
1933
1934 --with-happy PATH
1935 give the path to happy
1936
1937 --with-haskell-suite PATH
1938 give the path to haskell-suite
1939
1940 --with-haskell-suite-pkg PATH
1941 give the path to haskell-suite-pkg
1942
1943 --with-hmake PATH
1944 give the path to hmake
1945
1946 --with-hpc PATH
1947 give the path to hpc
1948
1949 --with-hsc2hs PATH
1950 give the path to hsc2hs
1951
1952 --with-hscolour PATH
1953 give the path to hscolour
1954
1955 --with-jhc PATH
1956 give the path to jhc
1957
1958 --with-ld PATH
1959 give the path to ld
1960
1961 --with-lhc PATH
1962 give the path to lhc
1963
1964 --with-lhc-pkg PATH
1965 give the path to lhc-pkg
1966
1967 --with-pkg-config PATH
1968 give the path to pkg-config
1969
1970 --with-runghc PATH
1971 give the path to runghc
1972
1973 --with-strip PATH
1974 give the path to strip
1975
1976 --with-tar PATH
1977 give the path to tar
1978
1979 --with-uhc PATH
1980 give the path to uhc
1981
1982 --alex-option OPT
1983 give an extra option to alex (no need to quote options
1984 containing spaces)
1985
1986 --ar-option OPT
1987 give an extra option to ar (no need to quote options con‐
1988 taining spaces)
1989
1990 --c2hs-option OPT
1991 give an extra option to c2hs (no need to quote options
1992 containing spaces)
1993
1994 --cpphs-option OPT
1995 give an extra option to cpphs (no need to quote options
1996 containing spaces)
1997
1998 --doctest-option OPT
1999 give an extra option to doctest (no need to quote options
2000 containing spaces)
2001
2002 --gcc-option OPT
2003 give an extra option to gcc (no need to quote options
2004 containing spaces)
2005
2006 --ghc-option OPT
2007 give an extra option to ghc (no need to quote options
2008 containing spaces)
2009
2010 --ghc-pkg-option OPT
2011 give an extra option to ghc-pkg (no need to quote options
2012 containing spaces)
2013
2014 --ghcjs-option OPT
2015 give an extra option to ghcjs (no need to quote options
2016 containing spaces)
2017
2018 --ghcjs-pkg-option OPT
2019 give an extra option to ghcjs-pkg (no need to quote
2020 options containing spaces)
2021
2022 --greencard-option OPT
2023 give an extra option to greencard (no need to quote
2024 options containing spaces)
2025
2026 --haddock-option OPT
2027 give an extra option to haddock (no need to quote options
2028 containing spaces)
2029
2030 --happy-option OPT
2031 give an extra option to happy (no need to quote options
2032 containing spaces)
2033
2034 --haskell-suite-option OPT
2035 give an extra option to haskell-suite (no need to quote
2036 options containing spaces)
2037
2038 --haskell-suite-pkg-option OPT
2039 give an extra option to haskell-suite-pkg (no need to
2040 quote options containing spaces)
2041
2042 --hmake-option OPT
2043 give an extra option to hmake (no need to quote options
2044 containing spaces)
2045
2046 --hpc-option OPT
2047 give an extra option to hpc (no need to quote options
2048 containing spaces)
2049
2050 --hsc2hs-option OPT
2051 give an extra option to hsc2hs (no need to quote options
2052 containing spaces)
2053
2054 --hscolour-option OPT
2055 give an extra option to hscolour (no need to quote
2056 options containing spaces)
2057
2058 --jhc-option OPT
2059 give an extra option to jhc (no need to quote options
2060 containing spaces)
2061
2062 --ld-option OPT
2063 give an extra option to ld (no need to quote options con‐
2064 taining spaces)
2065
2066 --lhc-option OPT
2067 give an extra option to lhc (no need to quote options
2068 containing spaces)
2069
2070 --lhc-pkg-option OPT
2071 give an extra option to lhc-pkg (no need to quote options
2072 containing spaces)
2073
2074 --pkg-config-option OPT
2075 give an extra option to pkg-config (no need to quote
2076 options containing spaces)
2077
2078 --runghc-option OPT
2079 give an extra option to runghc (no need to quote options
2080 containing spaces)
2081
2082 --strip-option OPT
2083 give an extra option to strip (no need to quote options
2084 containing spaces)
2085
2086 --tar-option OPT
2087 give an extra option to tar (no need to quote options
2088 containing spaces)
2089
2090 --uhc-option OPT
2091 give an extra option to uhc (no need to quote options
2092 containing spaces)
2093
2094 --alex-options OPTS
2095 give extra options to alex
2096
2097 --ar-options OPTS
2098 give extra options to ar
2099
2100 --c2hs-options OPTS
2101 give extra options to c2hs
2102
2103 --cpphs-options OPTS
2104 give extra options to cpphs
2105
2106 --doctest-options OPTS
2107 give extra options to doctest
2108
2109 --gcc-options OPTS
2110 give extra options to gcc
2111
2112 --ghc-options OPTS
2113 give extra options to ghc
2114
2115 --ghc-pkg-options OPTS
2116 give extra options to ghc-pkg
2117
2118 --ghcjs-options OPTS
2119 give extra options to ghcjs
2120
2121 --ghcjs-pkg-options OPTS
2122 give extra options to ghcjs-pkg
2123
2124 --greencard-options OPTS
2125 give extra options to greencard
2126
2127 --haddock-options OPTS
2128 give extra options to haddock
2129
2130 --happy-options OPTS
2131 give extra options to happy
2132
2133 --haskell-suite-options OPTS
2134 give extra options to haskell-suite
2135
2136 --haskell-suite-pkg-options OPTS
2137 give extra options to haskell-suite-pkg
2138
2139 --hmake-options OPTS
2140 give extra options to hmake
2141
2142 --hpc-options OPTS
2143 give extra options to hpc
2144
2145 --hsc2hs-options OPTS
2146 give extra options to hsc2hs
2147
2148 --hscolour-options OPTS
2149 give extra options to hscolour
2150
2151 --jhc-options OPTS
2152 give extra options to jhc
2153
2154 --ld-options OPTS
2155 give extra options to ld
2156
2157 --lhc-options OPTS
2158 give extra options to lhc
2159
2160 --lhc-pkg-options OPTS
2161 give extra options to lhc-pkg
2162
2163 --pkg-config-options OPTS
2164 give extra options to pkg-config
2165
2166 --runghc-options OPTS
2167 give extra options to runghc
2168
2169 --strip-options OPTS
2170 give extra options to strip
2171
2172 --tar-options OPTS
2173 give extra options to tar
2174
2175 --uhc-options OPTS
2176 give extra options to uhc
2177
2178 --cabal-lib-version VERSION
2179 Select which version of the Cabal lib to use to build
2180 packages (useful for testing).
2181
2182 --constraint CONSTRAINT
2183 Specify constraints on a package (version,
2184 installed/source, flags)
2185
2186 --preference CONSTRAINT
2187 Specify preferences (soft constraints) on the version of
2188 a package
2189
2190 --solver SOLVER
2191 Select dependency solver to use (default: modular).
2192 Choices: modular.
2193
2194
2195 cabal reconfigure
2196
2197 Usage: cabal reconfigure [FLAGS]
2198
2199
2200 Run `configure` with the most recently used flags, or append FLAGS to
2201 the most recently used configuration. Accepts the same flags as `cabal
2202 configure'. If the package has never been configured, the default flags
2203 are used.
2204
2205
2206 Examples:
2207 cabal reconfigure
2208 Configure with the most recently used flags.
2209 cabal reconfigure -w PATH
2210 Reconfigure with the most recently used flags,
2211 but use the compiler at PATH.
2212
2213
2214
2215 Flags:
2216 -v, --verbose [n]
2217 Control verbosity (n is 0--3, default verbosity level is
2218 1)
2219
2220 --builddir, --distdir, --distpref DIR
2221 The directory where Cabal puts generated build files
2222 (default dist)
2223
2224 -g, --ghc
2225 compile with GHC
2226
2227 --ghcjs
2228 compile with GHCJS
2229
2230 --jhc
2231 compile with JHC
2232
2233 --lhc
2234 compile with LHC
2235
2236 --uhc
2237 compile with UHC
2238
2239 --haskell-suite
2240 compile with a haskell-suite compiler
2241
2242 --cabal-file PATH
2243 use this Cabal file
2244
2245 -w, --with-compiler PATH
2246 give the path to a particular compiler
2247
2248 --with-hc-pkg PATH
2249 give the path to the package tool
2250
2251 --prefix DIR
2252 bake this prefix in preparation of installation
2253
2254 --bindir DIR
2255 installation directory for executables
2256
2257 --libdir DIR
2258 installation directory for libraries
2259
2260 --libsubdir DIR
2261 subdirectory of libdir in which libs are installed
2262
2263 --dynlibdir DIR
2264 installation directory for dynamic libraries
2265
2266 --libexecdir DIR
2267 installation directory for program executables
2268
2269 --libexecsubdir DIR
2270 subdirectory of libexecdir in which private executables
2271 are installed
2272
2273 --datadir DIR
2274 installation directory for read-only data
2275
2276 --datasubdir DIR
2277 subdirectory of datadir in which data files are installed
2278
2279 --docdir DIR
2280 installation directory for documentation
2281
2282 --htmldir DIR
2283 installation directory for HTML documentation
2284
2285 --haddockdir DIR
2286 installation directory for haddock interfaces
2287
2288 --sysconfdir DIR
2289 installation directory for configuration files
2290
2291 --program-prefix PREFIX
2292 prefix to be applied to installed executables
2293
2294 --program-suffix SUFFIX
2295 suffix to be applied to installed executables
2296
2297 --enable-library-vanilla
2298 --disable-library-vanilla
2299 Vanilla libraries
2300
2301 -p, --enable-library-profiling
2302 --disable-library-profiling
2303 Library profiling
2304
2305 --enable-shared
2306 --disable-shared
2307 Shared library
2308
2309 --enable-executable-dynamic
2310 --disable-executable-dynamic
2311 Executable dynamic linking
2312
2313 --enable-profiling
2314 --disable-profiling
2315 Executable and library profiling
2316
2317 --enable-executable-profiling
2318 --disable-executable-profiling
2319 Executable profiling (DEPRECATED)
2320
2321 --profiling-detail level
2322 Profiling detail level for executable and library
2323 (default, none, exported-functions, toplevel-functions,
2324 all-functions).
2325
2326 --library-profiling-detail level
2327 Profiling detail level for libraries only.
2328
2329 -O, --enable-optimization, --enable-optimisation [n]
2330 Build with optimization (n is 0--2, default is 1)
2331
2332 --disable-optimization, --disable-optimisation
2333 Build without optimization
2334
2335 --enable-debug-info [n]
2336 Emit debug info (n is 0--3, default is 0)
2337
2338 --disable-debug-info
2339 Don't emit debug info
2340
2341 --enable-library-for-ghci
2342 --disable-library-for-ghci
2343 compile library for use with GHCi
2344
2345 --enable-split-objs
2346 --disable-split-objs
2347 split library into smaller objects to reduce binary sizes
2348 (GHC 6.6+)
2349
2350 --enable-executable-stripping
2351 --disable-executable-stripping
2352 strip executables upon installation to reduce binary
2353 sizes
2354
2355 --enable-library-stripping
2356 --disable-library-stripping
2357 strip libraries upon installation to reduce binary sizes
2358
2359 --configure-option OPT
2360 Extra option for configure
2361
2362 --user
2363 --global
2364 doing a per-user installation
2365
2366 --package-db DB
2367 Append the given package database to the list of package
2368 databases used (to satisfy dependencies and register
2369 into). May be a specific file, 'global' or 'user'. The
2370 initial list is ['global'], ['global', 'user'], or
2371 ['global', $sandbox], depending on context. Use 'clear'
2372 to reset the list to empty. See the user guide for
2373 details.
2374
2375 -f, --flags FLAGS
2376 Force values for the given flags in Cabal conditionals in
2377 the .cabal file. E.g., --flags="debug -usebytestrings"
2378 forces the flag "debug" to true and "usebytestrings" to
2379 false.
2380
2381 --extra-include-dirs PATH
2382 A list of directories to search for header files
2383
2384 --enable-deterministic
2385 --disable-deterministic
2386 Try to be as deterministic as possible (used by the test
2387 suite)
2388
2389 --ipid IPID
2390 Installed package ID to compile this package as
2391
2392 --cid CID
2393 Installed component ID to compile this component as
2394
2395 --extra-lib-dirs PATH
2396 A list of directories to search for external libraries
2397
2398 --extra-framework-dirs PATH
2399 A list of directories to search for external frameworks
2400 (OS X only)
2401
2402 --extra-prog-path PATH
2403 A list of directories to search for required programs (in
2404 addition to the normal search locations)
2405
2406 --instantiate-with NAME=MOD
2407 A mapping of signature names to concrete module instanti‐
2408 ations.
2409
2410 --enable-tests
2411 --disable-tests
2412 dependency checking and compilation for test suites
2413 listed in the package description file.
2414
2415 --enable-coverage
2416 --disable-coverage
2417 build package with Haskell Program Coverage. (GHC only)
2418
2419 --enable-library-coverage
2420 --disable-library-coverage
2421 build package with Haskell Program Coverage. (GHC only)
2422 (DEPRECATED)
2423
2424 --allow-older [DEPS]
2425 Ignore upper bounds in all dependencies or DEPS
2426
2427 --allow-newer [DEPS]
2428 Ignore upper bounds in all dependencies or DEPS
2429
2430 --enable-benchmarks
2431 --disable-benchmarks
2432 dependency checking and compilation for benchmarks listed
2433 in the package description file.
2434
2435 --enable-relocatable
2436 --disable-relocatable
2437 building a package that is relocatable. (GHC only)
2438
2439 --with-alex PATH
2440 give the path to alex
2441
2442 --with-ar PATH
2443 give the path to ar
2444
2445 --with-c2hs PATH
2446 give the path to c2hs
2447
2448 --with-cpphs PATH
2449 give the path to cpphs
2450
2451 --with-doctest PATH
2452 give the path to doctest
2453
2454 --with-gcc PATH
2455 give the path to gcc
2456
2457 --with-ghc PATH
2458 give the path to ghc
2459
2460 --with-ghc-pkg PATH
2461 give the path to ghc-pkg
2462
2463 --with-ghcjs PATH
2464 give the path to ghcjs
2465
2466 --with-ghcjs-pkg PATH
2467 give the path to ghcjs-pkg
2468
2469 --with-greencard PATH
2470 give the path to greencard
2471
2472 --with-haddock PATH
2473 give the path to haddock
2474
2475 --with-happy PATH
2476 give the path to happy
2477
2478 --with-haskell-suite PATH
2479 give the path to haskell-suite
2480
2481 --with-haskell-suite-pkg PATH
2482 give the path to haskell-suite-pkg
2483
2484 --with-hmake PATH
2485 give the path to hmake
2486
2487 --with-hpc PATH
2488 give the path to hpc
2489
2490 --with-hsc2hs PATH
2491 give the path to hsc2hs
2492
2493 --with-hscolour PATH
2494 give the path to hscolour
2495
2496 --with-jhc PATH
2497 give the path to jhc
2498
2499 --with-ld PATH
2500 give the path to ld
2501
2502 --with-lhc PATH
2503 give the path to lhc
2504
2505 --with-lhc-pkg PATH
2506 give the path to lhc-pkg
2507
2508 --with-pkg-config PATH
2509 give the path to pkg-config
2510
2511 --with-runghc PATH
2512 give the path to runghc
2513
2514 --with-strip PATH
2515 give the path to strip
2516
2517 --with-tar PATH
2518 give the path to tar
2519
2520 --with-uhc PATH
2521 give the path to uhc
2522
2523 --alex-option OPT
2524 give an extra option to alex (no need to quote options
2525 containing spaces)
2526
2527 --ar-option OPT
2528 give an extra option to ar (no need to quote options con‐
2529 taining spaces)
2530
2531 --c2hs-option OPT
2532 give an extra option to c2hs (no need to quote options
2533 containing spaces)
2534
2535 --cpphs-option OPT
2536 give an extra option to cpphs (no need to quote options
2537 containing spaces)
2538
2539 --doctest-option OPT
2540 give an extra option to doctest (no need to quote options
2541 containing spaces)
2542
2543 --gcc-option OPT
2544 give an extra option to gcc (no need to quote options
2545 containing spaces)
2546
2547 --ghc-option OPT
2548 give an extra option to ghc (no need to quote options
2549 containing spaces)
2550
2551 --ghc-pkg-option OPT
2552 give an extra option to ghc-pkg (no need to quote options
2553 containing spaces)
2554
2555 --ghcjs-option OPT
2556 give an extra option to ghcjs (no need to quote options
2557 containing spaces)
2558
2559 --ghcjs-pkg-option OPT
2560 give an extra option to ghcjs-pkg (no need to quote
2561 options containing spaces)
2562
2563 --greencard-option OPT
2564 give an extra option to greencard (no need to quote
2565 options containing spaces)
2566
2567 --haddock-option OPT
2568 give an extra option to haddock (no need to quote options
2569 containing spaces)
2570
2571 --happy-option OPT
2572 give an extra option to happy (no need to quote options
2573 containing spaces)
2574
2575 --haskell-suite-option OPT
2576 give an extra option to haskell-suite (no need to quote
2577 options containing spaces)
2578
2579 --haskell-suite-pkg-option OPT
2580 give an extra option to haskell-suite-pkg (no need to
2581 quote options containing spaces)
2582
2583 --hmake-option OPT
2584 give an extra option to hmake (no need to quote options
2585 containing spaces)
2586
2587 --hpc-option OPT
2588 give an extra option to hpc (no need to quote options
2589 containing spaces)
2590
2591 --hsc2hs-option OPT
2592 give an extra option to hsc2hs (no need to quote options
2593 containing spaces)
2594
2595 --hscolour-option OPT
2596 give an extra option to hscolour (no need to quote
2597 options containing spaces)
2598
2599 --jhc-option OPT
2600 give an extra option to jhc (no need to quote options
2601 containing spaces)
2602
2603 --ld-option OPT
2604 give an extra option to ld (no need to quote options con‐
2605 taining spaces)
2606
2607 --lhc-option OPT
2608 give an extra option to lhc (no need to quote options
2609 containing spaces)
2610
2611 --lhc-pkg-option OPT
2612 give an extra option to lhc-pkg (no need to quote options
2613 containing spaces)
2614
2615 --pkg-config-option OPT
2616 give an extra option to pkg-config (no need to quote
2617 options containing spaces)
2618
2619 --runghc-option OPT
2620 give an extra option to runghc (no need to quote options
2621 containing spaces)
2622
2623 --strip-option OPT
2624 give an extra option to strip (no need to quote options
2625 containing spaces)
2626
2627 --tar-option OPT
2628 give an extra option to tar (no need to quote options
2629 containing spaces)
2630
2631 --uhc-option OPT
2632 give an extra option to uhc (no need to quote options
2633 containing spaces)
2634
2635 --alex-options OPTS
2636 give extra options to alex
2637
2638 --ar-options OPTS
2639 give extra options to ar
2640
2641 --c2hs-options OPTS
2642 give extra options to c2hs
2643
2644 --cpphs-options OPTS
2645 give extra options to cpphs
2646
2647 --doctest-options OPTS
2648 give extra options to doctest
2649
2650 --gcc-options OPTS
2651 give extra options to gcc
2652
2653 --ghc-options OPTS
2654 give extra options to ghc
2655
2656 --ghc-pkg-options OPTS
2657 give extra options to ghc-pkg
2658
2659 --ghcjs-options OPTS
2660 give extra options to ghcjs
2661
2662 --ghcjs-pkg-options OPTS
2663 give extra options to ghcjs-pkg
2664
2665 --greencard-options OPTS
2666 give extra options to greencard
2667
2668 --haddock-options OPTS
2669 give extra options to haddock
2670
2671 --happy-options OPTS
2672 give extra options to happy
2673
2674 --haskell-suite-options OPTS
2675 give extra options to haskell-suite
2676
2677 --haskell-suite-pkg-options OPTS
2678 give extra options to haskell-suite-pkg
2679
2680 --hmake-options OPTS
2681 give extra options to hmake
2682
2683 --hpc-options OPTS
2684 give extra options to hpc
2685
2686 --hsc2hs-options OPTS
2687 give extra options to hsc2hs
2688
2689 --hscolour-options OPTS
2690 give extra options to hscolour
2691
2692 --jhc-options OPTS
2693 give extra options to jhc
2694
2695 --ld-options OPTS
2696 give extra options to ld
2697
2698 --lhc-options OPTS
2699 give extra options to lhc
2700
2701 --lhc-pkg-options OPTS
2702 give extra options to lhc-pkg
2703
2704 --pkg-config-options OPTS
2705 give extra options to pkg-config
2706
2707 --runghc-options OPTS
2708 give extra options to runghc
2709
2710 --strip-options OPTS
2711 give extra options to strip
2712
2713 --tar-options OPTS
2714 give extra options to tar
2715
2716 --uhc-options OPTS
2717 give extra options to uhc
2718
2719 --cabal-lib-version VERSION
2720 Select which version of the Cabal lib to use to build
2721 packages (useful for testing).
2722
2723 --constraint CONSTRAINT
2724 Specify constraints on a package (version,
2725 installed/source, flags)
2726
2727 --preference CONSTRAINT
2728 Specify preferences (soft constraints) on the version of
2729 a package
2730
2731 --solver SOLVER
2732 Select dependency solver to use (default: modular).
2733 Choices: modular.
2734
2735
2736 cabal build
2737
2738 Usage: cabal build [FLAGS]
2739 or: cabal build COMPONENTS [FLAGS]
2740
2741
2742 Components encompass executables, tests, and benchmarks.
2743
2744 Affected by configuration options, see `configure`.
2745
2746
2747 Examples:
2748 cabal build All the components in the package
2749 cabal build foo A component (i.e. lib, exe, test suite)
2750
2751 The flags --with-PROG and --PROG-option(s) can be used with the follow‐
2752 ing programs:
2753 alex ar c2hs cpphs doctest gcc ghc ghc-pkg ghcjs ghcjs-pkg greencard
2754 haddock
2755 happy haskell-suite haskell-suite-pkg hmake hpc hsc2hs hscolour jhc
2756 ld lhc
2757 lhc-pkg pkg-config runghc strip tar uhc
2758
2759
2760 Flags:
2761 -v, --verbose [n]
2762 Control verbosity (n is 0--3, default verbosity level is
2763 1)
2764
2765 --builddir, --distdir, --distpref DIR
2766 The directory where Cabal puts generated build files
2767 (default dist)
2768
2769 -j, --jobs [NUM]
2770 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
2771 given).
2772
2773 --with-alex PATH
2774 give the path to alex
2775
2776 --with-ar PATH
2777 give the path to ar
2778
2779 --with-c2hs PATH
2780 give the path to c2hs
2781
2782 --with-cpphs PATH
2783 give the path to cpphs
2784
2785 --with-doctest PATH
2786 give the path to doctest
2787
2788 --with-gcc PATH
2789 give the path to gcc
2790
2791 --with-ghc PATH
2792 give the path to ghc
2793
2794 --with-ghc-pkg PATH
2795 give the path to ghc-pkg
2796
2797 --with-ghcjs PATH
2798 give the path to ghcjs
2799
2800 --with-ghcjs-pkg PATH
2801 give the path to ghcjs-pkg
2802
2803 --with-greencard PATH
2804 give the path to greencard
2805
2806 --with-haddock PATH
2807 give the path to haddock
2808
2809 --with-happy PATH
2810 give the path to happy
2811
2812 --with-haskell-suite PATH
2813 give the path to haskell-suite
2814
2815 --with-haskell-suite-pkg PATH
2816 give the path to haskell-suite-pkg
2817
2818 --with-hmake PATH
2819 give the path to hmake
2820
2821 --with-hpc PATH
2822 give the path to hpc
2823
2824 --with-hsc2hs PATH
2825 give the path to hsc2hs
2826
2827 --with-hscolour PATH
2828 give the path to hscolour
2829
2830 --with-jhc PATH
2831 give the path to jhc
2832
2833 --with-ld PATH
2834 give the path to ld
2835
2836 --with-lhc PATH
2837 give the path to lhc
2838
2839 --with-lhc-pkg PATH
2840 give the path to lhc-pkg
2841
2842 --with-pkg-config PATH
2843 give the path to pkg-config
2844
2845 --with-runghc PATH
2846 give the path to runghc
2847
2848 --with-strip PATH
2849 give the path to strip
2850
2851 --with-tar PATH
2852 give the path to tar
2853
2854 --with-uhc PATH
2855 give the path to uhc
2856
2857 --alex-option OPT
2858 give an extra option to alex (no need to quote options
2859 containing spaces)
2860
2861 --ar-option OPT
2862 give an extra option to ar (no need to quote options con‐
2863 taining spaces)
2864
2865 --c2hs-option OPT
2866 give an extra option to c2hs (no need to quote options
2867 containing spaces)
2868
2869 --cpphs-option OPT
2870 give an extra option to cpphs (no need to quote options
2871 containing spaces)
2872
2873 --doctest-option OPT
2874 give an extra option to doctest (no need to quote options
2875 containing spaces)
2876
2877 --gcc-option OPT
2878 give an extra option to gcc (no need to quote options
2879 containing spaces)
2880
2881 --ghc-option OPT
2882 give an extra option to ghc (no need to quote options
2883 containing spaces)
2884
2885 --ghc-pkg-option OPT
2886 give an extra option to ghc-pkg (no need to quote options
2887 containing spaces)
2888
2889 --ghcjs-option OPT
2890 give an extra option to ghcjs (no need to quote options
2891 containing spaces)
2892
2893 --ghcjs-pkg-option OPT
2894 give an extra option to ghcjs-pkg (no need to quote
2895 options containing spaces)
2896
2897 --greencard-option OPT
2898 give an extra option to greencard (no need to quote
2899 options containing spaces)
2900
2901 --haddock-option OPT
2902 give an extra option to haddock (no need to quote options
2903 containing spaces)
2904
2905 --happy-option OPT
2906 give an extra option to happy (no need to quote options
2907 containing spaces)
2908
2909 --haskell-suite-option OPT
2910 give an extra option to haskell-suite (no need to quote
2911 options containing spaces)
2912
2913 --haskell-suite-pkg-option OPT
2914 give an extra option to haskell-suite-pkg (no need to
2915 quote options containing spaces)
2916
2917 --hmake-option OPT
2918 give an extra option to hmake (no need to quote options
2919 containing spaces)
2920
2921 --hpc-option OPT
2922 give an extra option to hpc (no need to quote options
2923 containing spaces)
2924
2925 --hsc2hs-option OPT
2926 give an extra option to hsc2hs (no need to quote options
2927 containing spaces)
2928
2929 --hscolour-option OPT
2930 give an extra option to hscolour (no need to quote
2931 options containing spaces)
2932
2933 --jhc-option OPT
2934 give an extra option to jhc (no need to quote options
2935 containing spaces)
2936
2937 --ld-option OPT
2938 give an extra option to ld (no need to quote options con‐
2939 taining spaces)
2940
2941 --lhc-option OPT
2942 give an extra option to lhc (no need to quote options
2943 containing spaces)
2944
2945 --lhc-pkg-option OPT
2946 give an extra option to lhc-pkg (no need to quote options
2947 containing spaces)
2948
2949 --pkg-config-option OPT
2950 give an extra option to pkg-config (no need to quote
2951 options containing spaces)
2952
2953 --runghc-option OPT
2954 give an extra option to runghc (no need to quote options
2955 containing spaces)
2956
2957 --strip-option OPT
2958 give an extra option to strip (no need to quote options
2959 containing spaces)
2960
2961 --tar-option OPT
2962 give an extra option to tar (no need to quote options
2963 containing spaces)
2964
2965 --uhc-option OPT
2966 give an extra option to uhc (no need to quote options
2967 containing spaces)
2968
2969 --alex-options OPTS
2970 give extra options to alex
2971
2972 --ar-options OPTS
2973 give extra options to ar
2974
2975 --c2hs-options OPTS
2976 give extra options to c2hs
2977
2978 --cpphs-options OPTS
2979 give extra options to cpphs
2980
2981 --doctest-options OPTS
2982 give extra options to doctest
2983
2984 --gcc-options OPTS
2985 give extra options to gcc
2986
2987 --ghc-options OPTS
2988 give extra options to ghc
2989
2990 --ghc-pkg-options OPTS
2991 give extra options to ghc-pkg
2992
2993 --ghcjs-options OPTS
2994 give extra options to ghcjs
2995
2996 --ghcjs-pkg-options OPTS
2997 give extra options to ghcjs-pkg
2998
2999 --greencard-options OPTS
3000 give extra options to greencard
3001
3002 --haddock-options OPTS
3003 give extra options to haddock
3004
3005 --happy-options OPTS
3006 give extra options to happy
3007
3008 --haskell-suite-options OPTS
3009 give extra options to haskell-suite
3010
3011 --haskell-suite-pkg-options OPTS
3012 give extra options to haskell-suite-pkg
3013
3014 --hmake-options OPTS
3015 give extra options to hmake
3016
3017 --hpc-options OPTS
3018 give extra options to hpc
3019
3020 --hsc2hs-options OPTS
3021 give extra options to hsc2hs
3022
3023 --hscolour-options OPTS
3024 give extra options to hscolour
3025
3026 --jhc-options OPTS
3027 give extra options to jhc
3028
3029 --ld-options OPTS
3030 give extra options to ld
3031
3032 --lhc-options OPTS
3033 give extra options to lhc
3034
3035 --lhc-pkg-options OPTS
3036 give extra options to lhc-pkg
3037
3038 --pkg-config-options OPTS
3039 give extra options to pkg-config
3040
3041 --runghc-options OPTS
3042 give extra options to runghc
3043
3044 --strip-options OPTS
3045 give extra options to strip
3046
3047 --tar-options OPTS
3048 give extra options to tar
3049
3050 --uhc-options OPTS
3051 give extra options to uhc
3052
3053 --only
3054 Don't reinstall add-source dependencies (sandbox-only)
3055
3056
3057 cabal repl
3058
3059 Usage: cabal repl [COMPONENT] [FLAGS]
3060
3061
3062 If the current directory contains no package, ignores COMPONENT parame‐
3063 ters and opens an interactive interpreter session; if a sandbox is
3064 present, its package database will be used.
3065
3066 Otherwise, (re)configures with the given or default flags, and loads
3067 the interpreter with the relevant modules. For executables, tests and
3068 benchmarks, loads the main module (and its dependencies); for libraries
3069 all exposed/other modules.
3070
3071 The default component is the library itself, or the executable if that
3072 is the only component.
3073
3074 Support for loading specific modules is planned but not implemented
3075 yet. For certain scenarios, `cabal exec -- ghci :l Foo` may be used
3076 instead. Note that `exec` will not (re)configure and you will have to
3077 specify the location of other modules, if required.
3078
3079
3080 Examples:
3081 cabal repl The first component in the package
3082 cabal repl foo A named component (i.e. lib, exe, test
3083 suite)
3084 cabal repl --ghc-options="-lstdc++" Specifying flags for interpreter
3085
3086
3087 Flags:
3088 -v, --verbose [n]
3089 Control verbosity (n is 0--3, default verbosity level is
3090 1)
3091
3092 --builddir, --distdir, --distpref DIR
3093 The directory where Cabal puts generated build files
3094 (default dist)
3095
3096 --with-alex PATH
3097 give the path to alex
3098
3099 --with-ar PATH
3100 give the path to ar
3101
3102 --with-c2hs PATH
3103 give the path to c2hs
3104
3105 --with-cpphs PATH
3106 give the path to cpphs
3107
3108 --with-doctest PATH
3109 give the path to doctest
3110
3111 --with-gcc PATH
3112 give the path to gcc
3113
3114 --with-ghc PATH
3115 give the path to ghc
3116
3117 --with-ghc-pkg PATH
3118 give the path to ghc-pkg
3119
3120 --with-ghcjs PATH
3121 give the path to ghcjs
3122
3123 --with-ghcjs-pkg PATH
3124 give the path to ghcjs-pkg
3125
3126 --with-greencard PATH
3127 give the path to greencard
3128
3129 --with-haddock PATH
3130 give the path to haddock
3131
3132 --with-happy PATH
3133 give the path to happy
3134
3135 --with-haskell-suite PATH
3136 give the path to haskell-suite
3137
3138 --with-haskell-suite-pkg PATH
3139 give the path to haskell-suite-pkg
3140
3141 --with-hmake PATH
3142 give the path to hmake
3143
3144 --with-hpc PATH
3145 give the path to hpc
3146
3147 --with-hsc2hs PATH
3148 give the path to hsc2hs
3149
3150 --with-hscolour PATH
3151 give the path to hscolour
3152
3153 --with-jhc PATH
3154 give the path to jhc
3155
3156 --with-ld PATH
3157 give the path to ld
3158
3159 --with-lhc PATH
3160 give the path to lhc
3161
3162 --with-lhc-pkg PATH
3163 give the path to lhc-pkg
3164
3165 --with-pkg-config PATH
3166 give the path to pkg-config
3167
3168 --with-runghc PATH
3169 give the path to runghc
3170
3171 --with-strip PATH
3172 give the path to strip
3173
3174 --with-tar PATH
3175 give the path to tar
3176
3177 --with-uhc PATH
3178 give the path to uhc
3179
3180 --alex-option OPT
3181 give an extra option to alex (no need to quote options
3182 containing spaces)
3183
3184 --ar-option OPT
3185 give an extra option to ar (no need to quote options con‐
3186 taining spaces)
3187
3188 --c2hs-option OPT
3189 give an extra option to c2hs (no need to quote options
3190 containing spaces)
3191
3192 --cpphs-option OPT
3193 give an extra option to cpphs (no need to quote options
3194 containing spaces)
3195
3196 --doctest-option OPT
3197 give an extra option to doctest (no need to quote options
3198 containing spaces)
3199
3200 --gcc-option OPT
3201 give an extra option to gcc (no need to quote options
3202 containing spaces)
3203
3204 --ghc-option OPT
3205 give an extra option to ghc (no need to quote options
3206 containing spaces)
3207
3208 --ghc-pkg-option OPT
3209 give an extra option to ghc-pkg (no need to quote options
3210 containing spaces)
3211
3212 --ghcjs-option OPT
3213 give an extra option to ghcjs (no need to quote options
3214 containing spaces)
3215
3216 --ghcjs-pkg-option OPT
3217 give an extra option to ghcjs-pkg (no need to quote
3218 options containing spaces)
3219
3220 --greencard-option OPT
3221 give an extra option to greencard (no need to quote
3222 options containing spaces)
3223
3224 --haddock-option OPT
3225 give an extra option to haddock (no need to quote options
3226 containing spaces)
3227
3228 --happy-option OPT
3229 give an extra option to happy (no need to quote options
3230 containing spaces)
3231
3232 --haskell-suite-option OPT
3233 give an extra option to haskell-suite (no need to quote
3234 options containing spaces)
3235
3236 --haskell-suite-pkg-option OPT
3237 give an extra option to haskell-suite-pkg (no need to
3238 quote options containing spaces)
3239
3240 --hmake-option OPT
3241 give an extra option to hmake (no need to quote options
3242 containing spaces)
3243
3244 --hpc-option OPT
3245 give an extra option to hpc (no need to quote options
3246 containing spaces)
3247
3248 --hsc2hs-option OPT
3249 give an extra option to hsc2hs (no need to quote options
3250 containing spaces)
3251
3252 --hscolour-option OPT
3253 give an extra option to hscolour (no need to quote
3254 options containing spaces)
3255
3256 --jhc-option OPT
3257 give an extra option to jhc (no need to quote options
3258 containing spaces)
3259
3260 --ld-option OPT
3261 give an extra option to ld (no need to quote options con‐
3262 taining spaces)
3263
3264 --lhc-option OPT
3265 give an extra option to lhc (no need to quote options
3266 containing spaces)
3267
3268 --lhc-pkg-option OPT
3269 give an extra option to lhc-pkg (no need to quote options
3270 containing spaces)
3271
3272 --pkg-config-option OPT
3273 give an extra option to pkg-config (no need to quote
3274 options containing spaces)
3275
3276 --runghc-option OPT
3277 give an extra option to runghc (no need to quote options
3278 containing spaces)
3279
3280 --strip-option OPT
3281 give an extra option to strip (no need to quote options
3282 containing spaces)
3283
3284 --tar-option OPT
3285 give an extra option to tar (no need to quote options
3286 containing spaces)
3287
3288 --uhc-option OPT
3289 give an extra option to uhc (no need to quote options
3290 containing spaces)
3291
3292 --alex-options OPTS
3293 give extra options to alex
3294
3295 --ar-options OPTS
3296 give extra options to ar
3297
3298 --c2hs-options OPTS
3299 give extra options to c2hs
3300
3301 --cpphs-options OPTS
3302 give extra options to cpphs
3303
3304 --doctest-options OPTS
3305 give extra options to doctest
3306
3307 --gcc-options OPTS
3308 give extra options to gcc
3309
3310 --ghc-options OPTS
3311 give extra options to ghc
3312
3313 --ghc-pkg-options OPTS
3314 give extra options to ghc-pkg
3315
3316 --ghcjs-options OPTS
3317 give extra options to ghcjs
3318
3319 --ghcjs-pkg-options OPTS
3320 give extra options to ghcjs-pkg
3321
3322 --greencard-options OPTS
3323 give extra options to greencard
3324
3325 --haddock-options OPTS
3326 give extra options to haddock
3327
3328 --happy-options OPTS
3329 give extra options to happy
3330
3331 --haskell-suite-options OPTS
3332 give extra options to haskell-suite
3333
3334 --haskell-suite-pkg-options OPTS
3335 give extra options to haskell-suite-pkg
3336
3337 --hmake-options OPTS
3338 give extra options to hmake
3339
3340 --hpc-options OPTS
3341 give extra options to hpc
3342
3343 --hsc2hs-options OPTS
3344 give extra options to hsc2hs
3345
3346 --hscolour-options OPTS
3347 give extra options to hscolour
3348
3349 --jhc-options OPTS
3350 give extra options to jhc
3351
3352 --ld-options OPTS
3353 give extra options to ld
3354
3355 --lhc-options OPTS
3356 give extra options to lhc
3357
3358 --lhc-pkg-options OPTS
3359 give extra options to lhc-pkg
3360
3361 --pkg-config-options OPTS
3362 give extra options to pkg-config
3363
3364 --runghc-options OPTS
3365 give extra options to runghc
3366
3367 --strip-options OPTS
3368 give extra options to strip
3369
3370 --tar-options OPTS
3371 give extra options to tar
3372
3373 --uhc-options OPTS
3374 give extra options to uhc
3375
3376 --reload
3377 Used from within an interpreter to update files.
3378
3379 --only
3380 Don't reinstall add-source dependencies (sandbox-only)
3381
3382
3383 cabal sandbox
3384
3385 Usage: cabal sandbox init [FLAGS]
3386 or: cabal sandbox delete [FLAGS]
3387 or: cabal sandbox add-source [FLAGS] PATHS
3388 or: cabal sandbox delete-source [FLAGS] PATHS
3389 or: cabal sandbox list-sources [FLAGS]
3390 or: cabal sandbox hc-pkg [FLAGS] [--] COMMAND [--] [ARGS]
3391
3392
3393 Sandboxes are isolated package databases that can be used to prevent
3394 dependency conflicts that arise when many different packages are
3395 installed in the same database (i.e. the user's database in the home
3396 directory).
3397
3398 A sandbox in the current directory (created by `sandbox init`) will be
3399 used instead of the user's database for commands such as `install` and
3400 `build`. Note that (a directly invoked) GHC will not automatically be
3401 aware of sandboxes; only if called via appropriate cabal commands, e.g.
3402 `repl`, `build`, `exec`.
3403
3404 Currently, cabal will not search for a sandbox in folders above the
3405 current one, so cabal will not see the sandbox if you are in a sub‐
3406 folder of a sandbox.
3407
3408 Subcommands:
3409
3410 init:
3411 Initialize a sandbox in the current directory. An existing package
3412 database
3413 will not be modified, but settings (such as the location of the data‐
3414 base)
3415 can be modified this way.
3416
3417 delete:
3418 Remove the sandbox; deleting all the packages installed inside.
3419
3420 add-source:
3421 Make one or more local packages available in the sandbox. PATHS may
3422 be
3423 relative or absolute. Typical usecase is when you need to make a
3424 (temporary)
3425 modification to a dependency: You download the package into a differ‐
3426 ent
3427 directory, make the modification, and add that directory to the sand‐
3428 box with
3429 `add-source`.
3430
3431 Unless given `--snapshot`, any add-source'd dependency that was modi‐
3432 fied
3433 since the last build will be re-installed automatically.
3434
3435 delete-source:
3436 Remove an add-source dependency; however, this will not delete the
3437 package(s) that have been installed in the sandbox from this depen‐
3438 dency. You
3439 can either unregister the package(s) via `cabal sandbox hc-pkg unreg‐
3440 ister`
3441 or re-create the sandbox (`sandbox delete; sandbox init`).
3442
3443 list-sources:
3444 List the directories of local packages made available via `cabal
3445 add-source`.
3446
3447 hc-pkg:
3448 Similar to `ghc-pkg`, but for the sandbox package database. Can be
3449 used to
3450 list specific/all packages that are installed in the sandbox. For
3451 subcommands, see the help for ghc-pkg. Affected by the compiler ver‐
3452 sion
3453 specified by `configure`.
3454
3455
3456
3457 Relevant global configuration keys:
3458 require-sandbox
3459 ignore-sandbox
3460
3461 Examples:
3462 Set up a sandbox with one local dependency, located at ../foo:
3463 cabal sandbox init
3464 cabal sandbox add-source ../foo
3465 cabal install --only-dependencies
3466 Reset the sandbox:
3467 cabal sandbox delete
3468 cabal sandbox init
3469 cabal install --only-dependencies
3470 List the packages in the sandbox:
3471 cabal sandbox hc-pkg list
3472 Unregister the `broken` package from the sandbox:
3473 cabal sandbox hc-pkg -- --force unregister broken
3474
3475
3476 Flags:
3477 -v, --verbose [n]
3478 Control verbosity (n is 0--3, default verbosity level is
3479 1)
3480
3481 --snapshot
3482 Take a snapshot instead of creating a link (only applies
3483 to 'add-source')
3484
3485 --sandbox DIR
3486 Sandbox location (default: './.cabal-sandbox').
3487
3488
3489 cabal doctest
3490
3491 Usage: cabal doctest [FLAGS]
3492
3493
3494 Requires the program doctest, version 0.12.
3495
3496
3497 Flags:
3498 -v, --verbose [n]
3499 Control verbosity (n is 0--3, default verbosity level is
3500 1)
3501
3502 --builddir, --distdir, --distpref DIR
3503 The directory where Cabal puts generated build files
3504 (default dist)
3505
3506 --with-doctest PATH
3507 give the path to doctest
3508
3509 --doctest-option OPT
3510 give an extra option to doctest (no need to quote options
3511 containing spaces)
3512
3513 --doctest-options OPTS
3514 give extra options to doctest
3515
3516
3517 cabal haddock
3518
3519 Usage: cabal haddock [FLAGS]
3520
3521
3522 Requires the program haddock, version 2.x.
3523
3524
3525 Flags:
3526 -v, --verbose [n]
3527 Control verbosity (n is 0--3, default verbosity level is
3528 1)
3529
3530 --builddir, --distdir, --distpref DIR
3531 The directory where Cabal puts generated build files
3532 (default dist)
3533
3534 --keep-temp-files
3535 Keep temporary files
3536
3537 --hoogle
3538 Generate a hoogle database
3539
3540 --html
3541 Generate HTML documentation (the default)
3542
3543 --html-location URL
3544 Location of HTML documentation for pre-requisite packages
3545
3546 --for-hackage
3547 Collection of flags to generate documentation suitable
3548 for upload to hackage
3549
3550 --executables
3551 Run haddock for Executables targets
3552
3553 --tests
3554 Run haddock for Test Suite targets
3555
3556 --benchmarks
3557 Run haddock for Benchmark targets
3558
3559 --foreign-libraries
3560 Run haddock for Foreign Library targets
3561
3562 --all
3563 Run haddock for all targets
3564
3565 --internal
3566 Run haddock for internal modules and include all symbols
3567
3568 --css PATH
3569 Use PATH as the haddock stylesheet
3570
3571 --hyperlink-source, --hyperlink-sources
3572 Hyperlink the documentation to the source code (using
3573 HsColour)
3574
3575 --hscolour-css PATH
3576 Use PATH as the HsColour stylesheet
3577
3578 --contents-location URL
3579 Bake URL in as the location for the contents page
3580
3581 --with-ghc PATH
3582 give the path to ghc
3583
3584 --with-haddock PATH
3585 give the path to haddock
3586
3587 --ghc-option OPT
3588 give an extra option to ghc (no need to quote options
3589 containing spaces)
3590
3591 --haddock-option OPT
3592 give an extra option to haddock (no need to quote options
3593 containing spaces)
3594
3595 --ghc-options OPTS
3596 give extra options to ghc
3597
3598 --haddock-options OPTS
3599 give extra options to haddock
3600
3601
3602 cabal exec
3603
3604 Usage: cabal exec [FLAGS] [--] COMMAND [--] [ARGS]
3605
3606
3607 A directly invoked GHC will not automatically be aware of any sand‐
3608 boxes: the GHC_PACKAGE_PATH environment variable controls what GHC
3609 uses. `cabal exec` can be used to modify this variable: COMMAND will be
3610 executed in a modified environment and thereby uses the sandbox package
3611 database.
3612
3613 If there is no sandbox, behaves as identity (executing COMMAND).
3614
3615 Note that other cabal commands change the environment variable appro‐
3616 priately already, so there is no need to wrap those in `cabal exec`.
3617 But with `cabal exec`, the user has more control and can, for example,
3618 execute custom scripts which indirectly execute GHC.
3619
3620 Note that `cabal repl` is different from `cabal exec -- ghci` as the
3621 latter will not forward any additional flags being defined in the local
3622 package to ghci.
3623
3624 See `cabal sandbox`.
3625
3626
3627 Examples:
3628 cabal exec -- ghci -Wall
3629 Start a repl session with sandbox packages and all warnings;
3630 cabal exec gitit -- -f gitit.cnf
3631 Give gitit access to the sandbox packages, and pass it a flag;
3632 cabal exec runghc Foo.hs
3633 Execute runghc on Foo.hs with runghc configured to use the
3634 sandbox package database (if a sandbox is being used).
3635
3636
3637 Flags:
3638 -v, --verbose [n]
3639 Control verbosity (n is 0--3, default verbosity level is
3640 1)
3641
3642 --builddir, --distdir, --distpref DIR
3643 The directory where Cabal puts generated build files
3644 (default dist)
3645
3646
3647 cabal user-config
3648
3649 Usage: cabal user-config init
3650 or: cabal user-config diff
3651 or: cabal user-config update
3652
3653
3654 When upgrading cabal, the set of configuration keys and their default
3655 values may change. This command provides means to merge the existing
3656 config in ~/.cabal/config (i.e. all bindings that are actually defined
3657 and not commented out) and the default config of the new version.
3658
3659 init: Creates a new config file at either ~/.cabal/config or as speci‐
3660 fied by --config-file, if given. An existing file won't be overwritten
3661 unless -f or --force is given. diff: Shows a pseudo-diff of the user's
3662 ~/.cabal/config file and the default configuration that would be cre‐
3663 ated by cabal if the config file did not exist. update: Applies the
3664 pseudo-diff to the configuration that would be created by default, and
3665 write the result back to ~/.cabal/config.
3666
3667
3668 Flags:
3669 -v, --verbose [n]
3670 Control verbosity (n is 0--3, default verbosity level is
3671 1)
3672
3673 -f, --force
3674 Overwrite the config file if it already exists.
3675
3676
3677 cabal clean
3678
3679 Usage: cabal clean [FLAGS]
3680
3681
3682 Removes .hi, .o, preprocessed sources, etc.
3683
3684
3685 Flags:
3686 -v, --verbose [n]
3687 Control verbosity (n is 0--3, default verbosity level is
3688 1)
3689
3690 --builddir, --distdir, --distpref DIR
3691 The directory where Cabal puts generated build files
3692 (default dist)
3693
3694 -s, --save-configure
3695 Do not remove the configuration file (dist/setup-config)
3696 during cleaning. Saves need to reconfigure.
3697
3698
3699 cabal gen-bounds
3700
3701 Usage: cabal gen-bounds [FLAGS]
3702
3703
3704 Generates bounds for all dependencies that do not currently have them.
3705 Generated bounds are printed to stdout. You can then paste them into
3706 your
3707
3708
3709
3710 Flags:
3711 -v, --verbose [n]
3712 Control verbosity (n is 0--3, default verbosity level is
3713 1)
3714
3715
3716 cabal outdated
3717
3718 Usage: cabal outdated [FLAGS]
3719
3720
3721 Checks for outdated dependencies in the package description file or
3722 freeze file
3723
3724
3725 Flags:
3726 -v, --verbose [n]
3727 Control verbosity (n is 0--3, default verbosity level is
3728 1)
3729
3730 --freeze-file
3731 Act on the freeze file
3732
3733 --new-freeze-file
3734 Act on the new-style freeze file
3735
3736 --simple-output
3737 Only print names of outdated dependencies, one per line
3738
3739 --exit-code
3740 Exit with non-zero when there are outdated dependencies
3741
3742 -q, --quiet
3743 Don't print any output. Implies '--exit-code' and '-v0'
3744
3745 --ignore PKGS
3746 Packages to ignore
3747
3748 --minor [PKGS]
3749 Ignore major version bumps for these packages
3750
3751
3752 cabal copy
3753
3754 Usage: cabal copy [FLAGS]
3755 or: cabal copy COMPONENTS [FLAGS]
3756
3757
3758 Components encompass executables and libraries.Does not call register,
3759 and allows a prefix at install time. Without the --destdir flag, con‐
3760 figure determines location.
3761
3762
3763 Examples:
3764 cabal build All the components in the package
3765 cabal build foo A component (i.e. lib, exe, test suite)
3766
3767 Flags:
3768 -v, --verbose [n]
3769 Control verbosity (n is 0--3, default verbosity level is
3770 1)
3771
3772 --builddir, --distdir, --distpref DIR
3773 The directory where Cabal puts generated build files
3774 (default dist)
3775
3776 --destdir DIR
3777 directory to copy files to, prepended to installation
3778 directories
3779
3780
3781 cabal hscolour
3782
3783 Usage: cabal hscolour [FLAGS]
3784
3785
3786 Requires the hscolour program.
3787
3788
3789 Flags:
3790 -v, --verbose [n]
3791 Control verbosity (n is 0--3, default verbosity level is
3792 1)
3793
3794 --builddir, --distdir, --distpref DIR
3795 The directory where Cabal puts generated build files
3796 (default dist)
3797
3798 --executables
3799 Run hscolour for Executables targets
3800
3801 --tests
3802 Run hscolour for Test Suite targets
3803
3804 --benchmarks
3805 Run hscolour for Benchmark targets
3806
3807 --foreign-libraries
3808 Run hscolour for Foreign Library targets
3809
3810 --all
3811 Run hscolour for all targets
3812
3813 --css PATH
3814 Use a cascading style sheet
3815
3816
3817 cabal register
3818
3819 Usage: cabal register [FLAGS]
3820
3821
3822 Flags:
3823 -v, --verbose [n]
3824 Control verbosity (n is 0--3, default verbosity level is
3825 1)
3826
3827 --builddir, --distdir, --distpref DIR
3828 The directory where Cabal puts generated build files
3829 (default dist)
3830
3831 --user
3832 upon registration, register this package in the user's
3833 local package database
3834
3835 --global
3836 (default)upon registration, register this package in the
3837 system-wide package database
3838
3839 --inplace
3840 register the package in the build location, so it can be
3841 used without being installed
3842
3843 --gen-script
3844 instead of registering, generate a script to register
3845 later
3846
3847 --gen-pkg-config [PKG]
3848 instead of registering, generate a package registration
3849 file/directory
3850
3851 --print-ipid
3852 print the installed package ID calculated for this pack‐
3853 age
3854
3855
3856 cabal test
3857
3858 Usage: cabal test [FLAGS]
3859 or: cabal test TESTCOMPONENTS [FLAGS]
3860
3861
3862 If necessary (re)configures with `--enable-tests` flag and builds the
3863 test suite.
3864
3865 Remember that the tests' dependencies must be installed if there are
3866 additional ones; e.g. with `cabal install --only-dependencies --enable-
3867 tests`.
3868
3869 By defining UserHooks in a custom Setup.hs, the package can define
3870 actions to be executed before and after running tests.
3871
3872
3873 Flags:
3874 -v, --verbose [n]
3875 Control verbosity (n is 0--3, default verbosity level is
3876 1)
3877
3878 --builddir, --distdir, --distpref DIR
3879 The directory where Cabal puts generated build files
3880 (default dist)
3881
3882 --log TEMPLATE
3883 Log all test suite results to file (name template can use
3884 $pkgid, $compiler, $os, $arch, $test-suite, $result)
3885
3886 --machine-log TEMPLATE
3887 Produce a machine-readable log file (name template can
3888 use $pkgid, $compiler, $os, $arch, $result)
3889
3890 --show-details FILTER
3891
3892 --keep-tix-files
3893 keep .tix files for HPC between test runs
3894
3895 --test-options TEMPLATES
3896 give extra options to test executables (name templates
3897 can use $pkgid, $compiler, $os, $arch, $test-suite)
3898
3899 --test-option TEMPLATE
3900 give extra option to test executables (no need to quote
3901 options containing spaces, name template can use $pkgid,
3902 $compiler, $os, $arch, $test-suite)
3903
3904 -j, --jobs [NUM]
3905 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
3906 given).
3907
3908 --with-alex PATH
3909 give the path to alex
3910
3911 --with-ar PATH
3912 give the path to ar
3913
3914 --with-c2hs PATH
3915 give the path to c2hs
3916
3917 --with-cpphs PATH
3918 give the path to cpphs
3919
3920 --with-doctest PATH
3921 give the path to doctest
3922
3923 --with-gcc PATH
3924 give the path to gcc
3925
3926 --with-ghc PATH
3927 give the path to ghc
3928
3929 --with-ghc-pkg PATH
3930 give the path to ghc-pkg
3931
3932 --with-ghcjs PATH
3933 give the path to ghcjs
3934
3935 --with-ghcjs-pkg PATH
3936 give the path to ghcjs-pkg
3937
3938 --with-greencard PATH
3939 give the path to greencard
3940
3941 --with-haddock PATH
3942 give the path to haddock
3943
3944 --with-happy PATH
3945 give the path to happy
3946
3947 --with-haskell-suite PATH
3948 give the path to haskell-suite
3949
3950 --with-haskell-suite-pkg PATH
3951 give the path to haskell-suite-pkg
3952
3953 --with-hmake PATH
3954 give the path to hmake
3955
3956 --with-hpc PATH
3957 give the path to hpc
3958
3959 --with-hsc2hs PATH
3960 give the path to hsc2hs
3961
3962 --with-hscolour PATH
3963 give the path to hscolour
3964
3965 --with-jhc PATH
3966 give the path to jhc
3967
3968 --with-ld PATH
3969 give the path to ld
3970
3971 --with-lhc PATH
3972 give the path to lhc
3973
3974 --with-lhc-pkg PATH
3975 give the path to lhc-pkg
3976
3977 --with-pkg-config PATH
3978 give the path to pkg-config
3979
3980 --with-runghc PATH
3981 give the path to runghc
3982
3983 --with-strip PATH
3984 give the path to strip
3985
3986 --with-tar PATH
3987 give the path to tar
3988
3989 --with-uhc PATH
3990 give the path to uhc
3991
3992 --alex-option OPT
3993 give an extra option to alex (no need to quote options
3994 containing spaces)
3995
3996 --ar-option OPT
3997 give an extra option to ar (no need to quote options con‐
3998 taining spaces)
3999
4000 --c2hs-option OPT
4001 give an extra option to c2hs (no need to quote options
4002 containing spaces)
4003
4004 --cpphs-option OPT
4005 give an extra option to cpphs (no need to quote options
4006 containing spaces)
4007
4008 --doctest-option OPT
4009 give an extra option to doctest (no need to quote options
4010 containing spaces)
4011
4012 --gcc-option OPT
4013 give an extra option to gcc (no need to quote options
4014 containing spaces)
4015
4016 --ghc-option OPT
4017 give an extra option to ghc (no need to quote options
4018 containing spaces)
4019
4020 --ghc-pkg-option OPT
4021 give an extra option to ghc-pkg (no need to quote options
4022 containing spaces)
4023
4024 --ghcjs-option OPT
4025 give an extra option to ghcjs (no need to quote options
4026 containing spaces)
4027
4028 --ghcjs-pkg-option OPT
4029 give an extra option to ghcjs-pkg (no need to quote
4030 options containing spaces)
4031
4032 --greencard-option OPT
4033 give an extra option to greencard (no need to quote
4034 options containing spaces)
4035
4036 --haddock-option OPT
4037 give an extra option to haddock (no need to quote options
4038 containing spaces)
4039
4040 --happy-option OPT
4041 give an extra option to happy (no need to quote options
4042 containing spaces)
4043
4044 --haskell-suite-option OPT
4045 give an extra option to haskell-suite (no need to quote
4046 options containing spaces)
4047
4048 --haskell-suite-pkg-option OPT
4049 give an extra option to haskell-suite-pkg (no need to
4050 quote options containing spaces)
4051
4052 --hmake-option OPT
4053 give an extra option to hmake (no need to quote options
4054 containing spaces)
4055
4056 --hpc-option OPT
4057 give an extra option to hpc (no need to quote options
4058 containing spaces)
4059
4060 --hsc2hs-option OPT
4061 give an extra option to hsc2hs (no need to quote options
4062 containing spaces)
4063
4064 --hscolour-option OPT
4065 give an extra option to hscolour (no need to quote
4066 options containing spaces)
4067
4068 --jhc-option OPT
4069 give an extra option to jhc (no need to quote options
4070 containing spaces)
4071
4072 --ld-option OPT
4073 give an extra option to ld (no need to quote options con‐
4074 taining spaces)
4075
4076 --lhc-option OPT
4077 give an extra option to lhc (no need to quote options
4078 containing spaces)
4079
4080 --lhc-pkg-option OPT
4081 give an extra option to lhc-pkg (no need to quote options
4082 containing spaces)
4083
4084 --pkg-config-option OPT
4085 give an extra option to pkg-config (no need to quote
4086 options containing spaces)
4087
4088 --runghc-option OPT
4089 give an extra option to runghc (no need to quote options
4090 containing spaces)
4091
4092 --strip-option OPT
4093 give an extra option to strip (no need to quote options
4094 containing spaces)
4095
4096 --tar-option OPT
4097 give an extra option to tar (no need to quote options
4098 containing spaces)
4099
4100 --uhc-option OPT
4101 give an extra option to uhc (no need to quote options
4102 containing spaces)
4103
4104 --alex-options OPTS
4105 give extra options to alex
4106
4107 --ar-options OPTS
4108 give extra options to ar
4109
4110 --c2hs-options OPTS
4111 give extra options to c2hs
4112
4113 --cpphs-options OPTS
4114 give extra options to cpphs
4115
4116 --doctest-options OPTS
4117 give extra options to doctest
4118
4119 --gcc-options OPTS
4120 give extra options to gcc
4121
4122 --ghc-options OPTS
4123 give extra options to ghc
4124
4125 --ghc-pkg-options OPTS
4126 give extra options to ghc-pkg
4127
4128 --ghcjs-options OPTS
4129 give extra options to ghcjs
4130
4131 --ghcjs-pkg-options OPTS
4132 give extra options to ghcjs-pkg
4133
4134 --greencard-options OPTS
4135 give extra options to greencard
4136
4137 --haddock-options OPTS
4138 give extra options to haddock
4139
4140 --happy-options OPTS
4141 give extra options to happy
4142
4143 --haskell-suite-options OPTS
4144 give extra options to haskell-suite
4145
4146 --haskell-suite-pkg-options OPTS
4147 give extra options to haskell-suite-pkg
4148
4149 --hmake-options OPTS
4150 give extra options to hmake
4151
4152 --hpc-options OPTS
4153 give extra options to hpc
4154
4155 --hsc2hs-options OPTS
4156 give extra options to hsc2hs
4157
4158 --hscolour-options OPTS
4159 give extra options to hscolour
4160
4161 --jhc-options OPTS
4162 give extra options to jhc
4163
4164 --ld-options OPTS
4165 give extra options to ld
4166
4167 --lhc-options OPTS
4168 give extra options to lhc
4169
4170 --lhc-pkg-options OPTS
4171 give extra options to lhc-pkg
4172
4173 --pkg-config-options OPTS
4174 give extra options to pkg-config
4175
4176 --runghc-options OPTS
4177 give extra options to runghc
4178
4179 --strip-options OPTS
4180 give extra options to strip
4181
4182 --tar-options OPTS
4183 give extra options to tar
4184
4185 --uhc-options OPTS
4186 give extra options to uhc
4187
4188 --only
4189 Don't reinstall add-source dependencies (sandbox-only)
4190
4191
4192 cabal bench
4193
4194 Usage: cabal bench [FLAGS]
4195 or: cabal bench BENCHCOMPONENTS [FLAGS]
4196
4197
4198 If necessary (re)configures with `--enable-benchmarks` flag and builds
4199 the benchmarks.
4200
4201 Remember that the benchmarks' dependencies must be installed if there
4202 are additional ones; e.g. with `cabal install --only-dependencies
4203 --enable-benchmarks`.
4204
4205 By defining UserHooks in a custom Setup.hs, the package can define
4206 actions to be executed before and after running benchmarks.
4207
4208
4209 Flags:
4210 -v, --verbose [n]
4211 Control verbosity (n is 0--3, default verbosity level is
4212 1)
4213
4214 --builddir, --distdir, --distpref DIR
4215 The directory where Cabal puts generated build files
4216 (default dist)
4217
4218 --benchmark-options TEMPLATES
4219 give extra options to benchmark executables (name tem‐
4220 plates can use $pkgid, $compiler, $os, $arch, $benchmark)
4221
4222 --benchmark-option TEMPLATE
4223 give extra option to benchmark executables (no need to
4224 quote options containing spaces, name template can use
4225 $pkgid, $compiler, $os, $arch, $benchmark)
4226
4227 -j, --jobs [NUM]
4228 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
4229 given).
4230
4231 --with-alex PATH
4232 give the path to alex
4233
4234 --with-ar PATH
4235 give the path to ar
4236
4237 --with-c2hs PATH
4238 give the path to c2hs
4239
4240 --with-cpphs PATH
4241 give the path to cpphs
4242
4243 --with-doctest PATH
4244 give the path to doctest
4245
4246 --with-gcc PATH
4247 give the path to gcc
4248
4249 --with-ghc PATH
4250 give the path to ghc
4251
4252 --with-ghc-pkg PATH
4253 give the path to ghc-pkg
4254
4255 --with-ghcjs PATH
4256 give the path to ghcjs
4257
4258 --with-ghcjs-pkg PATH
4259 give the path to ghcjs-pkg
4260
4261 --with-greencard PATH
4262 give the path to greencard
4263
4264 --with-haddock PATH
4265 give the path to haddock
4266
4267 --with-happy PATH
4268 give the path to happy
4269
4270 --with-haskell-suite PATH
4271 give the path to haskell-suite
4272
4273 --with-haskell-suite-pkg PATH
4274 give the path to haskell-suite-pkg
4275
4276 --with-hmake PATH
4277 give the path to hmake
4278
4279 --with-hpc PATH
4280 give the path to hpc
4281
4282 --with-hsc2hs PATH
4283 give the path to hsc2hs
4284
4285 --with-hscolour PATH
4286 give the path to hscolour
4287
4288 --with-jhc PATH
4289 give the path to jhc
4290
4291 --with-ld PATH
4292 give the path to ld
4293
4294 --with-lhc PATH
4295 give the path to lhc
4296
4297 --with-lhc-pkg PATH
4298 give the path to lhc-pkg
4299
4300 --with-pkg-config PATH
4301 give the path to pkg-config
4302
4303 --with-runghc PATH
4304 give the path to runghc
4305
4306 --with-strip PATH
4307 give the path to strip
4308
4309 --with-tar PATH
4310 give the path to tar
4311
4312 --with-uhc PATH
4313 give the path to uhc
4314
4315 --alex-option OPT
4316 give an extra option to alex (no need to quote options
4317 containing spaces)
4318
4319 --ar-option OPT
4320 give an extra option to ar (no need to quote options con‐
4321 taining spaces)
4322
4323 --c2hs-option OPT
4324 give an extra option to c2hs (no need to quote options
4325 containing spaces)
4326
4327 --cpphs-option OPT
4328 give an extra option to cpphs (no need to quote options
4329 containing spaces)
4330
4331 --doctest-option OPT
4332 give an extra option to doctest (no need to quote options
4333 containing spaces)
4334
4335 --gcc-option OPT
4336 give an extra option to gcc (no need to quote options
4337 containing spaces)
4338
4339 --ghc-option OPT
4340 give an extra option to ghc (no need to quote options
4341 containing spaces)
4342
4343 --ghc-pkg-option OPT
4344 give an extra option to ghc-pkg (no need to quote options
4345 containing spaces)
4346
4347 --ghcjs-option OPT
4348 give an extra option to ghcjs (no need to quote options
4349 containing spaces)
4350
4351 --ghcjs-pkg-option OPT
4352 give an extra option to ghcjs-pkg (no need to quote
4353 options containing spaces)
4354
4355 --greencard-option OPT
4356 give an extra option to greencard (no need to quote
4357 options containing spaces)
4358
4359 --haddock-option OPT
4360 give an extra option to haddock (no need to quote options
4361 containing spaces)
4362
4363 --happy-option OPT
4364 give an extra option to happy (no need to quote options
4365 containing spaces)
4366
4367 --haskell-suite-option OPT
4368 give an extra option to haskell-suite (no need to quote
4369 options containing spaces)
4370
4371 --haskell-suite-pkg-option OPT
4372 give an extra option to haskell-suite-pkg (no need to
4373 quote options containing spaces)
4374
4375 --hmake-option OPT
4376 give an extra option to hmake (no need to quote options
4377 containing spaces)
4378
4379 --hpc-option OPT
4380 give an extra option to hpc (no need to quote options
4381 containing spaces)
4382
4383 --hsc2hs-option OPT
4384 give an extra option to hsc2hs (no need to quote options
4385 containing spaces)
4386
4387 --hscolour-option OPT
4388 give an extra option to hscolour (no need to quote
4389 options containing spaces)
4390
4391 --jhc-option OPT
4392 give an extra option to jhc (no need to quote options
4393 containing spaces)
4394
4395 --ld-option OPT
4396 give an extra option to ld (no need to quote options con‐
4397 taining spaces)
4398
4399 --lhc-option OPT
4400 give an extra option to lhc (no need to quote options
4401 containing spaces)
4402
4403 --lhc-pkg-option OPT
4404 give an extra option to lhc-pkg (no need to quote options
4405 containing spaces)
4406
4407 --pkg-config-option OPT
4408 give an extra option to pkg-config (no need to quote
4409 options containing spaces)
4410
4411 --runghc-option OPT
4412 give an extra option to runghc (no need to quote options
4413 containing spaces)
4414
4415 --strip-option OPT
4416 give an extra option to strip (no need to quote options
4417 containing spaces)
4418
4419 --tar-option OPT
4420 give an extra option to tar (no need to quote options
4421 containing spaces)
4422
4423 --uhc-option OPT
4424 give an extra option to uhc (no need to quote options
4425 containing spaces)
4426
4427 --alex-options OPTS
4428 give extra options to alex
4429
4430 --ar-options OPTS
4431 give extra options to ar
4432
4433 --c2hs-options OPTS
4434 give extra options to c2hs
4435
4436 --cpphs-options OPTS
4437 give extra options to cpphs
4438
4439 --doctest-options OPTS
4440 give extra options to doctest
4441
4442 --gcc-options OPTS
4443 give extra options to gcc
4444
4445 --ghc-options OPTS
4446 give extra options to ghc
4447
4448 --ghc-pkg-options OPTS
4449 give extra options to ghc-pkg
4450
4451 --ghcjs-options OPTS
4452 give extra options to ghcjs
4453
4454 --ghcjs-pkg-options OPTS
4455 give extra options to ghcjs-pkg
4456
4457 --greencard-options OPTS
4458 give extra options to greencard
4459
4460 --haddock-options OPTS
4461 give extra options to haddock
4462
4463 --happy-options OPTS
4464 give extra options to happy
4465
4466 --haskell-suite-options OPTS
4467 give extra options to haskell-suite
4468
4469 --haskell-suite-pkg-options OPTS
4470 give extra options to haskell-suite-pkg
4471
4472 --hmake-options OPTS
4473 give extra options to hmake
4474
4475 --hpc-options OPTS
4476 give extra options to hpc
4477
4478 --hsc2hs-options OPTS
4479 give extra options to hsc2hs
4480
4481 --hscolour-options OPTS
4482 give extra options to hscolour
4483
4484 --jhc-options OPTS
4485 give extra options to jhc
4486
4487 --ld-options OPTS
4488 give extra options to ld
4489
4490 --lhc-options OPTS
4491 give extra options to lhc
4492
4493 --lhc-pkg-options OPTS
4494 give extra options to lhc-pkg
4495
4496 --pkg-config-options OPTS
4497 give extra options to pkg-config
4498
4499 --runghc-options OPTS
4500 give extra options to runghc
4501
4502 --strip-options OPTS
4503 give extra options to strip
4504
4505 --tar-options OPTS
4506 give extra options to tar
4507
4508 --uhc-options OPTS
4509 give extra options to uhc
4510
4511 --only
4512 Don't reinstall add-source dependencies (sandbox-only)
4513
4514
4515 cabal new-configure
4516
4517 Usage: cabal new-configure [FLAGS]
4518
4519
4520 Adjust how the project is built by setting additional package flags and
4521 other flags.
4522
4523 The configuration options are written to the 'cabal.project.local' file
4524 (or configuration from the 'cabal.project' file (if any). This combina‐
4525 tion is used as the project configuration for all other commands (such
4526 as 'new-build',
4527
4528 The new-configure command also checks that the project configuration
4529 will work. In particular it checks that there is a consistent set of
4530 dependencies for the project as a whole.
4531
4532 The 'cabal.project.local' file persists across 'new-clean' but is over‐
4533 written on the next use of the 'new-configure' command. The intention
4534 is that the
4535
4536 It is never necessary to use the 'new-configure' command. It is merely
4537 a convenience in cases where you do not want to specify flags to 'new-
4538 build' (and other commands) every time and yet do not want to alter the
4539
4540
4541 Examples:
4542 cabal new-configure --with-compiler ghc-7.10.3
4543 Adjust the project configuration to use the given compiler
4544 program and check the resulting configuration works.
4545 cabal new-configure
4546 Reset the local configuration to empty and check the overall
4547 project configuration works.
4548
4549 Note: this command is part of the new project-based system (aka nix-
4550 style local builds). These features are currently in beta. Please see
4551 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
4552 details and advice on what you can expect to work. If you encounter
4553 problems please file issues at https://github.com/haskell/cabal/issues
4554 and if you have any time to get involved and help with testing, fixing
4555 bugs etc then that is very much appreciated.
4556
4557
4558 Flags:
4559 -v, --verbose [n]
4560 Control verbosity (n is 0--3, default verbosity level is
4561 1)
4562
4563 --builddir, --distdir, --distpref DIR
4564 The directory where Cabal puts generated build files
4565 (default dist)
4566
4567 -g, --ghc
4568 compile with GHC
4569
4570 --ghcjs
4571 compile with GHCJS
4572
4573 --jhc
4574 compile with JHC
4575
4576 --lhc
4577 compile with LHC
4578
4579 --uhc
4580 compile with UHC
4581
4582 --haskell-suite
4583 compile with a haskell-suite compiler
4584
4585 --cabal-file PATH
4586 use this Cabal file
4587
4588 -w, --with-compiler PATH
4589 give the path to a particular compiler
4590
4591 --with-hc-pkg PATH
4592 give the path to the package tool
4593
4594 --prefix DIR
4595 bake this prefix in preparation of installation
4596
4597 --bindir DIR
4598 installation directory for executables
4599
4600 --libdir DIR
4601 installation directory for libraries
4602
4603 --libsubdir DIR
4604 subdirectory of libdir in which libs are installed
4605
4606 --dynlibdir DIR
4607 installation directory for dynamic libraries
4608
4609 --libexecdir DIR
4610 installation directory for program executables
4611
4612 --libexecsubdir DIR
4613 subdirectory of libexecdir in which private executables
4614 are installed
4615
4616 --datadir DIR
4617 installation directory for read-only data
4618
4619 --datasubdir DIR
4620 subdirectory of datadir in which data files are installed
4621
4622 --docdir DIR
4623 installation directory for documentation
4624
4625 --htmldir DIR
4626 installation directory for HTML documentation
4627
4628 --haddockdir DIR
4629 installation directory for haddock interfaces
4630
4631 --sysconfdir DIR
4632 installation directory for configuration files
4633
4634 --program-prefix PREFIX
4635 prefix to be applied to installed executables
4636
4637 --program-suffix SUFFIX
4638 suffix to be applied to installed executables
4639
4640 --enable-library-vanilla
4641 --disable-library-vanilla
4642 Vanilla libraries
4643
4644 -p, --enable-library-profiling
4645 --disable-library-profiling
4646 Library profiling
4647
4648 --enable-shared
4649 --disable-shared
4650 Shared library
4651
4652 --enable-executable-dynamic
4653 --disable-executable-dynamic
4654 Executable dynamic linking
4655
4656 --enable-profiling
4657 --disable-profiling
4658 Executable and library profiling
4659
4660 --enable-executable-profiling
4661 --disable-executable-profiling
4662 Executable profiling (DEPRECATED)
4663
4664 --profiling-detail level
4665 Profiling detail level for executable and library
4666 (default, none, exported-functions, toplevel-functions,
4667 all-functions).
4668
4669 --library-profiling-detail level
4670 Profiling detail level for libraries only.
4671
4672 -O, --enable-optimization, --enable-optimisation [n]
4673 Build with optimization (n is 0--2, default is 1)
4674
4675 --disable-optimization, --disable-optimisation
4676 Build without optimization
4677
4678 --enable-debug-info [n]
4679 Emit debug info (n is 0--3, default is 0)
4680
4681 --disable-debug-info
4682 Don't emit debug info
4683
4684 --enable-library-for-ghci
4685 --disable-library-for-ghci
4686 compile library for use with GHCi
4687
4688 --enable-split-objs
4689 --disable-split-objs
4690 split library into smaller objects to reduce binary sizes
4691 (GHC 6.6+)
4692
4693 --enable-executable-stripping
4694 --disable-executable-stripping
4695 strip executables upon installation to reduce binary
4696 sizes
4697
4698 --enable-library-stripping
4699 --disable-library-stripping
4700 strip libraries upon installation to reduce binary sizes
4701
4702 --configure-option OPT
4703 Extra option for configure
4704
4705 --user
4706 --global
4707 doing a per-user installation
4708
4709 --package-db DB
4710 Append the given package database to the list of package
4711 databases used (to satisfy dependencies and register
4712 into). May be a specific file, 'global' or 'user'. The
4713 initial list is ['global'], ['global', 'user'], or
4714 ['global', $sandbox], depending on context. Use 'clear'
4715 to reset the list to empty. See the user guide for
4716 details.
4717
4718 -f, --flags FLAGS
4719 Force values for the given flags in Cabal conditionals in
4720 the .cabal file. E.g., --flags="debug -usebytestrings"
4721 forces the flag "debug" to true and "usebytestrings" to
4722 false.
4723
4724 --extra-include-dirs PATH
4725 A list of directories to search for header files
4726
4727 --enable-deterministic
4728 --disable-deterministic
4729 Try to be as deterministic as possible (used by the test
4730 suite)
4731
4732 --ipid IPID
4733 Installed package ID to compile this package as
4734
4735 --cid CID
4736 Installed component ID to compile this component as
4737
4738 --extra-lib-dirs PATH
4739 A list of directories to search for external libraries
4740
4741 --extra-framework-dirs PATH
4742 A list of directories to search for external frameworks
4743 (OS X only)
4744
4745 --extra-prog-path PATH
4746 A list of directories to search for required programs (in
4747 addition to the normal search locations)
4748
4749 --instantiate-with NAME=MOD
4750 A mapping of signature names to concrete module instanti‐
4751 ations.
4752
4753 --enable-tests
4754 --disable-tests
4755 dependency checking and compilation for test suites
4756 listed in the package description file.
4757
4758 --enable-coverage
4759 --disable-coverage
4760 build package with Haskell Program Coverage. (GHC only)
4761
4762 --enable-library-coverage
4763 --disable-library-coverage
4764 build package with Haskell Program Coverage. (GHC only)
4765 (DEPRECATED)
4766
4767 --allow-older [DEPS]
4768 Ignore upper bounds in all dependencies or DEPS
4769
4770 --allow-newer [DEPS]
4771 Ignore upper bounds in all dependencies or DEPS
4772
4773 --enable-benchmarks
4774 --disable-benchmarks
4775 dependency checking and compilation for benchmarks listed
4776 in the package description file.
4777
4778 --enable-relocatable
4779 --disable-relocatable
4780 building a package that is relocatable. (GHC only)
4781
4782 --with-alex PATH
4783 give the path to alex
4784
4785 --with-ar PATH
4786 give the path to ar
4787
4788 --with-c2hs PATH
4789 give the path to c2hs
4790
4791 --with-cpphs PATH
4792 give the path to cpphs
4793
4794 --with-doctest PATH
4795 give the path to doctest
4796
4797 --with-gcc PATH
4798 give the path to gcc
4799
4800 --with-ghc PATH
4801 give the path to ghc
4802
4803 --with-ghc-pkg PATH
4804 give the path to ghc-pkg
4805
4806 --with-ghcjs PATH
4807 give the path to ghcjs
4808
4809 --with-ghcjs-pkg PATH
4810 give the path to ghcjs-pkg
4811
4812 --with-greencard PATH
4813 give the path to greencard
4814
4815 --with-haddock PATH
4816 give the path to haddock
4817
4818 --with-happy PATH
4819 give the path to happy
4820
4821 --with-haskell-suite PATH
4822 give the path to haskell-suite
4823
4824 --with-haskell-suite-pkg PATH
4825 give the path to haskell-suite-pkg
4826
4827 --with-hmake PATH
4828 give the path to hmake
4829
4830 --with-hpc PATH
4831 give the path to hpc
4832
4833 --with-hsc2hs PATH
4834 give the path to hsc2hs
4835
4836 --with-hscolour PATH
4837 give the path to hscolour
4838
4839 --with-jhc PATH
4840 give the path to jhc
4841
4842 --with-ld PATH
4843 give the path to ld
4844
4845 --with-lhc PATH
4846 give the path to lhc
4847
4848 --with-lhc-pkg PATH
4849 give the path to lhc-pkg
4850
4851 --with-pkg-config PATH
4852 give the path to pkg-config
4853
4854 --with-runghc PATH
4855 give the path to runghc
4856
4857 --with-strip PATH
4858 give the path to strip
4859
4860 --with-tar PATH
4861 give the path to tar
4862
4863 --with-uhc PATH
4864 give the path to uhc
4865
4866 --alex-option OPT
4867 give an extra option to alex (no need to quote options
4868 containing spaces)
4869
4870 --ar-option OPT
4871 give an extra option to ar (no need to quote options con‐
4872 taining spaces)
4873
4874 --c2hs-option OPT
4875 give an extra option to c2hs (no need to quote options
4876 containing spaces)
4877
4878 --cpphs-option OPT
4879 give an extra option to cpphs (no need to quote options
4880 containing spaces)
4881
4882 --doctest-option OPT
4883 give an extra option to doctest (no need to quote options
4884 containing spaces)
4885
4886 --gcc-option OPT
4887 give an extra option to gcc (no need to quote options
4888 containing spaces)
4889
4890 --ghc-option OPT
4891 give an extra option to ghc (no need to quote options
4892 containing spaces)
4893
4894 --ghc-pkg-option OPT
4895 give an extra option to ghc-pkg (no need to quote options
4896 containing spaces)
4897
4898 --ghcjs-option OPT
4899 give an extra option to ghcjs (no need to quote options
4900 containing spaces)
4901
4902 --ghcjs-pkg-option OPT
4903 give an extra option to ghcjs-pkg (no need to quote
4904 options containing spaces)
4905
4906 --greencard-option OPT
4907 give an extra option to greencard (no need to quote
4908 options containing spaces)
4909
4910 --haddock-option OPT
4911 give an extra option to haddock (no need to quote options
4912 containing spaces)
4913
4914 --happy-option OPT
4915 give an extra option to happy (no need to quote options
4916 containing spaces)
4917
4918 --haskell-suite-option OPT
4919 give an extra option to haskell-suite (no need to quote
4920 options containing spaces)
4921
4922 --haskell-suite-pkg-option OPT
4923 give an extra option to haskell-suite-pkg (no need to
4924 quote options containing spaces)
4925
4926 --hmake-option OPT
4927 give an extra option to hmake (no need to quote options
4928 containing spaces)
4929
4930 --hpc-option OPT
4931 give an extra option to hpc (no need to quote options
4932 containing spaces)
4933
4934 --hsc2hs-option OPT
4935 give an extra option to hsc2hs (no need to quote options
4936 containing spaces)
4937
4938 --hscolour-option OPT
4939 give an extra option to hscolour (no need to quote
4940 options containing spaces)
4941
4942 --jhc-option OPT
4943 give an extra option to jhc (no need to quote options
4944 containing spaces)
4945
4946 --ld-option OPT
4947 give an extra option to ld (no need to quote options con‐
4948 taining spaces)
4949
4950 --lhc-option OPT
4951 give an extra option to lhc (no need to quote options
4952 containing spaces)
4953
4954 --lhc-pkg-option OPT
4955 give an extra option to lhc-pkg (no need to quote options
4956 containing spaces)
4957
4958 --pkg-config-option OPT
4959 give an extra option to pkg-config (no need to quote
4960 options containing spaces)
4961
4962 --runghc-option OPT
4963 give an extra option to runghc (no need to quote options
4964 containing spaces)
4965
4966 --strip-option OPT
4967 give an extra option to strip (no need to quote options
4968 containing spaces)
4969
4970 --tar-option OPT
4971 give an extra option to tar (no need to quote options
4972 containing spaces)
4973
4974 --uhc-option OPT
4975 give an extra option to uhc (no need to quote options
4976 containing spaces)
4977
4978 --alex-options OPTS
4979 give extra options to alex
4980
4981 --ar-options OPTS
4982 give extra options to ar
4983
4984 --c2hs-options OPTS
4985 give extra options to c2hs
4986
4987 --cpphs-options OPTS
4988 give extra options to cpphs
4989
4990 --doctest-options OPTS
4991 give extra options to doctest
4992
4993 --gcc-options OPTS
4994 give extra options to gcc
4995
4996 --ghc-options OPTS
4997 give extra options to ghc
4998
4999 --ghc-pkg-options OPTS
5000 give extra options to ghc-pkg
5001
5002 --ghcjs-options OPTS
5003 give extra options to ghcjs
5004
5005 --ghcjs-pkg-options OPTS
5006 give extra options to ghcjs-pkg
5007
5008 --greencard-options OPTS
5009 give extra options to greencard
5010
5011 --haddock-options OPTS
5012 give extra options to haddock
5013
5014 --happy-options OPTS
5015 give extra options to happy
5016
5017 --haskell-suite-options OPTS
5018 give extra options to haskell-suite
5019
5020 --haskell-suite-pkg-options OPTS
5021 give extra options to haskell-suite-pkg
5022
5023 --hmake-options OPTS
5024 give extra options to hmake
5025
5026 --hpc-options OPTS
5027 give extra options to hpc
5028
5029 --hsc2hs-options OPTS
5030 give extra options to hsc2hs
5031
5032 --hscolour-options OPTS
5033 give extra options to hscolour
5034
5035 --jhc-options OPTS
5036 give extra options to jhc
5037
5038 --ld-options OPTS
5039 give extra options to ld
5040
5041 --lhc-options OPTS
5042 give extra options to lhc
5043
5044 --lhc-pkg-options OPTS
5045 give extra options to lhc-pkg
5046
5047 --pkg-config-options OPTS
5048 give extra options to pkg-config
5049
5050 --runghc-options OPTS
5051 give extra options to runghc
5052
5053 --strip-options OPTS
5054 give extra options to strip
5055
5056 --tar-options OPTS
5057 give extra options to tar
5058
5059 --uhc-options OPTS
5060 give extra options to uhc
5061
5062 --cabal-lib-version VERSION
5063 Select which version of the Cabal lib to use to build
5064 packages (useful for testing).
5065
5066 --constraint CONSTRAINT
5067 Specify constraints on a package (version,
5068 installed/source, flags)
5069
5070 --preference CONSTRAINT
5071 Specify preferences (soft constraints) on the version of
5072 a package
5073
5074 --solver SOLVER
5075 Select dependency solver to use (default: modular).
5076 Choices: modular.
5077
5078 --enable-documentation
5079 --disable-documentation
5080 building of documentation
5081
5082 --doc-index-file TEMPLATE
5083 A central index of haddock API documentation (template
5084 cannot use $pkgid)
5085
5086 --dry-run
5087 Do not install anything, only print what would be
5088 installed.
5089
5090 --max-backjumps NUM
5091 Maximum number of backjumps allowed while solving
5092 (default: 2000). Use a negative number to enable unlim‐
5093 ited backtracking. Use 0 to disable backtracking com‐
5094 pletely.
5095
5096 --reorder-goals
5097 --no-reorder-goals
5098 Try to reorder goals according to certain heuristics.
5099 Slows things down on average, but may make backtracking
5100 faster for some packages.
5101
5102 --count-conflicts
5103 --no-count-conflicts
5104 Try to speed up solving by preferring goals that are
5105 involved in a lot of conflicts (default).
5106
5107 --shadow-installed-packages
5108 --no-shadow-installed-packages
5109 If multiple package instances of the same version are
5110 installed, treat all but one as shadowed.
5111
5112 --strong-flags
5113 --no-strong-flags
5114 Do not defer flag choices (this used to be the default in
5115 cabal-install <= 1.20).
5116
5117 --allow-boot-library-installs
5118 --no-allow-boot-library-installs
5119 Allow cabal to install base, ghc-prim, integer-simple,
5120 integer-gmp, and template-haskell.
5121
5122 --reinstall
5123 --no-reinstall
5124 Install even if it means installing the same version
5125 again.
5126
5127 --avoid-reinstalls
5128 --no-avoid-reinstalls
5129 Do not select versions that would destructively overwrite
5130 installed packages.
5131
5132 --force-reinstalls
5133 --no-force-reinstalls
5134 Reinstall packages even if they will most likely break
5135 other installed packages.
5136
5137 --upgrade-dependencies
5138 --no-upgrade-dependencies
5139 Pick the latest version for all dependencies, rather than
5140 trying to pick an installed version.
5141
5142 --only-dependencies
5143 --no-only-dependencies
5144 Install only the dependencies necessary to build the
5145 given packages
5146
5147 --dependencies-only
5148 --no-dependencies-only
5149 A synonym for --only-dependencies
5150
5151 --index-state STATE
5152 Use source package index state as it existed at a previ‐
5153 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
5154 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
5155 'HEAD' (default: 'HEAD').
5156
5157 --root-cmd COMMAND
5158 (No longer supported, do not use.)
5159
5160 --symlink-bindir DIR
5161 Add symlinks to installed executables into this direc‐
5162 tory.
5163
5164 --build-summary TEMPLATE
5165 Save build summaries to file (name template can use
5166 $pkgid, $compiler, $os, $arch)
5167
5168 --build-log TEMPLATE
5169 Log all builds to file (name template can use $pkgid,
5170 $compiler, $os, $arch)
5171
5172 --remote-build-reporting LEVEL
5173 Generate build reports to send to a remote server (none,
5174 anonymous or detailed).
5175
5176 --report-planning-failure
5177 Generate build reports when the dependency solver fails.
5178 This is used by the Hackage build bot.
5179
5180 --enable-per-component
5181 --disable-per-component
5182 Per-component builds when possible
5183
5184 --one-shot
5185 --no-one-shot
5186 Do not record the packages in the world file.
5187
5188 --run-tests
5189 Run package test suites during installation.
5190
5191 -j, --jobs [NUM]
5192 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
5193 given).
5194
5195 --keep-going
5196 After a build failure, continue to build other unaffected
5197 packages.
5198
5199 --offline
5200 --no-offline
5201 Don't download packages from the Internet.
5202
5203 --project-file FILE
5204 Set the name of the cabal.project file to search for in
5205 parent directories
5206
5207 --only
5208 Only installs the package in the current directory.
5209
5210 --haddock-hoogle
5211 Generate a hoogle database
5212
5213 --haddock-html
5214 Generate HTML documentation (the default)
5215
5216 --haddock-html-location URL
5217 Location of HTML documentation for pre-requisite packages
5218
5219 --haddock-executables
5220 Run haddock for Executables targets
5221
5222 --haddock-tests
5223 Run haddock for Test Suite targets
5224
5225 --haddock-benchmarks
5226 Run haddock for Benchmark targets
5227
5228 --haddock-all
5229 Run haddock for all targets
5230
5231 --haddock-internal
5232 Run haddock for internal modules and include all symbols
5233
5234 --haddock-css PATH
5235 Use PATH as the haddock stylesheet
5236
5237 --haddock-hyperlink-source, --haddock-hyperlink-sources
5238 Hyperlink the documentation to the source code (using
5239 HsColour)
5240
5241 --haddock-hscolour-css PATH
5242 Use PATH as the HsColour stylesheet
5243
5244 --haddock-contents-location URL
5245 Bake URL in as the location for the contents page
5246
5247
5248 cabal new-build
5249
5250 Usage: cabal new-build [TARGETS] [FLAGS]
5251
5252
5253 Build one or more targets from within the project. The available tar‐
5254 gets are the packages in the project as well as individual components
5255 within those packages, including libraries, executables, test-suites or
5256 benchmarks. Targets can be specified by name or location. If no target
5257 is specified then the default is to build the package in the current
5258 directory.
5259
5260 Dependencies are built or rebuilt as necessary. Additional configura‐
5261 tion flags can be specified on the command line and these extend the
5262 project configuration from the 'cabal.project', 'cabal.project.local'
5263 and other files.
5264
5265
5266 Examples:
5267 cabal new-build
5268 Build the package in the current directory or all packages in the
5269 project
5270 cabal new-build pkgname
5271 Build the package named pkgname in the project
5272 cabal new-build ./pkgfoo
5273 Build the package in the ./pkgfoo directory
5274 cabal new-build cname
5275 Build the component named cname in the project
5276 cabal new-build cname --enable-profiling
5277 Build the component in profiling mode (including dependencies as
5278 needed)
5279
5280 Note: this command is part of the new project-based system (aka nix-
5281 style local builds). These features are currently in beta. Please see
5282 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
5283 details and advice on what you can expect to work. If you encounter
5284 problems please file issues at https://github.com/haskell/cabal/issues
5285 and if you have any time to get involved and help with testing, fixing
5286 bugs etc then that is very much appreciated.
5287
5288
5289 Flags:
5290 -v, --verbose [n]
5291 Control verbosity (n is 0--3, default verbosity level is
5292 1)
5293
5294 --builddir, --distdir, --distpref DIR
5295 The directory where Cabal puts generated build files
5296 (default dist)
5297
5298 -g, --ghc
5299 compile with GHC
5300
5301 --ghcjs
5302 compile with GHCJS
5303
5304 --jhc
5305 compile with JHC
5306
5307 --lhc
5308 compile with LHC
5309
5310 --uhc
5311 compile with UHC
5312
5313 --haskell-suite
5314 compile with a haskell-suite compiler
5315
5316 --cabal-file PATH
5317 use this Cabal file
5318
5319 -w, --with-compiler PATH
5320 give the path to a particular compiler
5321
5322 --with-hc-pkg PATH
5323 give the path to the package tool
5324
5325 --prefix DIR
5326 bake this prefix in preparation of installation
5327
5328 --bindir DIR
5329 installation directory for executables
5330
5331 --libdir DIR
5332 installation directory for libraries
5333
5334 --libsubdir DIR
5335 subdirectory of libdir in which libs are installed
5336
5337 --dynlibdir DIR
5338 installation directory for dynamic libraries
5339
5340 --libexecdir DIR
5341 installation directory for program executables
5342
5343 --libexecsubdir DIR
5344 subdirectory of libexecdir in which private executables
5345 are installed
5346
5347 --datadir DIR
5348 installation directory for read-only data
5349
5350 --datasubdir DIR
5351 subdirectory of datadir in which data files are installed
5352
5353 --docdir DIR
5354 installation directory for documentation
5355
5356 --htmldir DIR
5357 installation directory for HTML documentation
5358
5359 --haddockdir DIR
5360 installation directory for haddock interfaces
5361
5362 --sysconfdir DIR
5363 installation directory for configuration files
5364
5365 --program-prefix PREFIX
5366 prefix to be applied to installed executables
5367
5368 --program-suffix SUFFIX
5369 suffix to be applied to installed executables
5370
5371 --enable-library-vanilla
5372 --disable-library-vanilla
5373 Vanilla libraries
5374
5375 -p, --enable-library-profiling
5376 --disable-library-profiling
5377 Library profiling
5378
5379 --enable-shared
5380 --disable-shared
5381 Shared library
5382
5383 --enable-executable-dynamic
5384 --disable-executable-dynamic
5385 Executable dynamic linking
5386
5387 --enable-profiling
5388 --disable-profiling
5389 Executable and library profiling
5390
5391 --enable-executable-profiling
5392 --disable-executable-profiling
5393 Executable profiling (DEPRECATED)
5394
5395 --profiling-detail level
5396 Profiling detail level for executable and library
5397 (default, none, exported-functions, toplevel-functions,
5398 all-functions).
5399
5400 --library-profiling-detail level
5401 Profiling detail level for libraries only.
5402
5403 -O, --enable-optimization, --enable-optimisation [n]
5404 Build with optimization (n is 0--2, default is 1)
5405
5406 --disable-optimization, --disable-optimisation
5407 Build without optimization
5408
5409 --enable-debug-info [n]
5410 Emit debug info (n is 0--3, default is 0)
5411
5412 --disable-debug-info
5413 Don't emit debug info
5414
5415 --enable-library-for-ghci
5416 --disable-library-for-ghci
5417 compile library for use with GHCi
5418
5419 --enable-split-objs
5420 --disable-split-objs
5421 split library into smaller objects to reduce binary sizes
5422 (GHC 6.6+)
5423
5424 --enable-executable-stripping
5425 --disable-executable-stripping
5426 strip executables upon installation to reduce binary
5427 sizes
5428
5429 --enable-library-stripping
5430 --disable-library-stripping
5431 strip libraries upon installation to reduce binary sizes
5432
5433 --configure-option OPT
5434 Extra option for configure
5435
5436 --user
5437 --global
5438 doing a per-user installation
5439
5440 --package-db DB
5441 Append the given package database to the list of package
5442 databases used (to satisfy dependencies and register
5443 into). May be a specific file, 'global' or 'user'. The
5444 initial list is ['global'], ['global', 'user'], or
5445 ['global', $sandbox], depending on context. Use 'clear'
5446 to reset the list to empty. See the user guide for
5447 details.
5448
5449 -f, --flags FLAGS
5450 Force values for the given flags in Cabal conditionals in
5451 the .cabal file. E.g., --flags="debug -usebytestrings"
5452 forces the flag "debug" to true and "usebytestrings" to
5453 false.
5454
5455 --extra-include-dirs PATH
5456 A list of directories to search for header files
5457
5458 --enable-deterministic
5459 --disable-deterministic
5460 Try to be as deterministic as possible (used by the test
5461 suite)
5462
5463 --ipid IPID
5464 Installed package ID to compile this package as
5465
5466 --cid CID
5467 Installed component ID to compile this component as
5468
5469 --extra-lib-dirs PATH
5470 A list of directories to search for external libraries
5471
5472 --extra-framework-dirs PATH
5473 A list of directories to search for external frameworks
5474 (OS X only)
5475
5476 --extra-prog-path PATH
5477 A list of directories to search for required programs (in
5478 addition to the normal search locations)
5479
5480 --instantiate-with NAME=MOD
5481 A mapping of signature names to concrete module instanti‐
5482 ations.
5483
5484 --enable-tests
5485 --disable-tests
5486 dependency checking and compilation for test suites
5487 listed in the package description file.
5488
5489 --enable-coverage
5490 --disable-coverage
5491 build package with Haskell Program Coverage. (GHC only)
5492
5493 --enable-library-coverage
5494 --disable-library-coverage
5495 build package with Haskell Program Coverage. (GHC only)
5496 (DEPRECATED)
5497
5498 --allow-older [DEPS]
5499 Ignore upper bounds in all dependencies or DEPS
5500
5501 --allow-newer [DEPS]
5502 Ignore upper bounds in all dependencies or DEPS
5503
5504 --enable-benchmarks
5505 --disable-benchmarks
5506 dependency checking and compilation for benchmarks listed
5507 in the package description file.
5508
5509 --enable-relocatable
5510 --disable-relocatable
5511 building a package that is relocatable. (GHC only)
5512
5513 --with-alex PATH
5514 give the path to alex
5515
5516 --with-ar PATH
5517 give the path to ar
5518
5519 --with-c2hs PATH
5520 give the path to c2hs
5521
5522 --with-cpphs PATH
5523 give the path to cpphs
5524
5525 --with-doctest PATH
5526 give the path to doctest
5527
5528 --with-gcc PATH
5529 give the path to gcc
5530
5531 --with-ghc PATH
5532 give the path to ghc
5533
5534 --with-ghc-pkg PATH
5535 give the path to ghc-pkg
5536
5537 --with-ghcjs PATH
5538 give the path to ghcjs
5539
5540 --with-ghcjs-pkg PATH
5541 give the path to ghcjs-pkg
5542
5543 --with-greencard PATH
5544 give the path to greencard
5545
5546 --with-haddock PATH
5547 give the path to haddock
5548
5549 --with-happy PATH
5550 give the path to happy
5551
5552 --with-haskell-suite PATH
5553 give the path to haskell-suite
5554
5555 --with-haskell-suite-pkg PATH
5556 give the path to haskell-suite-pkg
5557
5558 --with-hmake PATH
5559 give the path to hmake
5560
5561 --with-hpc PATH
5562 give the path to hpc
5563
5564 --with-hsc2hs PATH
5565 give the path to hsc2hs
5566
5567 --with-hscolour PATH
5568 give the path to hscolour
5569
5570 --with-jhc PATH
5571 give the path to jhc
5572
5573 --with-ld PATH
5574 give the path to ld
5575
5576 --with-lhc PATH
5577 give the path to lhc
5578
5579 --with-lhc-pkg PATH
5580 give the path to lhc-pkg
5581
5582 --with-pkg-config PATH
5583 give the path to pkg-config
5584
5585 --with-runghc PATH
5586 give the path to runghc
5587
5588 --with-strip PATH
5589 give the path to strip
5590
5591 --with-tar PATH
5592 give the path to tar
5593
5594 --with-uhc PATH
5595 give the path to uhc
5596
5597 --alex-option OPT
5598 give an extra option to alex (no need to quote options
5599 containing spaces)
5600
5601 --ar-option OPT
5602 give an extra option to ar (no need to quote options con‐
5603 taining spaces)
5604
5605 --c2hs-option OPT
5606 give an extra option to c2hs (no need to quote options
5607 containing spaces)
5608
5609 --cpphs-option OPT
5610 give an extra option to cpphs (no need to quote options
5611 containing spaces)
5612
5613 --doctest-option OPT
5614 give an extra option to doctest (no need to quote options
5615 containing spaces)
5616
5617 --gcc-option OPT
5618 give an extra option to gcc (no need to quote options
5619 containing spaces)
5620
5621 --ghc-option OPT
5622 give an extra option to ghc (no need to quote options
5623 containing spaces)
5624
5625 --ghc-pkg-option OPT
5626 give an extra option to ghc-pkg (no need to quote options
5627 containing spaces)
5628
5629 --ghcjs-option OPT
5630 give an extra option to ghcjs (no need to quote options
5631 containing spaces)
5632
5633 --ghcjs-pkg-option OPT
5634 give an extra option to ghcjs-pkg (no need to quote
5635 options containing spaces)
5636
5637 --greencard-option OPT
5638 give an extra option to greencard (no need to quote
5639 options containing spaces)
5640
5641 --haddock-option OPT
5642 give an extra option to haddock (no need to quote options
5643 containing spaces)
5644
5645 --happy-option OPT
5646 give an extra option to happy (no need to quote options
5647 containing spaces)
5648
5649 --haskell-suite-option OPT
5650 give an extra option to haskell-suite (no need to quote
5651 options containing spaces)
5652
5653 --haskell-suite-pkg-option OPT
5654 give an extra option to haskell-suite-pkg (no need to
5655 quote options containing spaces)
5656
5657 --hmake-option OPT
5658 give an extra option to hmake (no need to quote options
5659 containing spaces)
5660
5661 --hpc-option OPT
5662 give an extra option to hpc (no need to quote options
5663 containing spaces)
5664
5665 --hsc2hs-option OPT
5666 give an extra option to hsc2hs (no need to quote options
5667 containing spaces)
5668
5669 --hscolour-option OPT
5670 give an extra option to hscolour (no need to quote
5671 options containing spaces)
5672
5673 --jhc-option OPT
5674 give an extra option to jhc (no need to quote options
5675 containing spaces)
5676
5677 --ld-option OPT
5678 give an extra option to ld (no need to quote options con‐
5679 taining spaces)
5680
5681 --lhc-option OPT
5682 give an extra option to lhc (no need to quote options
5683 containing spaces)
5684
5685 --lhc-pkg-option OPT
5686 give an extra option to lhc-pkg (no need to quote options
5687 containing spaces)
5688
5689 --pkg-config-option OPT
5690 give an extra option to pkg-config (no need to quote
5691 options containing spaces)
5692
5693 --runghc-option OPT
5694 give an extra option to runghc (no need to quote options
5695 containing spaces)
5696
5697 --strip-option OPT
5698 give an extra option to strip (no need to quote options
5699 containing spaces)
5700
5701 --tar-option OPT
5702 give an extra option to tar (no need to quote options
5703 containing spaces)
5704
5705 --uhc-option OPT
5706 give an extra option to uhc (no need to quote options
5707 containing spaces)
5708
5709 --alex-options OPTS
5710 give extra options to alex
5711
5712 --ar-options OPTS
5713 give extra options to ar
5714
5715 --c2hs-options OPTS
5716 give extra options to c2hs
5717
5718 --cpphs-options OPTS
5719 give extra options to cpphs
5720
5721 --doctest-options OPTS
5722 give extra options to doctest
5723
5724 --gcc-options OPTS
5725 give extra options to gcc
5726
5727 --ghc-options OPTS
5728 give extra options to ghc
5729
5730 --ghc-pkg-options OPTS
5731 give extra options to ghc-pkg
5732
5733 --ghcjs-options OPTS
5734 give extra options to ghcjs
5735
5736 --ghcjs-pkg-options OPTS
5737 give extra options to ghcjs-pkg
5738
5739 --greencard-options OPTS
5740 give extra options to greencard
5741
5742 --haddock-options OPTS
5743 give extra options to haddock
5744
5745 --happy-options OPTS
5746 give extra options to happy
5747
5748 --haskell-suite-options OPTS
5749 give extra options to haskell-suite
5750
5751 --haskell-suite-pkg-options OPTS
5752 give extra options to haskell-suite-pkg
5753
5754 --hmake-options OPTS
5755 give extra options to hmake
5756
5757 --hpc-options OPTS
5758 give extra options to hpc
5759
5760 --hsc2hs-options OPTS
5761 give extra options to hsc2hs
5762
5763 --hscolour-options OPTS
5764 give extra options to hscolour
5765
5766 --jhc-options OPTS
5767 give extra options to jhc
5768
5769 --ld-options OPTS
5770 give extra options to ld
5771
5772 --lhc-options OPTS
5773 give extra options to lhc
5774
5775 --lhc-pkg-options OPTS
5776 give extra options to lhc-pkg
5777
5778 --pkg-config-options OPTS
5779 give extra options to pkg-config
5780
5781 --runghc-options OPTS
5782 give extra options to runghc
5783
5784 --strip-options OPTS
5785 give extra options to strip
5786
5787 --tar-options OPTS
5788 give extra options to tar
5789
5790 --uhc-options OPTS
5791 give extra options to uhc
5792
5793 --cabal-lib-version VERSION
5794 Select which version of the Cabal lib to use to build
5795 packages (useful for testing).
5796
5797 --constraint CONSTRAINT
5798 Specify constraints on a package (version,
5799 installed/source, flags)
5800
5801 --preference CONSTRAINT
5802 Specify preferences (soft constraints) on the version of
5803 a package
5804
5805 --solver SOLVER
5806 Select dependency solver to use (default: modular).
5807 Choices: modular.
5808
5809 --enable-documentation
5810 --disable-documentation
5811 building of documentation
5812
5813 --doc-index-file TEMPLATE
5814 A central index of haddock API documentation (template
5815 cannot use $pkgid)
5816
5817 --dry-run
5818 Do not install anything, only print what would be
5819 installed.
5820
5821 --max-backjumps NUM
5822 Maximum number of backjumps allowed while solving
5823 (default: 2000). Use a negative number to enable unlim‐
5824 ited backtracking. Use 0 to disable backtracking com‐
5825 pletely.
5826
5827 --reorder-goals
5828 --no-reorder-goals
5829 Try to reorder goals according to certain heuristics.
5830 Slows things down on average, but may make backtracking
5831 faster for some packages.
5832
5833 --count-conflicts
5834 --no-count-conflicts
5835 Try to speed up solving by preferring goals that are
5836 involved in a lot of conflicts (default).
5837
5838 --shadow-installed-packages
5839 --no-shadow-installed-packages
5840 If multiple package instances of the same version are
5841 installed, treat all but one as shadowed.
5842
5843 --strong-flags
5844 --no-strong-flags
5845 Do not defer flag choices (this used to be the default in
5846 cabal-install <= 1.20).
5847
5848 --allow-boot-library-installs
5849 --no-allow-boot-library-installs
5850 Allow cabal to install base, ghc-prim, integer-simple,
5851 integer-gmp, and template-haskell.
5852
5853 --reinstall
5854 --no-reinstall
5855 Install even if it means installing the same version
5856 again.
5857
5858 --avoid-reinstalls
5859 --no-avoid-reinstalls
5860 Do not select versions that would destructively overwrite
5861 installed packages.
5862
5863 --force-reinstalls
5864 --no-force-reinstalls
5865 Reinstall packages even if they will most likely break
5866 other installed packages.
5867
5868 --upgrade-dependencies
5869 --no-upgrade-dependencies
5870 Pick the latest version for all dependencies, rather than
5871 trying to pick an installed version.
5872
5873 --only-dependencies
5874 --no-only-dependencies
5875 Install only the dependencies necessary to build the
5876 given packages
5877
5878 --dependencies-only
5879 --no-dependencies-only
5880 A synonym for --only-dependencies
5881
5882 --index-state STATE
5883 Use source package index state as it existed at a previ‐
5884 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
5885 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
5886 'HEAD' (default: 'HEAD').
5887
5888 --root-cmd COMMAND
5889 (No longer supported, do not use.)
5890
5891 --symlink-bindir DIR
5892 Add symlinks to installed executables into this direc‐
5893 tory.
5894
5895 --build-summary TEMPLATE
5896 Save build summaries to file (name template can use
5897 $pkgid, $compiler, $os, $arch)
5898
5899 --build-log TEMPLATE
5900 Log all builds to file (name template can use $pkgid,
5901 $compiler, $os, $arch)
5902
5903 --remote-build-reporting LEVEL
5904 Generate build reports to send to a remote server (none,
5905 anonymous or detailed).
5906
5907 --report-planning-failure
5908 Generate build reports when the dependency solver fails.
5909 This is used by the Hackage build bot.
5910
5911 --enable-per-component
5912 --disable-per-component
5913 Per-component builds when possible
5914
5915 --one-shot
5916 --no-one-shot
5917 Do not record the packages in the world file.
5918
5919 --run-tests
5920 Run package test suites during installation.
5921
5922 -j, --jobs [NUM]
5923 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
5924 given).
5925
5926 --keep-going
5927 After a build failure, continue to build other unaffected
5928 packages.
5929
5930 --offline
5931 --no-offline
5932 Don't download packages from the Internet.
5933
5934 --project-file FILE
5935 Set the name of the cabal.project file to search for in
5936 parent directories
5937
5938 --only
5939 Only installs the package in the current directory.
5940
5941 --haddock-hoogle
5942 Generate a hoogle database
5943
5944 --haddock-html
5945 Generate HTML documentation (the default)
5946
5947 --haddock-html-location URL
5948 Location of HTML documentation for pre-requisite packages
5949
5950 --haddock-executables
5951 Run haddock for Executables targets
5952
5953 --haddock-tests
5954 Run haddock for Test Suite targets
5955
5956 --haddock-benchmarks
5957 Run haddock for Benchmark targets
5958
5959 --haddock-all
5960 Run haddock for all targets
5961
5962 --haddock-internal
5963 Run haddock for internal modules and include all symbols
5964
5965 --haddock-css PATH
5966 Use PATH as the haddock stylesheet
5967
5968 --haddock-hyperlink-source, --haddock-hyperlink-sources
5969 Hyperlink the documentation to the source code (using
5970 HsColour)
5971
5972 --haddock-hscolour-css PATH
5973 Use PATH as the HsColour stylesheet
5974
5975 --haddock-contents-location URL
5976 Bake URL in as the location for the contents page
5977
5978
5979 cabal new-repl
5980
5981 Usage: cabal new-repl [TARGET] [FLAGS]
5982
5983
5984 Open an interactive session for a component within the project. The
5985 available targets are the same as for the 'new-build' command: individ‐
5986 ual components within packages in the project, including libraries,
5987 executables, test-suites or benchmarks. Packages can also be specified
5988 in which case the library component in the package will be used, or the
5989 (first listed) executable in the package if there is no library.
5990
5991 Dependencies are built or rebuilt as necessary. Additional configura‐
5992 tion flags can be specified on the command line and these extend the
5993 project configuration from the 'cabal.project', 'cabal.project.local'
5994 and other files.
5995
5996
5997 Examples, open an interactive session:
5998 cabal new-repl
5999 for the default component in the package in the current directory
6000 cabal new-repl pkgname
6001 for the default component in the package named 'pkgname'
6002 cabal new-repl ./pkgfoo
6003 for the default component in the package in the ./pkgfoo directory
6004 cabal new-repl cname
6005 for the component named 'cname'
6006 cabal new-repl pkgname:cname
6007 for the component 'cname' in the package 'pkgname'
6008
6009 Note: this command is part of the new project-based system (aka nix-
6010 style local builds). These features are currently in beta. Please see
6011 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
6012 details and advice on what you can expect to work. If you encounter
6013 problems please file issues at https://github.com/haskell/cabal/issues
6014 and if you have any time to get involved and help with testing, fixing
6015 bugs etc then that is very much appreciated.
6016
6017
6018 Flags:
6019 -v, --verbose [n]
6020 Control verbosity (n is 0--3, default verbosity level is
6021 1)
6022
6023 --builddir, --distdir, --distpref DIR
6024 The directory where Cabal puts generated build files
6025 (default dist)
6026
6027 -g, --ghc
6028 compile with GHC
6029
6030 --ghcjs
6031 compile with GHCJS
6032
6033 --jhc
6034 compile with JHC
6035
6036 --lhc
6037 compile with LHC
6038
6039 --uhc
6040 compile with UHC
6041
6042 --haskell-suite
6043 compile with a haskell-suite compiler
6044
6045 --cabal-file PATH
6046 use this Cabal file
6047
6048 -w, --with-compiler PATH
6049 give the path to a particular compiler
6050
6051 --with-hc-pkg PATH
6052 give the path to the package tool
6053
6054 --prefix DIR
6055 bake this prefix in preparation of installation
6056
6057 --bindir DIR
6058 installation directory for executables
6059
6060 --libdir DIR
6061 installation directory for libraries
6062
6063 --libsubdir DIR
6064 subdirectory of libdir in which libs are installed
6065
6066 --dynlibdir DIR
6067 installation directory for dynamic libraries
6068
6069 --libexecdir DIR
6070 installation directory for program executables
6071
6072 --libexecsubdir DIR
6073 subdirectory of libexecdir in which private executables
6074 are installed
6075
6076 --datadir DIR
6077 installation directory for read-only data
6078
6079 --datasubdir DIR
6080 subdirectory of datadir in which data files are installed
6081
6082 --docdir DIR
6083 installation directory for documentation
6084
6085 --htmldir DIR
6086 installation directory for HTML documentation
6087
6088 --haddockdir DIR
6089 installation directory for haddock interfaces
6090
6091 --sysconfdir DIR
6092 installation directory for configuration files
6093
6094 --program-prefix PREFIX
6095 prefix to be applied to installed executables
6096
6097 --program-suffix SUFFIX
6098 suffix to be applied to installed executables
6099
6100 --enable-library-vanilla
6101 --disable-library-vanilla
6102 Vanilla libraries
6103
6104 -p, --enable-library-profiling
6105 --disable-library-profiling
6106 Library profiling
6107
6108 --enable-shared
6109 --disable-shared
6110 Shared library
6111
6112 --enable-executable-dynamic
6113 --disable-executable-dynamic
6114 Executable dynamic linking
6115
6116 --enable-profiling
6117 --disable-profiling
6118 Executable and library profiling
6119
6120 --enable-executable-profiling
6121 --disable-executable-profiling
6122 Executable profiling (DEPRECATED)
6123
6124 --profiling-detail level
6125 Profiling detail level for executable and library
6126 (default, none, exported-functions, toplevel-functions,
6127 all-functions).
6128
6129 --library-profiling-detail level
6130 Profiling detail level for libraries only.
6131
6132 -O, --enable-optimization, --enable-optimisation [n]
6133 Build with optimization (n is 0--2, default is 1)
6134
6135 --disable-optimization, --disable-optimisation
6136 Build without optimization
6137
6138 --enable-debug-info [n]
6139 Emit debug info (n is 0--3, default is 0)
6140
6141 --disable-debug-info
6142 Don't emit debug info
6143
6144 --enable-library-for-ghci
6145 --disable-library-for-ghci
6146 compile library for use with GHCi
6147
6148 --enable-split-objs
6149 --disable-split-objs
6150 split library into smaller objects to reduce binary sizes
6151 (GHC 6.6+)
6152
6153 --enable-executable-stripping
6154 --disable-executable-stripping
6155 strip executables upon installation to reduce binary
6156 sizes
6157
6158 --enable-library-stripping
6159 --disable-library-stripping
6160 strip libraries upon installation to reduce binary sizes
6161
6162 --configure-option OPT
6163 Extra option for configure
6164
6165 --user
6166 --global
6167 doing a per-user installation
6168
6169 --package-db DB
6170 Append the given package database to the list of package
6171 databases used (to satisfy dependencies and register
6172 into). May be a specific file, 'global' or 'user'. The
6173 initial list is ['global'], ['global', 'user'], or
6174 ['global', $sandbox], depending on context. Use 'clear'
6175 to reset the list to empty. See the user guide for
6176 details.
6177
6178 -f, --flags FLAGS
6179 Force values for the given flags in Cabal conditionals in
6180 the .cabal file. E.g., --flags="debug -usebytestrings"
6181 forces the flag "debug" to true and "usebytestrings" to
6182 false.
6183
6184 --extra-include-dirs PATH
6185 A list of directories to search for header files
6186
6187 --enable-deterministic
6188 --disable-deterministic
6189 Try to be as deterministic as possible (used by the test
6190 suite)
6191
6192 --ipid IPID
6193 Installed package ID to compile this package as
6194
6195 --cid CID
6196 Installed component ID to compile this component as
6197
6198 --extra-lib-dirs PATH
6199 A list of directories to search for external libraries
6200
6201 --extra-framework-dirs PATH
6202 A list of directories to search for external frameworks
6203 (OS X only)
6204
6205 --extra-prog-path PATH
6206 A list of directories to search for required programs (in
6207 addition to the normal search locations)
6208
6209 --instantiate-with NAME=MOD
6210 A mapping of signature names to concrete module instanti‐
6211 ations.
6212
6213 --enable-tests
6214 --disable-tests
6215 dependency checking and compilation for test suites
6216 listed in the package description file.
6217
6218 --enable-coverage
6219 --disable-coverage
6220 build package with Haskell Program Coverage. (GHC only)
6221
6222 --enable-library-coverage
6223 --disable-library-coverage
6224 build package with Haskell Program Coverage. (GHC only)
6225 (DEPRECATED)
6226
6227 --allow-older [DEPS]
6228 Ignore upper bounds in all dependencies or DEPS
6229
6230 --allow-newer [DEPS]
6231 Ignore upper bounds in all dependencies or DEPS
6232
6233 --enable-benchmarks
6234 --disable-benchmarks
6235 dependency checking and compilation for benchmarks listed
6236 in the package description file.
6237
6238 --enable-relocatable
6239 --disable-relocatable
6240 building a package that is relocatable. (GHC only)
6241
6242 --with-alex PATH
6243 give the path to alex
6244
6245 --with-ar PATH
6246 give the path to ar
6247
6248 --with-c2hs PATH
6249 give the path to c2hs
6250
6251 --with-cpphs PATH
6252 give the path to cpphs
6253
6254 --with-doctest PATH
6255 give the path to doctest
6256
6257 --with-gcc PATH
6258 give the path to gcc
6259
6260 --with-ghc PATH
6261 give the path to ghc
6262
6263 --with-ghc-pkg PATH
6264 give the path to ghc-pkg
6265
6266 --with-ghcjs PATH
6267 give the path to ghcjs
6268
6269 --with-ghcjs-pkg PATH
6270 give the path to ghcjs-pkg
6271
6272 --with-greencard PATH
6273 give the path to greencard
6274
6275 --with-haddock PATH
6276 give the path to haddock
6277
6278 --with-happy PATH
6279 give the path to happy
6280
6281 --with-haskell-suite PATH
6282 give the path to haskell-suite
6283
6284 --with-haskell-suite-pkg PATH
6285 give the path to haskell-suite-pkg
6286
6287 --with-hmake PATH
6288 give the path to hmake
6289
6290 --with-hpc PATH
6291 give the path to hpc
6292
6293 --with-hsc2hs PATH
6294 give the path to hsc2hs
6295
6296 --with-hscolour PATH
6297 give the path to hscolour
6298
6299 --with-jhc PATH
6300 give the path to jhc
6301
6302 --with-ld PATH
6303 give the path to ld
6304
6305 --with-lhc PATH
6306 give the path to lhc
6307
6308 --with-lhc-pkg PATH
6309 give the path to lhc-pkg
6310
6311 --with-pkg-config PATH
6312 give the path to pkg-config
6313
6314 --with-runghc PATH
6315 give the path to runghc
6316
6317 --with-strip PATH
6318 give the path to strip
6319
6320 --with-tar PATH
6321 give the path to tar
6322
6323 --with-uhc PATH
6324 give the path to uhc
6325
6326 --alex-option OPT
6327 give an extra option to alex (no need to quote options
6328 containing spaces)
6329
6330 --ar-option OPT
6331 give an extra option to ar (no need to quote options con‐
6332 taining spaces)
6333
6334 --c2hs-option OPT
6335 give an extra option to c2hs (no need to quote options
6336 containing spaces)
6337
6338 --cpphs-option OPT
6339 give an extra option to cpphs (no need to quote options
6340 containing spaces)
6341
6342 --doctest-option OPT
6343 give an extra option to doctest (no need to quote options
6344 containing spaces)
6345
6346 --gcc-option OPT
6347 give an extra option to gcc (no need to quote options
6348 containing spaces)
6349
6350 --ghc-option OPT
6351 give an extra option to ghc (no need to quote options
6352 containing spaces)
6353
6354 --ghc-pkg-option OPT
6355 give an extra option to ghc-pkg (no need to quote options
6356 containing spaces)
6357
6358 --ghcjs-option OPT
6359 give an extra option to ghcjs (no need to quote options
6360 containing spaces)
6361
6362 --ghcjs-pkg-option OPT
6363 give an extra option to ghcjs-pkg (no need to quote
6364 options containing spaces)
6365
6366 --greencard-option OPT
6367 give an extra option to greencard (no need to quote
6368 options containing spaces)
6369
6370 --haddock-option OPT
6371 give an extra option to haddock (no need to quote options
6372 containing spaces)
6373
6374 --happy-option OPT
6375 give an extra option to happy (no need to quote options
6376 containing spaces)
6377
6378 --haskell-suite-option OPT
6379 give an extra option to haskell-suite (no need to quote
6380 options containing spaces)
6381
6382 --haskell-suite-pkg-option OPT
6383 give an extra option to haskell-suite-pkg (no need to
6384 quote options containing spaces)
6385
6386 --hmake-option OPT
6387 give an extra option to hmake (no need to quote options
6388 containing spaces)
6389
6390 --hpc-option OPT
6391 give an extra option to hpc (no need to quote options
6392 containing spaces)
6393
6394 --hsc2hs-option OPT
6395 give an extra option to hsc2hs (no need to quote options
6396 containing spaces)
6397
6398 --hscolour-option OPT
6399 give an extra option to hscolour (no need to quote
6400 options containing spaces)
6401
6402 --jhc-option OPT
6403 give an extra option to jhc (no need to quote options
6404 containing spaces)
6405
6406 --ld-option OPT
6407 give an extra option to ld (no need to quote options con‐
6408 taining spaces)
6409
6410 --lhc-option OPT
6411 give an extra option to lhc (no need to quote options
6412 containing spaces)
6413
6414 --lhc-pkg-option OPT
6415 give an extra option to lhc-pkg (no need to quote options
6416 containing spaces)
6417
6418 --pkg-config-option OPT
6419 give an extra option to pkg-config (no need to quote
6420 options containing spaces)
6421
6422 --runghc-option OPT
6423 give an extra option to runghc (no need to quote options
6424 containing spaces)
6425
6426 --strip-option OPT
6427 give an extra option to strip (no need to quote options
6428 containing spaces)
6429
6430 --tar-option OPT
6431 give an extra option to tar (no need to quote options
6432 containing spaces)
6433
6434 --uhc-option OPT
6435 give an extra option to uhc (no need to quote options
6436 containing spaces)
6437
6438 --alex-options OPTS
6439 give extra options to alex
6440
6441 --ar-options OPTS
6442 give extra options to ar
6443
6444 --c2hs-options OPTS
6445 give extra options to c2hs
6446
6447 --cpphs-options OPTS
6448 give extra options to cpphs
6449
6450 --doctest-options OPTS
6451 give extra options to doctest
6452
6453 --gcc-options OPTS
6454 give extra options to gcc
6455
6456 --ghc-options OPTS
6457 give extra options to ghc
6458
6459 --ghc-pkg-options OPTS
6460 give extra options to ghc-pkg
6461
6462 --ghcjs-options OPTS
6463 give extra options to ghcjs
6464
6465 --ghcjs-pkg-options OPTS
6466 give extra options to ghcjs-pkg
6467
6468 --greencard-options OPTS
6469 give extra options to greencard
6470
6471 --haddock-options OPTS
6472 give extra options to haddock
6473
6474 --happy-options OPTS
6475 give extra options to happy
6476
6477 --haskell-suite-options OPTS
6478 give extra options to haskell-suite
6479
6480 --haskell-suite-pkg-options OPTS
6481 give extra options to haskell-suite-pkg
6482
6483 --hmake-options OPTS
6484 give extra options to hmake
6485
6486 --hpc-options OPTS
6487 give extra options to hpc
6488
6489 --hsc2hs-options OPTS
6490 give extra options to hsc2hs
6491
6492 --hscolour-options OPTS
6493 give extra options to hscolour
6494
6495 --jhc-options OPTS
6496 give extra options to jhc
6497
6498 --ld-options OPTS
6499 give extra options to ld
6500
6501 --lhc-options OPTS
6502 give extra options to lhc
6503
6504 --lhc-pkg-options OPTS
6505 give extra options to lhc-pkg
6506
6507 --pkg-config-options OPTS
6508 give extra options to pkg-config
6509
6510 --runghc-options OPTS
6511 give extra options to runghc
6512
6513 --strip-options OPTS
6514 give extra options to strip
6515
6516 --tar-options OPTS
6517 give extra options to tar
6518
6519 --uhc-options OPTS
6520 give extra options to uhc
6521
6522 --cabal-lib-version VERSION
6523 Select which version of the Cabal lib to use to build
6524 packages (useful for testing).
6525
6526 --constraint CONSTRAINT
6527 Specify constraints on a package (version,
6528 installed/source, flags)
6529
6530 --preference CONSTRAINT
6531 Specify preferences (soft constraints) on the version of
6532 a package
6533
6534 --solver SOLVER
6535 Select dependency solver to use (default: modular).
6536 Choices: modular.
6537
6538 --enable-documentation
6539 --disable-documentation
6540 building of documentation
6541
6542 --doc-index-file TEMPLATE
6543 A central index of haddock API documentation (template
6544 cannot use $pkgid)
6545
6546 --dry-run
6547 Do not install anything, only print what would be
6548 installed.
6549
6550 --max-backjumps NUM
6551 Maximum number of backjumps allowed while solving
6552 (default: 2000). Use a negative number to enable unlim‐
6553 ited backtracking. Use 0 to disable backtracking com‐
6554 pletely.
6555
6556 --reorder-goals
6557 --no-reorder-goals
6558 Try to reorder goals according to certain heuristics.
6559 Slows things down on average, but may make backtracking
6560 faster for some packages.
6561
6562 --count-conflicts
6563 --no-count-conflicts
6564 Try to speed up solving by preferring goals that are
6565 involved in a lot of conflicts (default).
6566
6567 --shadow-installed-packages
6568 --no-shadow-installed-packages
6569 If multiple package instances of the same version are
6570 installed, treat all but one as shadowed.
6571
6572 --strong-flags
6573 --no-strong-flags
6574 Do not defer flag choices (this used to be the default in
6575 cabal-install <= 1.20).
6576
6577 --allow-boot-library-installs
6578 --no-allow-boot-library-installs
6579 Allow cabal to install base, ghc-prim, integer-simple,
6580 integer-gmp, and template-haskell.
6581
6582 --reinstall
6583 --no-reinstall
6584 Install even if it means installing the same version
6585 again.
6586
6587 --avoid-reinstalls
6588 --no-avoid-reinstalls
6589 Do not select versions that would destructively overwrite
6590 installed packages.
6591
6592 --force-reinstalls
6593 --no-force-reinstalls
6594 Reinstall packages even if they will most likely break
6595 other installed packages.
6596
6597 --upgrade-dependencies
6598 --no-upgrade-dependencies
6599 Pick the latest version for all dependencies, rather than
6600 trying to pick an installed version.
6601
6602 --only-dependencies
6603 --no-only-dependencies
6604 Install only the dependencies necessary to build the
6605 given packages
6606
6607 --dependencies-only
6608 --no-dependencies-only
6609 A synonym for --only-dependencies
6610
6611 --index-state STATE
6612 Use source package index state as it existed at a previ‐
6613 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
6614 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
6615 'HEAD' (default: 'HEAD').
6616
6617 --root-cmd COMMAND
6618 (No longer supported, do not use.)
6619
6620 --symlink-bindir DIR
6621 Add symlinks to installed executables into this direc‐
6622 tory.
6623
6624 --build-summary TEMPLATE
6625 Save build summaries to file (name template can use
6626 $pkgid, $compiler, $os, $arch)
6627
6628 --build-log TEMPLATE
6629 Log all builds to file (name template can use $pkgid,
6630 $compiler, $os, $arch)
6631
6632 --remote-build-reporting LEVEL
6633 Generate build reports to send to a remote server (none,
6634 anonymous or detailed).
6635
6636 --report-planning-failure
6637 Generate build reports when the dependency solver fails.
6638 This is used by the Hackage build bot.
6639
6640 --enable-per-component
6641 --disable-per-component
6642 Per-component builds when possible
6643
6644 --one-shot
6645 --no-one-shot
6646 Do not record the packages in the world file.
6647
6648 --run-tests
6649 Run package test suites during installation.
6650
6651 -j, --jobs [NUM]
6652 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
6653 given).
6654
6655 --keep-going
6656 After a build failure, continue to build other unaffected
6657 packages.
6658
6659 --offline
6660 --no-offline
6661 Don't download packages from the Internet.
6662
6663 --project-file FILE
6664 Set the name of the cabal.project file to search for in
6665 parent directories
6666
6667 --only
6668 Only installs the package in the current directory.
6669
6670 --haddock-hoogle
6671 Generate a hoogle database
6672
6673 --haddock-html
6674 Generate HTML documentation (the default)
6675
6676 --haddock-html-location URL
6677 Location of HTML documentation for pre-requisite packages
6678
6679 --haddock-executables
6680 Run haddock for Executables targets
6681
6682 --haddock-tests
6683 Run haddock for Test Suite targets
6684
6685 --haddock-benchmarks
6686 Run haddock for Benchmark targets
6687
6688 --haddock-all
6689 Run haddock for all targets
6690
6691 --haddock-internal
6692 Run haddock for internal modules and include all symbols
6693
6694 --haddock-css PATH
6695 Use PATH as the haddock stylesheet
6696
6697 --haddock-hyperlink-source, --haddock-hyperlink-sources
6698 Hyperlink the documentation to the source code (using
6699 HsColour)
6700
6701 --haddock-hscolour-css PATH
6702 Use PATH as the HsColour stylesheet
6703
6704 --haddock-contents-location URL
6705 Bake URL in as the location for the contents page
6706
6707
6708 cabal new-freeze
6709
6710 Usage: cabal new-freeze [FLAGS]
6711
6712
6713 The project configuration is frozen so that it will be reproducible in
6714 future.
6715
6716 The precise dependency configuration for the project is written to the
6717 specified). This file extends the configuration from the
6718 'cabal.project' file and thus is used as the project configuration for
6719 all other commands (such as
6720
6721 The freeze file can be kept in source control. To make small adjust‐
6722 ments it may be edited manually, or to make bigger changes you may wish
6723 to delete the file and re-freeze. For more control, one approach is to
6724 try variations using once you have a satisfactory solution to freeze it
6725 using the 'new-freeze' command with the same set of flags.
6726
6727
6728 Examples:
6729 cabal new-freeze
6730 Freeze the configuration of the current project
6731
6732 cabal new-build --dry-run --constraint="aeson < 1"
6733 Check what a solution with the given constraints would look like
6734 cabal new-freeze --constraint="aeson < 1"
6735 Freeze a solution using the given constraints
6736
6737 Note: this command is part of the new project-based system (aka nix-
6738 style local builds). These features are currently in beta. Please see
6739 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
6740 details and advice on what you can expect to work. If you encounter
6741 problems please file issues at https://github.com/haskell/cabal/issues
6742 and if you have any time to get involved and help with testing, fixing
6743 bugs etc then that is very much appreciated.
6744
6745
6746 Flags:
6747 -v, --verbose [n]
6748 Control verbosity (n is 0--3, default verbosity level is
6749 1)
6750
6751 --builddir, --distdir, --distpref DIR
6752 The directory where Cabal puts generated build files
6753 (default dist)
6754
6755 -g, --ghc
6756 compile with GHC
6757
6758 --ghcjs
6759 compile with GHCJS
6760
6761 --jhc
6762 compile with JHC
6763
6764 --lhc
6765 compile with LHC
6766
6767 --uhc
6768 compile with UHC
6769
6770 --haskell-suite
6771 compile with a haskell-suite compiler
6772
6773 --cabal-file PATH
6774 use this Cabal file
6775
6776 -w, --with-compiler PATH
6777 give the path to a particular compiler
6778
6779 --with-hc-pkg PATH
6780 give the path to the package tool
6781
6782 --prefix DIR
6783 bake this prefix in preparation of installation
6784
6785 --bindir DIR
6786 installation directory for executables
6787
6788 --libdir DIR
6789 installation directory for libraries
6790
6791 --libsubdir DIR
6792 subdirectory of libdir in which libs are installed
6793
6794 --dynlibdir DIR
6795 installation directory for dynamic libraries
6796
6797 --libexecdir DIR
6798 installation directory for program executables
6799
6800 --libexecsubdir DIR
6801 subdirectory of libexecdir in which private executables
6802 are installed
6803
6804 --datadir DIR
6805 installation directory for read-only data
6806
6807 --datasubdir DIR
6808 subdirectory of datadir in which data files are installed
6809
6810 --docdir DIR
6811 installation directory for documentation
6812
6813 --htmldir DIR
6814 installation directory for HTML documentation
6815
6816 --haddockdir DIR
6817 installation directory for haddock interfaces
6818
6819 --sysconfdir DIR
6820 installation directory for configuration files
6821
6822 --program-prefix PREFIX
6823 prefix to be applied to installed executables
6824
6825 --program-suffix SUFFIX
6826 suffix to be applied to installed executables
6827
6828 --enable-library-vanilla
6829 --disable-library-vanilla
6830 Vanilla libraries
6831
6832 -p, --enable-library-profiling
6833 --disable-library-profiling
6834 Library profiling
6835
6836 --enable-shared
6837 --disable-shared
6838 Shared library
6839
6840 --enable-executable-dynamic
6841 --disable-executable-dynamic
6842 Executable dynamic linking
6843
6844 --enable-profiling
6845 --disable-profiling
6846 Executable and library profiling
6847
6848 --enable-executable-profiling
6849 --disable-executable-profiling
6850 Executable profiling (DEPRECATED)
6851
6852 --profiling-detail level
6853 Profiling detail level for executable and library
6854 (default, none, exported-functions, toplevel-functions,
6855 all-functions).
6856
6857 --library-profiling-detail level
6858 Profiling detail level for libraries only.
6859
6860 -O, --enable-optimization, --enable-optimisation [n]
6861 Build with optimization (n is 0--2, default is 1)
6862
6863 --disable-optimization, --disable-optimisation
6864 Build without optimization
6865
6866 --enable-debug-info [n]
6867 Emit debug info (n is 0--3, default is 0)
6868
6869 --disable-debug-info
6870 Don't emit debug info
6871
6872 --enable-library-for-ghci
6873 --disable-library-for-ghci
6874 compile library for use with GHCi
6875
6876 --enable-split-objs
6877 --disable-split-objs
6878 split library into smaller objects to reduce binary sizes
6879 (GHC 6.6+)
6880
6881 --enable-executable-stripping
6882 --disable-executable-stripping
6883 strip executables upon installation to reduce binary
6884 sizes
6885
6886 --enable-library-stripping
6887 --disable-library-stripping
6888 strip libraries upon installation to reduce binary sizes
6889
6890 --configure-option OPT
6891 Extra option for configure
6892
6893 --user
6894 --global
6895 doing a per-user installation
6896
6897 --package-db DB
6898 Append the given package database to the list of package
6899 databases used (to satisfy dependencies and register
6900 into). May be a specific file, 'global' or 'user'. The
6901 initial list is ['global'], ['global', 'user'], or
6902 ['global', $sandbox], depending on context. Use 'clear'
6903 to reset the list to empty. See the user guide for
6904 details.
6905
6906 -f, --flags FLAGS
6907 Force values for the given flags in Cabal conditionals in
6908 the .cabal file. E.g., --flags="debug -usebytestrings"
6909 forces the flag "debug" to true and "usebytestrings" to
6910 false.
6911
6912 --extra-include-dirs PATH
6913 A list of directories to search for header files
6914
6915 --enable-deterministic
6916 --disable-deterministic
6917 Try to be as deterministic as possible (used by the test
6918 suite)
6919
6920 --ipid IPID
6921 Installed package ID to compile this package as
6922
6923 --cid CID
6924 Installed component ID to compile this component as
6925
6926 --extra-lib-dirs PATH
6927 A list of directories to search for external libraries
6928
6929 --extra-framework-dirs PATH
6930 A list of directories to search for external frameworks
6931 (OS X only)
6932
6933 --extra-prog-path PATH
6934 A list of directories to search for required programs (in
6935 addition to the normal search locations)
6936
6937 --instantiate-with NAME=MOD
6938 A mapping of signature names to concrete module instanti‐
6939 ations.
6940
6941 --enable-tests
6942 --disable-tests
6943 dependency checking and compilation for test suites
6944 listed in the package description file.
6945
6946 --enable-coverage
6947 --disable-coverage
6948 build package with Haskell Program Coverage. (GHC only)
6949
6950 --enable-library-coverage
6951 --disable-library-coverage
6952 build package with Haskell Program Coverage. (GHC only)
6953 (DEPRECATED)
6954
6955 --allow-older [DEPS]
6956 Ignore upper bounds in all dependencies or DEPS
6957
6958 --allow-newer [DEPS]
6959 Ignore upper bounds in all dependencies or DEPS
6960
6961 --enable-benchmarks
6962 --disable-benchmarks
6963 dependency checking and compilation for benchmarks listed
6964 in the package description file.
6965
6966 --enable-relocatable
6967 --disable-relocatable
6968 building a package that is relocatable. (GHC only)
6969
6970 --with-alex PATH
6971 give the path to alex
6972
6973 --with-ar PATH
6974 give the path to ar
6975
6976 --with-c2hs PATH
6977 give the path to c2hs
6978
6979 --with-cpphs PATH
6980 give the path to cpphs
6981
6982 --with-doctest PATH
6983 give the path to doctest
6984
6985 --with-gcc PATH
6986 give the path to gcc
6987
6988 --with-ghc PATH
6989 give the path to ghc
6990
6991 --with-ghc-pkg PATH
6992 give the path to ghc-pkg
6993
6994 --with-ghcjs PATH
6995 give the path to ghcjs
6996
6997 --with-ghcjs-pkg PATH
6998 give the path to ghcjs-pkg
6999
7000 --with-greencard PATH
7001 give the path to greencard
7002
7003 --with-haddock PATH
7004 give the path to haddock
7005
7006 --with-happy PATH
7007 give the path to happy
7008
7009 --with-haskell-suite PATH
7010 give the path to haskell-suite
7011
7012 --with-haskell-suite-pkg PATH
7013 give the path to haskell-suite-pkg
7014
7015 --with-hmake PATH
7016 give the path to hmake
7017
7018 --with-hpc PATH
7019 give the path to hpc
7020
7021 --with-hsc2hs PATH
7022 give the path to hsc2hs
7023
7024 --with-hscolour PATH
7025 give the path to hscolour
7026
7027 --with-jhc PATH
7028 give the path to jhc
7029
7030 --with-ld PATH
7031 give the path to ld
7032
7033 --with-lhc PATH
7034 give the path to lhc
7035
7036 --with-lhc-pkg PATH
7037 give the path to lhc-pkg
7038
7039 --with-pkg-config PATH
7040 give the path to pkg-config
7041
7042 --with-runghc PATH
7043 give the path to runghc
7044
7045 --with-strip PATH
7046 give the path to strip
7047
7048 --with-tar PATH
7049 give the path to tar
7050
7051 --with-uhc PATH
7052 give the path to uhc
7053
7054 --alex-option OPT
7055 give an extra option to alex (no need to quote options
7056 containing spaces)
7057
7058 --ar-option OPT
7059 give an extra option to ar (no need to quote options con‐
7060 taining spaces)
7061
7062 --c2hs-option OPT
7063 give an extra option to c2hs (no need to quote options
7064 containing spaces)
7065
7066 --cpphs-option OPT
7067 give an extra option to cpphs (no need to quote options
7068 containing spaces)
7069
7070 --doctest-option OPT
7071 give an extra option to doctest (no need to quote options
7072 containing spaces)
7073
7074 --gcc-option OPT
7075 give an extra option to gcc (no need to quote options
7076 containing spaces)
7077
7078 --ghc-option OPT
7079 give an extra option to ghc (no need to quote options
7080 containing spaces)
7081
7082 --ghc-pkg-option OPT
7083 give an extra option to ghc-pkg (no need to quote options
7084 containing spaces)
7085
7086 --ghcjs-option OPT
7087 give an extra option to ghcjs (no need to quote options
7088 containing spaces)
7089
7090 --ghcjs-pkg-option OPT
7091 give an extra option to ghcjs-pkg (no need to quote
7092 options containing spaces)
7093
7094 --greencard-option OPT
7095 give an extra option to greencard (no need to quote
7096 options containing spaces)
7097
7098 --haddock-option OPT
7099 give an extra option to haddock (no need to quote options
7100 containing spaces)
7101
7102 --happy-option OPT
7103 give an extra option to happy (no need to quote options
7104 containing spaces)
7105
7106 --haskell-suite-option OPT
7107 give an extra option to haskell-suite (no need to quote
7108 options containing spaces)
7109
7110 --haskell-suite-pkg-option OPT
7111 give an extra option to haskell-suite-pkg (no need to
7112 quote options containing spaces)
7113
7114 --hmake-option OPT
7115 give an extra option to hmake (no need to quote options
7116 containing spaces)
7117
7118 --hpc-option OPT
7119 give an extra option to hpc (no need to quote options
7120 containing spaces)
7121
7122 --hsc2hs-option OPT
7123 give an extra option to hsc2hs (no need to quote options
7124 containing spaces)
7125
7126 --hscolour-option OPT
7127 give an extra option to hscolour (no need to quote
7128 options containing spaces)
7129
7130 --jhc-option OPT
7131 give an extra option to jhc (no need to quote options
7132 containing spaces)
7133
7134 --ld-option OPT
7135 give an extra option to ld (no need to quote options con‐
7136 taining spaces)
7137
7138 --lhc-option OPT
7139 give an extra option to lhc (no need to quote options
7140 containing spaces)
7141
7142 --lhc-pkg-option OPT
7143 give an extra option to lhc-pkg (no need to quote options
7144 containing spaces)
7145
7146 --pkg-config-option OPT
7147 give an extra option to pkg-config (no need to quote
7148 options containing spaces)
7149
7150 --runghc-option OPT
7151 give an extra option to runghc (no need to quote options
7152 containing spaces)
7153
7154 --strip-option OPT
7155 give an extra option to strip (no need to quote options
7156 containing spaces)
7157
7158 --tar-option OPT
7159 give an extra option to tar (no need to quote options
7160 containing spaces)
7161
7162 --uhc-option OPT
7163 give an extra option to uhc (no need to quote options
7164 containing spaces)
7165
7166 --alex-options OPTS
7167 give extra options to alex
7168
7169 --ar-options OPTS
7170 give extra options to ar
7171
7172 --c2hs-options OPTS
7173 give extra options to c2hs
7174
7175 --cpphs-options OPTS
7176 give extra options to cpphs
7177
7178 --doctest-options OPTS
7179 give extra options to doctest
7180
7181 --gcc-options OPTS
7182 give extra options to gcc
7183
7184 --ghc-options OPTS
7185 give extra options to ghc
7186
7187 --ghc-pkg-options OPTS
7188 give extra options to ghc-pkg
7189
7190 --ghcjs-options OPTS
7191 give extra options to ghcjs
7192
7193 --ghcjs-pkg-options OPTS
7194 give extra options to ghcjs-pkg
7195
7196 --greencard-options OPTS
7197 give extra options to greencard
7198
7199 --haddock-options OPTS
7200 give extra options to haddock
7201
7202 --happy-options OPTS
7203 give extra options to happy
7204
7205 --haskell-suite-options OPTS
7206 give extra options to haskell-suite
7207
7208 --haskell-suite-pkg-options OPTS
7209 give extra options to haskell-suite-pkg
7210
7211 --hmake-options OPTS
7212 give extra options to hmake
7213
7214 --hpc-options OPTS
7215 give extra options to hpc
7216
7217 --hsc2hs-options OPTS
7218 give extra options to hsc2hs
7219
7220 --hscolour-options OPTS
7221 give extra options to hscolour
7222
7223 --jhc-options OPTS
7224 give extra options to jhc
7225
7226 --ld-options OPTS
7227 give extra options to ld
7228
7229 --lhc-options OPTS
7230 give extra options to lhc
7231
7232 --lhc-pkg-options OPTS
7233 give extra options to lhc-pkg
7234
7235 --pkg-config-options OPTS
7236 give extra options to pkg-config
7237
7238 --runghc-options OPTS
7239 give extra options to runghc
7240
7241 --strip-options OPTS
7242 give extra options to strip
7243
7244 --tar-options OPTS
7245 give extra options to tar
7246
7247 --uhc-options OPTS
7248 give extra options to uhc
7249
7250 --cabal-lib-version VERSION
7251 Select which version of the Cabal lib to use to build
7252 packages (useful for testing).
7253
7254 --constraint CONSTRAINT
7255 Specify constraints on a package (version,
7256 installed/source, flags)
7257
7258 --preference CONSTRAINT
7259 Specify preferences (soft constraints) on the version of
7260 a package
7261
7262 --solver SOLVER
7263 Select dependency solver to use (default: modular).
7264 Choices: modular.
7265
7266 --enable-documentation
7267 --disable-documentation
7268 building of documentation
7269
7270 --doc-index-file TEMPLATE
7271 A central index of haddock API documentation (template
7272 cannot use $pkgid)
7273
7274 --dry-run
7275 Do not install anything, only print what would be
7276 installed.
7277
7278 --max-backjumps NUM
7279 Maximum number of backjumps allowed while solving
7280 (default: 2000). Use a negative number to enable unlim‐
7281 ited backtracking. Use 0 to disable backtracking com‐
7282 pletely.
7283
7284 --reorder-goals
7285 --no-reorder-goals
7286 Try to reorder goals according to certain heuristics.
7287 Slows things down on average, but may make backtracking
7288 faster for some packages.
7289
7290 --count-conflicts
7291 --no-count-conflicts
7292 Try to speed up solving by preferring goals that are
7293 involved in a lot of conflicts (default).
7294
7295 --shadow-installed-packages
7296 --no-shadow-installed-packages
7297 If multiple package instances of the same version are
7298 installed, treat all but one as shadowed.
7299
7300 --strong-flags
7301 --no-strong-flags
7302 Do not defer flag choices (this used to be the default in
7303 cabal-install <= 1.20).
7304
7305 --allow-boot-library-installs
7306 --no-allow-boot-library-installs
7307 Allow cabal to install base, ghc-prim, integer-simple,
7308 integer-gmp, and template-haskell.
7309
7310 --reinstall
7311 --no-reinstall
7312 Install even if it means installing the same version
7313 again.
7314
7315 --avoid-reinstalls
7316 --no-avoid-reinstalls
7317 Do not select versions that would destructively overwrite
7318 installed packages.
7319
7320 --force-reinstalls
7321 --no-force-reinstalls
7322 Reinstall packages even if they will most likely break
7323 other installed packages.
7324
7325 --upgrade-dependencies
7326 --no-upgrade-dependencies
7327 Pick the latest version for all dependencies, rather than
7328 trying to pick an installed version.
7329
7330 --only-dependencies
7331 --no-only-dependencies
7332 Install only the dependencies necessary to build the
7333 given packages
7334
7335 --dependencies-only
7336 --no-dependencies-only
7337 A synonym for --only-dependencies
7338
7339 --index-state STATE
7340 Use source package index state as it existed at a previ‐
7341 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
7342 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
7343 'HEAD' (default: 'HEAD').
7344
7345 --root-cmd COMMAND
7346 (No longer supported, do not use.)
7347
7348 --symlink-bindir DIR
7349 Add symlinks to installed executables into this direc‐
7350 tory.
7351
7352 --build-summary TEMPLATE
7353 Save build summaries to file (name template can use
7354 $pkgid, $compiler, $os, $arch)
7355
7356 --build-log TEMPLATE
7357 Log all builds to file (name template can use $pkgid,
7358 $compiler, $os, $arch)
7359
7360 --remote-build-reporting LEVEL
7361 Generate build reports to send to a remote server (none,
7362 anonymous or detailed).
7363
7364 --report-planning-failure
7365 Generate build reports when the dependency solver fails.
7366 This is used by the Hackage build bot.
7367
7368 --enable-per-component
7369 --disable-per-component
7370 Per-component builds when possible
7371
7372 --one-shot
7373 --no-one-shot
7374 Do not record the packages in the world file.
7375
7376 --run-tests
7377 Run package test suites during installation.
7378
7379 -j, --jobs [NUM]
7380 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
7381 given).
7382
7383 --keep-going
7384 After a build failure, continue to build other unaffected
7385 packages.
7386
7387 --offline
7388 --no-offline
7389 Don't download packages from the Internet.
7390
7391 --project-file FILE
7392 Set the name of the cabal.project file to search for in
7393 parent directories
7394
7395 --only
7396 Only installs the package in the current directory.
7397
7398 --haddock-hoogle
7399 Generate a hoogle database
7400
7401 --haddock-html
7402 Generate HTML documentation (the default)
7403
7404 --haddock-html-location URL
7405 Location of HTML documentation for pre-requisite packages
7406
7407 --haddock-executables
7408 Run haddock for Executables targets
7409
7410 --haddock-tests
7411 Run haddock for Test Suite targets
7412
7413 --haddock-benchmarks
7414 Run haddock for Benchmark targets
7415
7416 --haddock-all
7417 Run haddock for all targets
7418
7419 --haddock-internal
7420 Run haddock for internal modules and include all symbols
7421
7422 --haddock-css PATH
7423 Use PATH as the haddock stylesheet
7424
7425 --haddock-hyperlink-source, --haddock-hyperlink-sources
7426 Hyperlink the documentation to the source code (using
7427 HsColour)
7428
7429 --haddock-hscolour-css PATH
7430 Use PATH as the HsColour stylesheet
7431
7432 --haddock-contents-location URL
7433 Bake URL in as the location for the contents page
7434
7435
7436 cabal new-haddock
7437
7438 Usage: cabal new-haddock [FLAGS] TARGET
7439
7440
7441 Build Haddock documentation for the specified packages within the
7442 project.
7443
7444 Any package in the project can be specified. If no package is speci‐
7445 fied, the default is to build the documentation for the package in the
7446 current directory. The default behaviour is to build documentation for
7447 the exposed modules of the library component (if any). This can be
7448 changed with the
7449
7450 Currently, documentation for dependencies is NOT built. This behavior
7451 may change in future.
7452
7453 Additional configuration flags can be specified on the command line and
7454 these extend the project configuration from the 'cabal.project',
7455
7456
7457 Examples:
7458 cabal new-haddock pkgname Build documentation for the package
7459 named pkgname
7460
7461 Note: this command is part of the new project-based system (aka nix-
7462 style local builds). These features are currently in beta. Please see
7463 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
7464 details and advice on what you can expect to work. If you encounter
7465 problems please file issues at https://github.com/haskell/cabal/issues
7466 and if you have any time to get involved and help with testing, fixing
7467 bugs etc then that is very much appreciated.
7468
7469
7470 Flags:
7471 -v, --verbose [n]
7472 Control verbosity (n is 0--3, default verbosity level is
7473 1)
7474
7475 --builddir, --distdir, --distpref DIR
7476 The directory where Cabal puts generated build files
7477 (default dist)
7478
7479 -g, --ghc
7480 compile with GHC
7481
7482 --ghcjs
7483 compile with GHCJS
7484
7485 --jhc
7486 compile with JHC
7487
7488 --lhc
7489 compile with LHC
7490
7491 --uhc
7492 compile with UHC
7493
7494 --haskell-suite
7495 compile with a haskell-suite compiler
7496
7497 --cabal-file PATH
7498 use this Cabal file
7499
7500 -w, --with-compiler PATH
7501 give the path to a particular compiler
7502
7503 --with-hc-pkg PATH
7504 give the path to the package tool
7505
7506 --prefix DIR
7507 bake this prefix in preparation of installation
7508
7509 --bindir DIR
7510 installation directory for executables
7511
7512 --libdir DIR
7513 installation directory for libraries
7514
7515 --libsubdir DIR
7516 subdirectory of libdir in which libs are installed
7517
7518 --dynlibdir DIR
7519 installation directory for dynamic libraries
7520
7521 --libexecdir DIR
7522 installation directory for program executables
7523
7524 --libexecsubdir DIR
7525 subdirectory of libexecdir in which private executables
7526 are installed
7527
7528 --datadir DIR
7529 installation directory for read-only data
7530
7531 --datasubdir DIR
7532 subdirectory of datadir in which data files are installed
7533
7534 --docdir DIR
7535 installation directory for documentation
7536
7537 --htmldir DIR
7538 installation directory for HTML documentation
7539
7540 --haddockdir DIR
7541 installation directory for haddock interfaces
7542
7543 --sysconfdir DIR
7544 installation directory for configuration files
7545
7546 --program-prefix PREFIX
7547 prefix to be applied to installed executables
7548
7549 --program-suffix SUFFIX
7550 suffix to be applied to installed executables
7551
7552 --enable-library-vanilla
7553 --disable-library-vanilla
7554 Vanilla libraries
7555
7556 -p, --enable-library-profiling
7557 --disable-library-profiling
7558 Library profiling
7559
7560 --enable-shared
7561 --disable-shared
7562 Shared library
7563
7564 --enable-executable-dynamic
7565 --disable-executable-dynamic
7566 Executable dynamic linking
7567
7568 --enable-profiling
7569 --disable-profiling
7570 Executable and library profiling
7571
7572 --enable-executable-profiling
7573 --disable-executable-profiling
7574 Executable profiling (DEPRECATED)
7575
7576 --profiling-detail level
7577 Profiling detail level for executable and library
7578 (default, none, exported-functions, toplevel-functions,
7579 all-functions).
7580
7581 --library-profiling-detail level
7582 Profiling detail level for libraries only.
7583
7584 -O, --enable-optimization, --enable-optimisation [n]
7585 Build with optimization (n is 0--2, default is 1)
7586
7587 --disable-optimization, --disable-optimisation
7588 Build without optimization
7589
7590 --enable-debug-info [n]
7591 Emit debug info (n is 0--3, default is 0)
7592
7593 --disable-debug-info
7594 Don't emit debug info
7595
7596 --enable-library-for-ghci
7597 --disable-library-for-ghci
7598 compile library for use with GHCi
7599
7600 --enable-split-objs
7601 --disable-split-objs
7602 split library into smaller objects to reduce binary sizes
7603 (GHC 6.6+)
7604
7605 --enable-executable-stripping
7606 --disable-executable-stripping
7607 strip executables upon installation to reduce binary
7608 sizes
7609
7610 --enable-library-stripping
7611 --disable-library-stripping
7612 strip libraries upon installation to reduce binary sizes
7613
7614 --configure-option OPT
7615 Extra option for configure
7616
7617 --user
7618 --global
7619 doing a per-user installation
7620
7621 --package-db DB
7622 Append the given package database to the list of package
7623 databases used (to satisfy dependencies and register
7624 into). May be a specific file, 'global' or 'user'. The
7625 initial list is ['global'], ['global', 'user'], or
7626 ['global', $sandbox], depending on context. Use 'clear'
7627 to reset the list to empty. See the user guide for
7628 details.
7629
7630 -f, --flags FLAGS
7631 Force values for the given flags in Cabal conditionals in
7632 the .cabal file. E.g., --flags="debug -usebytestrings"
7633 forces the flag "debug" to true and "usebytestrings" to
7634 false.
7635
7636 --extra-include-dirs PATH
7637 A list of directories to search for header files
7638
7639 --enable-deterministic
7640 --disable-deterministic
7641 Try to be as deterministic as possible (used by the test
7642 suite)
7643
7644 --ipid IPID
7645 Installed package ID to compile this package as
7646
7647 --cid CID
7648 Installed component ID to compile this component as
7649
7650 --extra-lib-dirs PATH
7651 A list of directories to search for external libraries
7652
7653 --extra-framework-dirs PATH
7654 A list of directories to search for external frameworks
7655 (OS X only)
7656
7657 --extra-prog-path PATH
7658 A list of directories to search for required programs (in
7659 addition to the normal search locations)
7660
7661 --instantiate-with NAME=MOD
7662 A mapping of signature names to concrete module instanti‐
7663 ations.
7664
7665 --enable-tests
7666 --disable-tests
7667 dependency checking and compilation for test suites
7668 listed in the package description file.
7669
7670 --enable-coverage
7671 --disable-coverage
7672 build package with Haskell Program Coverage. (GHC only)
7673
7674 --enable-library-coverage
7675 --disable-library-coverage
7676 build package with Haskell Program Coverage. (GHC only)
7677 (DEPRECATED)
7678
7679 --allow-older [DEPS]
7680 Ignore upper bounds in all dependencies or DEPS
7681
7682 --allow-newer [DEPS]
7683 Ignore upper bounds in all dependencies or DEPS
7684
7685 --enable-benchmarks
7686 --disable-benchmarks
7687 dependency checking and compilation for benchmarks listed
7688 in the package description file.
7689
7690 --enable-relocatable
7691 --disable-relocatable
7692 building a package that is relocatable. (GHC only)
7693
7694 --with-alex PATH
7695 give the path to alex
7696
7697 --with-ar PATH
7698 give the path to ar
7699
7700 --with-c2hs PATH
7701 give the path to c2hs
7702
7703 --with-cpphs PATH
7704 give the path to cpphs
7705
7706 --with-doctest PATH
7707 give the path to doctest
7708
7709 --with-gcc PATH
7710 give the path to gcc
7711
7712 --with-ghc PATH
7713 give the path to ghc
7714
7715 --with-ghc-pkg PATH
7716 give the path to ghc-pkg
7717
7718 --with-ghcjs PATH
7719 give the path to ghcjs
7720
7721 --with-ghcjs-pkg PATH
7722 give the path to ghcjs-pkg
7723
7724 --with-greencard PATH
7725 give the path to greencard
7726
7727 --with-haddock PATH
7728 give the path to haddock
7729
7730 --with-happy PATH
7731 give the path to happy
7732
7733 --with-haskell-suite PATH
7734 give the path to haskell-suite
7735
7736 --with-haskell-suite-pkg PATH
7737 give the path to haskell-suite-pkg
7738
7739 --with-hmake PATH
7740 give the path to hmake
7741
7742 --with-hpc PATH
7743 give the path to hpc
7744
7745 --with-hsc2hs PATH
7746 give the path to hsc2hs
7747
7748 --with-hscolour PATH
7749 give the path to hscolour
7750
7751 --with-jhc PATH
7752 give the path to jhc
7753
7754 --with-ld PATH
7755 give the path to ld
7756
7757 --with-lhc PATH
7758 give the path to lhc
7759
7760 --with-lhc-pkg PATH
7761 give the path to lhc-pkg
7762
7763 --with-pkg-config PATH
7764 give the path to pkg-config
7765
7766 --with-runghc PATH
7767 give the path to runghc
7768
7769 --with-strip PATH
7770 give the path to strip
7771
7772 --with-tar PATH
7773 give the path to tar
7774
7775 --with-uhc PATH
7776 give the path to uhc
7777
7778 --alex-option OPT
7779 give an extra option to alex (no need to quote options
7780 containing spaces)
7781
7782 --ar-option OPT
7783 give an extra option to ar (no need to quote options con‐
7784 taining spaces)
7785
7786 --c2hs-option OPT
7787 give an extra option to c2hs (no need to quote options
7788 containing spaces)
7789
7790 --cpphs-option OPT
7791 give an extra option to cpphs (no need to quote options
7792 containing spaces)
7793
7794 --doctest-option OPT
7795 give an extra option to doctest (no need to quote options
7796 containing spaces)
7797
7798 --gcc-option OPT
7799 give an extra option to gcc (no need to quote options
7800 containing spaces)
7801
7802 --ghc-option OPT
7803 give an extra option to ghc (no need to quote options
7804 containing spaces)
7805
7806 --ghc-pkg-option OPT
7807 give an extra option to ghc-pkg (no need to quote options
7808 containing spaces)
7809
7810 --ghcjs-option OPT
7811 give an extra option to ghcjs (no need to quote options
7812 containing spaces)
7813
7814 --ghcjs-pkg-option OPT
7815 give an extra option to ghcjs-pkg (no need to quote
7816 options containing spaces)
7817
7818 --greencard-option OPT
7819 give an extra option to greencard (no need to quote
7820 options containing spaces)
7821
7822 --haddock-option OPT
7823 give an extra option to haddock (no need to quote options
7824 containing spaces)
7825
7826 --happy-option OPT
7827 give an extra option to happy (no need to quote options
7828 containing spaces)
7829
7830 --haskell-suite-option OPT
7831 give an extra option to haskell-suite (no need to quote
7832 options containing spaces)
7833
7834 --haskell-suite-pkg-option OPT
7835 give an extra option to haskell-suite-pkg (no need to
7836 quote options containing spaces)
7837
7838 --hmake-option OPT
7839 give an extra option to hmake (no need to quote options
7840 containing spaces)
7841
7842 --hpc-option OPT
7843 give an extra option to hpc (no need to quote options
7844 containing spaces)
7845
7846 --hsc2hs-option OPT
7847 give an extra option to hsc2hs (no need to quote options
7848 containing spaces)
7849
7850 --hscolour-option OPT
7851 give an extra option to hscolour (no need to quote
7852 options containing spaces)
7853
7854 --jhc-option OPT
7855 give an extra option to jhc (no need to quote options
7856 containing spaces)
7857
7858 --ld-option OPT
7859 give an extra option to ld (no need to quote options con‐
7860 taining spaces)
7861
7862 --lhc-option OPT
7863 give an extra option to lhc (no need to quote options
7864 containing spaces)
7865
7866 --lhc-pkg-option OPT
7867 give an extra option to lhc-pkg (no need to quote options
7868 containing spaces)
7869
7870 --pkg-config-option OPT
7871 give an extra option to pkg-config (no need to quote
7872 options containing spaces)
7873
7874 --runghc-option OPT
7875 give an extra option to runghc (no need to quote options
7876 containing spaces)
7877
7878 --strip-option OPT
7879 give an extra option to strip (no need to quote options
7880 containing spaces)
7881
7882 --tar-option OPT
7883 give an extra option to tar (no need to quote options
7884 containing spaces)
7885
7886 --uhc-option OPT
7887 give an extra option to uhc (no need to quote options
7888 containing spaces)
7889
7890 --alex-options OPTS
7891 give extra options to alex
7892
7893 --ar-options OPTS
7894 give extra options to ar
7895
7896 --c2hs-options OPTS
7897 give extra options to c2hs
7898
7899 --cpphs-options OPTS
7900 give extra options to cpphs
7901
7902 --doctest-options OPTS
7903 give extra options to doctest
7904
7905 --gcc-options OPTS
7906 give extra options to gcc
7907
7908 --ghc-options OPTS
7909 give extra options to ghc
7910
7911 --ghc-pkg-options OPTS
7912 give extra options to ghc-pkg
7913
7914 --ghcjs-options OPTS
7915 give extra options to ghcjs
7916
7917 --ghcjs-pkg-options OPTS
7918 give extra options to ghcjs-pkg
7919
7920 --greencard-options OPTS
7921 give extra options to greencard
7922
7923 --haddock-options OPTS
7924 give extra options to haddock
7925
7926 --happy-options OPTS
7927 give extra options to happy
7928
7929 --haskell-suite-options OPTS
7930 give extra options to haskell-suite
7931
7932 --haskell-suite-pkg-options OPTS
7933 give extra options to haskell-suite-pkg
7934
7935 --hmake-options OPTS
7936 give extra options to hmake
7937
7938 --hpc-options OPTS
7939 give extra options to hpc
7940
7941 --hsc2hs-options OPTS
7942 give extra options to hsc2hs
7943
7944 --hscolour-options OPTS
7945 give extra options to hscolour
7946
7947 --jhc-options OPTS
7948 give extra options to jhc
7949
7950 --ld-options OPTS
7951 give extra options to ld
7952
7953 --lhc-options OPTS
7954 give extra options to lhc
7955
7956 --lhc-pkg-options OPTS
7957 give extra options to lhc-pkg
7958
7959 --pkg-config-options OPTS
7960 give extra options to pkg-config
7961
7962 --runghc-options OPTS
7963 give extra options to runghc
7964
7965 --strip-options OPTS
7966 give extra options to strip
7967
7968 --tar-options OPTS
7969 give extra options to tar
7970
7971 --uhc-options OPTS
7972 give extra options to uhc
7973
7974 --cabal-lib-version VERSION
7975 Select which version of the Cabal lib to use to build
7976 packages (useful for testing).
7977
7978 --constraint CONSTRAINT
7979 Specify constraints on a package (version,
7980 installed/source, flags)
7981
7982 --preference CONSTRAINT
7983 Specify preferences (soft constraints) on the version of
7984 a package
7985
7986 --solver SOLVER
7987 Select dependency solver to use (default: modular).
7988 Choices: modular.
7989
7990 --enable-documentation
7991 --disable-documentation
7992 building of documentation
7993
7994 --doc-index-file TEMPLATE
7995 A central index of haddock API documentation (template
7996 cannot use $pkgid)
7997
7998 --dry-run
7999 Do not install anything, only print what would be
8000 installed.
8001
8002 --max-backjumps NUM
8003 Maximum number of backjumps allowed while solving
8004 (default: 2000). Use a negative number to enable unlim‐
8005 ited backtracking. Use 0 to disable backtracking com‐
8006 pletely.
8007
8008 --reorder-goals
8009 --no-reorder-goals
8010 Try to reorder goals according to certain heuristics.
8011 Slows things down on average, but may make backtracking
8012 faster for some packages.
8013
8014 --count-conflicts
8015 --no-count-conflicts
8016 Try to speed up solving by preferring goals that are
8017 involved in a lot of conflicts (default).
8018
8019 --shadow-installed-packages
8020 --no-shadow-installed-packages
8021 If multiple package instances of the same version are
8022 installed, treat all but one as shadowed.
8023
8024 --strong-flags
8025 --no-strong-flags
8026 Do not defer flag choices (this used to be the default in
8027 cabal-install <= 1.20).
8028
8029 --allow-boot-library-installs
8030 --no-allow-boot-library-installs
8031 Allow cabal to install base, ghc-prim, integer-simple,
8032 integer-gmp, and template-haskell.
8033
8034 --reinstall
8035 --no-reinstall
8036 Install even if it means installing the same version
8037 again.
8038
8039 --avoid-reinstalls
8040 --no-avoid-reinstalls
8041 Do not select versions that would destructively overwrite
8042 installed packages.
8043
8044 --force-reinstalls
8045 --no-force-reinstalls
8046 Reinstall packages even if they will most likely break
8047 other installed packages.
8048
8049 --upgrade-dependencies
8050 --no-upgrade-dependencies
8051 Pick the latest version for all dependencies, rather than
8052 trying to pick an installed version.
8053
8054 --only-dependencies
8055 --no-only-dependencies
8056 Install only the dependencies necessary to build the
8057 given packages
8058
8059 --dependencies-only
8060 --no-dependencies-only
8061 A synonym for --only-dependencies
8062
8063 --index-state STATE
8064 Use source package index state as it existed at a previ‐
8065 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
8066 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
8067 'HEAD' (default: 'HEAD').
8068
8069 --root-cmd COMMAND
8070 (No longer supported, do not use.)
8071
8072 --symlink-bindir DIR
8073 Add symlinks to installed executables into this direc‐
8074 tory.
8075
8076 --build-summary TEMPLATE
8077 Save build summaries to file (name template can use
8078 $pkgid, $compiler, $os, $arch)
8079
8080 --build-log TEMPLATE
8081 Log all builds to file (name template can use $pkgid,
8082 $compiler, $os, $arch)
8083
8084 --remote-build-reporting LEVEL
8085 Generate build reports to send to a remote server (none,
8086 anonymous or detailed).
8087
8088 --report-planning-failure
8089 Generate build reports when the dependency solver fails.
8090 This is used by the Hackage build bot.
8091
8092 --enable-per-component
8093 --disable-per-component
8094 Per-component builds when possible
8095
8096 --one-shot
8097 --no-one-shot
8098 Do not record the packages in the world file.
8099
8100 --run-tests
8101 Run package test suites during installation.
8102
8103 -j, --jobs [NUM]
8104 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
8105 given).
8106
8107 --keep-going
8108 After a build failure, continue to build other unaffected
8109 packages.
8110
8111 --offline
8112 --no-offline
8113 Don't download packages from the Internet.
8114
8115 --project-file FILE
8116 Set the name of the cabal.project file to search for in
8117 parent directories
8118
8119 --only
8120 Only installs the package in the current directory.
8121
8122 --haddock-hoogle
8123 Generate a hoogle database
8124
8125 --haddock-html
8126 Generate HTML documentation (the default)
8127
8128 --haddock-html-location URL
8129 Location of HTML documentation for pre-requisite packages
8130
8131 --haddock-executables
8132 Run haddock for Executables targets
8133
8134 --haddock-tests
8135 Run haddock for Test Suite targets
8136
8137 --haddock-benchmarks
8138 Run haddock for Benchmark targets
8139
8140 --haddock-all
8141 Run haddock for all targets
8142
8143 --haddock-internal
8144 Run haddock for internal modules and include all symbols
8145
8146 --haddock-css PATH
8147 Use PATH as the haddock stylesheet
8148
8149 --haddock-hyperlink-source, --haddock-hyperlink-sources
8150 Hyperlink the documentation to the source code (using
8151 HsColour)
8152
8153 --haddock-hscolour-css PATH
8154 Use PATH as the HsColour stylesheet
8155
8156 --haddock-contents-location URL
8157 Bake URL in as the location for the contents page
8158
8159
8160 cabal new-run
8161
8162 Usage: cabal new-run [TARGET] [FLAGS] [-- EXECUTABLE_FLAGS]
8163
8164
8165 Runs the specified executable, first ensuring it is up to date.
8166
8167 Any executable in any package in the project can be specified. A pack‐
8168 age can be specified if contains just one executable. The default is to
8169 use the package in the current directory if it contains just one exe‐
8170 cutable.
8171
8172 Extra arguments can be passed to the program, but use '--' to separate
8173 arguments for the program from arguments for cabal. The executable is
8174 run in an environment where it can find its data files inplace in the
8175 build tree.
8176
8177 Dependencies are built or rebuilt as necessary. Additional configura‐
8178 tion flags can be specified on the command line and these extend the
8179 project configuration from the 'cabal.project', 'cabal.project.local'
8180 and other files.
8181
8182
8183 Examples:
8184 cabal new-run
8185 Run the executable in the package in the current directory
8186 cabal new-run foo-tool
8187 Run the named executable (in any package in the project)
8188 cabal new-run pkgfoo:foo-tool
8189 Run the executable 'foo-tool' in the package 'pkgfoo'
8190 cabal new-run foo -O2 -- dothing --fooflag
8191 Build with '-O2' and run the program, passing it extra arguments.
8192
8193 Note: this command is part of the new project-based system (aka nix-
8194 style local builds). These features are currently in beta. Please see
8195 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
8196 details and advice on what you can expect to work. If you encounter
8197 problems please file issues at https://github.com/haskell/cabal/issues
8198 and if you have any time to get involved and help with testing, fixing
8199 bugs etc then that is very much appreciated.
8200
8201
8202 Flags:
8203 -v, --verbose [n]
8204 Control verbosity (n is 0--3, default verbosity level is
8205 1)
8206
8207 --builddir, --distdir, --distpref DIR
8208 The directory where Cabal puts generated build files
8209 (default dist)
8210
8211 -g, --ghc
8212 compile with GHC
8213
8214 --ghcjs
8215 compile with GHCJS
8216
8217 --jhc
8218 compile with JHC
8219
8220 --lhc
8221 compile with LHC
8222
8223 --uhc
8224 compile with UHC
8225
8226 --haskell-suite
8227 compile with a haskell-suite compiler
8228
8229 --cabal-file PATH
8230 use this Cabal file
8231
8232 -w, --with-compiler PATH
8233 give the path to a particular compiler
8234
8235 --with-hc-pkg PATH
8236 give the path to the package tool
8237
8238 --prefix DIR
8239 bake this prefix in preparation of installation
8240
8241 --bindir DIR
8242 installation directory for executables
8243
8244 --libdir DIR
8245 installation directory for libraries
8246
8247 --libsubdir DIR
8248 subdirectory of libdir in which libs are installed
8249
8250 --dynlibdir DIR
8251 installation directory for dynamic libraries
8252
8253 --libexecdir DIR
8254 installation directory for program executables
8255
8256 --libexecsubdir DIR
8257 subdirectory of libexecdir in which private executables
8258 are installed
8259
8260 --datadir DIR
8261 installation directory for read-only data
8262
8263 --datasubdir DIR
8264 subdirectory of datadir in which data files are installed
8265
8266 --docdir DIR
8267 installation directory for documentation
8268
8269 --htmldir DIR
8270 installation directory for HTML documentation
8271
8272 --haddockdir DIR
8273 installation directory for haddock interfaces
8274
8275 --sysconfdir DIR
8276 installation directory for configuration files
8277
8278 --program-prefix PREFIX
8279 prefix to be applied to installed executables
8280
8281 --program-suffix SUFFIX
8282 suffix to be applied to installed executables
8283
8284 --enable-library-vanilla
8285 --disable-library-vanilla
8286 Vanilla libraries
8287
8288 -p, --enable-library-profiling
8289 --disable-library-profiling
8290 Library profiling
8291
8292 --enable-shared
8293 --disable-shared
8294 Shared library
8295
8296 --enable-executable-dynamic
8297 --disable-executable-dynamic
8298 Executable dynamic linking
8299
8300 --enable-profiling
8301 --disable-profiling
8302 Executable and library profiling
8303
8304 --enable-executable-profiling
8305 --disable-executable-profiling
8306 Executable profiling (DEPRECATED)
8307
8308 --profiling-detail level
8309 Profiling detail level for executable and library
8310 (default, none, exported-functions, toplevel-functions,
8311 all-functions).
8312
8313 --library-profiling-detail level
8314 Profiling detail level for libraries only.
8315
8316 -O, --enable-optimization, --enable-optimisation [n]
8317 Build with optimization (n is 0--2, default is 1)
8318
8319 --disable-optimization, --disable-optimisation
8320 Build without optimization
8321
8322 --enable-debug-info [n]
8323 Emit debug info (n is 0--3, default is 0)
8324
8325 --disable-debug-info
8326 Don't emit debug info
8327
8328 --enable-library-for-ghci
8329 --disable-library-for-ghci
8330 compile library for use with GHCi
8331
8332 --enable-split-objs
8333 --disable-split-objs
8334 split library into smaller objects to reduce binary sizes
8335 (GHC 6.6+)
8336
8337 --enable-executable-stripping
8338 --disable-executable-stripping
8339 strip executables upon installation to reduce binary
8340 sizes
8341
8342 --enable-library-stripping
8343 --disable-library-stripping
8344 strip libraries upon installation to reduce binary sizes
8345
8346 --configure-option OPT
8347 Extra option for configure
8348
8349 --user
8350 --global
8351 doing a per-user installation
8352
8353 --package-db DB
8354 Append the given package database to the list of package
8355 databases used (to satisfy dependencies and register
8356 into). May be a specific file, 'global' or 'user'. The
8357 initial list is ['global'], ['global', 'user'], or
8358 ['global', $sandbox], depending on context. Use 'clear'
8359 to reset the list to empty. See the user guide for
8360 details.
8361
8362 -f, --flags FLAGS
8363 Force values for the given flags in Cabal conditionals in
8364 the .cabal file. E.g., --flags="debug -usebytestrings"
8365 forces the flag "debug" to true and "usebytestrings" to
8366 false.
8367
8368 --extra-include-dirs PATH
8369 A list of directories to search for header files
8370
8371 --enable-deterministic
8372 --disable-deterministic
8373 Try to be as deterministic as possible (used by the test
8374 suite)
8375
8376 --ipid IPID
8377 Installed package ID to compile this package as
8378
8379 --cid CID
8380 Installed component ID to compile this component as
8381
8382 --extra-lib-dirs PATH
8383 A list of directories to search for external libraries
8384
8385 --extra-framework-dirs PATH
8386 A list of directories to search for external frameworks
8387 (OS X only)
8388
8389 --extra-prog-path PATH
8390 A list of directories to search for required programs (in
8391 addition to the normal search locations)
8392
8393 --instantiate-with NAME=MOD
8394 A mapping of signature names to concrete module instanti‐
8395 ations.
8396
8397 --enable-tests
8398 --disable-tests
8399 dependency checking and compilation for test suites
8400 listed in the package description file.
8401
8402 --enable-coverage
8403 --disable-coverage
8404 build package with Haskell Program Coverage. (GHC only)
8405
8406 --enable-library-coverage
8407 --disable-library-coverage
8408 build package with Haskell Program Coverage. (GHC only)
8409 (DEPRECATED)
8410
8411 --allow-older [DEPS]
8412 Ignore upper bounds in all dependencies or DEPS
8413
8414 --allow-newer [DEPS]
8415 Ignore upper bounds in all dependencies or DEPS
8416
8417 --enable-benchmarks
8418 --disable-benchmarks
8419 dependency checking and compilation for benchmarks listed
8420 in the package description file.
8421
8422 --enable-relocatable
8423 --disable-relocatable
8424 building a package that is relocatable. (GHC only)
8425
8426 --with-alex PATH
8427 give the path to alex
8428
8429 --with-ar PATH
8430 give the path to ar
8431
8432 --with-c2hs PATH
8433 give the path to c2hs
8434
8435 --with-cpphs PATH
8436 give the path to cpphs
8437
8438 --with-doctest PATH
8439 give the path to doctest
8440
8441 --with-gcc PATH
8442 give the path to gcc
8443
8444 --with-ghc PATH
8445 give the path to ghc
8446
8447 --with-ghc-pkg PATH
8448 give the path to ghc-pkg
8449
8450 --with-ghcjs PATH
8451 give the path to ghcjs
8452
8453 --with-ghcjs-pkg PATH
8454 give the path to ghcjs-pkg
8455
8456 --with-greencard PATH
8457 give the path to greencard
8458
8459 --with-haddock PATH
8460 give the path to haddock
8461
8462 --with-happy PATH
8463 give the path to happy
8464
8465 --with-haskell-suite PATH
8466 give the path to haskell-suite
8467
8468 --with-haskell-suite-pkg PATH
8469 give the path to haskell-suite-pkg
8470
8471 --with-hmake PATH
8472 give the path to hmake
8473
8474 --with-hpc PATH
8475 give the path to hpc
8476
8477 --with-hsc2hs PATH
8478 give the path to hsc2hs
8479
8480 --with-hscolour PATH
8481 give the path to hscolour
8482
8483 --with-jhc PATH
8484 give the path to jhc
8485
8486 --with-ld PATH
8487 give the path to ld
8488
8489 --with-lhc PATH
8490 give the path to lhc
8491
8492 --with-lhc-pkg PATH
8493 give the path to lhc-pkg
8494
8495 --with-pkg-config PATH
8496 give the path to pkg-config
8497
8498 --with-runghc PATH
8499 give the path to runghc
8500
8501 --with-strip PATH
8502 give the path to strip
8503
8504 --with-tar PATH
8505 give the path to tar
8506
8507 --with-uhc PATH
8508 give the path to uhc
8509
8510 --alex-option OPT
8511 give an extra option to alex (no need to quote options
8512 containing spaces)
8513
8514 --ar-option OPT
8515 give an extra option to ar (no need to quote options con‐
8516 taining spaces)
8517
8518 --c2hs-option OPT
8519 give an extra option to c2hs (no need to quote options
8520 containing spaces)
8521
8522 --cpphs-option OPT
8523 give an extra option to cpphs (no need to quote options
8524 containing spaces)
8525
8526 --doctest-option OPT
8527 give an extra option to doctest (no need to quote options
8528 containing spaces)
8529
8530 --gcc-option OPT
8531 give an extra option to gcc (no need to quote options
8532 containing spaces)
8533
8534 --ghc-option OPT
8535 give an extra option to ghc (no need to quote options
8536 containing spaces)
8537
8538 --ghc-pkg-option OPT
8539 give an extra option to ghc-pkg (no need to quote options
8540 containing spaces)
8541
8542 --ghcjs-option OPT
8543 give an extra option to ghcjs (no need to quote options
8544 containing spaces)
8545
8546 --ghcjs-pkg-option OPT
8547 give an extra option to ghcjs-pkg (no need to quote
8548 options containing spaces)
8549
8550 --greencard-option OPT
8551 give an extra option to greencard (no need to quote
8552 options containing spaces)
8553
8554 --haddock-option OPT
8555 give an extra option to haddock (no need to quote options
8556 containing spaces)
8557
8558 --happy-option OPT
8559 give an extra option to happy (no need to quote options
8560 containing spaces)
8561
8562 --haskell-suite-option OPT
8563 give an extra option to haskell-suite (no need to quote
8564 options containing spaces)
8565
8566 --haskell-suite-pkg-option OPT
8567 give an extra option to haskell-suite-pkg (no need to
8568 quote options containing spaces)
8569
8570 --hmake-option OPT
8571 give an extra option to hmake (no need to quote options
8572 containing spaces)
8573
8574 --hpc-option OPT
8575 give an extra option to hpc (no need to quote options
8576 containing spaces)
8577
8578 --hsc2hs-option OPT
8579 give an extra option to hsc2hs (no need to quote options
8580 containing spaces)
8581
8582 --hscolour-option OPT
8583 give an extra option to hscolour (no need to quote
8584 options containing spaces)
8585
8586 --jhc-option OPT
8587 give an extra option to jhc (no need to quote options
8588 containing spaces)
8589
8590 --ld-option OPT
8591 give an extra option to ld (no need to quote options con‐
8592 taining spaces)
8593
8594 --lhc-option OPT
8595 give an extra option to lhc (no need to quote options
8596 containing spaces)
8597
8598 --lhc-pkg-option OPT
8599 give an extra option to lhc-pkg (no need to quote options
8600 containing spaces)
8601
8602 --pkg-config-option OPT
8603 give an extra option to pkg-config (no need to quote
8604 options containing spaces)
8605
8606 --runghc-option OPT
8607 give an extra option to runghc (no need to quote options
8608 containing spaces)
8609
8610 --strip-option OPT
8611 give an extra option to strip (no need to quote options
8612 containing spaces)
8613
8614 --tar-option OPT
8615 give an extra option to tar (no need to quote options
8616 containing spaces)
8617
8618 --uhc-option OPT
8619 give an extra option to uhc (no need to quote options
8620 containing spaces)
8621
8622 --alex-options OPTS
8623 give extra options to alex
8624
8625 --ar-options OPTS
8626 give extra options to ar
8627
8628 --c2hs-options OPTS
8629 give extra options to c2hs
8630
8631 --cpphs-options OPTS
8632 give extra options to cpphs
8633
8634 --doctest-options OPTS
8635 give extra options to doctest
8636
8637 --gcc-options OPTS
8638 give extra options to gcc
8639
8640 --ghc-options OPTS
8641 give extra options to ghc
8642
8643 --ghc-pkg-options OPTS
8644 give extra options to ghc-pkg
8645
8646 --ghcjs-options OPTS
8647 give extra options to ghcjs
8648
8649 --ghcjs-pkg-options OPTS
8650 give extra options to ghcjs-pkg
8651
8652 --greencard-options OPTS
8653 give extra options to greencard
8654
8655 --haddock-options OPTS
8656 give extra options to haddock
8657
8658 --happy-options OPTS
8659 give extra options to happy
8660
8661 --haskell-suite-options OPTS
8662 give extra options to haskell-suite
8663
8664 --haskell-suite-pkg-options OPTS
8665 give extra options to haskell-suite-pkg
8666
8667 --hmake-options OPTS
8668 give extra options to hmake
8669
8670 --hpc-options OPTS
8671 give extra options to hpc
8672
8673 --hsc2hs-options OPTS
8674 give extra options to hsc2hs
8675
8676 --hscolour-options OPTS
8677 give extra options to hscolour
8678
8679 --jhc-options OPTS
8680 give extra options to jhc
8681
8682 --ld-options OPTS
8683 give extra options to ld
8684
8685 --lhc-options OPTS
8686 give extra options to lhc
8687
8688 --lhc-pkg-options OPTS
8689 give extra options to lhc-pkg
8690
8691 --pkg-config-options OPTS
8692 give extra options to pkg-config
8693
8694 --runghc-options OPTS
8695 give extra options to runghc
8696
8697 --strip-options OPTS
8698 give extra options to strip
8699
8700 --tar-options OPTS
8701 give extra options to tar
8702
8703 --uhc-options OPTS
8704 give extra options to uhc
8705
8706 --cabal-lib-version VERSION
8707 Select which version of the Cabal lib to use to build
8708 packages (useful for testing).
8709
8710 --constraint CONSTRAINT
8711 Specify constraints on a package (version,
8712 installed/source, flags)
8713
8714 --preference CONSTRAINT
8715 Specify preferences (soft constraints) on the version of
8716 a package
8717
8718 --solver SOLVER
8719 Select dependency solver to use (default: modular).
8720 Choices: modular.
8721
8722 --enable-documentation
8723 --disable-documentation
8724 building of documentation
8725
8726 --doc-index-file TEMPLATE
8727 A central index of haddock API documentation (template
8728 cannot use $pkgid)
8729
8730 --dry-run
8731 Do not install anything, only print what would be
8732 installed.
8733
8734 --max-backjumps NUM
8735 Maximum number of backjumps allowed while solving
8736 (default: 2000). Use a negative number to enable unlim‐
8737 ited backtracking. Use 0 to disable backtracking com‐
8738 pletely.
8739
8740 --reorder-goals
8741 --no-reorder-goals
8742 Try to reorder goals according to certain heuristics.
8743 Slows things down on average, but may make backtracking
8744 faster for some packages.
8745
8746 --count-conflicts
8747 --no-count-conflicts
8748 Try to speed up solving by preferring goals that are
8749 involved in a lot of conflicts (default).
8750
8751 --shadow-installed-packages
8752 --no-shadow-installed-packages
8753 If multiple package instances of the same version are
8754 installed, treat all but one as shadowed.
8755
8756 --strong-flags
8757 --no-strong-flags
8758 Do not defer flag choices (this used to be the default in
8759 cabal-install <= 1.20).
8760
8761 --allow-boot-library-installs
8762 --no-allow-boot-library-installs
8763 Allow cabal to install base, ghc-prim, integer-simple,
8764 integer-gmp, and template-haskell.
8765
8766 --reinstall
8767 --no-reinstall
8768 Install even if it means installing the same version
8769 again.
8770
8771 --avoid-reinstalls
8772 --no-avoid-reinstalls
8773 Do not select versions that would destructively overwrite
8774 installed packages.
8775
8776 --force-reinstalls
8777 --no-force-reinstalls
8778 Reinstall packages even if they will most likely break
8779 other installed packages.
8780
8781 --upgrade-dependencies
8782 --no-upgrade-dependencies
8783 Pick the latest version for all dependencies, rather than
8784 trying to pick an installed version.
8785
8786 --only-dependencies
8787 --no-only-dependencies
8788 Install only the dependencies necessary to build the
8789 given packages
8790
8791 --dependencies-only
8792 --no-dependencies-only
8793 A synonym for --only-dependencies
8794
8795 --index-state STATE
8796 Use source package index state as it existed at a previ‐
8797 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
8798 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
8799 'HEAD' (default: 'HEAD').
8800
8801 --root-cmd COMMAND
8802 (No longer supported, do not use.)
8803
8804 --symlink-bindir DIR
8805 Add symlinks to installed executables into this direc‐
8806 tory.
8807
8808 --build-summary TEMPLATE
8809 Save build summaries to file (name template can use
8810 $pkgid, $compiler, $os, $arch)
8811
8812 --build-log TEMPLATE
8813 Log all builds to file (name template can use $pkgid,
8814 $compiler, $os, $arch)
8815
8816 --remote-build-reporting LEVEL
8817 Generate build reports to send to a remote server (none,
8818 anonymous or detailed).
8819
8820 --report-planning-failure
8821 Generate build reports when the dependency solver fails.
8822 This is used by the Hackage build bot.
8823
8824 --enable-per-component
8825 --disable-per-component
8826 Per-component builds when possible
8827
8828 --one-shot
8829 --no-one-shot
8830 Do not record the packages in the world file.
8831
8832 --run-tests
8833 Run package test suites during installation.
8834
8835 -j, --jobs [NUM]
8836 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
8837 given).
8838
8839 --keep-going
8840 After a build failure, continue to build other unaffected
8841 packages.
8842
8843 --offline
8844 --no-offline
8845 Don't download packages from the Internet.
8846
8847 --project-file FILE
8848 Set the name of the cabal.project file to search for in
8849 parent directories
8850
8851 --only
8852 Only installs the package in the current directory.
8853
8854 --haddock-hoogle
8855 Generate a hoogle database
8856
8857 --haddock-html
8858 Generate HTML documentation (the default)
8859
8860 --haddock-html-location URL
8861 Location of HTML documentation for pre-requisite packages
8862
8863 --haddock-executables
8864 Run haddock for Executables targets
8865
8866 --haddock-tests
8867 Run haddock for Test Suite targets
8868
8869 --haddock-benchmarks
8870 Run haddock for Benchmark targets
8871
8872 --haddock-all
8873 Run haddock for all targets
8874
8875 --haddock-internal
8876 Run haddock for internal modules and include all symbols
8877
8878 --haddock-css PATH
8879 Use PATH as the haddock stylesheet
8880
8881 --haddock-hyperlink-source, --haddock-hyperlink-sources
8882 Hyperlink the documentation to the source code (using
8883 HsColour)
8884
8885 --haddock-hscolour-css PATH
8886 Use PATH as the HsColour stylesheet
8887
8888 --haddock-contents-location URL
8889 Bake URL in as the location for the contents page
8890
8891
8892 cabal new-test
8893
8894 Usage: cabal new-test [TARGETS] [FLAGS]
8895
8896
8897 Runs the specified test-suites, first ensuring they are up to date.
8898
8899 Any test-suite in any package in the project can be specified. A pack‐
8900 age can be specified in which case all the test-suites in the package
8901 are run. The default is to run all the test-suites in the package in
8902 the current directory.
8903
8904 Dependencies are built or rebuilt as necessary. Additional configura‐
8905 tion flags can be specified on the command line and these extend the
8906 project configuration from the 'cabal.project', 'cabal.project.local'
8907 and other files.
8908
8909
8910 Examples:
8911 cabal new-test
8912 Run all the test-suites in the package in the current directory
8913 cabal new-test pkgname
8914 Run all the test-suites in the package named pkgname
8915 cabal new-test cname
8916 Run the test-suite named cname
8917 cabal new-test cname --enable-coverage
8918 Run the test-suite built with code coverage (including local libs
8919 used)
8920
8921 Note: this command is part of the new project-based system (aka nix-
8922 style local builds). These features are currently in beta. Please see
8923 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
8924 details and advice on what you can expect to work. If you encounter
8925 problems please file issues at https://github.com/haskell/cabal/issues
8926 and if you have any time to get involved and help with testing, fixing
8927 bugs etc then that is very much appreciated.
8928
8929
8930 Flags:
8931 -v, --verbose [n]
8932 Control verbosity (n is 0--3, default verbosity level is
8933 1)
8934
8935 --builddir, --distdir, --distpref DIR
8936 The directory where Cabal puts generated build files
8937 (default dist)
8938
8939 -g, --ghc
8940 compile with GHC
8941
8942 --ghcjs
8943 compile with GHCJS
8944
8945 --jhc
8946 compile with JHC
8947
8948 --lhc
8949 compile with LHC
8950
8951 --uhc
8952 compile with UHC
8953
8954 --haskell-suite
8955 compile with a haskell-suite compiler
8956
8957 --cabal-file PATH
8958 use this Cabal file
8959
8960 -w, --with-compiler PATH
8961 give the path to a particular compiler
8962
8963 --with-hc-pkg PATH
8964 give the path to the package tool
8965
8966 --prefix DIR
8967 bake this prefix in preparation of installation
8968
8969 --bindir DIR
8970 installation directory for executables
8971
8972 --libdir DIR
8973 installation directory for libraries
8974
8975 --libsubdir DIR
8976 subdirectory of libdir in which libs are installed
8977
8978 --dynlibdir DIR
8979 installation directory for dynamic libraries
8980
8981 --libexecdir DIR
8982 installation directory for program executables
8983
8984 --libexecsubdir DIR
8985 subdirectory of libexecdir in which private executables
8986 are installed
8987
8988 --datadir DIR
8989 installation directory for read-only data
8990
8991 --datasubdir DIR
8992 subdirectory of datadir in which data files are installed
8993
8994 --docdir DIR
8995 installation directory for documentation
8996
8997 --htmldir DIR
8998 installation directory for HTML documentation
8999
9000 --haddockdir DIR
9001 installation directory for haddock interfaces
9002
9003 --sysconfdir DIR
9004 installation directory for configuration files
9005
9006 --program-prefix PREFIX
9007 prefix to be applied to installed executables
9008
9009 --program-suffix SUFFIX
9010 suffix to be applied to installed executables
9011
9012 --enable-library-vanilla
9013 --disable-library-vanilla
9014 Vanilla libraries
9015
9016 -p, --enable-library-profiling
9017 --disable-library-profiling
9018 Library profiling
9019
9020 --enable-shared
9021 --disable-shared
9022 Shared library
9023
9024 --enable-executable-dynamic
9025 --disable-executable-dynamic
9026 Executable dynamic linking
9027
9028 --enable-profiling
9029 --disable-profiling
9030 Executable and library profiling
9031
9032 --enable-executable-profiling
9033 --disable-executable-profiling
9034 Executable profiling (DEPRECATED)
9035
9036 --profiling-detail level
9037 Profiling detail level for executable and library
9038 (default, none, exported-functions, toplevel-functions,
9039 all-functions).
9040
9041 --library-profiling-detail level
9042 Profiling detail level for libraries only.
9043
9044 -O, --enable-optimization, --enable-optimisation [n]
9045 Build with optimization (n is 0--2, default is 1)
9046
9047 --disable-optimization, --disable-optimisation
9048 Build without optimization
9049
9050 --enable-debug-info [n]
9051 Emit debug info (n is 0--3, default is 0)
9052
9053 --disable-debug-info
9054 Don't emit debug info
9055
9056 --enable-library-for-ghci
9057 --disable-library-for-ghci
9058 compile library for use with GHCi
9059
9060 --enable-split-objs
9061 --disable-split-objs
9062 split library into smaller objects to reduce binary sizes
9063 (GHC 6.6+)
9064
9065 --enable-executable-stripping
9066 --disable-executable-stripping
9067 strip executables upon installation to reduce binary
9068 sizes
9069
9070 --enable-library-stripping
9071 --disable-library-stripping
9072 strip libraries upon installation to reduce binary sizes
9073
9074 --configure-option OPT
9075 Extra option for configure
9076
9077 --user
9078 --global
9079 doing a per-user installation
9080
9081 --package-db DB
9082 Append the given package database to the list of package
9083 databases used (to satisfy dependencies and register
9084 into). May be a specific file, 'global' or 'user'. The
9085 initial list is ['global'], ['global', 'user'], or
9086 ['global', $sandbox], depending on context. Use 'clear'
9087 to reset the list to empty. See the user guide for
9088 details.
9089
9090 -f, --flags FLAGS
9091 Force values for the given flags in Cabal conditionals in
9092 the .cabal file. E.g., --flags="debug -usebytestrings"
9093 forces the flag "debug" to true and "usebytestrings" to
9094 false.
9095
9096 --extra-include-dirs PATH
9097 A list of directories to search for header files
9098
9099 --enable-deterministic
9100 --disable-deterministic
9101 Try to be as deterministic as possible (used by the test
9102 suite)
9103
9104 --ipid IPID
9105 Installed package ID to compile this package as
9106
9107 --cid CID
9108 Installed component ID to compile this component as
9109
9110 --extra-lib-dirs PATH
9111 A list of directories to search for external libraries
9112
9113 --extra-framework-dirs PATH
9114 A list of directories to search for external frameworks
9115 (OS X only)
9116
9117 --extra-prog-path PATH
9118 A list of directories to search for required programs (in
9119 addition to the normal search locations)
9120
9121 --instantiate-with NAME=MOD
9122 A mapping of signature names to concrete module instanti‐
9123 ations.
9124
9125 --enable-tests
9126 --disable-tests
9127 dependency checking and compilation for test suites
9128 listed in the package description file.
9129
9130 --enable-coverage
9131 --disable-coverage
9132 build package with Haskell Program Coverage. (GHC only)
9133
9134 --enable-library-coverage
9135 --disable-library-coverage
9136 build package with Haskell Program Coverage. (GHC only)
9137 (DEPRECATED)
9138
9139 --allow-older [DEPS]
9140 Ignore upper bounds in all dependencies or DEPS
9141
9142 --allow-newer [DEPS]
9143 Ignore upper bounds in all dependencies or DEPS
9144
9145 --enable-benchmarks
9146 --disable-benchmarks
9147 dependency checking and compilation for benchmarks listed
9148 in the package description file.
9149
9150 --enable-relocatable
9151 --disable-relocatable
9152 building a package that is relocatable. (GHC only)
9153
9154 --with-alex PATH
9155 give the path to alex
9156
9157 --with-ar PATH
9158 give the path to ar
9159
9160 --with-c2hs PATH
9161 give the path to c2hs
9162
9163 --with-cpphs PATH
9164 give the path to cpphs
9165
9166 --with-doctest PATH
9167 give the path to doctest
9168
9169 --with-gcc PATH
9170 give the path to gcc
9171
9172 --with-ghc PATH
9173 give the path to ghc
9174
9175 --with-ghc-pkg PATH
9176 give the path to ghc-pkg
9177
9178 --with-ghcjs PATH
9179 give the path to ghcjs
9180
9181 --with-ghcjs-pkg PATH
9182 give the path to ghcjs-pkg
9183
9184 --with-greencard PATH
9185 give the path to greencard
9186
9187 --with-haddock PATH
9188 give the path to haddock
9189
9190 --with-happy PATH
9191 give the path to happy
9192
9193 --with-haskell-suite PATH
9194 give the path to haskell-suite
9195
9196 --with-haskell-suite-pkg PATH
9197 give the path to haskell-suite-pkg
9198
9199 --with-hmake PATH
9200 give the path to hmake
9201
9202 --with-hpc PATH
9203 give the path to hpc
9204
9205 --with-hsc2hs PATH
9206 give the path to hsc2hs
9207
9208 --with-hscolour PATH
9209 give the path to hscolour
9210
9211 --with-jhc PATH
9212 give the path to jhc
9213
9214 --with-ld PATH
9215 give the path to ld
9216
9217 --with-lhc PATH
9218 give the path to lhc
9219
9220 --with-lhc-pkg PATH
9221 give the path to lhc-pkg
9222
9223 --with-pkg-config PATH
9224 give the path to pkg-config
9225
9226 --with-runghc PATH
9227 give the path to runghc
9228
9229 --with-strip PATH
9230 give the path to strip
9231
9232 --with-tar PATH
9233 give the path to tar
9234
9235 --with-uhc PATH
9236 give the path to uhc
9237
9238 --alex-option OPT
9239 give an extra option to alex (no need to quote options
9240 containing spaces)
9241
9242 --ar-option OPT
9243 give an extra option to ar (no need to quote options con‐
9244 taining spaces)
9245
9246 --c2hs-option OPT
9247 give an extra option to c2hs (no need to quote options
9248 containing spaces)
9249
9250 --cpphs-option OPT
9251 give an extra option to cpphs (no need to quote options
9252 containing spaces)
9253
9254 --doctest-option OPT
9255 give an extra option to doctest (no need to quote options
9256 containing spaces)
9257
9258 --gcc-option OPT
9259 give an extra option to gcc (no need to quote options
9260 containing spaces)
9261
9262 --ghc-option OPT
9263 give an extra option to ghc (no need to quote options
9264 containing spaces)
9265
9266 --ghc-pkg-option OPT
9267 give an extra option to ghc-pkg (no need to quote options
9268 containing spaces)
9269
9270 --ghcjs-option OPT
9271 give an extra option to ghcjs (no need to quote options
9272 containing spaces)
9273
9274 --ghcjs-pkg-option OPT
9275 give an extra option to ghcjs-pkg (no need to quote
9276 options containing spaces)
9277
9278 --greencard-option OPT
9279 give an extra option to greencard (no need to quote
9280 options containing spaces)
9281
9282 --haddock-option OPT
9283 give an extra option to haddock (no need to quote options
9284 containing spaces)
9285
9286 --happy-option OPT
9287 give an extra option to happy (no need to quote options
9288 containing spaces)
9289
9290 --haskell-suite-option OPT
9291 give an extra option to haskell-suite (no need to quote
9292 options containing spaces)
9293
9294 --haskell-suite-pkg-option OPT
9295 give an extra option to haskell-suite-pkg (no need to
9296 quote options containing spaces)
9297
9298 --hmake-option OPT
9299 give an extra option to hmake (no need to quote options
9300 containing spaces)
9301
9302 --hpc-option OPT
9303 give an extra option to hpc (no need to quote options
9304 containing spaces)
9305
9306 --hsc2hs-option OPT
9307 give an extra option to hsc2hs (no need to quote options
9308 containing spaces)
9309
9310 --hscolour-option OPT
9311 give an extra option to hscolour (no need to quote
9312 options containing spaces)
9313
9314 --jhc-option OPT
9315 give an extra option to jhc (no need to quote options
9316 containing spaces)
9317
9318 --ld-option OPT
9319 give an extra option to ld (no need to quote options con‐
9320 taining spaces)
9321
9322 --lhc-option OPT
9323 give an extra option to lhc (no need to quote options
9324 containing spaces)
9325
9326 --lhc-pkg-option OPT
9327 give an extra option to lhc-pkg (no need to quote options
9328 containing spaces)
9329
9330 --pkg-config-option OPT
9331 give an extra option to pkg-config (no need to quote
9332 options containing spaces)
9333
9334 --runghc-option OPT
9335 give an extra option to runghc (no need to quote options
9336 containing spaces)
9337
9338 --strip-option OPT
9339 give an extra option to strip (no need to quote options
9340 containing spaces)
9341
9342 --tar-option OPT
9343 give an extra option to tar (no need to quote options
9344 containing spaces)
9345
9346 --uhc-option OPT
9347 give an extra option to uhc (no need to quote options
9348 containing spaces)
9349
9350 --alex-options OPTS
9351 give extra options to alex
9352
9353 --ar-options OPTS
9354 give extra options to ar
9355
9356 --c2hs-options OPTS
9357 give extra options to c2hs
9358
9359 --cpphs-options OPTS
9360 give extra options to cpphs
9361
9362 --doctest-options OPTS
9363 give extra options to doctest
9364
9365 --gcc-options OPTS
9366 give extra options to gcc
9367
9368 --ghc-options OPTS
9369 give extra options to ghc
9370
9371 --ghc-pkg-options OPTS
9372 give extra options to ghc-pkg
9373
9374 --ghcjs-options OPTS
9375 give extra options to ghcjs
9376
9377 --ghcjs-pkg-options OPTS
9378 give extra options to ghcjs-pkg
9379
9380 --greencard-options OPTS
9381 give extra options to greencard
9382
9383 --haddock-options OPTS
9384 give extra options to haddock
9385
9386 --happy-options OPTS
9387 give extra options to happy
9388
9389 --haskell-suite-options OPTS
9390 give extra options to haskell-suite
9391
9392 --haskell-suite-pkg-options OPTS
9393 give extra options to haskell-suite-pkg
9394
9395 --hmake-options OPTS
9396 give extra options to hmake
9397
9398 --hpc-options OPTS
9399 give extra options to hpc
9400
9401 --hsc2hs-options OPTS
9402 give extra options to hsc2hs
9403
9404 --hscolour-options OPTS
9405 give extra options to hscolour
9406
9407 --jhc-options OPTS
9408 give extra options to jhc
9409
9410 --ld-options OPTS
9411 give extra options to ld
9412
9413 --lhc-options OPTS
9414 give extra options to lhc
9415
9416 --lhc-pkg-options OPTS
9417 give extra options to lhc-pkg
9418
9419 --pkg-config-options OPTS
9420 give extra options to pkg-config
9421
9422 --runghc-options OPTS
9423 give extra options to runghc
9424
9425 --strip-options OPTS
9426 give extra options to strip
9427
9428 --tar-options OPTS
9429 give extra options to tar
9430
9431 --uhc-options OPTS
9432 give extra options to uhc
9433
9434 --cabal-lib-version VERSION
9435 Select which version of the Cabal lib to use to build
9436 packages (useful for testing).
9437
9438 --constraint CONSTRAINT
9439 Specify constraints on a package (version,
9440 installed/source, flags)
9441
9442 --preference CONSTRAINT
9443 Specify preferences (soft constraints) on the version of
9444 a package
9445
9446 --solver SOLVER
9447 Select dependency solver to use (default: modular).
9448 Choices: modular.
9449
9450 --enable-documentation
9451 --disable-documentation
9452 building of documentation
9453
9454 --doc-index-file TEMPLATE
9455 A central index of haddock API documentation (template
9456 cannot use $pkgid)
9457
9458 --dry-run
9459 Do not install anything, only print what would be
9460 installed.
9461
9462 --max-backjumps NUM
9463 Maximum number of backjumps allowed while solving
9464 (default: 2000). Use a negative number to enable unlim‐
9465 ited backtracking. Use 0 to disable backtracking com‐
9466 pletely.
9467
9468 --reorder-goals
9469 --no-reorder-goals
9470 Try to reorder goals according to certain heuristics.
9471 Slows things down on average, but may make backtracking
9472 faster for some packages.
9473
9474 --count-conflicts
9475 --no-count-conflicts
9476 Try to speed up solving by preferring goals that are
9477 involved in a lot of conflicts (default).
9478
9479 --shadow-installed-packages
9480 --no-shadow-installed-packages
9481 If multiple package instances of the same version are
9482 installed, treat all but one as shadowed.
9483
9484 --strong-flags
9485 --no-strong-flags
9486 Do not defer flag choices (this used to be the default in
9487 cabal-install <= 1.20).
9488
9489 --allow-boot-library-installs
9490 --no-allow-boot-library-installs
9491 Allow cabal to install base, ghc-prim, integer-simple,
9492 integer-gmp, and template-haskell.
9493
9494 --reinstall
9495 --no-reinstall
9496 Install even if it means installing the same version
9497 again.
9498
9499 --avoid-reinstalls
9500 --no-avoid-reinstalls
9501 Do not select versions that would destructively overwrite
9502 installed packages.
9503
9504 --force-reinstalls
9505 --no-force-reinstalls
9506 Reinstall packages even if they will most likely break
9507 other installed packages.
9508
9509 --upgrade-dependencies
9510 --no-upgrade-dependencies
9511 Pick the latest version for all dependencies, rather than
9512 trying to pick an installed version.
9513
9514 --only-dependencies
9515 --no-only-dependencies
9516 Install only the dependencies necessary to build the
9517 given packages
9518
9519 --dependencies-only
9520 --no-dependencies-only
9521 A synonym for --only-dependencies
9522
9523 --index-state STATE
9524 Use source package index state as it existed at a previ‐
9525 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
9526 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
9527 'HEAD' (default: 'HEAD').
9528
9529 --root-cmd COMMAND
9530 (No longer supported, do not use.)
9531
9532 --symlink-bindir DIR
9533 Add symlinks to installed executables into this direc‐
9534 tory.
9535
9536 --build-summary TEMPLATE
9537 Save build summaries to file (name template can use
9538 $pkgid, $compiler, $os, $arch)
9539
9540 --build-log TEMPLATE
9541 Log all builds to file (name template can use $pkgid,
9542 $compiler, $os, $arch)
9543
9544 --remote-build-reporting LEVEL
9545 Generate build reports to send to a remote server (none,
9546 anonymous or detailed).
9547
9548 --report-planning-failure
9549 Generate build reports when the dependency solver fails.
9550 This is used by the Hackage build bot.
9551
9552 --enable-per-component
9553 --disable-per-component
9554 Per-component builds when possible
9555
9556 --one-shot
9557 --no-one-shot
9558 Do not record the packages in the world file.
9559
9560 --run-tests
9561 Run package test suites during installation.
9562
9563 -j, --jobs [NUM]
9564 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
9565 given).
9566
9567 --keep-going
9568 After a build failure, continue to build other unaffected
9569 packages.
9570
9571 --offline
9572 --no-offline
9573 Don't download packages from the Internet.
9574
9575 --project-file FILE
9576 Set the name of the cabal.project file to search for in
9577 parent directories
9578
9579 --only
9580 Only installs the package in the current directory.
9581
9582 --haddock-hoogle
9583 Generate a hoogle database
9584
9585 --haddock-html
9586 Generate HTML documentation (the default)
9587
9588 --haddock-html-location URL
9589 Location of HTML documentation for pre-requisite packages
9590
9591 --haddock-executables
9592 Run haddock for Executables targets
9593
9594 --haddock-tests
9595 Run haddock for Test Suite targets
9596
9597 --haddock-benchmarks
9598 Run haddock for Benchmark targets
9599
9600 --haddock-all
9601 Run haddock for all targets
9602
9603 --haddock-internal
9604 Run haddock for internal modules and include all symbols
9605
9606 --haddock-css PATH
9607 Use PATH as the haddock stylesheet
9608
9609 --haddock-hyperlink-source, --haddock-hyperlink-sources
9610 Hyperlink the documentation to the source code (using
9611 HsColour)
9612
9613 --haddock-hscolour-css PATH
9614 Use PATH as the HsColour stylesheet
9615
9616 --haddock-contents-location URL
9617 Bake URL in as the location for the contents page
9618
9619
9620 cabal new-bench
9621
9622 Usage: cabal new-bench [TARGETS] [FLAGS]
9623
9624
9625 Runs the specified benchmarks, first ensuring they are up to date.
9626
9627 Any benchmark in any package in the project can be specified. A package
9628 can be specified in which case all the benchmarks in the package are
9629 run. The default is to run all the benchmarks in the package in the
9630 current directory.
9631
9632 Dependencies are built or rebuilt as necessary. Additional configura‐
9633 tion flags can be specified on the command line and these extend the
9634 project configuration from the 'cabal.project', 'cabal.project.local'
9635 and other files.
9636
9637
9638 Examples:
9639 cabal new-bench
9640 Run all the benchmarks in the package in the current directory
9641 cabal new-bench pkgname
9642 Run all the benchmarks in the package named pkgname
9643 cabal new-bench cname
9644 Run the benchmark named cname
9645 cabal new-bench cname -O2
9646 Run the benchmark built with '-O2' (including local libs used)
9647
9648 Note: this command is part of the new project-based system (aka nix-
9649 style local builds). These features are currently in beta. Please see
9650 http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html for
9651 details and advice on what you can expect to work. If you encounter
9652 problems please file issues at https://github.com/haskell/cabal/issues
9653 and if you have any time to get involved and help with testing, fixing
9654 bugs etc then that is very much appreciated.
9655
9656
9657 Flags:
9658 -v, --verbose [n]
9659 Control verbosity (n is 0--3, default verbosity level is
9660 1)
9661
9662 --builddir, --distdir, --distpref DIR
9663 The directory where Cabal puts generated build files
9664 (default dist)
9665
9666 -g, --ghc
9667 compile with GHC
9668
9669 --ghcjs
9670 compile with GHCJS
9671
9672 --jhc
9673 compile with JHC
9674
9675 --lhc
9676 compile with LHC
9677
9678 --uhc
9679 compile with UHC
9680
9681 --haskell-suite
9682 compile with a haskell-suite compiler
9683
9684 --cabal-file PATH
9685 use this Cabal file
9686
9687 -w, --with-compiler PATH
9688 give the path to a particular compiler
9689
9690 --with-hc-pkg PATH
9691 give the path to the package tool
9692
9693 --prefix DIR
9694 bake this prefix in preparation of installation
9695
9696 --bindir DIR
9697 installation directory for executables
9698
9699 --libdir DIR
9700 installation directory for libraries
9701
9702 --libsubdir DIR
9703 subdirectory of libdir in which libs are installed
9704
9705 --dynlibdir DIR
9706 installation directory for dynamic libraries
9707
9708 --libexecdir DIR
9709 installation directory for program executables
9710
9711 --libexecsubdir DIR
9712 subdirectory of libexecdir in which private executables
9713 are installed
9714
9715 --datadir DIR
9716 installation directory for read-only data
9717
9718 --datasubdir DIR
9719 subdirectory of datadir in which data files are installed
9720
9721 --docdir DIR
9722 installation directory for documentation
9723
9724 --htmldir DIR
9725 installation directory for HTML documentation
9726
9727 --haddockdir DIR
9728 installation directory for haddock interfaces
9729
9730 --sysconfdir DIR
9731 installation directory for configuration files
9732
9733 --program-prefix PREFIX
9734 prefix to be applied to installed executables
9735
9736 --program-suffix SUFFIX
9737 suffix to be applied to installed executables
9738
9739 --enable-library-vanilla
9740 --disable-library-vanilla
9741 Vanilla libraries
9742
9743 -p, --enable-library-profiling
9744 --disable-library-profiling
9745 Library profiling
9746
9747 --enable-shared
9748 --disable-shared
9749 Shared library
9750
9751 --enable-executable-dynamic
9752 --disable-executable-dynamic
9753 Executable dynamic linking
9754
9755 --enable-profiling
9756 --disable-profiling
9757 Executable and library profiling
9758
9759 --enable-executable-profiling
9760 --disable-executable-profiling
9761 Executable profiling (DEPRECATED)
9762
9763 --profiling-detail level
9764 Profiling detail level for executable and library
9765 (default, none, exported-functions, toplevel-functions,
9766 all-functions).
9767
9768 --library-profiling-detail level
9769 Profiling detail level for libraries only.
9770
9771 -O, --enable-optimization, --enable-optimisation [n]
9772 Build with optimization (n is 0--2, default is 1)
9773
9774 --disable-optimization, --disable-optimisation
9775 Build without optimization
9776
9777 --enable-debug-info [n]
9778 Emit debug info (n is 0--3, default is 0)
9779
9780 --disable-debug-info
9781 Don't emit debug info
9782
9783 --enable-library-for-ghci
9784 --disable-library-for-ghci
9785 compile library for use with GHCi
9786
9787 --enable-split-objs
9788 --disable-split-objs
9789 split library into smaller objects to reduce binary sizes
9790 (GHC 6.6+)
9791
9792 --enable-executable-stripping
9793 --disable-executable-stripping
9794 strip executables upon installation to reduce binary
9795 sizes
9796
9797 --enable-library-stripping
9798 --disable-library-stripping
9799 strip libraries upon installation to reduce binary sizes
9800
9801 --configure-option OPT
9802 Extra option for configure
9803
9804 --user
9805 --global
9806 doing a per-user installation
9807
9808 --package-db DB
9809 Append the given package database to the list of package
9810 databases used (to satisfy dependencies and register
9811 into). May be a specific file, 'global' or 'user'. The
9812 initial list is ['global'], ['global', 'user'], or
9813 ['global', $sandbox], depending on context. Use 'clear'
9814 to reset the list to empty. See the user guide for
9815 details.
9816
9817 -f, --flags FLAGS
9818 Force values for the given flags in Cabal conditionals in
9819 the .cabal file. E.g., --flags="debug -usebytestrings"
9820 forces the flag "debug" to true and "usebytestrings" to
9821 false.
9822
9823 --extra-include-dirs PATH
9824 A list of directories to search for header files
9825
9826 --enable-deterministic
9827 --disable-deterministic
9828 Try to be as deterministic as possible (used by the test
9829 suite)
9830
9831 --ipid IPID
9832 Installed package ID to compile this package as
9833
9834 --cid CID
9835 Installed component ID to compile this component as
9836
9837 --extra-lib-dirs PATH
9838 A list of directories to search for external libraries
9839
9840 --extra-framework-dirs PATH
9841 A list of directories to search for external frameworks
9842 (OS X only)
9843
9844 --extra-prog-path PATH
9845 A list of directories to search for required programs (in
9846 addition to the normal search locations)
9847
9848 --instantiate-with NAME=MOD
9849 A mapping of signature names to concrete module instanti‐
9850 ations.
9851
9852 --enable-tests
9853 --disable-tests
9854 dependency checking and compilation for test suites
9855 listed in the package description file.
9856
9857 --enable-coverage
9858 --disable-coverage
9859 build package with Haskell Program Coverage. (GHC only)
9860
9861 --enable-library-coverage
9862 --disable-library-coverage
9863 build package with Haskell Program Coverage. (GHC only)
9864 (DEPRECATED)
9865
9866 --allow-older [DEPS]
9867 Ignore upper bounds in all dependencies or DEPS
9868
9869 --allow-newer [DEPS]
9870 Ignore upper bounds in all dependencies or DEPS
9871
9872 --enable-benchmarks
9873 --disable-benchmarks
9874 dependency checking and compilation for benchmarks listed
9875 in the package description file.
9876
9877 --enable-relocatable
9878 --disable-relocatable
9879 building a package that is relocatable. (GHC only)
9880
9881 --with-alex PATH
9882 give the path to alex
9883
9884 --with-ar PATH
9885 give the path to ar
9886
9887 --with-c2hs PATH
9888 give the path to c2hs
9889
9890 --with-cpphs PATH
9891 give the path to cpphs
9892
9893 --with-doctest PATH
9894 give the path to doctest
9895
9896 --with-gcc PATH
9897 give the path to gcc
9898
9899 --with-ghc PATH
9900 give the path to ghc
9901
9902 --with-ghc-pkg PATH
9903 give the path to ghc-pkg
9904
9905 --with-ghcjs PATH
9906 give the path to ghcjs
9907
9908 --with-ghcjs-pkg PATH
9909 give the path to ghcjs-pkg
9910
9911 --with-greencard PATH
9912 give the path to greencard
9913
9914 --with-haddock PATH
9915 give the path to haddock
9916
9917 --with-happy PATH
9918 give the path to happy
9919
9920 --with-haskell-suite PATH
9921 give the path to haskell-suite
9922
9923 --with-haskell-suite-pkg PATH
9924 give the path to haskell-suite-pkg
9925
9926 --with-hmake PATH
9927 give the path to hmake
9928
9929 --with-hpc PATH
9930 give the path to hpc
9931
9932 --with-hsc2hs PATH
9933 give the path to hsc2hs
9934
9935 --with-hscolour PATH
9936 give the path to hscolour
9937
9938 --with-jhc PATH
9939 give the path to jhc
9940
9941 --with-ld PATH
9942 give the path to ld
9943
9944 --with-lhc PATH
9945 give the path to lhc
9946
9947 --with-lhc-pkg PATH
9948 give the path to lhc-pkg
9949
9950 --with-pkg-config PATH
9951 give the path to pkg-config
9952
9953 --with-runghc PATH
9954 give the path to runghc
9955
9956 --with-strip PATH
9957 give the path to strip
9958
9959 --with-tar PATH
9960 give the path to tar
9961
9962 --with-uhc PATH
9963 give the path to uhc
9964
9965 --alex-option OPT
9966 give an extra option to alex (no need to quote options
9967 containing spaces)
9968
9969 --ar-option OPT
9970 give an extra option to ar (no need to quote options con‐
9971 taining spaces)
9972
9973 --c2hs-option OPT
9974 give an extra option to c2hs (no need to quote options
9975 containing spaces)
9976
9977 --cpphs-option OPT
9978 give an extra option to cpphs (no need to quote options
9979 containing spaces)
9980
9981 --doctest-option OPT
9982 give an extra option to doctest (no need to quote options
9983 containing spaces)
9984
9985 --gcc-option OPT
9986 give an extra option to gcc (no need to quote options
9987 containing spaces)
9988
9989 --ghc-option OPT
9990 give an extra option to ghc (no need to quote options
9991 containing spaces)
9992
9993 --ghc-pkg-option OPT
9994 give an extra option to ghc-pkg (no need to quote options
9995 containing spaces)
9996
9997 --ghcjs-option OPT
9998 give an extra option to ghcjs (no need to quote options
9999 containing spaces)
10000
10001 --ghcjs-pkg-option OPT
10002 give an extra option to ghcjs-pkg (no need to quote
10003 options containing spaces)
10004
10005 --greencard-option OPT
10006 give an extra option to greencard (no need to quote
10007 options containing spaces)
10008
10009 --haddock-option OPT
10010 give an extra option to haddock (no need to quote options
10011 containing spaces)
10012
10013 --happy-option OPT
10014 give an extra option to happy (no need to quote options
10015 containing spaces)
10016
10017 --haskell-suite-option OPT
10018 give an extra option to haskell-suite (no need to quote
10019 options containing spaces)
10020
10021 --haskell-suite-pkg-option OPT
10022 give an extra option to haskell-suite-pkg (no need to
10023 quote options containing spaces)
10024
10025 --hmake-option OPT
10026 give an extra option to hmake (no need to quote options
10027 containing spaces)
10028
10029 --hpc-option OPT
10030 give an extra option to hpc (no need to quote options
10031 containing spaces)
10032
10033 --hsc2hs-option OPT
10034 give an extra option to hsc2hs (no need to quote options
10035 containing spaces)
10036
10037 --hscolour-option OPT
10038 give an extra option to hscolour (no need to quote
10039 options containing spaces)
10040
10041 --jhc-option OPT
10042 give an extra option to jhc (no need to quote options
10043 containing spaces)
10044
10045 --ld-option OPT
10046 give an extra option to ld (no need to quote options con‐
10047 taining spaces)
10048
10049 --lhc-option OPT
10050 give an extra option to lhc (no need to quote options
10051 containing spaces)
10052
10053 --lhc-pkg-option OPT
10054 give an extra option to lhc-pkg (no need to quote options
10055 containing spaces)
10056
10057 --pkg-config-option OPT
10058 give an extra option to pkg-config (no need to quote
10059 options containing spaces)
10060
10061 --runghc-option OPT
10062 give an extra option to runghc (no need to quote options
10063 containing spaces)
10064
10065 --strip-option OPT
10066 give an extra option to strip (no need to quote options
10067 containing spaces)
10068
10069 --tar-option OPT
10070 give an extra option to tar (no need to quote options
10071 containing spaces)
10072
10073 --uhc-option OPT
10074 give an extra option to uhc (no need to quote options
10075 containing spaces)
10076
10077 --alex-options OPTS
10078 give extra options to alex
10079
10080 --ar-options OPTS
10081 give extra options to ar
10082
10083 --c2hs-options OPTS
10084 give extra options to c2hs
10085
10086 --cpphs-options OPTS
10087 give extra options to cpphs
10088
10089 --doctest-options OPTS
10090 give extra options to doctest
10091
10092 --gcc-options OPTS
10093 give extra options to gcc
10094
10095 --ghc-options OPTS
10096 give extra options to ghc
10097
10098 --ghc-pkg-options OPTS
10099 give extra options to ghc-pkg
10100
10101 --ghcjs-options OPTS
10102 give extra options to ghcjs
10103
10104 --ghcjs-pkg-options OPTS
10105 give extra options to ghcjs-pkg
10106
10107 --greencard-options OPTS
10108 give extra options to greencard
10109
10110 --haddock-options OPTS
10111 give extra options to haddock
10112
10113 --happy-options OPTS
10114 give extra options to happy
10115
10116 --haskell-suite-options OPTS
10117 give extra options to haskell-suite
10118
10119 --haskell-suite-pkg-options OPTS
10120 give extra options to haskell-suite-pkg
10121
10122 --hmake-options OPTS
10123 give extra options to hmake
10124
10125 --hpc-options OPTS
10126 give extra options to hpc
10127
10128 --hsc2hs-options OPTS
10129 give extra options to hsc2hs
10130
10131 --hscolour-options OPTS
10132 give extra options to hscolour
10133
10134 --jhc-options OPTS
10135 give extra options to jhc
10136
10137 --ld-options OPTS
10138 give extra options to ld
10139
10140 --lhc-options OPTS
10141 give extra options to lhc
10142
10143 --lhc-pkg-options OPTS
10144 give extra options to lhc-pkg
10145
10146 --pkg-config-options OPTS
10147 give extra options to pkg-config
10148
10149 --runghc-options OPTS
10150 give extra options to runghc
10151
10152 --strip-options OPTS
10153 give extra options to strip
10154
10155 --tar-options OPTS
10156 give extra options to tar
10157
10158 --uhc-options OPTS
10159 give extra options to uhc
10160
10161 --cabal-lib-version VERSION
10162 Select which version of the Cabal lib to use to build
10163 packages (useful for testing).
10164
10165 --constraint CONSTRAINT
10166 Specify constraints on a package (version,
10167 installed/source, flags)
10168
10169 --preference CONSTRAINT
10170 Specify preferences (soft constraints) on the version of
10171 a package
10172
10173 --solver SOLVER
10174 Select dependency solver to use (default: modular).
10175 Choices: modular.
10176
10177 --enable-documentation
10178 --disable-documentation
10179 building of documentation
10180
10181 --doc-index-file TEMPLATE
10182 A central index of haddock API documentation (template
10183 cannot use $pkgid)
10184
10185 --dry-run
10186 Do not install anything, only print what would be
10187 installed.
10188
10189 --max-backjumps NUM
10190 Maximum number of backjumps allowed while solving
10191 (default: 2000). Use a negative number to enable unlim‐
10192 ited backtracking. Use 0 to disable backtracking com‐
10193 pletely.
10194
10195 --reorder-goals
10196 --no-reorder-goals
10197 Try to reorder goals according to certain heuristics.
10198 Slows things down on average, but may make backtracking
10199 faster for some packages.
10200
10201 --count-conflicts
10202 --no-count-conflicts
10203 Try to speed up solving by preferring goals that are
10204 involved in a lot of conflicts (default).
10205
10206 --shadow-installed-packages
10207 --no-shadow-installed-packages
10208 If multiple package instances of the same version are
10209 installed, treat all but one as shadowed.
10210
10211 --strong-flags
10212 --no-strong-flags
10213 Do not defer flag choices (this used to be the default in
10214 cabal-install <= 1.20).
10215
10216 --allow-boot-library-installs
10217 --no-allow-boot-library-installs
10218 Allow cabal to install base, ghc-prim, integer-simple,
10219 integer-gmp, and template-haskell.
10220
10221 --reinstall
10222 --no-reinstall
10223 Install even if it means installing the same version
10224 again.
10225
10226 --avoid-reinstalls
10227 --no-avoid-reinstalls
10228 Do not select versions that would destructively overwrite
10229 installed packages.
10230
10231 --force-reinstalls
10232 --no-force-reinstalls
10233 Reinstall packages even if they will most likely break
10234 other installed packages.
10235
10236 --upgrade-dependencies
10237 --no-upgrade-dependencies
10238 Pick the latest version for all dependencies, rather than
10239 trying to pick an installed version.
10240
10241 --only-dependencies
10242 --no-only-dependencies
10243 Install only the dependencies necessary to build the
10244 given packages
10245
10246 --dependencies-only
10247 --no-dependencies-only
10248 A synonym for --only-dependencies
10249
10250 --index-state STATE
10251 Use source package index state as it existed at a previ‐
10252 ous time. Accepts unix-timestamps (e.g. '@1474732068'),
10253 ISO8601 UTC timestamps (e.g. '2016-09-24T17:47:48Z'), or
10254 'HEAD' (default: 'HEAD').
10255
10256 --root-cmd COMMAND
10257 (No longer supported, do not use.)
10258
10259 --symlink-bindir DIR
10260 Add symlinks to installed executables into this direc‐
10261 tory.
10262
10263 --build-summary TEMPLATE
10264 Save build summaries to file (name template can use
10265 $pkgid, $compiler, $os, $arch)
10266
10267 --build-log TEMPLATE
10268 Log all builds to file (name template can use $pkgid,
10269 $compiler, $os, $arch)
10270
10271 --remote-build-reporting LEVEL
10272 Generate build reports to send to a remote server (none,
10273 anonymous or detailed).
10274
10275 --report-planning-failure
10276 Generate build reports when the dependency solver fails.
10277 This is used by the Hackage build bot.
10278
10279 --enable-per-component
10280 --disable-per-component
10281 Per-component builds when possible
10282
10283 --one-shot
10284 --no-one-shot
10285 Do not record the packages in the world file.
10286
10287 --run-tests
10288 Run package test suites during installation.
10289
10290 -j, --jobs [NUM]
10291 Run NUM jobs simultaneously (or '$ncpus' if no NUM is
10292 given).
10293
10294 --keep-going
10295 After a build failure, continue to build other unaffected
10296 packages.
10297
10298 --offline
10299 --no-offline
10300 Don't download packages from the Internet.
10301
10302 --project-file FILE
10303 Set the name of the cabal.project file to search for in
10304 parent directories
10305
10306 --only
10307 Only installs the package in the current directory.
10308
10309 --haddock-hoogle
10310 Generate a hoogle database
10311
10312 --haddock-html
10313 Generate HTML documentation (the default)
10314
10315 --haddock-html-location URL
10316 Location of HTML documentation for pre-requisite packages
10317
10318 --haddock-executables
10319 Run haddock for Executables targets
10320
10321 --haddock-tests
10322 Run haddock for Test Suite targets
10323
10324 --haddock-benchmarks
10325 Run haddock for Benchmark targets
10326
10327 --haddock-all
10328 Run haddock for all targets
10329
10330 --haddock-internal
10331 Run haddock for internal modules and include all symbols
10332
10333 --haddock-css PATH
10334 Use PATH as the haddock stylesheet
10335
10336 --haddock-hyperlink-source, --haddock-hyperlink-sources
10337 Hyperlink the documentation to the source code (using
10338 HsColour)
10339
10340 --haddock-hscolour-css PATH
10341 Use PATH as the HsColour stylesheet
10342
10343 --haddock-contents-location URL
10344 Bake URL in as the location for the contents page
10345
10346
10347
10349 ~/.cabal/config
10350 The defaults that can be overridden with command-line options.
10351
10352 ~/.cabal/world
10353 A list of all packages whose installation has been explicitly
10354 requested.
10355
10356
10358 To browse the list of known issues or report a new one please see
10359 https://github.com/haskell/cabal/labels/cabal-install.
10360
10361
10362
10363
10364 CABAL(1)