Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-10-30 05:11:30

Jürgen Hunold wrote:

> > As the issue say, you invoke 'use-project' before 'project', and this
> > cause incorrect project loading order. Putting 'use-project' after
> > 'project' should solve this issue.
> >
> > Did this use-case work for you before? Thinking about it, I believe
> > it must have being broken all the time.
> Well, I use the new <implicit-dependency> feature now.
> If you look at qtlib/Jamfile, I use implicit dependencies like
> use-project /gui : lib/gui ;
> <implicit-dependency>/gui
> to progate generated includes to main and the other libs.

I agree that this usage must be supported. But that means 'use-project' should
do nothing during project loading. It will only record the information about
used projects, which will be handled later. I was trying to get away with a
simpler approach, but it didn't worked out.

> When I move use_project after project, I get
> error: Recursion in main target references
> (see attached file out.txt below). Or am I missing something ?

I think the message is correct. You have <implicit-dependency>/gui
It is inherited by the "/gui" project, so each target in that project referers
to all other targets, including itself. That's the recursion. I think this
<implicit-dependency> can be added to Jamfile in "app".

Some time ago I was thinking if dependency properties which refer to self
should be silently ignored, but in the end decided that it's questinable

> mmh, it used to work _before_ the restructuring.
> But I can tell for sure because I didn't do a complete rebuild when you
> introduced <implicit-depency> and I first used this.
> So you are right , this is most probably broken all the time.

Most probably, the 'gui' project used to be loaded twice. The second loading
recreated the entire project structure, so no problems were seen, but now
that double loading is fixed, the problems become apparent.

- Volodya


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