Cabal- A framework for packaging Haskell softwareSource codeContentsIndex
Installation directories
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.
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
data LocalBuildInfo Source
Data cached after configuration step. See also Distribution.Setup.ConfigFlags.
installDirTemplates :: InstallDirTemplatesThe installation directories for the various differnt kinds of files
compiler :: CompilerThe compiler we're building with
buildDir :: FilePathWhere to build the package.
scratchDir :: FilePathWhere 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 InstalledPackageInfoAll the info about all installed packages.
pkgDescrFile :: Maybe FilePaththe filename containing the .cabal file, if available
localPkgDescr :: PackageDescriptionThe resolved package description, that does not contain any conditionals.
withPrograms :: ProgramConfigurationLocation and args for all programs
withPackageDB :: PackageDBWhat package database to use, global/user
withVanillaLib :: BoolWhether to build normal libs.
withProfLib :: BoolWhether to build profiling versions of libs.
withSharedLib :: BoolWhether to build shared versions of libs.
withProfExe :: BoolWhether to build executables for profiling.
withOptimization :: OptimisationLevelWhether to build with optimization (if available).
withGHCiLib :: BoolWhether to build libs suitable for use with GHCi.
splitObjs :: BoolUse -split-objs with GHC, if available
stripExes :: BoolWhether to strip executables during install
progPrefix :: PathTemplatePrefix to be prepended to installed executables
progSuffix :: PathTemplateSuffix to be appended to installed executables
show/hide Instances
Installation directories
module Distribution.Simple.InstallDirs
absoluteInstallDirs :: PackageDescription -> LocalBuildInfo -> CopyDest -> InstallDirs FilePathSource
See absoluteInstallDirs
prefixRelativeInstallDirs :: PackageDescription -> LocalBuildInfo -> InstallDirs (Maybe FilePath)Source
See prefixRelativeInstallDirs
substPathTemplate :: PackageDescription -> LocalBuildInfo -> PathTemplate -> FilePathSource
Produced by Haddock version 2.4.2