Boost logo

Boost-Build :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2005-09-01 14:09:18


Alexey Pakhunov wrote:
>
> I have one small problem with newly added <architecture>,
> <address-model> and <instruction-set> features. It seems we still need
> to have '<address-model>default', '<architecture>native' and
> '<instruction-set>default' as default values for them.

I'll add them if we need it. But ideally it would be best to be able to
handle optional features correctly.

> Now I want the first prefix to be used even if <architecture> or
> <address-model> omitted:
>
> flags msvc .SETUP : " x86" ;
> flags msvc .SETUP <architecture>x86 : " x86" ;
> flags msvc .SETUP <address-model>32 : " x86" ;
> flags msvc .SETUP <architecture>x86/<address-model>32 : " x86" ;
> flags msvc .SETUP <address-model>64 : " x86_amd64" ;
> flags msvc .SETUP <architecture>x86/<address-model>64 : " x86_amd64" ;
> flags msvc .SETUP <architecture>ia64/<address-model>64 : " x86_ia64" ;

Makes sense.

> The problem is when for example only '<architecture>x86' is passed all
> three lines containing '<architecture>x86' will be used. But I need only
> the 2nd one.
>
> So the question is: is it possible to include 'no optional feature' as a
> part of the condition?

I don't know, but I suspect it's not current possible. Reading the
source I found this bit of code for "flags":

if $(condition) && ! $(condition:G=)
{
# We have condition in the form '<feature>', that is, without
# value. That's a previous syntax:
#
# flags gcc.link RPATH <dll-path> ;
# for compatibility, convert it to
# flags gcc.link RPATH : <dll-path> ;
values = $(condition) ;
condition = ;
}

That leads me to think that perhaps you could:

flags msvc .SETUP : <architecture> " x86" ;

But that doesn't make sense from my POV. *We need a way to specify this.*

> If not we will have to use the same approach as
> BBv1 uses, i.e. 'default' and 'native' as default values.

Let's wait until Volodya responds, he may now how this should be done.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - Grafik/jabber.org
 

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk