Am 16.07.2007 um 00:31 schrieb Roger Leigh:
frederic.bron@alcan.com writes:
Just add the following on the bjam command line: --layout=system
While this solves the library naming issue on the developer's system, it does not address the problem of someone else compiling the code on their system. In this case the user's self-compiled or distributor-provided version will most likely not have used this option, and the developer will have no prior knowledge of the toolchain in use (as I described in my earlier post).
This is a very important use-case which desperately needs a reliable solution, such as pkg-config support. Otherwise, free software/open-source software has a terrible time trying to link to Boost libraries.
Well, before I built boost with bjam for the first time - about three weeks ago -, I found this by calling bjam --help from the command line: --layout=<layout> Determines what kind of build layout to use. This allows one to control the naming of the resulting libraries, and the locations of the installed files. Default is 'versioned'. Possible values: versioned - Uses the Boost standard names which include version number for Boost the release and version and name of the compiler as part of the library names. Also installs the includes to a versioned sub-directory. system - Builds an install without the Boost standard names, and does not install includes to a versioned sub- directory. This is intended for system integrators to build for packaging of distributions. That's all ok for me - a software developer. But: I don't know how many users can handle this, and ... errm ... I don't know if it's in the documentation anywhere. By the way: great stuff, these boost libraries. Regards, Klaus