Some observation re libraries as DLLS

I'm making adjustments in the build and test Jamfiles to take into account changes made to permit the serialization library to be built and used as a DLL. This as raised a couple of questions in my mind. Re: the Jamfile for test a) It would seem to me that if the test is to be built and run with <runtime-link>dynamic - indicating the usage of C++ runtime dll, that the default build for the test should be to use the dll versions of all the libraries. I've managed to do this in sort of a kludgy way and it might be working. But I'm still working on it. b) the above raises the issue of how one should specifiy a target be built to use the dll vs the static library. <runtime-link>dynamic does something else. I was looking for a variant but I don't find it. I'm thinking that the way its done in the Program Options library is the way to go. c) when using the dll versions of boost libraries, the dll has to be on the path (at least with windows). It seems that bjam takes care of this automatically. So its only a problem when I want to debug the app with my VC IDE. It might be a good idea if the document mentioned this. d) The section on Testing Auto-linking in .../more\separate_compilation.html leaves me extremely confused. If I try to build the test without auto-linking by including the BOOST_???_NO_LIB then the libraries names searched for don't match the onces created by the build Jamfile. That its the above define doesn't get propogated to the build Jamfile and I don't know how it would. If I alter my Jamfile so that it doesn't include common-variant-tag as a target. The when the bjam stage is invoked, the libraries won't have the version specfic stuff. The situation is made even more compilicated by the fact that I have one dll (boost_wserialization.dll) which calls into another one (boost_serialization.dll). I've made it work by using the variant tags all the time - that is never using BOOST_???_NO_LIB. But now I'm concerned the the section at the end of the reference which seems to suggest that this won't work on platforms which don't suppor t auto-link. This seemed very simple when I started, but now I'm trying to get the details right and I'm having lots of nagging issues like the above. Its actually harder to figure out than the serialization library itself. Robert Ramey
participants (1)
-
Robert Ramey