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