Cabal reference

 
project.cabal fields
Specifying the local packages
    packages Project packages.
    optional-packages Optional project packages.
    extra-packages Adds external pacakges as local
Global configuration options
    verbose Build verbosity level.
    jobs Number of builds running in parallel.
    keep-going Try to continue building on failure.
Solver configuration options
    constraints Extra dependencies constraints.
    preferences Prefered dependency versions.
    allow-newer Lift dependencies upper bound constaints.
    allow-older (since version: 2.0) Lift dependency lower bound constaints.
    index-state (since version: 2.0) Use source package index state as it existed at a previous time.
Package configuration options
    flags Enable or disable package flags.
    with-compiler Path to compiler executable.
    with-hc-pkg Specifies package tool.
    optimization Build with optimization.
    configure-options Options to pass to configure script.
    compiler Compiler to build with.
    tests Build tests.
    benchmarks Build benchmarks.
    extra-prog-path (since version: 1.18) Add directories to program search path.
    run-tests Run package test suite upon installation.
Object code options
    debug-info (since version: 1.22) Build with debug info enabled.
    split-sections (since version: 2.1) Use GHC's split sections feature.
    split-objs Use GHC's split objects feature.
    executable-stripping Strip installed programs.
    library-stripping (since version: 1.19) Strip installed libraries.
Executable options
    program-prefix Prepend prefix to program names.
    program-suffix Append refix to program names.
Dynamic linking options
    shared Build shared library.
    executable-dynamic Link executables dynamically.
    library-for-ghci Build libraries suitable for use with GHCi.
    relocatable (since version: 1.21) Build relocatable package.
Static linking options
    static Build static library.
Foreign function interface options
    extra-include-dirs Adds C header search path.
    extra-lib-dirs Adds library search directory.
    extra-framework-dirs Adds framework search directory (OS X only).
Profiling options
    profiling (since version: 1.21) Enable profiling builds.
    profiling-detail (since version: 1.23) Profiling detail level.
    library-profiling-detail (since version: 1.23) Libraries profiling detail level.
    library-vanilla Build libraries without profiling.
    library-profiling (since version: 1.21) Build libraries with profiling enabled.
    executable-profiling (since version: 1.21) Build executables with profiling enabled.
Coverage options
    coverage (since version: 1.21) Build with coverage enabled.
    library-coverage (deprecated)
Haddock options
    documentation Enable building of documentation.
    doc-index-file Path to haddock templates.
    haddock-hoogle Generate Hoogle file.
    haddock-html Build HTML documentation.
    haddock-html-location Haddock HTML templates location.
    haddock-executables Generate documentation for executables.
    haddock-tests Generate documentation for tests.
    haddock-benchmarks Generate documentation for benchmarks.
    haddock-all Generate documentation for everything
    haddock-internal Generate documentation for internal modules
    haddock-css Location of Haddoc CSS file.
    haddock-hyperlink-source Generate hyperlinked source code for documentation
    haddock-hscolour-css Location of CSS file for HsColour
    haddock-contents-location URL for contents page.
    haddock-keep-temp-files Keep temporary Haddock files.
Advanced global configuration options
    http-transport Transport to use with http(s) requests.
    ignore-expiry Ignore Hackage expiration dates.
    remote-repo-cache Location of packages cache.
    logs-dir Directory to store build logs.
    build-summary Build summaries location.
    local-repo (deprecated)
    world-file (deprecated)
Advanced solver options
    solver Which solver to use.
    max-backjumps Maximum number of solver backjumps.
    reorder-goals Allow solver to reorder goals.
    count-conflicts Solver prefers versions with less conflicts.
    strong-flags Do not defer flag choices when solving.
    allow-boot-library-installs Allow cabal to install or upgrade any package.
    cabal-lib-version Version of Cabal library used to build package.
 
cabal project flags
Global configuration options
    --verbose Build verbosity level.
    --jobs Number of builds running in parallel.
    --keep-going Try to continue building on failure.
Solver configuration options
    --constraint Extra dependencies constraints.
    --preference Prefered dependency versions.
    --allow-newer Lift dependencies upper bound constaints.
    --allow-older (since version: 2.0) Lift dependency lower bound constaints.
Package configuration options
    --flags Enable or disable package flags.
    --with-compiler Path to compiler executable.
    --with-hc-pkg Specifies package tool.
    --disable-optimization Build with optimization.
    --enable-optimization Build with optimization.
    --configure-option Options to pass to configure script.
    --compiler Compiler to build with.
    --disable-tests Build tests.
    --enable-tests Build tests.
    --enable-benchmarks Build benchmarks.
    --disable-benchmarks Build benchmarks.
    --extra-prog-path (since version: 1.18) Add directories to program search path.
    --run-tests Run package test suite upon installation.
Object code options
    --enable-debug-info (since version: 1.22) Build with debug info enabled.
    --disable-debug-info (since version: 1.22) Build with debug info enabled.
    --disable-split-sections (since version: 2.1) Use GHC's split sections feature.
    --enable-split-sections (since version: 2.1) Use GHC's split sections feature.
    --enable-split-objs Use GHC's split objects feature.
    --disable-split-objs Use GHC's split objects feature.
    --enable-executable-stripping Strip installed programs.
    --disable-executable-stripping Strip installed programs.
    --disable-library-stripping (since version: 1.19) Strip installed libraries.
    --enable-library-stripping (since version: 1.19) Strip installed libraries.
