Changes between Version 45 and Version 46 of Building/Using


Ignore:
Timestamp:
Dec 10, 2009 4:43:19 PM (4 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/Using

    v45 v46  
    558558The [wiki:Commentary/Libraries boot libraries] are built as part of building GHC; they are built with the stage1 compiler, and imported when the stage2 compiler is compiled with stage1. 
    559559 
    560 All other libraries are stand-alone Cabal packages, and the build system knows nothing about them.  Nevertheless, it is common to want to install extra packages for the GHC in your build tree.  Here's how to do it. 
    561  
    562 The easiest way is to just use [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall cabal-install]: 
    563  
    564 {{{ 
    565 $ cabal install --with-ghc=$(TOP)/inplace/bin/ghc-stage2 <package> 
    566 }}} 
    567  
    568 where `$(TOP)` stands for the root directory of your build tree, and `<package>` is the name of the package you want to install.  This will install the package in your home directory (e.g. somewhere under `~/.cabal/lib` on a Unix system) , so you'll probably want to remove it by hand when you've finished. 
    569  
    570 There's also a way to build and register a package with GHC but without actually installing it in your home directory.  For example, if you want to install a package from its darcs repository: 
    571 {{{ 
    572 $ cd $(TOP)/libraries 
    573 $ darcs get http://darcs.haskell.org/packages/parallel 
    574 }}} 
    575 (You don't have to download the package to `$(TOP)/libraries`; it can go anywhere.)  Now build it using Cabal, telling Cabal to use the GHC from your build tree: 
    576 {{{ 
    577 $ runhaskell Setup configure --with-ghc=$(TOP)/inplace/bin/ghc-stage2 
    578 $ runhaskell Setup build 
    579 $ runhaskell Setup register --inplace 
    580 }}} 
    581 The `--inplace` flag to `register` tells Cabal not to copy the compiled package, but rather to leave it right where it is, and register this location in the package database in your GHC build tree. 
     560All other libraries are stand-alone Cabal packages, and the build system knows nothing about them.  Nevertheless, it is common to want to install extra packages for the GHC in your build tree.  Here are [wiki:Debugging/InstallingPackages instructions for how to do so]. 
    582561 
    583562== Standard Targets ==