From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-05-31 10:17:54
David Abrahams wrote:
>"Hendrik Schober" <SpamTrap_at_[hidden]> writes:
> > David Abrahams <dave_at_[hidden]> wrote:
> >> [...]
> >> >> > Um, what are targets?
> >> >>
> >> >> Standard build-system-eze for "element of the build dependency
> >> >> These messages are inherited from jam; should we remove them?
> >> >
> >> > I don't think so. But maybe some explanation in
> >> > the docs (in non-build-system-eze) of what they
> >> > are would be good.
> >> Why shouldn't the tool output messages in non-build-system-ese? [...]
> > Oh it should. I didn't say anything against that,
> > did I?
>Well, no, but telling you that we found 4471 targets and we're
>updating 1123 of them has to be more cryptic than helpful!
It gives you an indication that there were errors, so you can look at the
log and find where the failures occured. Some of the failing targets would
be because something else failed.
> >> >> > Why wouldn't it find 2 of them?
> >> >
> >> > I'm still amazed by this, BTW.
> >> I don't know, offhand. There are diagnostic options in bjam that
> >> allow us to find out, but you don't really care, do you? That's why I
> >> think we should disable those messages.
> > Oh, this wasn't an error? Wow, then this should
> > surely made very clear. If a build tool says it
> > can't find/build/update some target, I surely
> > read an error into this message.
>I guess you're right; it's an error and should stay. But we should
>tell you the names of the targets we can't find, right?
It would also be usefil to list the targets that failed to build as a
summary without the targets that the failing targets are dependant upon
(i.e. don't display the skipped targets in the summary).
> > I suggest "stage" to be either removed or better
> > explained.
>I agree. I think I still don't really understand the differences
>between stage and install.
A stage is what happens as part of the build process. For example, the GCC
build process is split into stages, building a version of the compiler that
is then used to build the next stage. For the Boost build process, stage is
used to create the libraries only so you can use the headers provided in
your Boost distribution.
An install is what happend when the build succeeds, allowing you to place
the results into a common distribution directory. This will also include
other files that are required (e.g. language files). The Boost build process
copies the header files into the directory you are installing to as well as
building the libraries so that directory is like standard SDK/library
Summing up: use stage if you want to use the headers from the place you
extracted Boost to; use install if you want to use the directory where the
library files are built to.
Reece Haston Dunn
Software Engineer, Sophos
Sophos - protecting businesses against viruses and spam