| ghc-6.10.4: The GHC API | Contents | Index
PackageConfig
Contents
PackageId The PackageConfig type: information about a package
Description
Package configuration information: essentially the interface to Cabal, with some utilities
Synopsis
mkPackageId :: PackageIdentifier -> PackageId
packageConfigId :: PackageConfig -> PackageId
unpackPackageId :: PackageId -> Maybe PackageIdentifier
type PackageConfig = InstalledPackageInfo_ ModuleName
InstalledPackageInfo_ (InstalledPackageInfo, package, license, copyright, maintainer, author, stability, homepage, pkgUrl, description, category, exposed, exposedModules, hiddenModules, importDirs, libraryDirs, hsLibraries, extraLibraries, extraGHCiLibraries, includeDirs, includes, depends, hugsOptions, ccOptions, ldOptions, frameworkDirs, frameworks, haddockInterfaces, haddockHTMLs)
display
Version (Version, versionBranch, versionTags)
PackageIdentifier (PackageIdentifier, pkgName, pkgVersion)
defaultPackageConfig :: PackageConfig
packageConfigToInstalledPackageInfo :: PackageConfig -> InstalledPackageInfo
installedPackageInfoToPackageConfig :: InstalledPackageInfo -> PackageConfig
Documentation
Mostly the compiler deals in terms of `PackageName`s, which don't have the version suffix. This is so that we don't need to know the version for the `-package-name` flag, or know the versions of wired-in packages like `base` & `rts`. Versions are confined to the package sub-system. This means that in theory you could have multiple base packages installed (for example), and switch between them using `-package`/`-hide-package`. A `PackageId` is a string of the form `pkg>-<version`.
PackageId
mkPackageId :: PackageIdentifier -> PackageId
Turn a Cabal `PackageIdentifier` into a GHC `PackageId`
packageConfigId :: PackageConfig -> PackageId
Get the GHC `PackageId` right out of a Cabalish `PackageConfig`
unpackPackageId :: PackageId -> Maybe PackageIdentifier
Try and interpret a GHC `PackageId` as a cabal PackageIdentifer. Returns `Nothing` if we could not parse it as such an object.
The PackageConfig type: information about a package
type PackageConfig = InstalledPackageInfo_ ModuleName
InstalledPackageInfo_ (InstalledPackageInfo, package, license, copyright, maintainer, author, stability, homepage, pkgUrl, description, category, exposed, exposedModules, hiddenModules, importDirs, libraryDirs, hsLibraries, extraLibraries, extraGHCiLibraries, includeDirs, includes, depends, hugsOptions, ccOptions, ldOptions, frameworkDirs, frameworks, haddockInterfaces, haddockHTMLs)
display
Version (Version, versionBranch, versionTags)
PackageIdentifier (PackageIdentifier, pkgName, pkgVersion)
defaultPackageConfig :: PackageConfig
packageConfigToInstalledPackageInfo :: PackageConfig -> InstalledPackageInfo
Turn a `PackageConfig`, which contains GHC `ModuleName`s into a Cabal specific `InstalledPackageInfo` which contains Cabal `ModuleName`s
installedPackageInfoToPackageConfig :: InstalledPackageInfo -> PackageConfig
Turn an `InstalledPackageInfo`, which contains Cabal `ModuleName`s into a GHC specific `PackageConfig` which contains GHC `ModuleName`s
Produced by Haddock version 2.4.2