|
Boost-Build : |
From: Jurko Gospodnetiæ (jurko.gospodnetic_at_[hidden])
Date: 2008-09-03 12:41:38
Hi all.
Here's another funny Boost Build behaviour example.
The attached test-case contains a helper .cmd batch script I used on
Windows to remove all build products (bin folders & .bak files) so I
encrypted with with the password '1234' (no quotes).
When you set up the example and run bjam in its root folder you get:
1. 'my-lib' library built correctly.
2. 'other-lib' library built incorrectly, containing only the
placeholder.obj (compiled placeholder.c) module.
On the other hand, when you specify --no-my-lib on the command line
which effectively only removes 'my-lib' from the build request the
'other-lib' library gets built correctly and contains an additional
source.obj (compiled from source.c which gets copied from source.extension).
It seems Boost Build fails to use/find/whatever the generator used to
produce the source.c file from its source.extension source file.
Note that the two libraries should have nothing to do with each other.
You can comment out using the placeholder.c source file which will
cause a warning message to be displayed when you attempt to build
other-lib in case you also build my-lib.
It does not matter if you remove the mygen.jam file and integrate it
into Other/jamfile.jam registering its generator action with the
'$(__name__).' prefix.
It also does not matter if you rename the Other/jamfile.jam file to
Other/jamroot.jam or move the Other folder so it is not a subfolder of
the main test folder.
I'll post here when I get a chance to do more debugging on this. Many
thanks if someone can get to it before I can...
Best regards,
Jurko Gospodnetiæ
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