Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-07-25 02:59:51

Hi Michael,

> > Some nits. You don't have to call "raw" to compare property-sets. Just
> >
> > $(self.default-build) != $(d)
> >
> > should suffice.
> Thanks for picking up these nits. I mostly wrote this code by example
> without any deeper understanding of the internals!
> My intention was that the comparision would check for identical
> property-set values, rather then identical property set inheritance. (In
> the same way that a type equivilance can be defined either in terms of
> identical structure or identical inheritance)
> I observed that .raw produced the property-set values so I guessed that
> was what I wanted.

To bad I've accidentally removed all comments in property-set.jam and never
took the time to rewrite them. The class is special the the sense then there
never two different instances with the same value returned by the "raw"
method. That's why it's possible to compare instances.

> > Another nit: is that your mailer has wrapped the patch ;-) Probably,
> > attachement will be safer.
> Arggg.
> Attached is a new diff with modifed test. It also corrects the error
> output.


> > Last nit: when your patch is applied,
> > the "default_build" test no longer passes :-) Not a big surprise,
> > since we
> > check for the current logic.
> >
> > If you have some time to to run the test and change it, that would be
> > great.
> > Of course, if you don't have the time right now, I'll be happy to
> > apply the
> > patch and change the test myself.
> Quickly installed python and did a crash (20 minute) teach yourself
> course in the python based test system!

Oh! Thanks for taking the time.

> Patch for test system is
> attached. It includes one negative and one postive test or the new rule.
> I use a "-n" in the run_build_system command. Hopefully this is the
> accepted was of testing without actions.

Yes, that's used in some other places where actions are not necessary.

> It could probably do with a second positve test with a non blank default
> build. However the only logical usage would be something like:
> exe a : a.cpp : : release ;
> exe a : b.cpp : <toolset>XXX : release ;
> Only problem is my knowledge of Python quoting do not allow me to insert
> a valid XXX from the know system toolset!

You could do:
Jamfile_text = t.expand_toolset("""
exe a : a.cpp : : release ;
exe a : b.cpp : <toolset>$toolset : release ;

But existing tests are fine with me. I've applied and comitted your patch.
Thanks a lot!

- Volodya


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at