Some bjam questions

1. Why doesn't --build-type=complete work when invoked from a library build directory? I needed to build libboost_serialization-vc71-mt-sgd.lib yesterday and went through quite a few attempts to get the options right (from within the serialization build directory). I see now that it would've been easier to use --with-serialization from the top level, but why doesn't the "intuitive" way work as expected? 2. Why doesn't runtime-link=static work for a test? I'm getting: Skipping build of: libs/smart_ptr/test/shared_ptr_test <build>no in common properties when invoking for example C:\boost\trunk>bjam runtime-link=static libs/smart_ptr/test//shared_ptr_test

Peter Dimov wrote:
1. Why doesn't --build-type=complete work when invoked from a library build directory?
I needed to build libboost_serialization-vc71-mt-sgd.lib yesterday and went through quite a few attempts to get the options right (from within the serialization build directory). I see now that it would've been easier to use --with-serialization from the top level, but why doesn't the "intuitive" way work as expected?
I had to put in a special check to disable the build-type option in anything but the root to prevent problems with testing. As testing, and other builds, assume that the default builds happen. I don't remember the exact symptom at the moment though. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

Rene Rivera:
I had to put in a special check to disable the build-type option in anything but the root to prevent problems with testing. As testing, and other builds, assume that the default builds happen.
But testing builds don't explicitly specify --build-type=complete on the command line, do they? If not given, the build type will still default to whatever testing builds expect.

Peter Dimov wrote:
Rene Rivera:
I had to put in a special check to disable the build-type option in anything but the root to prevent problems with testing. As testing, and other builds, assume that the default builds happen.
But testing builds don't explicitly specify --build-type=complete on the command line, do they? If not given, the build type will still default to whatever testing builds expect.
No. The default, as specified in the testing Jamfiles, will be overridden by the --build-type logic forcing to build the build-type=minimal libs. And specifying --build-type=complete would also override the default Jamfile build to build all the variants. So neither is the historically expected outcome for testing. I'm not saying we shouldn't support the use case... Just that it caused problems and I worked around it at the time by only supporting --build-type at the root. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail
participants (2)
-
Peter Dimov
-
Rene Rivera