Boost logo

Boost-Build :

From: Pedro Ferreira (pedro.ferreira_at_[hidden])
Date: 2003-07-22 06:29:35


Oops, I just found out a bug in the code I sent:

For instance,

lib a
:
a.cpp
:
<variant>debug:<tag>_d
<variant>release:<tag>_r
;

Will behave as expected if debug OR release are built. However, if BOTH
variants are built, the second one will have both suffixes.

More on this later...

Pedro

----- Original Message -----
From: "Pedro Ferreira" <pedro.ferreira_at_[hidden]>
To: <jamboost_at_[hidden]>
Sent: Tuesday, July 22, 2003 11:57 AM
Subject: Re: [jamboost] Stages and multiple names

> Hi all,
>
> I finally had some time to implement <tag>. Comments and/or suggestions
are
> welcome.
>
> I've attached two diffs and one simple test.
>
> In builtin.jam:
>
> - Added a free feature 'tag'.
>
> In targets.jam:
>
> - Added a 'tag-name' rule to 'basic-target', which tags a name according
to
> <tag> properties;
> - basic-target's generate rule calls 'tag-name' before calling construct.
>
> BTW, I'm not sure what's the best way to handle dll and exe suffixes
across
> different platforms in the tests. Any suggestion or pointer to an example?
>
> Cheers,
>
> Pedro
>
>
>
>
> ----- Original Message -----
> From: "Rene Rivera" <grafik666_at_[hidden]>
> To: <jamboost_at_[hidden]>
> Sent: Wednesday, July 09, 2003 9:56 AM
> Subject: Re: [jamboost] Stages and multiple names
>
>
> > [2003-07-08] Vladimir Prus wrote:
> >
> > >Hello Pedro,
> > >
> > >> If not, and if you think it is worth it, I am avalable to try and
> > implement
> > >> it.
> > >
> > >Thanks a lot for your attitude! If you're willing to implement <tag>
> you're
> > >most welcome. Of course, I'll be glad to help.
> > >
> > >I've actually almost forgotten the details about <tag> feature and I
> recall
> > in
> > >V1 it works not only in stage targets, but also in regular targets
(like
> > >exe).
> >
> > Yes, it works on any main target.
> >
> > >So I guess it's better to start by asking Rene how it works in V1 and
> > making a
> > >short description of proposed V2 semantic, so that everybody could be
> sure
> > >what's going to be implemented. What do you think?
> > >
> > >Rene, I'm specifically interested why we need tag in regular targets
> *and*
> > in
> > >stage targets.
> >
> > Answering that last one first... It's needed in regular targets because
> that
> > is the way, in V1, that it stages linked targets (DLLs, EXEs) directly
to
> > the stage dir. Doing the link step again but with the staged name is
> > required because various platforms use the name for linking and loading.
> >
> > The basic mechanism is to map feature names that appear in the target to
> > strings which get inserted between the basename and extension of the
final
> > target name. For example <tag><debug>_debug, checks if the "debug" is in
> the
> > subvariant spec of the target and appends "_debug" to the name. Or to
put
> it
> > in one sentence. It maps the features in the target subvariant to suffix
> > strings on the target file name.
> >
> > It's very simple code, as much is in V1, the naming is done in
> > boost-base.jam/rename-target rule. Surprisingly it's documented ;-)
> >
> > For V2 we already have the linking directly to the stage (if I remember
> > correctly). So it's only the naming that's needed, and the interface to
> it.
> >
> > The naming part I intended to use the modifier concept. -- The current
> > modifiers implementation is a placeholder ;-) -- But basically if we can
> > integrate some sort of target modifier (name/propeties/sources/etc) into
> the
> > target building. We can then write the <tag> support in terms of it.
> >
> >
> > Hmm, I just realized I'm rambling... it's late, and I need sleep... ask
> > questions if the above doesn't make much sense.
> >
> >
> > -- grafik - Don't Assume Anything
> > -- rrivera (at) acm.org - grafik (at) redshift-software.com
> > -- 102708583 (at) icq
> >
> >
> > To unsubscribe from this group, send an email to:
> > jamboost-unsubscribe_at_[hidden]
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> >
> >
> >
>
>
> To unsubscribe from this group, send an email to:
> jamboost-unsubscribe_at_[hidden]
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>

 


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