On 10/24/06, Duncan Coutts <duncan.coutts@worc.ox.ac.uk> wrote:
Hi All,

Before the 6.6 release we had a longish discussion on how to do
configurations and their semantics and implementation complexity etc.

I would like to re-propose the last scheme that I cam up with. I'll try
to make it a concrete proposal as well as giving some motivating
examples to give the intuition of the meaning.

The only way I have really wanted to use configurations so far is to build debug, profiling, and optimized versions of a library. In order to build multiple configurations, is it going to still be the case that I have to "configure / build / install" separately for each configuration? I would like to be able to say something like " Setup.lhs configure --optimized --debug --profiled" to build all three versions at once.

Also, let's say I have this:

    Name: foo
    Version: 1.0
   
    configuration: flag(DEBUG)
    cpp-options: -DDEBUG

    Name: bar
    Build-depends: foo >= 1.0

    configuration: flag(DEBUG)
    Build-depends: ????

How can I say that I want the DEBUG version of package "bar" to depend on the DEBUG version of package "foo."?  Is this allowed?

    Name: foo
    Version: 1.0

    configuration: flag(debug)
    Name: foo-debug
   
Otherwise, how can I have a debug and an optimized configuration of a given library installed at the same time?

Regards,
Brian