I'm working with a project that goes by one of two package names, depending on the distribution. On Debian and derivatives, the package name is libcrypto++
. On Fedora and derivates, its called libcryptopp
. (The official project name is Crypto++).
Users write code, and do things like:
#include <crypto++/aes.h>
And later, they link to the library with -lcrypto++
.
Obviously, using "Debian conventions" breaks things on Fedora (and vice versa). See, for example, How to change the include file path with autotools?
I'm trying to determine what can be used to abstract the differences away so the user's code "just works".
Can pkg-config files
be used to handle the differences? If so, then how does it handle the #include <crypto++/...>
versus #include <cryptopp/...>
found in user code? (I'm especially concerned about header clashes, like OpenSSL and Crypto++ both providing aes.h
).
If not, what can we do to help with the issues caused by different names on different platforms?