Boost logo

Boost-Build :

From: Klaus Nowikow (e8827661_at_[hidden])
Date: 2006-07-07 09:21:03

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.
I got the nightly build of Boost.Build a couple of days ago, so I
already have the bugfix described in

I have a minimal example showing the problem:

# file test.jam
import project ;
import stage ;
rule install ( name : root : requirements * )
        stage.install $(name)-root : $(root) : $(requirements) ;
        alias $(name) : $(name)-root ;
        local c = [ project.current ] ;
        local project-module = [ $(c).project-module ] ;
        module $(project-module)
                explicit $(name)-root ;

# file Jamroot
import test ;
test.install installtest : [ exe hello : test.cpp ] ;
explicit installtest ;

(test.txt is just an empty file)
bjam -n gives:

...found 11 targets...
...updating 7 targets...
MkDir1 bin

     mkdir "bin"

MkDir1 bin\gcc

     mkdir "bin\gcc"

MkDir1 bin\gcc\debug

     mkdir "bin\gcc\debug"

gcc.compile.c++ bin\gcc\debug\test.o

     "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -c -o "bin\gcc\debug\test.o" "test.cpp" bin\gcc\debug\installtest-root__hello.exe

     "g++" -o "bin\gcc\debug\installtest-root__hello.exe" -Wl,--start-group "bin\gcc\debug\test.o" -Wl,--end-group -g

MkDir1 installtest-root

     mkdir "installtest-root"

common.copy installtest-root\installtest-root__hello.exe

     copy "bin\gcc\debug\installtest-root__hello.exe" "installtest-root\installtest-root__hello.exe"

...updated 7 targets...

i.e., the "installtest" rule is called although not given in the command line.
Is there something I am doing wrong here?


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