
On Thu, Jun 16, 2005 at 07:59:49AM -0400, Stefan Seefeld wrote:
Vladimir Prus wrote:
I think that if packagers rename the libraries.... well nothing would work because then the name of the library encoded inside it will be different from the filename ;-)
You are right, on most systems there is more to renaming a library than just 'mv foo.so bar.so'.
So, packages will either 1. Build boost in some other way 2. Make Boost.Build use the conventions they want.
In either case, they'll know the naming conventions used and can generate .pc files without any Boost.Build help.
Sure they *can*. But so far it hasn't happened, and I believe instead of sending a RFE to RedHat and Debian and... it is simpler to make the change to the boost build system and then encourage packagers to follow the example.
And if only pre-built packaged versions come with pkg-config support it doesn't help if I want to switch between the pre-built libs and ones I built myself from CVS.
BTW, where should .pc file be installed? $prefix/lib/pkgconfig or /usr/lib/pkgconfig? With arbitrary prefix, the .pc file just won't be found, which make it useless.
I install them into <prefix>/lib/pkgconfig. That of course requires the PKG_CONFIG_PATH to be set. That is basically the same procedure as setting the LD_LIBRARY_PATH if libraries are installed in places not automatically looked in by the library loader.
And IMHO that's an important point, just by using a different PKG_CONFIG_PATH you can link to a completely different set of libs: make PKG_CONFIG_PATH=$HOME/my_local_version_of_boost or make CXX=g++41 PKG_CONFIG_PATH=$HOME/boost_built_with_gcc41 I wouldn't have to change the Makefile at all for this to work. jon