pkg-config

From: Murray S. Kucherawy <msk_at_cloudmark.com>
Date: Thu, 8 Oct 2009 12:25:40 -0700

Some of Daniel's suggestions presuppose the use of pkg-config. For those of you who may not know (I didn't until just now!), pkg-config is a mechanism for registering the locations of installed include files and libraries that can later be retrieved by build mechanisms like autoconf.

The upside: This would mean users don't have to do "-with-openssl=foo -with-db=bar -with-tre=baz" as parameters to ./configure since autoconf can figure those out on its own, and adding new library dependencies to configure.ac gets much easier. There's also the additional flexibility of having the libraries and includes in different locations, e.g. in respective subdirectories of /usr/local/lib and /usr/local/include rather than directly in those.

The downside: This establishes two dependencies, namely (a) anyone that wants to compile OpenDKIM has to acquire and install pkg-config first (it's free, but it's still a dependency); and (b) the macros to use pkg-config from inside autoconf are non-standard extensions so we'd need to include that in our distributions and make sure we stay current, like we do now with acx_pthread.m4.

It looks like modern free UNIXes all come with pkg-config installed, or if not, then some common packages already install them as dependencies, so really this conversation is just a matter of being sensitive to vendor UNIXes like Solaris or other legacy systems.

Thoughts?

-MSK
Received on Thu Oct 08 2009 - 19:25:50 PST

This archive was generated by hypermail 2.3.0 : Mon Oct 29 2012 - 23:32:29 PST