Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2002-08-16 19:15:00

From: "Vladimir Prus" <ghost_at_[hidden]>

> > > > Currently in v1, if the command-line build request is, e.g.
> > > > <runtime-link>static, and we have a target which requires
> > > > <runtime-link>dynamic, it simply warns that it's skipping that
> > > > due to incompatible requirements.
> > > This makes sense. However, untill now I assumed that if property
> > > refinement
> > > fails, this is an error, except for project targets, which are
> >
> > > Do
> > > you suggest that I we fail to refine properties for *any* target, it
> > > be
> > > skipped with a warning?
> >
> > I think I see what you mean, though there's no definition for "project
> > targets". If it means roughly the same as "main target", I think I
> Hmm.. in
> you talk about "projects as abstract target" yourself
> "project target" is an abstract target which corresponds to a project.

You don't think I can remember everything I write, do you <wink>?
I think that if property refinement fails for any "directly-requested" main
target, it should be skipped with a warning. By "directly requested" I
meant to exclude targets which are only built by virtue of the fact that
they're dependencies of other targets.

> > > Your wording is better, except that I don't
> > > "Upon startup, bjam searches for a file called "boost-build.jam","
> > > as the first phrase. Reader is left wondering why all the actions are
> > > performed, and is never explicitly told that. I think "attempts to
> >
> > the
> >
> > > location of build system files" should be retained in some form.
> >
> > But it doesn't attempt to find the build system files.. It attempts to
> > boost-build.jam, which is expected to /specify/ the location of the
> > system files.
> Well, then it tried to determine the location of build system file. The
> point of "boost-build.jam" is to specify location, and so bjam tries to
> the location by means of the file, not tries to finds it just for itself.

Okay, how about:

"bjam's first job upon startup is to load the Jam code which implements
the build system. To do this, it searches..." etc...

> > Okay, I see what you mean, but the docs don't communicate it.
> I'm afraid I don't know how to reword it now.

You have to find a way, I think. The examples you posted (which I snipped)
would help a lot.

> > I guess I don't understand your question. Examples of what you mean
> > help.
> Say you have project-root.jam in /tmp/X and jamfiles in /tmp/X and
> It is possible to say that there's project "/tmp/X" and "/tmp/X/lib".
> project-root then. I think it means the same as "root of a project".
> but is it correct to say that "/tmp/X" is root of the project

I guess I would say that tmp/X/lib is a subproject of tmp/X by virtue of
the existence of project-root.jam in a parent directory.



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