Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 1172

ghc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Distribution.PackageDescription</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Distribution-PackageDescription.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>Cabal-1.6.0.3: A framework for packaging Haskell software</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Distribution.PackageDescription</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>cabal-devel@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Package descriptions
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Libraries
</A
></DT
><DT
><A HREF="#3"
>Executables
</A
></DT
></DL
></DD
><DT
><A HREF="#4"
>Build information
</A
></DT
><DD
><DL
><DT
><A HREF="#5"
>Supplementary build information
</A
></DT
></DL
></DD
><DT
><A HREF="#6"
>package configuration
</A
></DT
><DT
><A HREF="#7"
>Source repositories
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>This defines the data structure for the <TT
>.cabal</TT
> file format. There are
 several parts to this structure. It has top level info and then <TT
><A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TT
>
 and <TT
><A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TT
> sections each of which have associated <TT
><A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TT
> data
 that's used to build the library or exe. To further complicate things there
 is both a <TT
><A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TT
> and a <TT
><A HREF="Distribution-PackageDescription.html#t%3AGenericPackageDescription"
>GenericPackageDescription</A
></TT
>. This
 distinction relates to cabal configurations. When we initially read a
 <TT
>.cabal</TT
> file we get a <TT
><A HREF="Distribution-PackageDescription.html#t%3AGenericPackageDescription"
>GenericPackageDescription</A
></TT
> which has all the
 conditional sections. Before actually building a package we have to decide
 on each conditional. Once we've done that we get a <TT
><A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TT
>.
 It was done this way initially to avoid breaking too much stuff when the
 feature was introduced. It could probably do with being rationalised at some
 point to make it simpler.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APackageDescription"
