simplifying library install names

When I build boost-1.31.0, like so: bjam -sPYTHON_ROOT=/usr -sPYTHON_VERSION=2.2 -sTOOLS=gcc -sBUILD=release --prefix=/usr I end up with a bunch of oddly-named library files: libboost_filesystem-gcc-1_31.a libboost_filesystem-gcc-1_31.so.1.31.0* libboost_filesystem-gcc.a libboost_filesystem-gcc.so* is there a way to run bjam or configure the build process so I get something sensible, like: libboost_filesystem.a libboost_filesystem.so.1.31.0 libboost_filesystem.so (symlink) ? best, benjamin

Benjamin Kosnik wrote:
When I build boost-1.31.0, like so:
bjam -sPYTHON_ROOT=/usr -sPYTHON_VERSION=2.2 -sTOOLS=gcc -sBUILD=release --prefix=/usr
I end up with a bunch of oddly-named library files:
libboost_filesystem-gcc-1_31.a libboost_filesystem-gcc-1_31.so.1.31.0* libboost_filesystem-gcc.a libboost_filesystem-gcc.so*
is there a way to run bjam or configure the build process so I get something sensible, like:
libboost_filesystem.a libboost_filesystem.so.1.31.0 libboost_filesystem.so (symlink)
Not with the current build procedure. This is intentional as we can't rely on, or assume, that the user has only one compiler in use. Or that they only want a specific variant, threading, runtime, etc. The hope is that system packagers provide for that. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq

Hi Rene
Not with the current build procedure. This is intentional as we can't rely on, or assume, that the user has only one compiler in use. Or that they only want a specific variant, threading, runtime, etc. The hope is that system packagers provide for that.
Hmm. I am a system packager, thanks for your insights. I don't see a way to just get binaries with names like BOOST_LIB_PREFIX, intead of BOOST_LIB_PREFIX + "-" BOOST_LIB_TOOLSET "-" + BOOST_LIB_VERSION. Renaming at install time (which all the linux packagers are doing) is fine for static libs, but for shared libs the odd names are compiled into the SONAME, which is a problem. I can either edit the binary file (!) or just compile with the names I use. Obviously, it would be simpler to hack the build process. Is there a hack or (better) a clean way to force the naming convention, at compile time? best, benjamin
participants (2)
-
Benjamin Kosnik
-
Rene Rivera