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
target
> > > > 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
skipped.
> >
> > > Do
> > > you suggest that I we fail to refine properties for *any* target, it
will
> > > 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
agree.
>
> Hmm.. in
>
https://sourceforge.net/tracker/index.php?func=detail&aid=515770&group_id=7
586&atid=445591
> 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
find
> >
> > 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
find
> > boost-build.jam, which is expected to /specify/ the location of the
build
> > system files.
>
> Well, then it tried to determine the location of build system file. The
whole
> point of "boost-build.jam" is to specify location, and so bjam tries to
find
> 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
might
> > help.
>
> Say you have project-root.jam in /tmp/X and jamfiles in /tmp/X and
/tmp/X/lib.
> It is possible to say that there's project "/tmp/X" and "/tmp/X/lib".
What's
> project-root then. I think it means the same as "root of a project".
Okay,
> but is it correct to say that "/tmp/X" is root of the project
"/tmp/X/lib"?

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.

-Dave

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk