[Hackage] #837: Compile the same package with respect to several sets of flag states

Hackage cvs-ghc at haskell.org
Sun Apr 24 17:53:17 CEST 2011

#837: Compile the same package with respect to several sets of flag states
  Reporter:  lemming        |        Owner:          
      Type:  enhancement    |       Status:  new     
  Priority:  normal         |    Milestone:          
 Component:  Cabal library  |      Version:
  Severity:  major          |     Keywords:          
Difficulty:  unknown        |   Ghcversion:  6.12.3  
  Platform:                 |  
 Currently I have configured my cabal with --enable-library-profiling,
 --enable-shared, what leads to problems with the GHC-7.0.* archives that
 do not contain shared objects for profiling. Actually, I do not need them,
 but I cannot tell Cabal to omit shared objects for profiling. If I use
 --enable-library-profiling and --enable-shared, then all combinations of
 {static, dynamic} x {non-profiling, profiling} are generated.

 Instead of enabling two variants by each of those 'enable' options and
 then generating code for all possible combinations, I would find it more
 useful to define sets of flags and compile modules with respect to all of
 these flag sets. E.g. I could write something like the following to
 flagset: dyn
    shared: True
    optimization: True

 flagset: p
    shared: False
    profiling: True
    optimization: True
    rts-options: True

 flagset: dbg
    flags: debug
    optimization: True
 For every module A this should generate A_dyn.o, A_p.o, A_dbg.o.

 I do not know whether this problem can be solved in Cabal alone, or
 whether it also needs adaption of GHC.

 See also:
  * #600
  * http://hackage.haskell.org/trac/ghc/ticket/5021

Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/837>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list