<!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 > -> a -> (<A HREF="Distribution-PackageDescription.html#t%3ALibrary" >Library</A > -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > a) -> <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 > -> <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 > -> [<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 > -> (<A HREF="Distribution-PackageDescription.html#t%3AExecutable" >Executable</A > -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > a) -> <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 > -> <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 > -> [<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 > -> [<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 > -> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo" >BuildInfo</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%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 > -> <A HREF="Distribution-PackageDescription.html#t%3APackageDescription" >PackageDescription</A > -> <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 > -> a -> (<A HREF="Distribution-PackageDescription.html#t%3ALibrary" >Library</A > -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > a) -> <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 > -> <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 > -> [<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 > -> (<A HREF="Distribution-PackageDescription.html#t%3AExecutable" >Executable</A > -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > a) -> <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 > -> <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 > -> [<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 > -> [<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 > -> <A HREF="Distribution-PackageDescription.html#t%3ABuildInfo" >BuildInfo</A > -> [<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 > -> <A HREF="Distribution-PackageDescription.html#t%3APackageDescription" >PackageDescription</A > -> <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) => <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) => <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 => <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 => <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 "modules" 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 "." 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 "head" 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 >