Boost logo

Boost :

From: Thomas Witt (witt_at_[hidden])
Date: 2001-11-21 10:41:22


> > > I don't see how propagation to a dependent target could be relevant;
> > > the build proceeds from the target you specify to all of its
> > > dependencies,
> not
> > > the other way around.
> >
> > I do not understand this.
> dll x : x.cpp y.cpp ;
> You request that x be built. It is a fake target, whose dependency is
> x.dll. x.dll depends on x.obj and y.obj. x.obj depends on x.cpp, etc.
> The point is that targets which are DEPENDENT on these aren't built:
> they're not part of the build request.
> (It took me a long time to understand this, but people use dependent and
> dependency to mean opposites. If A depends on B, A is the dependent and B
> is the dependency.)

I understand. I meant propagation to its dependencies.

> Not exactly. Although they aren't supposed to affect link-compatibility,
> they usually /will/ affect the built products. I just didn't think it was a
> good idea to do anything that would leave around an odd version of a
> dependency target which was built indirectly, rather than explicitly.
> > I think of free-features as a way to specify how the build should behave.
> > Think of a msgstyle feature for metrowerks or something like <cflags>-v.
> In
> > my oppinion build behaviour should be the same for all targets(as long as
> > they don't require different) of one jam invocation.
> Hmm; I understand. Maybe it makes sense to distinguish features that don't
> affect the built products at all from features which don't affect link
> compatibility but do affect the built product. For example, msgstyle,
> warnings, template instantiation depth, etc. are in the first category.
> Most <define> settings are in the 2nd category.

I strongly vote for seperate categories.

> I agree that it's not easily understood. I'm not sure that it would be
> right to propagate ALL free features.

I agree.

> > As a sidenote I use the commandline variables to handle build behaviour
> and
> > toolset in emacs (I need to change this on-the-fly).
> Me, too. If you want the regexps to parse the CW msgstyle that the toolset
> provides by default, I have added them at the end. I used to use msgstyle
> gcc but these messages are much more informative so I fixed my .emacs error
> parsing ;-)

Thanks, much appreciated.

If there is anything specific I can do to help with build development, let me
know. Though I am not sure whether my understanding of jam is sufficient yet.



Dipl.-Ing. Thomas Witt
Institut fuer Verkehrswesen, Eisenbahnbau und -betrieb, Universitaet Hannover
voice: +49(0) 511 762 - 4273, fax: +49(0) 511 762-3001

Boost list run by bdawes at, gregod at, cpdaniel at, john at