Date: 2006-09-14 08:34:17
In order to support prebuilt libs in several variants and for several toolsets,
I have so far used the following approach with success. It isn't what it says
in the user manual AFAICT, so I sorta stumbled onto this, but hey...it worked!
--- lib some_library_gcc : : <variant>debug:<name>some_library-gcc-d <variant>release:<name>some_library-gcc ; lib some_library_msvc : : <variant>debug:<name>some_library-msvc-d <variant>release:<name>some_library-msvc ; alias some_library : some_library_gcc : <toolset>gcc ; --- ... and so on...you get the gist, I'm sure. This with a version of BBv2 that is about 10 months by now. Updating to CVS HEAD (as of September 12) this approach fails. It complains about the rule object(...).__init__ being called an extra argument. Apparently the parameter "real-name" gets passed both "some_library-gcc-d" and "some_library_gcc", which is obviously an error. Instead I have now tried this: --- lib some_library : : <toolset>gcc <name>some_library-gcc-d <variant>debug ; lib some_library : : <toolset>gcc <name>some_library-gcc <variant>release ; --- ...and so forth. However: --- error: No best alternative for src/dir/some_library next alternative: required properties: <threading>multi <toolset>gcc <variant>debug not matched next alternative: required properties: <threading>multi <toolset>gcc <variant>release not matched --- The culprit seems to be the <threading>multi part; if I supply "threading=multi" on the command line there are no problems. But why is there a requirement for multithreading on the lib? I get it not. Of more interest though, is the correct way to declare all these libs. How should I declare multiple versions of the same prebuilt link-library? What is the "correct" syntax? /Brian
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