On Tue, Apr 22, 2014 at 10:05:59AM -0700, Russ Allbery wrote:
> The convention for pkgconfig files is to list the libraries required
> for dynamic linking to get the public ABI in Libs and the other
> libraries requied for static linking in Libs.private.  This prevents
> over-linking binaries on systems with good shared library dependency
> resolution, such as Linux.
Thanks for the bugreport.

> Currently, the heimdal-*.pc files installed by heimdal-multidev put
> all the libraries in Libs.
> 
> Which libraries should be considered part of the public ABI may be a
> bit tricky (one can make an argument about hcrypto, for example), but
> I think something like:
> 
> Libs: -L${libdir} -lkrb5 -lhx509 -lhcrypto
> Libs.private: -lcom_err -lasn1 -lwind -lheimbase -lroken -lcrypt -pthread 
> -lpthread -ldl -lresolv
> 
> for heimdal-krb5.pc would be at least closer.  (I suspect 95% of
> programs, if not more, only need libkrb5, so if you want to be
> particularly aggressive, you could move everything else and have
> programs that want to use the more obscure interfaces link with the
> other libraries explicitly.  Particularly since the other libraries
> and their interfaces are all Heimdal-specific and not part of the
> semi-standard libkrb5 API.)
Considering these .pc files are relatively new and unused at the
moment, now is the best moment to trim the list of flags.

I've added a patch to the sid package to trim the flags for heimdal-krb5.pc
down to just -lkrb5, and have forwarded that upstream.

Cheers,

Jelmer

Attachment: signature.asc
Description: Digital signature

Reply via email to