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


Ignore:
Timestamp:
Mar 31, 2009 9:58:04 AM (6 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.