Changes between Initial Version and Version 1 of Building/Architecture/Idiom/Cabal


Ignore:
Timestamp:
Mar 31, 2009 9:58:04 AM (5 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/Architecture/Idiom/Cabal

    v1 v1  
     1 
     2 
     3= Idiom: interaction with Cabal = 
     4 
     5Many of the components of the GHC build system are also Cabal 
     6packages, with package metadata defined in a `foo.cabal` file. For the 
     7GHC build system we need to extract that metadata and use it to build 
     8the package. This is done by the program `ghc-cabal` (in `utils/ghc-cabal` 
     9in the GHC source tree). This program reads `foo.cabal` and produces 
     10`package-data.mk` containing the package metadata in the form of 
     11makefile bindings that we can use directly. 
     12 
     13We adhere to the following rule: '''`ghc-cabal` generates only 
     14makefile variable bindings''', such as 
     15{{{ 
     16  HS_SRCS = Foo.hs Bar.hs 
     17}}} 
     18`ghc-cabal` never generates makefile rules, macro, macro invocations etc.  
     19All the makefile code is therefore contained in fixed, editable  
     20`.mk` files.