diff --git a/Cabal/doc/developing-packages.markdown b/Cabal/doc/developing-packages.markdown index 15a59f6d71a6c8e0ded2ca065e83a41f5db22f93..fdc0e2b4605c6d57111cd6d42e87d3d693f6bf82 100644 --- a/Cabal/doc/developing-packages.markdown +++ b/Cabal/doc/developing-packages.markdown @@ -18,9 +18,7 @@ Proglet.hs It is assumed that (apart from external dependencies) all the files that make up a package live under a common project root directory. This simple example has all the project files in one directory, but most -packages will use one or more subdirectories. See section [TODO](#TODO) -for the standard practices for organising the files in your project -directory. +packages will use one or more subdirectories. To turn this into a Cabal package we need two extra files in the project's root directory: @@ -655,8 +653,8 @@ several sections. information](#build-information). * Following is an arbitrary number of executable sections - which describe an [executable program](#executable) and relevant - [build information](#build-information). + which describe an executable program and relevant [build + information](#build-information). Each section consists of a number of property descriptions in the form of field/value pairs, with a syntax roughly like mail @@ -724,8 +722,7 @@ These fields may occur in the first top-level properties section and describe the package as a whole: `name:` _package-name_ (required) -: The unique name of the [package](#packages), without the version - number. +: The unique name of the package, without the version number. `version:` _numbers_ (required) : The package version number, usually consisting of a sequence of @@ -792,8 +789,8 @@ describe the package as a whole: ~~~~~~~~~~~~~~~~ For build type `Make` (see the section on [more complex - packages](#more-complex-packages) below), the contents of - `Setup.hs` must be: + packages](installing-packages.html#more-complex-packages) below), + the contents of `Setup.hs` must be: ~~~~~~~~~~~~~~~~ import Distribution.Make @@ -866,8 +863,8 @@ describe the package as a whole: package before. For library packages, this field is used as prologue text by [`setup - haddock`](#setup-haddock), and thus may contain the same markup as - [haddock][] documentation comments. + haddock`](installing-packages.html#setup-haddock), and thus may + contain the same markup as [haddock][] documentation comments. `category:` _freeform_ : A classification category for future use by the package catalogue [Hackage]. These @@ -910,8 +907,9 @@ describe the package as a whole: `extra-source-files:` _filename list_ : A list of additional files to be included in source distributions - built with [`setup sdist`](#setup-sdist). As with `data-files` it - can use a limited form of `*` wildcards in file names. + built with [`setup sdist`](installing-packages.html#setup-sdist). As + with `data-files` it can use a limited form of `*` wildcards in file + names. `extra-doc-files:` _filename list_ : A list of additional files to be included in source distributions, @@ -921,9 +919,10 @@ describe the package as a whole: `extra-tmp-files:` _filename list_ : A list of additional files or directories to be removed by [`setup - clean`](#setup-clean). These would typically be additional files - created by additional hooks, such as the scheme described in the - section on [system-dependent parameters](#system-dependent-parameters). + clean`](installing-packages.html#setup-clean). These would typically + be additional files created by additional hooks, such as the scheme + described in the section on [system-dependent + parameters](#system-dependent-parameters). ### Library ### @@ -1536,12 +1535,12 @@ following fields. : The default value of this flag. Note that this value may be [overridden in several - ways](#controlling-flag-assignments"). The rationale for having - flags default to True is that users usually want new features as - soon as they are available. Flags representing features that are not - (yet) recommended for most users (such as experimental features or - debugging support) should therefore explicitly override the default - to False. + ways](installing-packages.html#controlling-flag-assignments"). The + rationale for having flags default to True is that users usually + want new features as soon as they are available. Flags representing + features that are not (yet) recommended for most users (such as + experimental features or debugging support) should therefore + explicitly override the default to False. `manual:` _boolean_ (default: `False`) : By default, Cabal will first try to satisfy dependencies with the @@ -1828,9 +1827,9 @@ The `get` command supports the following options: The placement on the target system of files listed in the `data-files` field varies between systems, and in some cases one can even move packages around after installation (see [prefix -independence](#prefix-independence)). To enable packages to find these -files in a portable way, Cabal generates a module called -`Paths_`_pkgname_ (with any hyphens in _pkgname_ replaced by +independence](installing-packages.html#prefix-independence)). To enable +packages to find these files in a portable way, Cabal generates a module +called `Paths_`_pkgname_ (with any hyphens in _pkgname_ replaced by underscores) during building, so that it may be imported by modules of the package. This module defines a function @@ -2097,27 +2096,27 @@ a few options: * Finally, with the `build-type` `Custom`, you can also write your own setup script from scratch. It must conform to the interface described in the section on [building and installing - packages](#building-and-installing-a-package), and you may use the - Cabal library for all or part of the work. One option is to copy - the source of `Distribution.Simple`, and alter it for your needs. - Good luck. + packages](installing-packages.html), and you may use the Cabal + library for all or part of the work. One option is to copy the + source of `Distribution.Simple`, and alter it for your needs. Good + luck. -[dist-simple]: ../libraries/Cabal/Distribution-Simple.html -[dist-make]: ../libraries/Cabal/Distribution-Make.html -[dist-license]: ../libraries/Cabal/Distribution-License.html#t:License -[extension]: ../libraries/Cabal/Language-Haskell-Extension.html#t:Extension -[BuildType]: ../libraries/Cabal/Distribution-PackageDescription.html#t:BuildType +[dist-simple]: ../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html +[dist-make]: ../release/cabal-latest/doc/API/Cabal/Distribution-Make.html +[dist-license]: ../release/cabal-latest/doc/API/Cabal/Distribution-License.html#t:License +[extension]: ../release/cabal-latest/doc/API/Cabal/Language-Haskell-Extension.html#t:Extension +[BuildType]: ../release/cabal-latest/doc/API/Cabal/Distribution-PackageDescription.html#t:BuildType [data-version]: http://hackage.haskell.org/packages/archive/base/latest/doc/html/Data-Version.html [alex]: http://www.haskell.org/alex/ [autoconf]: http://www.gnu.org/software/autoconf/ [c2hs]: http://www.cse.unsw.edu.au/~chak/haskell/c2hs/ -[cpphs]: http://www.haskell.org/cpphs/ -[greencard]: http://www.haskell.org/greencard/ +[cpphs]: http://projects.haskell.org/cpphs/ +[greencard]: http://hackage.haskell.org/package/greencard [haddock]: http://www.haskell.org/haddock/ [HsColour]: http://www.cs.york.ac.uk/fp/darcs/hscolour/ [happy]: http://www.haskell.org/happy/ [Hackage]: http://hackage.haskell.org/ -[pkg-config]: http://pkg-config.freedesktop.org/ +[pkg-config]: http://www.freedesktop.org/wiki/Software/pkg-config/ [REPL]: http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop diff --git a/Cabal/doc/index.markdown b/Cabal/doc/index.markdown index 87bbf8525247306ae2520c0c19ad62b32da41336..4a4a0b7b7317ef0e57bbe08ac8bb015d9340df90 100644 --- a/Cabal/doc/index.markdown +++ b/Cabal/doc/index.markdown @@ -19,7 +19,6 @@ thousands of libraries and applications in the Cabal package format. - [A tool for working with packages](#a-tool-for-working-with-packages) * [Building, installing and managing packages](installing-packages.html) * [Creating packages](developing-packages.html) - * [Cabal specification, design and implementation]() * [Reporting bugs and deficiencies](misc.html#reporting-bugs-and-deficiencies) * [Stability of Cabal interfaces](misc.html#stability-of-cabal-interfaces) diff --git a/Cabal/doc/installing-packages.markdown b/Cabal/doc/installing-packages.markdown index 3d66adab0c7839f2ce7ab6b5b696e3791faa98e9..87b3f0836fc2a7d3d1fb34d246becc150b46da88 100644 --- a/Cabal/doc/installing-packages.markdown +++ b/Cabal/doc/installing-packages.markdown @@ -267,12 +267,13 @@ infrastructure, the values supplied via these options are recorded in a private file read by later stages. If a user-supplied `configure` script is run (see the section on -[system-dependent parameters](#system-dependent-parameters) or on -[complex packages](#complex-packages)), it is passed the -`--with-hc-pkg`, `--prefix`, `--bindir`, `--libdir`, `--datadir`, `--libexecdir` -and `--sysconfdir` options. In addition the value of the `--with-compiler` -option is passed in a `--with-hc` option and all options specified with -`--configure-option=` are passed on. +[system-dependent +parameters](developing-packages.html#system-dependent-parameters) or on +[complex packages](developing-packages.html#more-complex-packages)), it +is passed the `--with-hc-pkg`, `--prefix`, `--bindir`, `--libdir`, +`--datadir`, `--libexecdir` and `--sysconfdir` options. In addition the +value of the `--with-compiler` option is passed in a `--with-hc` option +and all options specified with `--configure-option=` are passed on. ### Programs used for building ### @@ -528,8 +529,9 @@ have baked-in all absolute paths. The application need do nothing special to achieve prefix-independence. If it finds any files using `getDataFileName` and the [other functions -provided for the purpose](#accessing-data-files-from-package-code), the -files will be accessed relative to the location of the current +provided for the +purpose](developing-packages.html#accessing-data-files-from-package-code), +the files will be accessed relative to the location of the current executable. A library cannot (currently) be prefix-independent, because it will be @@ -539,8 +541,8 @@ to the library package. ### Controlling Flag Assignments ### Flag assignments (see the [resolution of conditions and -flags](#resolution-of-conditions-and-flags)) can be controlled with the -followingcommand line options. +flags](developing-packages.html#resolution-of-conditions-and-flags)) can +be controlled with the following command line options. `-f` _flagname_ or `-f` `-`_flagname_ : Force the specified flag to `true` or `false` (if preceded with a `-`). Later @@ -685,8 +687,8 @@ followingcommand line options. `--configure-option=`_str_ : An extra option to an external `configure` script, if one is used (see the section on [system-dependent - parameters](#system-dependent-parameters)). There can be several of - these options. + parameters](developing-packages.html#system-dependent-parameters)). + There can be several of these options. `--extra-include-dirs`[=_dir_] : An extra directory to search for C header files. You can use this @@ -1019,18 +1021,18 @@ This command takes the following option: the generated source package. The original package is unaffected. -[dist-simple]: ../libraries/Cabal/Distribution-Simple.html -[dist-make]: ../libraries/Cabal/Distribution-Make.html -[dist-license]: ../libraries/Cabal/Distribution-License.html#t:License -[extension]: ../libraries/Cabal/Language-Haskell-Extension.html#t:Extension -[BuildType]: ../libraries/Cabal/Distribution-PackageDescription.html#t:BuildType +[dist-simple]: ../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html +[dist-make]: ../release/cabal-latest/doc/API/Cabal/Distribution-Make.html +[dist-license]: ../release/cabal-latest/doc/API/Cabal/Distribution-License.html#t:License +[extension]: ../release/cabal-latest/doc/API/Cabal/Language-Haskell-Extension.html#t:Extension +[BuildType]: ../release/cabal-latest/doc/API/Cabal/Distribution-PackageDescription.html#t:BuildType [alex]: http://www.haskell.org/alex/ [autoconf]: http://www.gnu.org/software/autoconf/ [c2hs]: http://www.cse.unsw.edu.au/~chak/haskell/c2hs/ -[cpphs]: http://www.haskell.org/cpphs/ -[greencard]: http://www.haskell.org/greencard/ +[cpphs]: http://projects.haskell.org/cpphs/ +[greencard]: http://hackage.haskell.org/package/greencard [haddock]: http://www.haskell.org/haddock/ [HsColour]: http://www.cs.york.ac.uk/fp/darcs/hscolour/ [happy]: http://www.haskell.org/happy/ [Hackage]: http://hackage.haskell.org/ -[pkg-config]: http://pkg-config.freedesktop.org/ +[pkg-config]: http://www.freedesktop.org/wiki/Software/pkg-config/ diff --git a/Cabal/doc/misc.markdown b/Cabal/doc/misc.markdown index 980bf9639203a0e6605efd3c0e666a56552785fa..8d732edcea9892f8276c4e1229f00ed80f74c576 100644 --- a/Cabal/doc/misc.markdown +++ b/Cabal/doc/misc.markdown @@ -61,7 +61,7 @@ the API are more prone to change than others. The rest of this section gives some informal advice on what level of API stability you can expect between major releases. -[PVP]: http://haskell.org/haskellwiki/Package_versioning_policy +[PVP]: http://www.haskell.org/haskellwiki/Package_versioning_policy ### Very Stable API ### @@ -92,18 +92,18 @@ file. Incompatible revisions to the format would involve bumping the name of the index file, i.e., `00-index.tar.gz`, `01-index.tar.gz` etc. -[dist-simple]: ../libraries/Cabal/Distribution-Simple.html -[dist-make]: ../libraries/Cabal/Distribution-Make.html -[dist-license]: ../libraries/Cabal/Distribution-License.html#t:License -[extension]: ../libraries/Cabal/Language-Haskell-Extension.html#t:Extension -[BuildType]: ../libraries/Cabal/Distribution-PackageDescription.html#t:BuildType +[dist-simple]: ../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html +[dist-make]: ../release/cabal-latest/doc/API/Cabal/Distribution-Make.html +[dist-license]: ../release/cabal-latest/doc/API/Cabal/Distribution-License.html#t:License +[extension]: ../release/cabal-latest/doc/API/Cabal/Language-Haskell-Extension.html#t:Extension +[BuildType]: ../release/cabal-latest/doc/API/Cabal/Distribution-PackageDescription.html#t:BuildType [alex]: http://www.haskell.org/alex/ [autoconf]: http://www.gnu.org/software/autoconf/ [c2hs]: http://www.cse.unsw.edu.au/~chak/haskell/c2hs/ -[cpphs]: http://www.haskell.org/cpphs/ -[greencard]: http://www.haskell.org/greencard/ +[cpphs]: http://projects.haskell.org/cpphs/ +[greencard]: http://hackage.haskell.org/package/greencard [haddock]: http://www.haskell.org/haddock/ [HsColour]: http://www.cs.york.ac.uk/fp/darcs/hscolour/ [happy]: http://www.haskell.org/happy/ -[HackageDB]: http://hackage.haskell.org/ -[pkg-config]: http://pkg-config.freedesktop.org/ +[Hackage]: http://hackage.haskell.org/ +[pkg-config]: http://www.freedesktop.org/wiki/Software/pkg-config/