Cabal-1.8.0.6: A framework for packaging Haskell softwareSource codeContentsIndex
Distribution.Simple.LocalBuildInfo
Portabilityportable
Maintainercabal-devel@haskell.org
Contents
Installation directories
Deprecated
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
libraryConfig :: Maybe ComponentLocalBuildInfo
executableConfigs :: [(String, ComponentLocalBuildInfo)]
installedPkgs :: PackageIndex
pkgDescrFile :: Maybe FilePath
localPkgDescr :: PackageDescription
withPrograms :: ProgramConfiguration
withPackageDB :: PackageDBStack
withVanillaLib :: Bool
withProfLib :: Bool
withSharedLib :: Bool
withProfExe :: Bool
withOptimization :: OptimisationLevel
withGHCiLib :: Bool
splitObjs :: Bool
stripExes :: Bool
progPrefix :: PathTemplate
progSuffix :: PathTemplate
}
externalPackageDeps :: LocalBuildInfo -> [(InstalledPackageId, PackageId)]
withLibLBI :: PackageDescription -> LocalBuildInfo -> (Library -> ComponentLocalBuildInfo -> IO ()) -> IO ()
withExeLBI :: PackageDescription -> LocalBuildInfo -> (Executable -> ComponentLocalBuildInfo -> IO ()) -> IO ()
data ComponentLocalBuildInfo = ComponentLocalBuildInfo {
componentPackageDeps :: [(InstalledPackageId, PackageId)]
}
module Distribution.Simple.InstallDirs
absoluteInstallDirs :: PackageDescription -> LocalBuildInfo -> CopyDest -> InstallDirs FilePath
prefixRelativeInstallDirs :: PackageId -> LocalBuildInfo -> InstallDirs (Maybe FilePath)
substPathTemplate :: PackageId -> LocalBuildInfo -> PathTemplate -> FilePath
packageDeps :: LocalBuildInfo -> [PackageId]
Documentation
data LocalBuildInfo Source
Data cached after configuration step. See also Distribution.Setup.ConfigFlags.
Constructors
LocalBuildInfo
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.
libraryConfig :: Maybe ComponentLocalBuildInfo
executableConfigs :: [(String, ComponentLocalBuildInfo)]
installedPkgs :: PackageIndexAll 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 :: PackageDBStackWhat 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
externalPackageDeps :: LocalBuildInfo -> [(InstalledPackageId, PackageId)]Source
External package dependencies for the package as a whole, the union of the individual targetPackageDeps.
withLibLBI :: PackageDescription -> LocalBuildInfo -> (Library -> ComponentLocalBuildInfo -> IO ()) -> IO ()Source
If the package description has a library section, call the given function with the library build info as argument. Extended version of withLib that also gives corresponding build info.
withExeLBI :: PackageDescription -> LocalBuildInfo -> (Executable -> ComponentLocalBuildInfo -> IO ()) -> IO ()Source
Perform the action on each buildable Executable in the package description. Extended version of withExe that also gives corresponding build info.
data ComponentLocalBuildInfo Source
Constructors
ComponentLocalBuildInfo
componentPackageDeps :: [(InstalledPackageId, PackageId)]Resolved internal and external package dependencies for this component. The BuildInfo 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.
show/hide Instances
Installation directories
module Distribution.Simple.InstallDirs
absoluteInstallDirs :: PackageDescription -> LocalBuildInfo -> CopyDest -> InstallDirs FilePathSource
See absoluteInstallDirs
prefixRelativeInstallDirs :: PackageId -> LocalBuildInfo -> InstallDirs (Maybe FilePath)Source
See prefixRelativeInstallDirs
substPathTemplate :: PackageId -> LocalBuildInfo -> PathTemplate -> FilePathSource
Deprecated
packageDeps :: LocalBuildInfo -> [PackageId]Source
Produced by Haddock version 2.6.1