ghc-6.12.3: The GHC APIContentsIndex
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
type PackageConfig = InstalledPackageInfo_ ModuleName
data InstalledPackageInfo_ m = InstalledPackageInfo {
installedPackageId :: InstalledPackageId
sourcePackageId :: PackageId
license :: License
copyright :: String
maintainer :: String
author :: String
stability :: String
homepage :: String
pkgUrl :: String
description :: String
category :: String
exposed :: Bool
exposedModules :: [m]
hiddenModules :: [m]
importDirs :: [FilePath]
libraryDirs :: [FilePath]
hsLibraries :: [String]
extraLibraries :: [String]
extraGHCiLibraries :: [String]
includeDirs :: [FilePath]
includes :: [String]
depends :: [InstalledPackageId]
hugsOptions :: [String]
ccOptions :: [String]
ldOptions :: [String]
frameworkDirs :: [FilePath]
frameworks :: [String]
haddockInterfaces :: [FilePath]
haddockHTMLs :: [FilePath]
}
display :: Text a => a -> String
Version
data PackageIdentifier = PackageIdentifier {
pkgName :: PackageName
pkgVersion :: Version
}
defaultPackageConfig :: PackageConfig
packageConfigToInstalledPackageInfo :: PackageConfig -> InstalledPackageInfo
installedPackageInfoToPackageConfig :: InstalledPackageInfo_ String -> PackageConfig
Documentation

Mostly the compiler deals in terms of PackageNames, 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
The PackageConfig type: information about a package
type PackageConfig = InstalledPackageInfo_ ModuleName
data InstalledPackageInfo_ m
Constructors
InstalledPackageInfo
installedPackageId :: InstalledPackageId
sourcePackageId :: PackageId
license :: License
copyright :: String
maintainer :: String
author :: String
stability :: String
homepage :: String
pkgUrl :: String
description :: String
category :: String
exposed :: Bool
exposedModules :: [m]
hiddenModules :: [m]
importDirs :: [FilePath]
libraryDirs :: [FilePath]
hsLibraries :: [String]
extraLibraries :: [String]
extraGHCiLibraries :: [String]
includeDirs :: [FilePath]
includes :: [String]
depends :: [InstalledPackageId]
hugsOptions :: [String]
ccOptions :: [String]
ldOptions :: [String]
frameworkDirs :: [FilePath]
frameworks :: [String]
haddockInterfaces :: [FilePath]
haddockHTMLs :: [FilePath]
display :: Text a => a -> String
Version
data PackageIdentifier
The name and version of a package.
Constructors
PackageIdentifier
pkgName :: PackageNameThe name of this package, eg. foo
pkgVersion :: Versionthe version of this package, eg 1.2
defaultPackageConfig :: PackageConfig
packageConfigToInstalledPackageInfo :: PackageConfig -> InstalledPackageInfo
Turn a PackageConfig, which contains GHC ModuleNames into a Cabal specific InstalledPackageInfo which contains Cabal ModuleNames
installedPackageInfoToPackageConfig :: InstalledPackageInfo_ String -> PackageConfig
Turn an InstalledPackageInfo, which contains Cabal ModuleNames into a GHC specific PackageConfig which contains GHC ModuleNames
Produced by Haddock version 2.6.1