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

Distribution.Simple.LocalBuildInfo

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

Contents

Installation directories

Description

Once a package has been configured we have resolved conditionals and dependencies, configured the compiler and other needed external programs. The `LocalBuildInfo` is used to hold all this information. It holds the install dirs, the compiler, the exact package dependencies, the configured programs, the package database to use and a bunch of miscellaneous configure flags. It gets saved and reloaded from a file (`dist/setup-config`). It gets passed in to very many subsequent build actions.

Synopsis

data LocalBuildInfo = LocalBuildInfo {

installDirTemplates :: InstallDirTemplates
compiler :: Compiler
buildDir :: FilePath
scratchDir :: FilePath
packageDeps :: [PackageIdentifier]
installedPkgs :: PackageIndex InstalledPackageInfo
pkgDescrFile :: Maybe FilePath
localPkgDescr :: PackageDescription
withPrograms :: ProgramConfiguration
withPackageDB :: PackageDB
withVanillaLib :: Bool
withProfLib :: Bool
withSharedLib :: Bool
withProfExe :: Bool
withOptimization :: OptimisationLevel
withGHCiLib :: Bool
splitObjs :: Bool
stripExes :: Bool
progPrefix :: PathTemplate
progSuffix :: PathTemplate

}

module Distribution.Simple.InstallDirs
absoluteInstallDirs :: PackageDescription -> LocalBuildInfo -> CopyDest -> InstallDirs FilePath
prefixRelativeInstallDirs :: PackageDescription -> LocalBuildInfo -> InstallDirs (Maybe FilePath)
substPathTemplate :: PackageDescription -> LocalBuildInfo -> PathTemplate -> FilePath

Documentation

data LocalBuildInfo | Source

Data cached after configuration step. See also Distribution.Setup.ConfigFlags.
Constructors

LocalBuildInfo |

installDirTemplates :: InstallDirTemplates | The installation directories for the various differnt kinds of files
compiler :: Compiler | The compiler we're building with
buildDir :: FilePath | Where to build the package.
scratchDir :: FilePath | Where to put the result of the Hugs build.
packageDeps :: [PackageIdentifier] | Which packages we depend on, exactly. The `PackageDescription` specifies a set of build dependencies that must be satisfied in terms of version ranges. This field fixes those dependencies to the specific versions available on this machine for this compiler.
installedPkgs :: PackageIndex InstalledPackageInfo | All the info about all installed packages.
pkgDescrFile :: Maybe FilePath | the filename containing the .cabal file, if available
localPkgDescr :: PackageDescription | The resolved package description, that does not contain any conditionals.
withPrograms :: ProgramConfiguration | Location and args for all programs
withPackageDB :: PackageDB | What package database to use, global/user
withVanillaLib :: Bool | Whether to build normal libs.
withProfLib :: Bool | Whether to build profiling versions of libs.
withSharedLib :: Bool | Whether to build shared versions of libs.
withProfExe :: Bool | Whether to build executables for profiling.
withOptimization :: OptimisationLevel | Whether to build with optimization (if available).
withGHCiLib :: Bool | Whether to build libs suitable for use with GHCi.
splitObjs :: Bool | Use -split-objs with GHC, if available
stripExes :: Bool | Whether to strip executables during install
progPrefix :: PathTemplate | Prefix to be prepended to installed executables
progSuffix :: PathTemplate | Suffix to be appended to installed executables

Instances

Read LocalBuildInfo
Show LocalBuildInfo

Installation directories
module Distribution.Simple.InstallDirs

absoluteInstallDirs :: PackageDescription -> LocalBuildInfo -> CopyDest -> InstallDirs FilePath | Source

See `absoluteInstallDirs`

prefixRelativeInstallDirs :: PackageDescription -> LocalBuildInfo -> InstallDirs (Maybe FilePath) | Source

See `prefixRelativeInstallDirs`

substPathTemplate :: PackageDescription -> LocalBuildInfo -> PathTemplate -> FilePath | Source

Produced by Haddock version 2.4.2