>PackageDescription</A
>  = <A HREF="#v%3APackageDescription"
>PackageDescription</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apackage"
>package</A
> :: <A HREF="Distribution-Package.html#t%3APackageIdentifier"
>PackageIdentifier</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Alicense"
>license</A
> :: <A HREF="Distribution-License.html#t%3ALicense"
>License</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AlicenseFile"
>licenseFile</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acopyright"
>copyright</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Amaintainer"
>maintainer</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aauthor"
>author</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Astability"
>stability</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtestedWith"
>testedWith</A
> :: [(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
>, <A HREF="Distribution-Version.html#t%3AVersionRange"
>VersionRange</A
>)]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahomepage"
>homepage</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ApkgUrl"
>pkgUrl</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AbugReports"
>bugReports</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AsourceRepos"
>sourceRepos</A
> :: [<A HREF="Distribution-PackageDescription.html#t%3ASourceRepo"
>SourceRepo</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Asynopsis"
>synopsis</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Adescription"
>description</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acategory"
>category</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcustomFieldsPD"
>customFieldsPD</A
> :: [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AbuildDepends"
>buildDepends</A
> :: [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdescCabalVersion"
>descCabalVersion</A
> :: <A HREF="Distribution-Version.html#t%3AVersionRange"
>VersionRange</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AbuildType"
>buildType</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Alibrary"
>library</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aexecutables"
>executables</A
> :: [<A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdataFiles"
>dataFiles</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdataDir"
>dataDir</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AextraSrcFiles"
>extraSrcFiles</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AextraTmpFiles"
>extraTmpFiles</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyPackageDescription"
>emptyPackageDescription</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ABuildType"
>BuildType</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ASimple"
>Simple</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AConfigure"
>Configure</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMake"
>Make</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACustom"
>Custom</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnknownBuildType"
>UnknownBuildType</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AknownBuildTypes"
>knownBuildTypes</A
> :: [<A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ALibrary"
>Library</A
>  = <A HREF="#v%3ALibrary"
>Library</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AexposedModules"
>exposedModules</A
> :: [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AlibExposed"
>libExposed</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AlibBuildInfo"
>libBuildInfo</A
> :: <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyLibrary"
>emptyLibrary</A
> :: <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithLib"
>withLib</A
> ::  <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; a -&gt; (<A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhasLibs"
>hasLibs</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlibModules"
>libModules</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AExecutable"
>Executable</A
>  = <A HREF="#v%3AExecutable"
>Executable</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AexeName"
>exeName</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmodulePath"
>modulePath</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AbuildInfo"
>buildInfo</A
> :: <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyExecutable"
>emptyExecutable</A
> :: <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithExe"
>withExe</A
> ::  <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; (<A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhasExes"
>hasExes</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AexeModules"
>exeModules</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ABuildInfo"
>BuildInfo</A
>  = <A HREF="#v%3ABuildInfo"
>BuildInfo</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Abuildable"
>buildable</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AbuildTools"
>buildTools</A
> :: [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcppOptions"
>cppOptions</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AccOptions"
>ccOptions</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AldOptions"
>ldOptions</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ApkgconfigDepends"
>pkgconfigDepends</A
> :: [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aframeworks"
>frameworks</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcSources"
>cSources</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhsSourceDirs"
>hsSourceDirs</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AotherModules"
>otherModules</A
> :: [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aextensions"
>extensions</A
> :: [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AextraLibs"
>extraLibs</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AextraLibDirs"
>extraLibDirs</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AincludeDirs"
>includeDirs</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aincludes"
>includes</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AinstallIncludes"
>installIncludes</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aoptions"
>options</A
> :: [(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
>, [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>])]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AghcProfOptions"
>ghcProfOptions</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AghcSharedOptions"
>ghcSharedOptions</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcustomFieldsBI"
>customFieldsBI</A
> :: [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyBuildInfo"
>emptyBuildInfo</A
> :: <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AallBuildInfo"
>allBuildInfo</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; [<A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhcOptions"
>hcOptions</A
> :: <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
> -&gt; <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
> -&gt; [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AHookedBuildInfo"
>HookedBuildInfo</A
> = (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
>, [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
>)])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyHookedBuildInfo"
>emptyHookedBuildInfo</A
> :: <A HREF="Distribution-PackageDescription.html#t%3AHookedBuildInfo"
>HookedBuildInfo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AupdatePackageDescription"
>updatePackageDescription</A
> :: <A HREF="Distribution-PackageDescription.html#t%3AHookedBuildInfo"
>HookedBuildInfo</A
> -&gt; <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGenericPackageDescription"
>GenericPackageDescription</A
>  = <A HREF="#v%3AGenericPackageDescription"
>GenericPackageDescription</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3ApackageDescription"
>packageDescription</A
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AgenPackageFlags"
>genPackageFlags</A
> :: [<A HREF="Distribution-PackageDescription.html#t%3AFlag"
>Flag</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcondLibrary"
>condLibrary</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> <A HREF="Distribution-PackageDescription.html#t%3AConfVar"
>ConfVar</A
> [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>] <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
>)</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcondExecutables"
>condExecutables</A
> :: [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> <A HREF="Distribution-PackageDescription.html#t%3AConfVar"
>ConfVar</A
> [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>] <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
>)]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AFlag"
>Flag</A
>  = <A HREF="#v%3AMkFlag"
>MkFlag</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AflagName"
>flagName</A
> :: <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AflagDescription"
>flagDescription</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AflagDefault"
>flagDefault</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AflagManual"
>flagManual</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>newtype</SPAN
>  <A HREF="#t%3AFlagName"
>FlagName</A
>  = <A HREF="#v%3AFlagName"
>FlagName</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFlagAssignment"
>FlagAssignment</A
> = [(<A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ACondTree"
>CondTree</A
> v c a = <A HREF="#v%3ACondNode"
>CondNode</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcondTreeData"
>condTreeData</A
> :: a</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcondTreeConstraints"
>condTreeConstraints</A
> :: c</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcondTreeComponents"
>condTreeComponents</A
> :: [(<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> v, <A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> v c a, <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> v c a))]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AConfVar"
>ConfVar</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AOS"
>OS</A
> <A HREF="Distribution-System.html#t%3AOS"
>OS</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AArch"
>Arch</A
> <A HREF="Distribution-System.html#t%3AArch"
>Arch</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFlag"
>Flag</A
> <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AImpl"
>Impl</A
> <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
> <A HREF="Distribution-Version.html#t%3AVersionRange"
>VersionRange</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ACondition"
>Condition</A
> c </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AVar"
>Var</A
> c</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALit"
>Lit</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACNot"
>CNot</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACOr"
>COr</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c) (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACAnd"
>CAnd</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c) (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASourceRepo"
>SourceRepo</A
>  = <A HREF="#v%3ASourceRepo"
>SourceRepo</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoKind"
>repoKind</A
> :: <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoType"
>repoType</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoLocation"
>repoLocation</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoModule"
>repoModule</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoBranch"
>repoBranch</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoTag"
>repoTag</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArepoSubdir"
>repoSubdir</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARepoKind"
>RepoKind</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARepoHead"
>RepoHead</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARepoThis"
>RepoThis</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARepoKindUnknown"
>RepoKindUnknown</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARepoType"
>RepoType</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADarcs"
>Darcs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGit"
>Git</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASVN"
>SVN</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACVS"
>CVS</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMercurial"
>Mercurial</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGnuArch"
>GnuArch</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ABazaar"
>Bazaar</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMonotone"
>Monotone</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOtherRepoType"
>OtherRepoType</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Package descriptions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PackageDescription"
><A NAME="t%3APackageDescription"
></A
></A
><B
>PackageDescription</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>This data type is the internal representation of the file <TT
>pkg.cabal</TT
>.
 It contains two kinds of information about the package: information
 which is needed for all packages, such as the package name and version, and
 information which is needed for the simple build system only, such as
 the compiler options and library name.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:PackageDescription"
><A NAME="v%3APackageDescription"
></A
></A
><B
>PackageDescription</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:package"
><A NAME="v%3Apackage"
></A
></A
><B
>package</B
> :: <A HREF="Distribution-Package.html#t%3APackageIdentifier"
>PackageIdentifier</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:license"
><A NAME="v%3Alicense"
></A
></A
><B
>license</B
> :: <A HREF="Distribution-License.html#t%3ALicense"
>License</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:licenseFile"
><A NAME="v%3AlicenseFile"
></A
></A
><B
>licenseFile</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:copyright"
><A NAME="v%3Acopyright"
></A
></A
><B
>copyright</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:maintainer"
><A NAME="v%3Amaintainer"
></A
></A
><B
>maintainer</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:author"
><A NAME="v%3Aauthor"
></A
></A
><B
>author</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:stability"
><A NAME="v%3Astability"
></A
></A
><B
>stability</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:testedWith"
><A NAME="v%3AtestedWith"
></A
></A
><B
>testedWith</B
> :: [(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
>, <A HREF="Distribution-Version.html#t%3AVersionRange"
>VersionRange</A
>)]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:homepage"
><A NAME="v%3Ahomepage"
></A
></A
><B
>homepage</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pkgUrl"
><A NAME="v%3ApkgUrl"
></A
></A
><B
>pkgUrl</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:bugReports"
><A NAME="v%3AbugReports"
></A
></A
><B
>bugReports</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:sourceRepos"
><A NAME="v%3AsourceRepos"
></A
></A
><B
>sourceRepos</B
> :: [<A HREF="Distribution-PackageDescription.html#t%3ASourceRepo"
>SourceRepo</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:synopsis"
><A NAME="v%3Asynopsis"
></A
></A
><B
>synopsis</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>A one-line summary of this package
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:description"
><A NAME="v%3Adescription"
></A
></A
><B
>description</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>A more verbose description of this package
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:category"
><A NAME="v%3Acategory"
></A
></A
><B
>category</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:customFieldsPD"
><A NAME="v%3AcustomFieldsPD"
></A
></A
><B
>customFieldsPD</B
> :: [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
><TD CLASS="rdoc"
>Custom fields starting
 with x-, stored in a
 simple assoc-list.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:buildDepends"
><A NAME="v%3AbuildDepends"
></A
></A
><B
>buildDepends</B
> :: [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:descCabalVersion"
><A NAME="v%3AdescCabalVersion"
></A
></A
><B
>descCabalVersion</B
> :: <A HREF="Distribution-Version.html#t%3AVersionRange"
>VersionRange</A
></TD
><TD CLASS="rdoc"
>If this package depends on a specific version of Cabal, give that here.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:buildType"
><A NAME="v%3AbuildType"
></A
></A
><B
>buildType</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:library"
><A NAME="v%3Alibrary"
></A
></A
><B
>library</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:executables"
><A NAME="v%3Aexecutables"
></A
></A
><B
>executables</B
> :: [<A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:dataFiles"
><A NAME="v%3AdataFiles"
></A
></A
><B
>dataFiles</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:dataDir"
><A NAME="v%3AdataDir"
></A
></A
><B
>dataDir</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extraSrcFiles"
><A NAME="v%3AextraSrcFiles"
></A
></A
><B
>extraSrcFiles</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extraTmpFiles"
><A NAME="v%3AextraTmpFiles"
></A
></A
><B
>extraTmpFiles</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PackageDescription')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PackageDescription" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Distribution-Package.html#t%3APackage"
>Package</A
> <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyPackageDescription"
><A NAME="v%3AemptyPackageDescription"
></A
></A
><B
>emptyPackageDescription</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BuildType"
><A NAME="t%3ABuildType"
></A
></A
><B
>BuildType</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The type of build system used by this package.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Simple"
><A NAME="v%3ASimple"
></A
></A
><B
>Simple</B
></TD
><TD CLASS="rdoc"
>calls <TT
>Distribution.Simple.defaultMain</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Configure"
><A NAME="v%3AConfigure"
></A
></A
><B
>Configure</B
></TD
><TD CLASS="rdoc"
>calls <TT
>Distribution.Simple.defaultMainWithHooks defaultUserHooks</TT
>,
 which invokes <TT
>configure</TT
> to generate additional build
 information used by later phases.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Make"
><A NAME="v%3AMake"
></A
></A
><B
>Make</B
></TD
><TD CLASS="rdoc"
>calls <TT
>Distribution.Make.defaultMain</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Custom"
><A NAME="v%3ACustom"
></A
></A
><B
>Custom</B
></TD
><TD CLASS="rdoc"
>uses user-supplied <TT
>Setup.hs</TT
> or <TT
>Setup.lhs</TT
> (default)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnknownBuildType"
><A NAME="v%3AUnknownBuildType"
></A
></A
><B
>UnknownBuildType</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>a package that uses an unknown build type cannot actually
   be built. Doing it this way rather than just giving a
   parse error means we get better error messages and allows
   you to inspect the rest of the package description.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:BuildType')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:BuildType" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Distribution-Text.html#t%3AText"
>Text</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:knownBuildTypes"
><A NAME="v%3AknownBuildTypes"
></A
></A
><B
>knownBuildTypes</B
> :: [<A HREF="Distribution-PackageDescription.html#t%3ABuildType"
>BuildType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Libraries
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Library"
><A NAME="t%3ALibrary"
></A
></A
><B
>Library</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Library"
><A NAME="v%3ALibrary"
></A
></A
><B
>Library</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:exposedModules"
><A NAME="v%3AexposedModules"
></A
></A
><B
>exposedModules</B
> :: [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:libExposed"
><A NAME="v%3AlibExposed"
></A
></A
><B
>libExposed</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>Is the lib to be exposed by default?
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:libBuildInfo"
><A NAME="v%3AlibBuildInfo"
></A
></A
><B
>libBuildInfo</B
> :: <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Library')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Library" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Monoid.html#t%3AMonoid"
>Monoid</A
> <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyLibrary"
><A NAME="v%3AemptyLibrary"
></A
></A
><B
>emptyLibrary</B
> :: <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withLib"
><A NAME="v%3AwithLib"
></A
></A
><B
>withLib</B
> ::  <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; a -&gt; (<A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>If the package description has a library section, call the given
  function with the library build info as argument.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hasLibs"
><A NAME="v%3AhasLibs"
></A
></A
><B
>hasLibs</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>does this package have any libraries?
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:libModules"
><A NAME="v%3AlibModules"
></A
></A
><B
>libModules</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Get all the module names from the libraries in this package
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Executables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Executable"
><A NAME="t%3AExecutable"
></A
></A
><B
>Executable</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Executable"
><A NAME="v%3AExecutable"
></A
></A
><B
>Executable</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:exeName"
><A NAME="v%3AexeName"
></A
></A
><B
>exeName</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:modulePath"
><A NAME="v%3AmodulePath"
></A
></A
><B
>modulePath</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:buildInfo"
><A NAME="v%3AbuildInfo"
></A
></A
><B
>buildInfo</B
> :: <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Executable')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Executable" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Monoid.html#t%3AMonoid"
>Monoid</A
> <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyExecutable"
><A NAME="v%3AemptyExecutable"
></A
></A
><B
>emptyExecutable</B
> :: <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withExe"
><A NAME="v%3AwithExe"
></A
></A
><B
>withExe</B
> ::  <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; (<A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Perform the action on each buildable <TT
><A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
></TT
> in the package
 description.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hasExes"
><A NAME="v%3AhasExes"
></A
></A
><B
>hasExes</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>does this package have any executables?
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:exeModules"
><A NAME="v%3AexeModules"
></A
></A
><B
>exeModules</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Get all the module names from the exes in this package
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Build information
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BuildInfo"
><A NAME="t%3ABuildInfo"
></A
></A
><B
>BuildInfo</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:BuildInfo"
><A NAME="v%3ABuildInfo"
></A
></A
><B
>BuildInfo</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:buildable"
><A NAME="v%3Abuildable"
></A
></A
><B
>buildable</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>component is buildable here
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:buildTools"
><A NAME="v%3AbuildTools"
></A
></A
><B
>buildTools</B
> :: [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>]</TD
><TD CLASS="rdoc"
>tools needed to build this bit
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:cppOptions"
><A NAME="v%3AcppOptions"
></A
></A
><B
>cppOptions</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>options for pre-processing Haskell code
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ccOptions"
><A NAME="v%3AccOptions"
></A
></A
><B
>ccOptions</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>options for C compiler
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ldOptions"
><A NAME="v%3AldOptions"
></A
></A
><B
>ldOptions</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>options for linker
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pkgconfigDepends"
><A NAME="v%3ApkgconfigDepends"
></A
></A
><B
>pkgconfigDepends</B
> :: [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>]</TD
><TD CLASS="rdoc"
>pkg-config packages that are used
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:frameworks"
><A NAME="v%3Aframeworks"
></A
></A
><B
>frameworks</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>support frameworks for Mac OS X
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:cSources"
><A NAME="v%3AcSources"
></A
></A
><B
>cSources</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hsSourceDirs"
><A NAME="v%3AhsSourceDirs"
></A
></A
><B
>hsSourceDirs</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>where to look for the haskell module hierarchy
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:otherModules"
><A NAME="v%3AotherModules"
></A
></A
><B
>otherModules</B
> :: [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
>non-exposed or non-main modules
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extensions"
><A NAME="v%3Aextensions"
></A
></A
><B
>extensions</B
> :: [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extraLibs"
><A NAME="v%3AextraLibs"
></A
></A
><B
>extraLibs</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>what libraries to link with when compiling a program that uses your package
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extraLibDirs"
><A NAME="v%3AextraLibDirs"
></A
></A
><B
>extraLibDirs</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:includeDirs"
><A NAME="v%3AincludeDirs"
></A
></A
><B
>includeDirs</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>directories to find .h files
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:includes"
><A NAME="v%3Aincludes"
></A
></A
><B
>includes</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>The .h files to be found in includeDirs
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:installIncludes"
><A NAME="v%3AinstallIncludes"
></A
></A
><B
>installIncludes</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>.h files to install with the package
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:options"
><A NAME="v%3Aoptions"
></A
></A
><B
>options</B
> :: [(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
>, [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>])]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ghcProfOptions"
><A NAME="v%3AghcProfOptions"
></A
></A
><B
>ghcProfOptions</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ghcSharedOptions"
><A NAME="v%3AghcSharedOptions"
></A
></A
><B
>ghcSharedOptions</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:customFieldsBI"
><A NAME="v%3AcustomFieldsBI"
></A
></A
><B
>customFieldsBI</B
> :: [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
><TD CLASS="rdoc"
>Custom fields starting
 with x-, stored in a
 simple assoc-list.
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:BuildInfo')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:BuildInfo" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Monoid.html#t%3AMonoid"
>Monoid</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyBuildInfo"
><A NAME="v%3AemptyBuildInfo"
></A
></A
><B
>emptyBuildInfo</B
> :: <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:allBuildInfo"
><A NAME="v%3AallBuildInfo"
></A
></A
><B
>allBuildInfo</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; [<A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>The <TT
><A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
></TT
> for the library (if there is one and it's buildable) and
 all the buildable executables. Useful for gathering dependencies.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hcOptions"
><A NAME="v%3AhcOptions"
></A
></A
><B
>hcOptions</B
> :: <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
> -&gt; <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
> -&gt; [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Select options for a particular Haskell compiler.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Supplementary build information
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:HookedBuildInfo"
><A NAME="t%3AHookedBuildInfo"
></A
></A
><B
>HookedBuildInfo</B
> = (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
>, [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo"
>BuildInfo</A
>)])</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyHookedBuildInfo"
><A NAME="v%3AemptyHookedBuildInfo"
></A
></A
><B
>emptyHookedBuildInfo</B
> :: <A HREF="Distribution-PackageDescription.html#t%3AHookedBuildInfo"
>HookedBuildInfo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:updatePackageDescription"
><A NAME="v%3AupdatePackageDescription"
></A
></A
><B
>updatePackageDescription</B
> :: <A HREF="Distribution-PackageDescription.html#t%3AHookedBuildInfo"
>HookedBuildInfo</A
> -&gt; <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
> -&gt; <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>package configuration
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GenericPackageDescription"
><A NAME="t%3AGenericPackageDescription"
></A
></A
><B
>GenericPackageDescription</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:GenericPackageDescription"
><A NAME="v%3AGenericPackageDescription"
></A
></A
><B
>GenericPackageDescription</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:packageDescription"
><A NAME="v%3ApackageDescription"
></A
></A
><B
>packageDescription</B
> :: <A HREF="Distribution-PackageDescription.html#t%3APackageDescription"
>PackageDescription</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:genPackageFlags"
><A NAME="v%3AgenPackageFlags"
></A
></A
><B
>genPackageFlags</B
> :: [<A HREF="Distribution-PackageDescription.html#t%3AFlag"
>Flag</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:condLibrary"
><A NAME="v%3AcondLibrary"
></A
></A
><B
>condLibrary</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> <A HREF="Distribution-PackageDescription.html#t%3AConfVar"
>ConfVar</A
> [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>] <A HREF="Distribution-PackageDescription.html#t%3ALibrary"
>Library</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:condExecutables"
><A NAME="v%3AcondExecutables"
></A
></A
><B
>condExecutables</B
> :: [(<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> <A HREF="Distribution-PackageDescription.html#t%3AConfVar"
>ConfVar</A
> [<A HREF="Distribution-Package.html#t%3ADependency"
>Dependency</A
>] <A HREF="Distribution-PackageDescription.html#t%3AExecutable"
>Executable</A
>)]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GenericPackageDescription')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GenericPackageDescription" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3AGenericPackageDescription"
>GenericPackageDescription</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3AGenericPackageDescription"
>GenericPackageDescription</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Distribution-Package.html#t%3APackage"
>Package</A
> <A HREF="Distribution-PackageDescription.html#t%3AGenericPackageDescription"
>GenericPackageDescription</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Flag"
><A NAME="t%3AFlag"
></A
></A
><B
>Flag</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A flag can represent a feature to be included, or a way of linking
   a target against its dependencies, or in fact whatever you can think of.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:MkFlag"
><A NAME="v%3AMkFlag"
></A
></A
><B
>MkFlag</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:flagName"
><A NAME="v%3AflagName"
></A
></A
><B
>flagName</B
> :: <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:flagDescription"
><A NAME="v%3AflagDescription"
></A
></A
><B
>flagDescription</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:flagDefault"
><A NAME="v%3AflagDefault"
></A
></A
><B
>flagDefault</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:flagManual"
><A NAME="v%3AflagManual"
></A
></A
><B
>flagManual</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Flag')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Flag" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3AFlag"
>Flag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3AFlag"
>Flag</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>newtype</SPAN
>  <A NAME="t:FlagName"
><A NAME="t%3AFlagName"
></A
></A
><B
>FlagName</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A <TT
><A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TT
> is the name of a user-defined configuration flag
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:FlagName"
><A NAME="v%3AFlagName"
></A
></A
><B
>FlagName</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FlagName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:FlagName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:FlagAssignment"
><A NAME="t%3AFlagAssignment"
></A
></A
><B
>FlagAssignment</B
> = [(<A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>)]</TD
></TR
><TR
><TD CLASS="doc"
>A <TT
><A HREF="Distribution-PackageDescription.html#t%3AFlagAssignment"
>FlagAssignment</A
></TT
> is a total or partial mapping of <TT
><A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TT
>s to
 <TT
><A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TT
> flag values. It represents the flags chosen by the user or
 discovered during configuration. For example <TT
>--flags=foo --flags=-bar</TT
>
 becomes <TT
>[(<A HREF="foo.html"
>foo</A
>, True), (<A HREF="bar.html"
>bar</A
>, False)]</TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:CondTree"
><A NAME="t%3ACondTree"
></A
></A
><B
>CondTree</B
> v c a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:CondNode"
><A NAME="v%3ACondNode"
></A
></A
><B
>CondNode</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:condTreeData"
><A NAME="v%3AcondTreeData"
></A
></A
><B
>condTreeData</B
> :: a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:condTreeConstraints"
><A NAME="v%3AcondTreeConstraints"
></A
></A
><B
>condTreeConstraints</B
> :: c</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:condTreeComponents"
><A NAME="v%3AcondTreeComponents"
></A
></A
><B
>condTreeComponents</B
> :: [(<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> v, <A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> v c a, <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> v c a))]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CondTree')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:CondTree" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>(<A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> v, <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> c, <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> a) =&gt; <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> v c a)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> v, <A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> c, <A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> a) =&gt; <A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondTree"
>CondTree</A
> v c a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ConfVar"
><A NAME="t%3AConfVar"
></A
></A
><B
>ConfVar</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A <TT
>ConfVar</TT
> represents the variable type used.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:OS"
><A NAME="v%3AOS"
></A
></A
><B
>OS</B
> <A HREF="Distribution-System.html#t%3AOS"
>OS</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Arch"
><A NAME="v%3AArch"
></A
></A
><B
>Arch</B
> <A HREF="Distribution-System.html#t%3AArch"
>Arch</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Flag"
><A NAME="v%3AFlag"
></A
></A
><B
>Flag</B
> <A HREF="Distribution-PackageDescription.html#t%3AFlagName"
>FlagName</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Impl"
><A NAME="v%3AImpl"
></A
></A
><B
>Impl</B
> <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
> <A HREF="Distribution-Version.html#t%3AVersionRange"
>VersionRange</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ConfVar')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ConfVar" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3AConfVar"
>ConfVar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3AConfVar"
>ConfVar</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Condition"
><A NAME="t%3ACondition"
></A
></A
><B
>Condition</B
> c </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A boolean expression parameterized over the variable type used.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Var"
><A NAME="v%3AVar"
></A
></A
><B
>Var</B
> c</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Lit"
><A NAME="v%3ALit"
></A
></A
><B
>Lit</B
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CNot"
><A NAME="v%3ACNot"
></A
></A
><B
>CNot</B
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:COr"
><A NAME="v%3ACOr"
></A
></A
><B
>COr</B
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c) (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CAnd"
><A NAME="v%3ACAnd"
></A
></A
><B
>CAnd</B
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c) (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Condition')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Condition" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> c =&gt; <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> c =&gt; <A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Distribution-PackageDescription.html#t%3ACondition"
>Condition</A
> c)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Source repositories
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SourceRepo"
><A NAME="t%3ASourceRepo"
></A
></A
><B
>SourceRepo</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Information about the source revision control system for a package.
</P
><P
>When specifying a repo it is useful to know the meaning or intention of the
 information as doing so enables automation. There are two obvious common
 purposes: one is to find the repo for the latest development version, the
 other is to find the repo for this specific release. The ReopKind
 specifies which one we mean (or another custom one).
</P
><P
>A package can specify one or the other kind or both. Most will specify just
 a head repo but some may want to specify a repo to reconstruct the sources
 for this package release.
</P
><P
>The required information is the <TT
><A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TT
> which tells us if it's using
 <TT
><A HREF="Distribution-PackageDescription.html#v%3ADarcs"
>Darcs</A
></TT
>, <TT
><A HREF="Distribution-PackageDescription.html#v%3AGit"
>Git</A
></TT
> for example. The <TT
><A HREF="Distribution-PackageDescription.html#v%3ArepoLocation"
>repoLocation</A
></TT
> and other details are
 interpreted according to the repo type.
</P
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:SourceRepo"
><A NAME="v%3ASourceRepo"
></A
></A
><B
>SourceRepo</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:repoKind"
><A NAME="v%3ArepoKind"
></A
></A
><B
>repoKind</B
> :: <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
><TD CLASS="rdoc"
>The kind of repo. This field is required.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:repoType"
><A NAME="v%3ArepoType"
></A
></A
><B
>repoType</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
><TD CLASS="rdoc"
>The type of the source repository system for this repo, eg <TT
><A HREF="Distribution-PackageDescription.html#v%3ADarcs"
>Darcs</A
></TT
> or
 <TT
><A HREF="Distribution-PackageDescription.html#v%3AGit"
>Git</A
></TT
>. This field is required.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:repoLocation"
><A NAME="v%3ArepoLocation"
></A
></A
><B
>repoLocation</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>The location of the repository. For most <TT
><A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TT
>s this is a URL.
 This field is required.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:repoModule"
><A NAME="v%3ArepoModule"
></A
></A
><B
>repoModule</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
><TT
><A HREF="Distribution-PackageDescription.html#v%3ACVS"
>CVS</A
></TT
> can put multiple &quot;modules&quot; on one server and requires a
 module name in addition to the location to identify a particular repo.
 Logically this is part of the location but unfortunately has to be
 specified separately. This field is required for the <TT
><A HREF="Distribution-PackageDescription.html#v%3ACVS"
>CVS</A
></TT
> <TT
><A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TT
> and
 should not be given otherwise.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:repoBranch"
><A NAME="v%3ArepoBranch"
></A
></A
><B
>repoBranch</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>The name or identifier of the branch, if any. Many source control
 systems have the notion of multiple branches in a repo that exist in the
 same location. For example <TT
><A HREF="Distribution-PackageDescription.html#v%3AGit"
>Git</A
></TT
> and <TT
><A HREF="Distribution-PackageDescription.html#v%3ACVS"
>CVS</A
></TT
> use this while systems like
 <TT
><A HREF="Distribution-PackageDescription.html#v%3ADarcs"
>Darcs</A
></TT
> use different locations for different branches. This field is
 optional but should be used if necessary to identify the sources,
 especially for the <TT
><A HREF="Distribution-PackageDescription.html#v%3ARepoThis"
>RepoThis</A
></TT
> repo kind.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:repoTag"
><A NAME="v%3ArepoTag"
></A
></A
><B
>repoTag</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>The tag identify a particular state of the repository. This should be
 given for the <TT
><A HREF="Distribution-PackageDescription.html#v%3ARepoThis"
>RepoThis</A
></TT
> repo kind and not for <TT
><A HREF="Distribution-PackageDescription.html#v%3ARepoHead"
>RepoHead</A
></TT
> kind.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:repoSubdir"
><A NAME="v%3ArepoSubdir"
></A
></A
><B
>repoSubdir</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>Some repositories contain multiple projects in different subdirectories
 This field specifies the subdirectory where this packages sources can be
 found, eg the subdirectory containing the <TT
>.cabal</TT
> file. It is interpreted
 relative to the root of the repository. This field is optional. If not
 given the default is &quot;.&quot; ie no subdirectory.
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SourceRepo')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SourceRepo" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3ASourceRepo"
>SourceRepo</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3ASourceRepo"
>SourceRepo</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3ASourceRepo"
>SourceRepo</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RepoKind"
><A NAME="t%3ARepoKind"
></A
></A
><B
>RepoKind</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>What this repo info is for, what it represents.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:RepoHead"
><A NAME="v%3ARepoHead"
></A
></A
><B
>RepoHead</B
></TD
><TD CLASS="rdoc"
>The repository for the &quot;head&quot; or development version of the project.
 This repo is where we should track the latest development activity or
 the usual repo people should get to contribute patches.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RepoThis"
><A NAME="v%3ARepoThis"
></A
></A
><B
>RepoThis</B
></TD
><TD CLASS="rdoc"
>The repository containing the sources for this exact package version
 or release. For this kind of repo a tag should be given to give enough
 information to re-create the exact sources.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RepoKindUnknown"
><A NAME="v%3ARepoKindUnknown"
></A
></A
><B
>RepoKindUnknown</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RepoKind')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RepoKind" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Distribution-Text.html#t%3AText"
>Text</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoKind"
>RepoKind</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RepoType"
><A NAME="t%3ARepoType"
></A
></A
><B
>RepoType</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An enumeration of common source control systems. The fields used in the
 <TT
><A HREF="Distribution-PackageDescription.html#t%3ASourceRepo"
>SourceRepo</A
></TT
> depend on the type of repo. The tools and methods used to
 obtain and track the repo depend on the repo type.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Darcs"
><A NAME="v%3ADarcs"
></A
></A
><B
>Darcs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Git"
><A NAME="v%3AGit"
></A
></A
><B
>Git</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SVN"
><A NAME="v%3ASVN"
></A
></A
><B
>SVN</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CVS"
><A NAME="v%3ACVS"
></A
></A
><B
>CVS</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Mercurial"
><A NAME="v%3AMercurial"
></A
></A
><B
>Mercurial</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GnuArch"
><A NAME="v%3AGnuArch"
></A
></A
><B
>GnuArch</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Bazaar"
><A NAME="v%3ABazaar"
></A
></A
><B
>Bazaar</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Monotone"
><A NAME="v%3AMonotone"
></A
></A
><B
>Monotone</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OtherRepoType"
><A NAME="v%3AOtherRepoType"
></A
></A
><B
>OtherRepoType</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RepoType')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RepoType" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Distribution-Text.html#t%3AText"
>Text</A
> <A HREF="Distribution-PackageDescription.html#t%3ARepoType"
>RepoType</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>