Changes between Version 25 and Version 26 of Commentary/Libraries


Ignore:
Timestamp:
Apr 30, 2010 10:53:59 AM (5 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Libraries

    v25 v26  
    1515You can make the build system build extra packages, on which GHC doesn't strictly depend, by extending the `EXTRA_PACKAGES` variable. It's not very tidy; see tickets #3896 and #3882 for more information. 
    1616 
     17It should be exceptional, but you can make the build system provide per-package compiler flags, by adding some definitions in `$(TOP)/ghc.mk`, just below the comment 
     18{{{ 
     19# Per-package compiler flags 
     20#  
     21# If you want to add per-package compiler flags, this  
     22# is the place to do it.  Do it like this for package <pkg> 
     23#    
     24#   libraries/<pkg>_dist-boot_HC_OPTS += -Wwarn 
     25#   libraries/<pkg>_dist-install_HC_OPTS += -Wwarn 
     26}}} 
     27 
     28-------------------------- 
     29= Classifying boot packages = 
     30 
    1731Boot packages can be classified in three different ways: 
    1832  * Independent/Coupled/Specific 
     
    2539An important classification of the boot packages is as follows: 
    2640 
    27  * '''INDEPENDENT''': Independently maintained (e.g. time, haskeline) 
    28  * '''COUPLED''': Tightly coupled to GHC, but used by others (base) 
    29  * '''SPECIFIC''': Totally specific to GHC (e.g. template-haskell, DPH) 
     41 * '''SPECIFIC''': Totally specific to GHC.  At the moment these are: 
     42   * ghc-prim 
     43   * template-haskell 
     44   * DPH 
     45 
     46 * '''COUPLED''': Tightly coupled to GHC.  At the moment there is just one of these: 
     47   * base 
     48 
     49 * '''INDEPENDENT''': Independently maintained.  There are quite a few of these, such as `containers`, `binary`, `haskeline` and so on. 
    3050 
    3151Most boot libraries are INDEPENDENT.  INDEPENDENT libraries have a 
    3252master repository somewhere separate from the GHC repositories.  Whenever we release GHC, we ensure that the INDEPENDENT boot libraries that come with GHC are precisely sync'd with a particular released version of that library. 
    33  
    34 The current classification of packages is: 
    35   * SPECIFIC: `ghc-prim`, `template-haskell`, `DPH` 
    36   * COUPLED: `base` 
    37   * INDEPENDENT: all other packages 
    3853 
    3954== Zero-boot packages == 
     
    7186Currently the Boot Packages that are not installed are `haskelline`, `mtl`, and `terminfo`; these are needed to build the GHC front-end, but not to build the `ghc` ''package''. 
    7287 
     88--------------------------- 
    7389= Boot packages dependencies = 
    7490