Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-06-02 02:38:41


On Wednesday 01 June 2005 11:20, Johan Nilsson wrote:
> "Vladimir Prus" <ghost_at_[hidden]> wrote in message
> news:200505311925.33923.ghost_at_cs.msu.su...
>
> > On Friday 20 May 2005 11:12, judoka1981 wrote:
> >> > root/Jamfile. I'm using the install rule as I'd like all libraries
> >> > (pre-built as well as included in project) at the same location.
> >>
> >> Just wanted to add that the install rule also tries to copy
> >> prebuilt.lib onto itself, even though "<install-dependencies>off" is
> >> specified.
> >
> > "Onto itself"? That's very stange. I've tried with this Jamfile:
> >
> > lib prebuilt : : <file>libprebuilt.a ;
> > lib my : my.cpp prebuilt ;
> > install dist : my ;
>
> I've got a subdir called "libs", which is supposed to contain prebuilt
> _and_ generated libraries. After building e.g. "my" lib I try to install it
> into "libs", where the prebuilt is already located, hence the attempt to
> specify <install-dependencies>off.
>
> Does that explain the problem better to you?

Yes, I can now reproduce the problem.

> > When built with "bjam -n link=static", it would try to copy
> > "libprebuilt.a" to
> > "dist", which is more or less expected.
>
> Unless <install-dependencies>off, or?

Regardless of <install-dependencies>. Consider:

lib prebuilt : : <file>libprebuilt.a ;
lib my : my.cpp prebuilt ;
exe main : main.cpp my ;
install dist : my ;

Here, 'main' will link to 'prebuilt' in all cases. Likewise, 'dist' will see
'prebuilt' it its sources and try to install it.

I've modified the logic so that 'my' passed to dependents a <library>
property, which is used for proper linking, but is ignored by 'install'
unless <install-dependencies> is on. That change fixes the "copy onto itself"
problem.

It's in CVS and in the current nightly build. Can you try it? And please also
check if the "remove prebuilt libraries on --clean" problem is there. I could
not reproduce it, so if it reproduces for you, could you please create a
small testcase?

Thanks,
Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build V2: http://boost.org/boost-build2
 

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