| Cabal-1.6.0.3: A framework for packaging Haskell software | Source code | Contents | Index
Distribution.Simple.Configure |
Portability | portable
Maintainer | cabal-devel@haskell.org
Description
This deals with the configure phase. It provides the `configure` action which is given the package description and configure flags. It then tries to: configure the compiler; resolves any conditionals in the package description; resolve the package dependencies; check if all the extensions used by this package are supported by the compiler; check that all the build tools are available (including version checks if appropriate); checks for any required `pkg-config` packages (updating the `BuildInfo` with the results) Then based on all this it saves the info in the `LocalBuildInfo` and writes it out to the `dist/setup-config` file. It also displays various details to the user, the amount of information displayed depending on the verbosity level.
Synopsis
configure :: (Either GenericPackageDescription PackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo
writePersistBuildConfig :: FilePath -> LocalBuildInfo -> IO ()
getPersistBuildConfig :: FilePath -> IO LocalBuildInfo
checkPersistBuildConfig :: FilePath -> FilePath -> IO ()
maybeGetPersistBuildConfig :: FilePath -> IO (Maybe LocalBuildInfo)
localBuildInfoFile :: FilePath -> FilePath
getInstalledPackages :: Verbosity -> Compiler -> PackageDB -> ProgramConfiguration -> IO (Maybe (PackageIndex InstalledPackageInfo))
configDependency :: Verbosity -> PackageIndex InstalledPackageInfo -> Dependency -> IO PackageIdentifier
configCompiler :: Maybe CompilerFlavor -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> Verbosity -> IO (Compiler, ProgramConfiguration)
configCompilerAux :: ConfigFlags -> IO (Compiler, ProgramConfiguration)
ccLdOptionsBuildInfo :: [String] -> [String] -> BuildInfo
tryGetConfigStateFile :: Read a => FilePath -> IO (Either String a)
checkForeignDeps :: PackageDescription -> LocalBuildInfo -> Verbosity -> IO ()
Documentation
configure :: (Either GenericPackageDescription PackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo | Source
Perform the "`./setup configure`" action. Returns the `.setup-config` file.
writePersistBuildConfig :: FilePath -> LocalBuildInfo -> IO () | Source
After running configure, output the `LocalBuildInfo` to the `localBuildInfoFile`.
getPersistBuildConfig :: FilePath -> IO LocalBuildInfo | Source
Read the `localBuildInfoFile`. Error if it doesn't exist. Also fail if the file containing LocalBuildInfo is older than the .cabal file, indicating that a re-configure is required.
checkPersistBuildConfig :: FilePath -> FilePath -> IO () | Source
Check that localBuildInfoFile is up-to-date with respect to the .cabal file.
maybeGetPersistBuildConfig :: FilePath -> IO (Maybe LocalBuildInfo) | Source
Try to read the `localBuildInfoFile`.
localBuildInfoFile :: FilePath -> FilePath | Source
    dist/setup-config
getInstalledPackages :: Verbosity -> Compiler -> PackageDB -> ProgramConfiguration -> IO (Maybe (PackageIndex InstalledPackageInfo)) | Source
configDependency :: Verbosity -> PackageIndex InstalledPackageInfo -> Dependency -> IO PackageIdentifier | Source
Test for a package dependency and record the version we have installed.
configCompiler :: Maybe CompilerFlavor -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> Verbosity -> IO (Compiler, ProgramConfiguration) | Source
configCompilerAux :: ConfigFlags -> IO (Compiler, ProgramConfiguration) | Source
ccLdOptionsBuildInfo :: [String] -> [String] -> BuildInfo | Source
Makes a `BuildInfo` from C compiler and linker flags. This can be used with the output from configuration programs like pkg-config and similar package-specific programs like mysql-config, freealut-config etc. For example:
     ccflags <- rawSystemProgramStdoutConf verbosity prog conf ["--cflags"]
     ldflags <- rawSystemProgramStdoutConf verbosity prog conf ["--libs"]
     return (ccldOptionsBuildInfo (words ccflags) (words ldflags))
tryGetConfigStateFile :: Read a => FilePath -> IO (Either String a) | Source
checkForeignDeps :: PackageDescription -> LocalBuildInfo -> Verbosity -> IO () | Source
Produced by Haddock version 2.4.2