|
Boost-Build : |
From: Klaus Nowikow (e8827661_at_[hidden])
Date: 2006-07-12 04:46:58
Vladimir Prus wrote:
> On Friday 07 July 2006 17:21, Klaus Nowikow wrote:
>> I am trying to create a customized install rule - package.install
>> does not fit my needs. So I copied package.install and changed it
>> to what I need. The problem is that my rule does not work with
>> 'explicit' - it is called every time I perform a build.
> ...
>> # file Jamroot
>> import test ;
>> test.install installtest : [ exe hello : test.cpp ] ;
>> explicit installtest ;
>> # EOF
>
> Klaus,
> the behaviour I see is a bit different from you.
>
> I see the hello is built. The reason is that 'explicit' is not propagated to
> source targets. The above is the same as if you'd written:
>
>
> exe hello : test.cpp ;
> test.install installtest : hello ;
>
> without 'explicit' for 'hello'. So, hello is built. Probably, we should be
> making inline target explicit automatically, but I'm not sure.
You mean that the 'hello' target in
'test.install installtest : [ exe hello : test.cpp ] ;' should be explicit
automatically? Sounds good to me.
But that's not really the problem. I made 'hello' inline just to save a
line in the message. I just wanted the 'installtest' target to be explicit.
Sorry for the confusion.
> On the other hand, I don't see common.copy action executed. I've just tried
> with a freshly downloaded nightly build, and see no common.copy action still.
> Maybe, you're not using the nightly build? Can you run "bjam
> --debug-configuration" to make sure Boost.Build is loaded from the location
> you expect?
I just downloaded today's nightly build, just to make sure we both use the same
version. Btw, I had problems downloading the .zip file, so I used the .tar.bz2
version.
bjam --debug-configuration shows the correct paths.
> Maybe, you've omitted something from your project? It might be easier to just
> send entire project as archive file.
You mean the test project? Please find test.zip attached to this message.
I now wrote "exe hello..." as you did above, with the same results as
before -- common.copy is called.
It's strange that you get results different from mine. Could it be that I need
a newer version of bjam? 'bjam --version' prints
Boost.Build V2 (Milestone 10)
Boost.Jam 03.1.13
Btw, when I use the stage.install rule directly, as in
# file Jamroot
import stage ;
exe hello : test.cpp ;
stage.install installtest : hello ;
explicit installtest ;
# EOF
everything works as expected.
Thank you for your help,
Klaus
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