| 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