[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost-build
Subject:    [Boost-build] Quick Q regarding feature propagation syntax
From:       Kostas Kostiadis <kos () climaxgroup ! com>
Date:       2007-01-25 15:23:05
Message-ID: 495A161B83F7544AA943600A98833B530B75E170 () mimas
[Download RAW message or body]

Hello all,
 
Say I have a lib physics, that uses a lib math.
Also, say that the math lib has a "feature" <use_doubles_instead_of_floats>
with possible values no/yes, defaulting to no.
 
In my main project jamfile, I can do something like:
 
use-project /physics : /some/path/physics ;
 
exe foo
    :
        main.cpp
        /physics/<use_doubles_instead_of_floats>yes
    :
    ;
 
 
NOTE: The use_doubles_instead_of_floats feature is a feature in the math lib
NOT the physics lib.
 
How can I propagate this feature to the math lib?
Should I be using the math lib directly into the main project's jamfile?
i.e.
 
use-project /physics : /some/path/physics ;
use-project /math : /some/path/math ;
 
exe foo
    :
        main.cpp
        /physics
        /math/<use_doubles_instead_of_floats>yes
    :
    ;
 
I don't really need to do this, because physics "uses" maths anyway.
 
Also, what is the syntax if I have multiple features for a given lib? Can I
do:
 
exe foo
    :
        main.cpp
        /someLib/<feature1>on/<feature2>off/<someOtherFeature>yes
    :
    ;
 
 
Your help much appreciated.
 
cheers,
K.
 

[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<META content="MSHTML 6.00.5730.11" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>Hello 
all,</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>Say I 
have a lib physics, that uses a lib math.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>Also, 
say that the math lib has a "feature" &lt;use_doubles_instead_of_floats&gt; with 
possible values no/yes, defaulting to no.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>In my 
main project jamfile, I can do something like:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2>use-project /physics : /some/path/physics ;</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>exe 
foo</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 size=2>main.cpp</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 
size=2>/physics/&lt;use_doubles_instead_of_floats&gt;yes</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>;</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>NOTE: 
The use_doubles_instead_of_floats feature is a feature in the math lib NOT the 
physics lib.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>How 
can I propagate this feature to the math lib?</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>Should 
I be using the math lib directly into the main project's jamfile? 
i.e.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2>use-project /physics : /some/path/physics ;</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2>use-project /math : /some/path/math ;</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007></SPAN>&nbsp;</DIV></FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>exe 
foo</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 size=2>main.cpp</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 size=2>/physics</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 
size=2>/math/&lt;use_doubles_instead_of_floats&gt;yes</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>;</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>I 
don't really need to do this, because physics "uses" maths 
anyway.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>Also, 
what is the syntax if I have multiple features for a given lib?&nbsp;Can I 
do:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>exe 
foo</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 size=2>main.cpp</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#800000 
size=2>/someLib/&lt;feature1&gt;on/&lt;feature2&gt;off/&lt;someOtherFeature&gt;yes</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>:</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#800000 size=2>;</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 size=2>Your 
help much appreciated.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2>cheers,</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2>K.</FONT></SPAN></DIV>
<DIV><SPAN class=623301215-25012007><FONT face=Arial color=#800000 
size=2></FONT></SPAN>&nbsp;</DIV></SPAN></DIV></BODY></HTML>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic