Changes between Version 9 and Version 10 of SourceGuide

Show
Ignore:
Timestamp:
01/28/08 05:53:27 (5 years ago)
Author:
duncan
Comment:

document install, register, haddock and srcdist modules

Legend:

Unmodified
Added
Removed
Modified
  • SourceGuide

    v9 v10  
    183183 
    184184 `Distribution/Simple/Install.hs` ([http://darcs.haskell.org/cabal/Distribution/Simple/Install.hs source]) ([http://www.haskell.org/cabal/release/latest/doc/API/Cabal/Distribution-Simple-Install.html docs]):: 
     185  This is the entry point into installing a built package. It does the generic bits and then calls compiler-specific functions to do 
     186  the rest. 
    185187 
    186188 `Distribution/Simple/Haddock.hs` ([http://darcs.haskell.org/cabal/Distribution/Simple/Haddock.hs source]) ([http://www.haskell.org/cabal/release/latest/doc/API/Cabal/Distribution-Simple-Haddock.html docs]):: 
     189  This module deals with the haddock and hscolour commands. Sadly this is a rather complicated module. It deals with two versions 
     190  of haddock (0.x and 2.x). It has to do pre-processing for haddock 0.x which involves 'unlit'ing and using -D__HADDOCK__ for any 
     191  source code that uses cpp. It has to call ghc-pkg to find the locations of documentation for dependent packages, so it can create 
     192  links. The hscolour support allows generating html versions of the original source, with coloured syntax highlighting. 
    187193 
    188194 `Distribution/Simple/Register.hs` ([http://darcs.haskell.org/cabal/Distribution/Simple/Register.hs source]) ([http://www.haskell.org/cabal/release/latest/doc/API/Cabal/Distribution-Simple-Register.html docs]):: 
     195  This module deals with registering and unregistering packages. There are a couple ways it can do this, one is to do it directly. 
     196  Another is to generate a script that can be run later to do it. The idea here being that the user is shielded from the details of 
     197  what command to use for package registration for a particular compiler. In practice this aspect was not especially popular so we 
     198  also provide a way to simply generate the package registration file which then must be manually passed to ghc-pkg. It is possible 
     199  to generate registration information for where the package is to be installed, or alternatively to register the package inplace 
     200  in the build tree. The latter is occasionally handy, and will become more important when we try to build multi-package systems. 
     201  This module does not delegate anything to the per-compiler modules but just mixes it all in in this module, which is rather 
     202  unsatisfactory. The script generation and the unregister feature are not well used or tested. 
    189203 
    190204 `Distribution/Simple/SrcDist.hs` ([http://darcs.haskell.org/cabal/Distribution/Simple/SrcDist.hs source]) ([http://www.haskell.org/cabal/release/latest/doc/API/Cabal/Distribution-Simple-SrcDist.html docs]):: 
     205  This handles the `sdist` command. The module exports an `sdist` action but also some of the phases that make it up so that other 
     206  tools can use just the bits they need. In particular the preparation of the tree of files to go into the source tarball is separated 
     207  from actually building the source tarball. The `createArchive` action uses the external `tar` program and assumes that it accepts 
     208  the `-z` flag. Neither of these assumptions are valid on Windows (see ticket #40). 
     209  The `sdist` action now also does some distribution QA checks. 
    191210 
    192211=== Compiler-specific modules ===