Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-07-22 06:44:26


Hi Pedro,

Pedro Ferreira wrote:
> I finally had some time to implement <tag>. Comments and/or suggestions are
> welcome.
>
> I've attached two diffs and one simple test.

Thanks! Oh.. patch with a test! I definitely like it.

> 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.

Since you've said in a later email that discovered a problem with the patch,
I'll wait a bit before applying this one and testing it.

One question though. If I have

exe a : a.cpp :
<variant>debug:<tag>_d
<variant>release:<tag>_r
<link>shared:<tag>_d
;

what names will be created when I run "bjam debug link=static" and "bjam
profile"? Won't it be the same name?

> 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?

Even better, I have a pointer to docs. Open "test/test_system.html", click on
"Methods for declaring expectation" item to table of content and read the
second paragraph. The main idea is that you specify Windows suffixes and test
system adjusts them as needed.

Thanks,
Volodya

>
> 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