| Cabal-1.6.0.3: A framework for packaging Haskell software | Source code | Contents | Index

Distribution.Simple.Build

Portability | portable
Maintainer | cabal-devel@haskell.org

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.

There's some stuff to do with generating `makefiles` which is a well hidden feature that's used to build libraries inside the GHC build system but which we'd like to kill off and replace with something better (doing our own dependency analysis properly).

Synopsis

build :: PackageDescription -> LocalBuildInfo -> BuildFlags -> [PPSuffixHandler] -> IO ()
makefile :: PackageDescription -> LocalBuildInfo -> MakefileFlags -> [PPSuffixHandler] -> IO ()
initialBuildSteps :: FilePath -> PackageDescription -> LocalBuildInfo -> Verbosity -> [PPSuffixHandler] -> IO ()
writeAutogenFiles :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()

Documentation

build | Source

:: 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.

makefile | Source

:: PackageDescription | mostly information from the .cabal file
-> LocalBuildInfo | Configuration information
-> MakefileFlags | Flags that the user passed to makefile
-> [PPSuffixHandler] | preprocessors to run before compiling
-> IO () |

initialBuildSteps | Source

:: FilePath | dist prefix
-> PackageDescription | mostly information from the .cabal file
-> LocalBuildInfo | Configuration information
-> Verbosity | The verbosity to use
-> [PPSuffixHandler] | preprocessors to run before compiling
-> IO () |

writeAutogenFiles :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO () | Source

Generate and write out the Paths_pkg.hs and cabal_macros.h files
Produced by Haddock version 2.4.2