Executable options
    --program-prefix Prepend prefix to program names.
    --program-suffix Append refix to program names.
Dynamic linking options
    --enable-shared Build shared library.
    --disable-shared Build shared library.
    --enable-executable-dynamic Link executables dynamically.
    --disable-executable-dynamic Link executables dynamically.
    --disable-library-for-ghci Build libraries suitable for use with GHCi.
    --enable-library-for-ghci Build libraries suitable for use with GHCi.
    --relocatable (since version: 1.21) Build relocatable package.
Static linking options
    --disable-static Build static library.
    --enable-static Build static library.
Foreign function interface options
    --extra-include-dirs Adds C header search path.
    --extra-lib-dirs Adds library search directory.
    --extra-framework-dirs Adds framework search directory (OS X only).
Profiling options
    --enable-profiling (since version: 1.21) Enable profiling builds.
    --disable-profiling (since version: 1.21) Enable profiling builds.
    --profiling-detail (since version: 1.23) Profiling detail level.
    --library-profiling-detail (since version: 1.23) Libraries profiling detail level.
    --enable-library-vanilla Build libraries without profiling.
    --disable-library-vanilla Build libraries without profiling.
    --disable-library-profiling (since version: 1.21) Build libraries with profiling enabled.
    --enable-library-profiling (since version: 1.21) Build libraries with profiling enabled.
    --enable-executable-profiling (since version: 1.21) Build executables with profiling enabled.
    --disable-executable-profiling (since version: 1.21) Build executables with profiling enabled.
Coverage options
    --enable-coverage (since version: 1.21) Build with coverage enabled.
    --disable-coverage (since version: 1.21) Build with coverage enabled.
    --enable-library-coverage (deprecated)
    --disable-library-coverage (deprecated)
Haddock options
    --enable-documentation Enable building of documentation.
    --disable-documentation Enable building of documentation.
    --doc-index-file Path to haddock templates.
Advanced global configuration options
    --http-transport Transport to use with http(s) requests.
    --ignore-expiry Ignore Hackage expiration dates.
    --remote-repo-cache Location of packages cache.
    --logs-dir Directory to store build logs.
    --build-summary Build summaries location.
    --local-repo (deprecated)
    --world-file (deprecated)
Advanced solver options
    --solver Which solver to use.
    --max-backjumps Maximum number of solver backjumps.
    --no-reorder-goals Allow solver to reorder goals.
    --reorder-goals Allow solver to reorder goals.
    --no-count-conflicts Solver prefers versions with less conflicts.
    --count-conflicts Solver prefers versions with less conflicts.
    --no-strong-flags Do not defer flag choices when solving.
    --strong-flags Do not defer flag choices when solving.
    --no-allow-boot-library-installs Allow cabal to install or upgrade any package.
    --allow-boot-library-installs Allow cabal to install or upgrade any package.
    --cabal-lib-version Version of Cabal library used to build package.
 
package.cabal fields
Package properties
    name
    version
    cabal-version
    build-type
    license
    license-file
    license-files
    copyright
    author
    maintainer
    stability
    homepage
    bug-reports
    package-url
    synopsis
    description
    category
    tested-with
    data-files
    data-dir
    extra-source-files
    extra-doc-files
    extra-tmp-files
Library
    library Library build information.
    exposed-modules
    virtual-modules
    exposed
    reexported-modules
Executables
    executable Executable build info section.
    main-is
    scope (since version: 2.0)
Test suites
    test-suite Test suite build information.
    type
    main-is Module containing tests main function.
    test-module
Benchmarks
    benchmark (since version: 1.9.2) Benchmark build information.
    type
    main-is
Foreign libraries
    foreign-library (since version: 2.0) Foriegn library build information.
    type
    options
    mod-def-file
    lib-version-info
    lib-version-linux
Build information
    build-depends
    other-modules
    hs-source-dirs
    default-extensions
    other-extensions
    extensions (deprecated)
    build-tool-depends (since version: 2.0)
    build-tools (deprecated)
    buildable
    ghc-options
    ghc-prof-options
    ghc-shared-options
    includes
    install-includes
    include-dirs
    c-sources
    cxx-sources
    asm-sources
    cmm-sources
    js-sources
    extra-libraries
    extra-ghci-libraries
    extra-bundled-libraries
    extra-lib-dirs
    cc-options
    cpp-options
    cxx-options
    ld-options
    pkgconfig-depends
    frameworks
    extra-frameworks-dirs
Configuration Flags
    flag Flag declaration.
    description
    default
    manual
Common stanzas
    common (since version: 2.2) Common build info section
Source Repositories
    source-repository (since version: 1.6)
    type
    location
    module
    branch
    tag
    subdir
Custom setup scripts
    custom-setup (since version: 1.24) Custom Setup.hs build information.
    setup-depends (since version: 1.24)
Autogenerated modules
    autogen-modules (since version: 2.0)