Commit 34179398 authored by tibbe's avatar tibbe
Browse files

Merge pull request #1752 from ianbollinger/fix-#893

Fix #893 (Broken links in user guide)
parents c2cb3795 d06fc06e
......@@ -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
......@@ -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)
......
......@@ -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/
......@@ -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/
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment