Cabal-3.0.2.0: A framework for packaging Haskell software
CopyrightIsaac Jones 2003-2005
Ross Paterson 2006
Duncan Coutts 2007-2008 2012
LicenseBSD3
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Distribution.Simple.Build

Description

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.

Synopsis

Documentation

build Source #

Arguments

:: PackageDescription

Mostly information from the .cabal file

-> LocalBuildInfo

Configuration information

-> BuildFlags

Flags that the user passed to build

-> [PPSuffixHandler]

preprocessors to run before compiling

-> IO () 

Build the libraries and executables in this package.

showBuildInfo Source #

Arguments

:: PackageDescription

Mostly information from the .cabal file

-> LocalBuildInfo

Configuration information

-> BuildFlags

Flags that the user passed to build

-> IO String 

repl Source #

Arguments

:: PackageDescription

Mostly information from the .cabal file

-> LocalBuildInfo

Configuration information

-> ReplFlags

Flags that the user passed to build

-> [PPSuffixHandler]

preprocessors to run before compiling

-> [String] 
-> IO () 

startInterpreter :: Verbosity -> ProgramDb -> Compiler -> Platform -> PackageDBStack -> IO () Source #

Start an interpreter without loading any package files.

initialBuildSteps Source #

Arguments

:: FilePath

"dist" prefix

-> PackageDescription

mostly information from the .cabal file

-> LocalBuildInfo

Configuration information

-> Verbosity

The verbosity to use

-> IO () 

Runs componentInitialBuildSteps on every configured component.

createInternalPackageDB :: Verbosity -> LocalBuildInfo -> FilePath -> IO PackageDB Source #

Initialize a new package db file for libraries defined internally to the package.

componentInitialBuildSteps Source #

Arguments

:: FilePath

"dist" prefix

-> PackageDescription

mostly information from the .cabal file

-> LocalBuildInfo

Configuration information

-> ComponentLocalBuildInfo 
-> Verbosity

The verbosity to use

-> IO () 

Creates the autogenerated files for a particular configured component.

writeAutogenFiles :: Verbosity -> PackageDescription -> LocalBuildInfo -> ComponentLocalBuildInfo -> IO () Source #

Generate and write out the Paths_pkg.hs and cabal_macros.h files