On Tuesday 01 April 2003 04:24 am, John Fletcher wrote:
Doug
Thank you for this. I don't understand the answer as I don't see any code there which will enable me to designate a location e.g. boost_1_30_0/lib where my libraries could be.
Sorry, 'bin-stage' was the location, although I don't particularly like the name choice.
An alternative would be to provide a link from e.g. boost_1_30_0/lib to the location where the library actually is, down a very long directory chain. Either would be nice as then I could do
g++ -I../boost_1_30_0 something.cpp -osomething -L../boost_1_30_0/lib -lsignals
from anywhere, and use a system of my choice e.g. Cmake, to control my own parts of the software. It is simple to include the noncompiled boost libraries in other code, which is presumably the purpose of reusable library code.
This is the idea of staging. If you add this into libs/signals/build/Jamfile: stage lib : <dll>boost_signals : <tag><debug>"d" : debug release ; You'll get libboost_signals.(so|dll) in the 'lib' subdirectory of where you're building. So if you run bjam from libs/signals/build/, it'll be in libs/signals/build/lib. There is also a libboost_signalsd.(so|dll) in the same location for the debug version of the library. Replace "stage lib" with "stage ../../../lib" to put the results where you want them in $(BOOST_ROOT)/lib.
I appreciate that bjam is there to automate the building of alternative configurations of the libraries, and it works well for that. Surely that doesn't mean that users have to become experts in it to access the tutorial material on a library?
It shouldn't have to, but without some form of installation we've unfortunately forced users into precisely that.
Incidentally, the signals library is not included in the list of libraries which have a compiled component, and there is no mention of the need for linking a library in the otherwise excellent tutorial on the signals library.
Those I can fix quickly, and will do so. Doug