HORIZON HASKELLDocslts/ghc-10.0.xaa25b892026-10-10Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · aa25b89 · 2026-10-10

ModuleCabal-3.18.1.0Haskell2010

Distribution.Simple.Build

This is the entry point to actually building the modules in a package. It doesn't actually do much itself, most of the work is delegated to compiler-specific actions. It does do some non-compiler specific bits like running pre-processors.

  • 2 types
  • 15 values
  • PackageCabal-3.18.1.0
  • Exports17
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceBuild.hs

Build

3 declarations

Repl

3 declarations

Build preparation

7 declarations

Legacy functions

valuecomponentInitialBuildSteps
  1. :: FilePath

    "dist" prefix

  2. -> PackageDescription

    mostly information from the .cabal file

  3. -> LocalBuildInfo

    Configuration information

  4. -> ComponentLocalBuildInfo

    Build info about the component

  5. -> Verbosity

    The verbosity to use

  6. -> IO ()
#

Deprecated. This function does not prepare all source files for a component. Suggestion: use 'Setup repl compName --repl-multi-file=fn'.

Creates the autogenerated files for a particular configured component.

Legacy function: does not run pre-build hooks or pre-processors. This function is insufficient on its own to prepare the build for a component.

Consumers wanting to prepare the sources of a component, e.g. in order to launch a REPL session, are advised to run Setup repl compName --repl-multi-file=fn instead.

valueinitialBuildSteps
  1. :: FilePath

    "dist" prefix

  2. -> PackageDescription

    mostly information from the .cabal file

  3. -> LocalBuildInfo

    Configuration information

  4. -> Verbosity

    The verbosity to use

  5. -> IO ()
#

Deprecated. This function does not prepare all source files for a package. Suggestion: use 'Setup repl --repl-multi-file=fn'.

Runs componentInitialBuildSteps on every configured component.

Legacy function: does not run pre-build hooks or pre-processors. This function is insufficient on its own to prepare the build for a package.

Consumers wanting to prepare the sources of a package, e.g. in order to launch a REPL session, are advised to run Setup repl --repl-multi-file=fn instead.

Internal package database creation

1 declaration

Handling of internal build tools

1 declaration

Update the program database to include any build-tool-depends specified in the given BuildInfo on build tools internal to the current package.

This function:

  • adds these internal build tools to the ProgramDb, including paths to their respective data directories,

  • adds their paths to the current progSearchPath, and adds the data directory environment variable for the current package to the current progOverrideEnv, so that any programs configured from now on will be able to invoke these build tools.