Cabal-1.3.10: A framework for packaging Haskell softwareContentsIndex
Distribution.PackageDescription.Configuration
Portabilityportable
Stabilityalpha
MaintainerIsaac Jones <ijones@syntaxpolice.org>
Description
Configurations
Synopsis
finalizePackageDescription :: Package pkg => [(String, Bool)] -> Maybe (PackageIndex pkg) -> OS -> Arch -> (CompilerFlavor, Version) -> GenericPackageDescription -> Either [Dependency] (PackageDescription, [(String, Bool)])
flattenPackageDescription :: GenericPackageDescription -> PackageDescription
parseCondition :: ReadP r (Condition ConfVar)
freeVars :: CondTree ConfVar c a -> [String]
Documentation
finalizePackageDescription
:: Package pkg
=> [(String, Bool)]Explicitly specified flag assignments
-> Maybe (PackageIndex pkg)Available dependencies. Pass Nothing if this is unknown.
-> OSOS-name
-> ArchArch-name
-> (CompilerFlavor, Version)Compiler + Version
-> GenericPackageDescription
-> Either [Dependency] (PackageDescription, [(String, Bool)])Either missing dependencies or the resolved package description along with the flag assignments chosen.
flattenPackageDescription :: GenericPackageDescription -> PackageDescription

Flatten a generic package description by ignoring all conditions and just join the field descriptors into on package description. Note, however, that this may lead to inconsistent field values, since all values are joined into one field, which may not be possible in the original package description, due to the use of exclusive choices (if ... else ...).

XXX: One particularly tricky case is defaulting. In the original package description, e.g., the source dirctory might either be the default or a certain, explicitly set path. Since defaults are filled in only after the package has been resolved and when no explicit value has been set, the default path will be missing from the package description returned by this function.

parseCondition :: ReadP r (Condition ConfVar)
Parse a configuration condition from a string.
freeVars :: CondTree ConfVar c a -> [String]
Produced by Haddock version 0.8