
Stefan Seefeld wrote:
Let's take a concrete example:
I want to use boost.wave, so I'm looking for a 'boost_wave.pc' file.
`pkgconfig --libs boost_wave`
should report something like '-lboost_wave -lboost_program_options -lboost_filesystem' on my FC box,
I think Boost packages for all Linux distribution will have exactly those names, so static .pc file can be fine.
Ok. But who creates / maintains them ?
Hmm... I guess asking all packagers to create their own version is not good.
Ok, for installing from CVS the name indeed can vary. Note however, that for shared linking you don't need -l...program_options... and -l...filesystem... at all.
That depends on the platform. Not everywhere is the dependency encoded in the library itself. On some the user has to explicitly (re)link with *all* libraries.
Namely? (Static linking is another issues, of course).
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.
Ok. - Volodya