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/