Global USE flags

Flag Description Packages
big-endian When manually selecting the endianness, use big-endian (default is little-endian). 2
binary Use binary protocol encoding via postgresql-binary. This may put additional restrictions on supported PostgreSQL server versions. 5
dbus Publish a service on the session bus for controlling xmobar. 3
debug Enable the extra internal checks. 21
doc 3
emacs 2
embed-files Embed data files into the shake library 2
executable build executable file 44
ffi Enable the foreign function interface 2
hls_plugins_fourmolu Enable fourmolu plugin 0
hls_plugins_ormolu Enable ormolu plugin 0
hls_plugins_stan Enable stan plugin 0
hoogle generate hoogle database for dev-haskell/hoogle 0
http Support for fetching resources using HTTP. 2
llvm Pull in dependencies for the <pkg>llvm-core/llvm</pkg> codegen backend. 2
profile Enable profiling flags 5
repl Include support for running a pandoc Lua repl. 2
server Include support for running pandoc as an HTTP server. 3
symlink Create a symlink to "elm", instead of just installing "elm-bin" binary. 2
terminfo Use the terminfo package for POSIX consoles. 2
test Enables the hadrian selftest rules which require QuickCheck. Disabling it thus saves on a few dependencies which can be problematic when bootstrapping. 15
threaded Run benchmarks with threaded backend. 5
threads Enable threading and rtsopts 5
tls Enable TLS (SSL) support in PostgreSQL server connections. 2

Category USE flags

dev-haskell

Flag Description Packages
aeson You can disable the use of the `aeson` package using `-f-aeson`. This may be useful for accelerating builds in sandboxes for expert users. 3
benchpapi Enable building of benchmarks which use instruction counters. It requires libpapi and only works on Linux so it&#39;s protected by flag 2
binary-laws Include infrastructure for testing class laws of binary type constructors. It is required that this flag match the value that the `unary-laws` flag was given when building `quickcheck-classes-base`. Disabling `unary-laws` while keeping `binary-laws` enabled is an unsupported configuration. 2
bounds-checking if on, use bounds-checking array accesses 2
boundschecks Enable bounds checking 2
buildexamples Build test executables. 6
cairo Enable the cairo backend 2
comonad You can disable the use of the `comonad` package using `-f-comonad`. This may be useful for accelerating builds in sandboxes for expert users. 2
cpu_flags_x86_aes 3
cpu_flags_x86_rdrand 2
cpu_flags_x86_sse2 2
crypton Use the [crypton] library as the cryptographic backend. (Does nothing since version 3.1.0.0; might be removed in a future major version) 3
demos Build demonstration programs 2
dev Development build 4
devel Development commands 5
dump dump core, stg and cmm to files 2
embed-data-files Embed data files into the executable (needed for ghcjs packaging) 3
example Build the example application 2
examples compile (and install) the example programs 63
exe Build executable 4
fmode-binary Set the default file translation mode for file I/O operations to _O_BINARY. Some GTK libraries open image files without specifing binary mode. If you have trouble loading gtk in ghci, then it may help to turn this option off. 2
ghc-lib Force dependency on ghc-lib-parser even if GHC API in the ghc package is supported 2
gio Depend on GIO package, thereby enabling certain features. 2
gstreamer 2
hashable You can disable the use of the `hashable` package using `-f-hashable`. Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. If disabled we will not supply an instance of `Hashable`. 2
integer-gmp Whether or not to use GMP for some functions 2
internal-bundle-fixities An internal ad-hoc flag that is enabled by default, Ormolu Live disables it due to missing WASM TH support. 2
internal-dev DO NOT USE, ONLY FOR INTERNAL USE. 2
internal-use-unliftio DO NOT USE, ONLY FOR INTERNAL USE. 2
internalchecks Enable internal consistency checks at the cost of a significant performance penalty 2
limit-build-mem Limits memory when building 2
lukko Use @lukko@ for file-locking 2
maintainer Enable settings for the package maintainer. 2
network-uri Get Network.URI from the network-uri package rather than the full network package. 2
optimize Enable optimizations 3
parsec Add support for parsing with Parsec. 2
pedantic Pass additional warning flags and -Werror to GHC. 2
rasterific Enable the Haskell-native Rasterific backend 2
semigroupoids You can disable the use of the `semigroupoids` package using `-f-semigroupoids`. 4
semirings You can disable the use of the `semirings` package using `-f-semirings`. This may be useful for accelerating builds in sandboxes for expert users. 3
static 2
sumtypes Enable support for non-recursive sum types. 2
svg Build the Scalable Vector Graphics (SVG) backend of Cairo. 4
tagged You can disable the use of the `tagged` package using `-f-tagged`. Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. 6
target-attributes use GCC / clang function attributes instead of global target options. 2
template-haskell Enable the use of and export Template Haskell functionality. (Might need to disable this for cross-compiling.) 6
test-hlint Enable test suite that checks sources using HLint. 2
text Provide instances for text 3
tools Build associated tools (in general you won&#39;t need this) 2
unary-laws Include infrastructure for testing class laws of unary type constructors. It is required that this flag match the value that the `unary-laws` flag was given when building `quickcheck-classes-base`. 2
unittests You can disable testing with unittests using `-f-unittests`. 2
unliftio Use unliftio-core instead of monad-control 2
unsafechecks Enable bounds checking in unsafe operations at the cost of a significant performance penalty 2
vector Provide instances for vector 4
workaround-ghc-mmap-crash Only use this flag when hit by GHC bug #19421. See clash-compiler PR #2444. 3

x11-misc

Flag Description Packages
alsa Use alsa-mixer to get the volume from soundcards. 2
mpd MPD support. Needs libmpd installed. 2

Local USE flags

app-admin

propellor

Flag Description
type-errors Build with type-errors library for better error messages and less memory use

app-text

pandoc-cli

Flag Description
lua Support custom modifications and conversions with the pandoc Lua scripting engine.
nightly Add &#39;-nightly-COMPILEDATE&#39; to the output of &#39;--version&#39;.

dev-haskell

abstract-deque

Flag Description
usecas Enable the reference implementation to use hardware compare-and-swap.

aeson

Flag Description
cffi Controls whether to include c-ffi bits or pure haskell. Default to False for security.
ordered-keymap Use ordered @Data.Map.Strict@ for KeyMap implementation.

aeson-yaml

Flag Description
build-binaries Build the binaries

alsa-mixer

Flag Description
cross Set this flag if cross-compiling

alsa-seq

Flag Description
modifyfilter Use native event filter functions that are provided by newer ALSA versions

argon2

Flag Description
non-optimised-c Force use of non-optimised C routines on @x86_64@. Ineffective when @use-system-library@ flag is active.
pkg-config Use @pkg-config(1)@ to discover system-library location &amp; flags. __NOTE__: This has an effect only when the @use-system-library@ flag is also enabled.
system-library Link against system @libargon2@ library rather than using embedded copy of @libargon2@. See also @pkg-config@ flag.

atomic-counter

Flag Description
no-cmm Don&#39;t use cmm implementation

beam-automigrate

Flag Description
ghcipretty Enable pretty-show for pretty-printing purposes

bench-show

Flag Description
charts Build the modules that provide charting functionality
colors Use pretty printing with colors

bindings-glfw

Flag Description
X Linux only. Determines whether to target the X11 display server.
exposenative Whether or not to use the native access functions.
osmesa Determines whether or not to use the Mesa 3D rendering context.

biosff

Flag Description
fclip Build the 'fclip' executable.
flower Build the 'flower' executable.
frecover Build the 'frecover' executable.

bitstring

Flag Description
withquickcheck Build with QuickCheck test. Note that Show instances will be different.

bitvec

Flag Description
simd Use a C SIMD implementation for the ultimate performance of `zipBits`, `invertBits` and `countBits`. Disable this flag if there are problems with the C FFI.

broadcast-chan

Flag Description
sync Benchmarks synchronisation primitives used in main benchmark.

bytebuild

Flag Description
checked Add bounds-checking to primitive array operations

bzlib-conduit

Flag Description
system-bzip2 Use system bzip2 instead of bundled sources

c2hs

Flag Description
regression Enable regression suite build.

cabal-install

Flag Description
debug-conflict-sets Add additional information to ConflictSets
native-dns Enable use of the [resolv](https://hackage.haskell.org/package/resolv) &amp; [windns](https://hackage.haskell.org/package/windns) packages for performing DNS lookups

cabal-plan

Flag Description
license-report Enable @license-report@ sub-command (only relevant when the @exe@ flag is active)
underline Enable underlining of primary unit-ids

cabal-rpm

Flag Description
curl Use curl library to query Stackage instead of http-client

chell

Flag Description
color-output use colors in program output

chimera

Flag Description
representable Define Representable instance from adjunctions package

cipher-aes

Flag Description
cpu_flags_x86_ssse3

citeproc

Flag Description
icu Use Haskell bindings to the ICU library

clash-cores

Flag Description
haddock Work-around haddock bug on GHC 8.6.*
nix Are we building this package from nix

clash-ghc

Flag Description
dynamic Build Clash binaries with GHC flag `-dynamic`. This flag should only be used for packaging purposes. Installations using cabal should use `--enable-executable-dynamic`!
ghc-paths Locate the GHC core libraries using the `ghc-paths` package. Note: this flag may make binaries less relocatable, by hard-coding an absolute path to the core libraries.

cmark

Flag Description
system-cmark use

cmdargs

Flag Description
quotation Build the Quote module

comonad

Flag Description
indexed-traversable You can disable the use of the `indexed-traversable` package using `-f-indexed-traversable`. Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. If disabled we will not supply instances of `FunctorWithIndex`

contravariant

Flag Description
semigroups You can disable the use of the `semigroups` package using `-f-semigroups`. Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
statevar You can disable the use of the `StateVar` package using `-f-StateVar`. Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

country-codes

Flag Description
generate Build generate executable?

crypto-api

Flag Description
all-cpolys Build all the CMAC polynomes up to 10000 bits instead of just the usual ones

crypton

Flag Description
check-alignment extra check on alignment in C layers, which cause lowlevel assert errors. for debugging only.
cpu_flags_x86_pclmul
old-toolchain-inliner use -fgnu89-inline to workaround an old compiler / linker / glibc issue.

cryptonite

Flag Description
cpu_flags_x86_sse
cpu_flags_x86_sse4_1

diagrams

Flag Description
canvas Enable the Haskell-native Canvas backend
gtk Enable the GTK backend
postscript Enable the Haskell-native PostScript backend

diagrams-builder

Flag Description
pgf install PGF-specific builder tool

dlist

Flag Description
werror Enable -Werror

doctest

Flag Description
cabal-doctest Install (experimental) cabal-doctest executable

ede

Flag Description
attoparsecaeson Build attoparsec-aeson.

effectful

Flag Description
benchmark-foreign-libraries Include other effect libraries in the benchmarks.

encoding

Flag Description
generate-encodings Generate encodings.

entropy

Flag Description
donotgetentropy Avoid use of the getentropy() *nix function. By default getentropy will be used if detected during compilation (this plays poorly with cross compilation).

extensible

Flag Description
barbies &quot;define instances for barbies&quot;
cassava &quot;define instances for cassava&quot;
islabel &quot;export the instance of IsLabel making optics (which could conflict with other packages such as generic-lens)&quot;

filestore

Flag Description
maxcount Make use of a recent (&gt;= 2.3.0) Darcs feature which vastly improves the performance of &#39;latest&#39;. You should disable this flag if you plan to use gitit with an older version of Darcs, or &#39;latest&#39; will raise an error.

finite-field

Flag Description
useghctypelits GHC.TypeLits module

foundation

Flag Description
experimental Enable building experimental features, known as highly unstable or without good support cross-platform

gargoyle-postgresql

Flag Description
executables Install executables

gauge

Flag Description
analysis Build with statistical analysis support

gd

Flag Description
jpeg
png

ghc-check

Flag Description
package-abis record package abis at compile time for improved precision (requires compile-time TH)

ghc-debug-stub

Flag Description
eras Enable eras
trace Enable tracing

ghc-heap-view

Flag Description
prim-supports-any The used GHC supports Any as an argument to foreign prim functions (GHC ticket #5931)

ghc-tcplugins-extra

Flag Description
deverror Enables `-Werror` for development mode and TravisCI

ghcide

Flag Description
test-exe Build the ghcide-test-preprocessor executable
test-lib Build the ghcide-test-utils library

glfw

Flag Description
system-glfw use <pkg>media-libs/glfw</pkg> instead of bundled version

glib

Flag Description
closure-signals Use the the GClosure-based signals &#9;&#9;implementation.

gloss

Flag Description
glfw Enable the GLFW backend
glut Enable the GLUT backend

gnuplot

Flag Description
executepipe Avoid a temporary script by running with runInteractiveProcess.
executeshell Avoid a temporary script by calling via a UNIX shell and its piping syntax.

graphscc

Flag Description
use-maps Use IntMap instead of mutable arrays.

gtk

Flag Description
deprecated Include definitions in this library that are considered obsolete.

gtk2hs-buildtools

Flag Description
closuresignals Use the the GClosure-based signals implementation.

hadrian

Flag Description
vanilla Disable ALL patches. Only to be used for building non-Gentoo GHC.

hakyll

Flag Description
buildwebsite Build the hakyll website
checkexternal Include external link checking
previewserver Include the preview server
usepandoc Include Pandoc support
watchserver Include the watch server

happstack-plugins

Flag Description
tests Build the testsuite, and include the tests in the library.

hashable

Flag Description
random-initial-seed &#9;&#9;Randomly initialize the seed on every executable invocation. This &#9;&#9;is not a security feature and is intended only for testing (it &#9;&#9;can affect legitimate use cases). &#9;&#9;

hashtables

Flag Description
cpu_flags_x86_sse4_2
detailed-profiling add detailed profiling information to profiled build-depends

haskell-language-server

Flag Description
ghcide-bench Build the ghcide-bench executable
ghcide-bench-lib Build the ghcide-bench-lib library
ghcide-test-exe Build the ghcide-test-preprocessor executable
hls_plugins_alternate-number-format Enable Alternate Number Format plugin
hls_plugins_cabal Enable cabal plugin
hls_plugins_cabal-fmt Enable cabalfmt plugin
hls_plugins_cabal-gild Enable cabalgild plugin
hls_plugins_call-hierarchy Enable callHierarchy plugin
hls_plugins_change-type-signature Change a declarations type signature with a Code Action
hls_plugins_class Enable class plugin
hls_plugins_code-range Enable codeRange plugin
hls_plugins_eval Enable eval plugin
hls_plugins_explicit-fields Enable explicit-fields plugin
hls_plugins_explicit-fixity Enable explicit-fixity plugin
hls_plugins_floskell Enable floskell plugin
hls_plugins_gadt Enable GADT plugin
hls_plugins_hlint Enable hlint plugin
hls_plugins_import-lens Enable importLens plugin
hls_plugins_module-name Enable moduleName plugin
hls_plugins_notes Enable notes plugin
hls_plugins_overloaded-record-dot Enable overloadedRecordDot plugin
hls_plugins_pragmas Enable pragmas plugin
hls_plugins_qualify-imported-names Enable qualifyImportedNames plugin
hls_plugins_refactor Enable refactor plugin
hls_plugins_rename Enable rename plugin
hls_plugins_retrie Enable retrie plugin
hls_plugins_semantic-tokens Enable semanticTokens plugin
hls_plugins_splice Enable splice plugin
hls_plugins_stylish-haskell Enable stylishHaskell plugin

hdbc-sqlite3

Flag Description
splitbase Choose the new smaller, split-up package.

hedgehog-classes

Flag Description
primitive You can disable the use of the `primitive` package using `-f-primitive`. This may be useful for accelerating builds in sandboxes for expert users.

hip

Flag Description
disable-chart Disable Chart-diagrams and Chart for a lighter dependency footprint

hlibsass

Flag Description
externallibsass Use LibSass that is installed in the system
sharedlibsass Build LibSass as a shared library (only if external_libsass = False)

hlint

Flag Description
gpl Use GPL libraries, specifically hscolour
hsyaml Use HsYAML instead of yaml

hls-graph

Flag Description
stm-stats Collect STM transaction stats

hls-plugin-api

Flag Description
fingertree Use fingertree implementation of RangeMap

hmatrix

Flag Description
no-random-r When enabled, hmatrix will not depend on the random_r() C function, it is needed for musl libc support.

hnix-store-nar

Flag Description
bounded-memory Run tests of constant memory use (requires +RTS -T)

hps

Flag Description
build-exec Build the `hps-fractals` executable

hsexif

Flag Description
iconv Enable encoding conversion of the User Comment tag with iconv. It&#39;s a nice thing to have but iconv is difficult to install on windows.

hsopenssl

Flag Description
fast-bignum Enable fast moving of bignums between OpenSSL and GMP (GHC and OpenSSL version &lt; 1.1.0 only).

hsyslog

Flag Description
install-examples Build and install example programs

http-api-data

Flag Description
text-show Use text-show library for efficient ToHttpApiData implementations.

http-client-openssl

Flag Description
test-proxy Test with http-proxy

hyphenation

Flag Description
embed Embed data in library binary (Warning: This increases the executable size by about 1Mb unless unneeded language data files are manually removed from the &quot;data&quot; directory before compiling)

ignore

Flag Description
without-pcre Disable pcre support

ihaskell

Flag Description
hlint Include HLint support

io-streams

Flag Description
network Include network support
zlib Include zlib support

jmacro

Flag Description
benchmarks Build the jmacro-bench executable

jose-jwt

Flag Description
doctest doctest

jsaddle

Flag Description
call-stacks Include HasCallStack constraint on calls unchecked calls
check-unchecked Fail unchecked calls when they are called (rather than when the result is evaluated)

json

Flag Description
mapdict Encode Haskell maps as JSON dicts
pretty Add support for using pretty printing combinators.

judy

Flag Description
unsafe Compile the library without locks. Code may be faster, but not threadsafe.

juicypixels

Flag Description
mmap Enable the file loading via mmap (memory map)

language-c-quote

Flag Description
full-haskell-antiquotes Support full Haskell expressions/patterns in antiquotes

ldap

Flag Description
buildtests Build the executable to run unit tests.

libffi

Flag Description
ghc-bundled-libffi When GHC is configured without @--with-system-libffi@, it will bundle its own copies of @libffi@, one of them statically linked and the other dynamically linked. This flag will force linking against the static copy of @libffi@ that GHC bundles. This avoids a GHC bug (https://gitlab.haskell.org/ghc/ghc/-/issues/15397) that can arise when the linker confuses the system&#39;s dynamic @libffi@ with GHC&#39;s own dynamic @libffi@. Note that this flag only works when GHC is configured without the @--with-system-libffi@ option. This is the case for most GHC binary distributions, such as those provided by @ghcup@. If you are using a GHC that was configured with @--with-system-libffi@, however, you will need to disable this option and link against the system&#39;s version of @libffi@ instead.

libyaml

Flag Description
system-libyaml Use the system-wide libyaml instead of the bundled copy
unicode Enable unicode output. Otherwise, unicode characters will be escaped.

liquid-fixpoint

Flag Description
link-z3-as-a-library link z3 as a library for faster interactions with the SMT solver

liquidhaskell

Flag Description
deterministic-profiling &#9;&#9;&#9;Support building against GHC with &lt;https://phabricator.haskell.org/D4388&gt; backported &#9;&#9;
mirror-modules-helper Build the &quot;mirror-modules&quot; helper executable.
no-plugin Use the legacy executable for testing.

logfloat

Flag Description
useffi Use FFI to link C's log1p. Improves accuracy while maintaining the same performance. Disable only if your compiler doesn't support FFI.

lpeg

Flag Description
rely-on-shared-lpeg-library Do not build lpeg from source, but trust that lpeg is made available in other ways, e.g., through a system-wide installation. The loader will be replaced with a placeholder function that only emits a message.

lua

Flag Description
system-lua Use @pkg-config@ to discover library and include paths. Setting this flag implies `pkg-config`.

lzma

Flag Description
pkgconfig Use @pkgconfig@ on unix system to find @liblzma@

massiv

Flag Description
unsafe-checks Enable all the bounds checks for unsafe functions at the cost of performance penalty

miso

Flag Description
jsstring-only Always set MisoString = JSString

monky

Flag Description
ibus enable ibus example
pulseaudio enable pulse example (7.6 disabled because travis)

named-text

Flag Description
json Build optional Data.Text.JSON module with JSON Named style support

nanovg

Flag Description
gles Build for GLES3. This deactivates GL3 support.
truetype Use freetype instead of bundled stb_truetype.

network-data

Flag Description
small-base Build the split-up base package.

nothunks

Flag Description
bytestring Provide instances for bytestring

openclwrappers

Flag Description
link Link against OpenCL library.

optics-core

Flag Description
explicit-generic-labels Require explicit GenericLabelOptics instances in order to use generics-based labels

optparse-simple

Flag Description
build-example Build the example executable

parameterized-utils

Flag Description
unsafe-operations Use unsafe operations (e.g. coercions) to improve performance

parsable-test

Flag Description
verbose-tests Add extra noise to QuickCheck tests (label with test strings)

parsec-numbers

Flag Description
parsec1 use <pkg>dev-haskell/parsec1</pkg> instead of <pkg>dev-haskell/parsec</pkg>

parsers

Flag Description
attoparsec You can disable the use of the `attoparsec` package using `-f-attoparsec`.

password

Flag Description
argon2 Compile with Argon2 support?
bcrypt Compile with bcrypt support?
cryptonite Use the [cryptonite] library as the cryptographic backend.
pbkdf2 Compile with PBKDF2 support?
scrypt Compile with scrypt support?

persistent-mongodb

Flag Description
high-precision-date for MongoDB use a time storage with nano second precision.

persistent-sqlite

Flag Description
build-sanity-exe Build a sanity check test executable

pointed

Flag Description
kan-extensions You can disable the use of the `kan-extensions` package using `-f-kan-extensions`.
stm You can disable the use of the `stm` package using `-f-stm`.
transformers You can disable the use of the `transformers` package using `-f-transformers`.
unordered-containers You can disable the use of the `unordered-containers` package using `-f-unordered-containers`.

pontarius-xmpp

Flag Description
th Enable Template Haskell support

postgresql-typed

Flag Description
hdbc Provide an HDBC driver backend using the raw PostgreSQL protocol.
md5 Enable md5 password authentication method.
scientific Support decoding numeric via scientific (implied by binary).
uuid Support the UUID type via uuid (implied by binary).

prettyprinter

Flag Description
buildreadme Build the readme generator

publicsuffixlist

Flag Description
create export Network.PublicSuffixList.Create module
runtimelist read suffix list from dist at startup instead of embedding list into library

pyf

Flag Description
python-test Enable extensive python testing

quic

Flag Description
fusion Use fusion AES-GCM engine from picotls

random-bytestring

Flag Description
pcg compile with support for PCG from pcg-random

rasterific

Flag Description
embed-linear Embed a reduced version of Linear avoiding a (huge) dep

reflex

Flag Description
plugin Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.

repa

Flag Description
no-template-haskell Disable Template Haskell

rere

Flag Description
cfg CFG functionality, adds dependency on fin and vec
intersection Add intersection constructor. EXPERIMENTAL

sample-frame

Flag Description
buildbenchmarks Build benchmark executables

sandi

Flag Description
conduit Build with conduit

sbv

Flag Description
skip-hlint-tester Do not build the HLint tester

sdl2

Flag Description
no-linear Do not depend on &#39;linear&#39; library

semigroupoid-extras

Flag Description
profunctors You can disable the use of the `profunctors` package using `-f-profunctors`. Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

sendfile

Flag Description
portable Explicitly enable portable sendfile support (implemented in Haskell)

shelly

Flag Description
lifted run the tests against Shelly.Lifted

simple-affine-space

Flag Description
test-doc-coverage Enable haddock coverage test suite

simple-sendfile

Flag Description
allow-bsd Allow use of BSD sendfile (disable on GNU/kFreeBSD)

skein

Flag Description
force-endianness Use a manually selected endian when compiling (see flag 'big-endian').
reference Use the reference implementation instead of the optimized one.

snap-server

Flag Description
pong-server Build a server that just returns &quot;PONG&quot;. Normally useful only for benchmarks.
test-server Build the blackbox testserver

some

Flag Description
newtype-unsafe Use implementation using @newtype@ and unsafe @Any@, instead of GADT

sphinx

Flag Description
version-1-1-beta By default this library is compatible with version 2.0 beta of Sphinx. Use this flag if you use Sphinx 1.1

splitmix

Flag Description
optimised-mixer Use JavaScript for mix32

sr-extra

Flag Description
omit-data Omit all Data instances
omit-serialize Omit all the Serialize instances, on the assumption that we will use SafeCopy instances instead.

ssh-known-hosts

Flag Description
sample_progs Build sample programs

stack

Flag Description
disable-stack-upload For use only during development and debugging. Disable &#39;stack upload&#39; so that it does not make HTTP requests. Stack will output information about the HTTP request(s) that it would have made if the command was enabled.

stan

Flag Description
directory-ospath-streaming Whether to use directory-ospath-streaming. Should be false with 9.6 &gt; ghc.

stateref

Flag Description
usestm Include instances for STM types.
usetmvar Include instances for TMVar.

store-core

Flag Description
force-alignment Adds -DALIGNED_MEMORY to cpp-options

streamly

Flag Description
c-malloc Use C malloc instead of GHC malloc
fusion-plugin Use fusion plugin for benchmarks and executables
minimal Build only the core modules
no-fusion Disable rewrite rules for stream fusion
streamk Use CPS style streams when possible

streamly-core

Flag Description
folds Use folds for elimination everywhere
force-lstat-readdir Use lstat instead of checking for dtype in ReadDir
has-llvm Use llvm backend for code generation
opt off=GHC default, on=-O2
unfolds Use unfolds for generation everywhere

string-interpolate

Flag Description
bytestring-builder Use ByteString Builders to construct ByteString outputs instead of the ByteString type itself. If you&#39;re regularly constructing large (&gt;50KB) bytestrings, enabling this can speed up your code. Otherwise, enabling this is likely to be a net slowdown.
extended-benchmarks Enable benchmarks for Interpolation and interpolatedstring-perl6
text-builder Use Text Builders to construct Text outputs instead of the Text type itself. If you&#39;re regularly constructing large (&gt;50KB) text objects, enabling this can speed up your code. Otherwise, enabling this is likely to be a net slowdown.

synthesizer-dimensional

Flag Description
optimizeadvanced Enable advanced optimizations. They slow down compilation considerably.

text

Flag Description
extendedbenchmarks Runs extra benchmarks which can be very slow.
pure-haskell Don&#39;t use text&#39;s standard C routines NB: This feature is not fully implemented. Several C routines are still in use. When this flag is true, text will use pure Haskell variants of the routines. This is not recommended except for use with GHC&#39;s JavaScript backend. This flag also disables simdutf.
simdutf use simdutf library

threepenny-gui

Flag Description
rebug Expose more bugs by increasing determinism

thyme

Flag Description
bug-for-bug bug-for-bug compatibility with time
lens use the full lens package
show-internal instance Show of internal representation

transformers-base

Flag Description
orphaninstances Build instances for orphan datatypes.

turtle

Flag Description
new-deps Use new versions of ansi-wl-pprint and optparse-applicative

unagi-chan

Flag Description
compare-benchmarks &#9;&#9;&#9;compare benchmarks with Chan, TQueue, and (eventually) lockfree-queue? &#9;&#9;

unboxing-vector

Flag Description
mono-traversable Define instances for MonoTraversable

unicode-collation

Flag Description
doctests Run doctests as part of test suite. Use with: @--write-ghc-environment-files=always@.

unicode-data

Flag Description
dev-has-icu Use ICU for test and benchmark. Intended for development on the repository.

unix-compat

Flag Description
old-time build against old-time package

uuagc

Flag Description
loag Use MiniSat as external SAT-solver to schedule all Linear Ordered AGs

vec

Flag Description
adjunctions Depend on @adjunctions@ to provide its instances
distributive Depend on @distributive@ to provide its instances. Turning on, disables @adjunctions@ too.

vector-algorithms

Flag Description
bench Build a benchmarking program to test vector-algorithms performance

void

Flag Description
safe Disable effective but unsafe coercions

wai-app-static

Flag Description
print print debug info

warp

Flag Description
x509 Adds a dependency on the x509 library to enable getting TLS client certificates.

wcwidth

Flag Description
cli Enable command line tool

what4

Flag Description
drealtestdisable when running solver tests, disable testing using dReal (ignored unless -fsolverTests)
solvertests extra tests that require all the solvers to be installed
stptestdisable when running solver tests, disable testing using STP (ignored unless -fsolverTests)

x11

Flag Description
xinerama

xeno

Flag Description
libxml2 Include libxml2 in the benchmarks
whitespace-around-equals Correctly parse whitespace around the = characters in attribute definitions

xlsx

Flag Description
microlens Use microlens instead of lens

zip

Flag Description
bzip2 Depend on bzip2 C library and hence support BZip2 entries.
zstd Depend on zstd C library and hence support Zstandard entries.

zlib

Flag Description
bundled-c-zlib Use the bundled zlib C sources. Requires pkg-config to be False. For windows, this is the default.
non-blocking-ffi The (de)compression calls can sometimes take a long time, which prevents other Haskell threads running. Enabling this flag avoids this unfairness, but with greater overall cost.

zstd

Flag Description
standalone Use a built-in copy of the zstd library

ztail

Flag Description
inotify Enable inotify support

dev-lang

cryptol

Flag Description
relocatable Don't use the Cabal-provided data directory for looking up Cryptol libraries.

dhall

Flag Description
http-client-tls Use http-client-tls for resolving HTTP imports by default (requires with-http to be enabled)

ghc

Flag Description
elfutils Enable DWARF-based backtraces using <pkg>dev-libs/elfutils</pkg>.
ghcbootstrap Bootstrap GHC from an existing GHC installation.
ghcmakebinary Internal: Build binary friendly for redistribution.
gmp Use <pkg>dev-libs/gmp</pkg> for integer operations (works faster, but an external depend).
numa Enable NUMA thread balancing policy using <pkg>sys-process/numactl</pkg>.
unregisterised Create an unregisterised build in which only the C codegen backend will be available.

dev-util

bustle

Flag Description
interactivetests Build interactive test programs

hoogle

Flag Description
systemd

dev-vcs

git-annex

Flag Description
assistant Enable git-annex assistant and watch command
benchmark Enable benchmarking
gitlfs Build with git-lfs library (rather than vendored copy)
magicmime Use libmagic to determine file MIME types
pairing Enable pairing
parallelbuild Enable production build (slower build; faster binary)
torrentparser Use haskell torrent library to parse torrent files

games-puzzle

intricacy

Flag Description
curses Enables curses user interface
sdl Enables SDL user interface
sendmail Include support for sending mail
sound Enables sound in SDL user interface

net-misc

htalkat

Flag Description
ncurses Enable Curses UI

sci-mathematics

agda

Flag Description
cpphs Use cpphs instead of cpp.
dump-core Write GHC core output.
enable-cluster-counting Enable the --count-clusters flag. (If enable-cluster-counting is False, then the --count-clusters flag triggers an error message.)
optimise-heavily Enable some expensive optimisations when compiling Agda.
stdlib Install the standard library.
xdg-data-home Install data files under $XDG_DATA_HOME\/agda\/$AGDA_VERSION by default instead of the installation location defined by Cabal. This should not be enabled in declarative build environments like Nix or Guix.

www-apps

gitit

Flag Description
plugins Compile in support for plugins. This will increase the size of the executable and the memory it uses, so those who will not need plugins should disable this flag.

www-servers

mighttpd2

Flag Description
dhall Support Dhall
quic Support HTTP over QUIC (HTTP/3).

x11-misc

taffybar

Flag Description
cryptocurrency Enable crypto assets widget.

xmobar

Flag Description
datezone Enables localized date support.
mpris MPRIS v1, v2 support.
rtsopts Use -with-rtsopts=-V0 to reduce wakeups.
shared Use shared libraries. Required when dependencies are built as shared libraries.
uvmeter UVMeter only useful to australians.
weather Enable weather plugin.
wifi Wireless info support via nl80211. Required for the Wireless plugin on systems running Linux, the kernel.
xpm Enable usage of xpm for icons.
xrender Use XRender for alpha background pseudo-transparency.

xmonad-extras

Flag Description
brightness Build module for brightness control.
eval Build modules depending on hint(for evaluating Haskell expressions at runtime).

yeganesh

Flag Description
profiling Build with profiling and -auto-all

x11-wm

xmonad

Flag Description
no-autorepeat-keys Allow ignoring of keyboard autorepeat.

xmonad-contrib

Flag Description
xft Use Xft to render text