Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2001-10-09 02:45:17


> > Actually, slightly different jamfile (not using Boost.Build) shows a
>
> certain
>
> > bug in jam:
> > Main a : a.cpp helper.cpp ;
> > Main b : b.cpp helper.cpp ;
> > In case of Boost.Build: well, I forgot that two m1.o go to different
> > directories. But why do they go to different directories? What is the
>
> reason
>
> > for main target name to be present in path for target in depends on?
>
> Because:
>
> 1. the main targets may have different requirements which cause the objects
> to be built differently.
As far as I can tell, the only thing that affects the way objects are build
is the set of properties used for building. Do you mean to say that free
properties in requirements for two main targets can be different, which
requires putting objects in different directories?

> 2. It's not very common to want to compile the same source file into
> multiple executables. Maybe it happens once or twice in a project, but it
> accounts for a very small fraction of all source files.

Over the last time, I tend to use more and more testing. This can lead to
almost every source file been recompiled twice.

> 3. static libraries provide a simple mechanism to achieve that.

Yes, but it's more like a artifical mechanism, or workaround.

> > > Maybe you should try again to
> > > say why this would be better.
> >
> > Maybe it's only my captiousness which makes me think a build tool can't
> > do
>
> What does "captiousness" mean?

I'm sorry...
From www.m-w.com:
        Main Entry: cap*tious
         1 : marked by an often ill-natured inclination to stress faults and raise
         objections

> > unnessesary actions :-) I don't absolutely want a change in jam, but I
>
> want
>
> > no unneeded compiles -- both because it's extra compile time and because
>
> it's
>
> > hard to promote a build tool with such a property.
>
> I'm satisfied with anything that almost never recompiles needlessly. It's
> pretty hard to detect exactly which things might need to be recompiled
> under all circumstances, and IMO not worth the effort.

I'll need to think about ways of implementing it and needed effort. So far it
seems like two-fold saving in compilation time can be achieved.

Regards,
Vladimir


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk