Some systems (e.g. FreeBSD) might not have installed the appropriate pkg-config file as they should. We can workaround the issue by creating the .pc file they should have distributed.
Signed-off-by: Felipe Contreras <felipe.contreras at gmail.com> --- compat/.gitignore | 1 + compat/gen_zlib_pc.c | 18 ++++++++++++++++++ configure | 9 +++++++++ 3 files changed, 28 insertions(+) create mode 100644 compat/.gitignore create mode 100644 compat/gen_zlib_pc.c diff --git a/compat/.gitignore b/compat/.gitignore new file mode 100644 index 0000000..107ba17 --- /dev/null +++ b/compat/.gitignore @@ -0,0 +1 @@ +zlib.pc diff --git a/compat/gen_zlib_pc.c b/compat/gen_zlib_pc.c new file mode 100644 index 0000000..198a727 --- /dev/null +++ b/compat/gen_zlib_pc.c @@ -0,0 +1,18 @@ +#include <stdio.h> +#include <zlib.h> + +static const char *template = + "prefix=/usr\n" + "exec_prefix=${prefix}\n" + "libdir=${exec_prefix}/lib\n" + "\n" + "Name: zlib\n" + "Description: zlib compression library\n" + "Version: %s\n" + "Libs: -lz\n"; + +int main(void) +{ + printf(template, ZLIB_VERSION); + return 0; +} diff --git a/configure b/configure index 9bde2eb..35dd21f 100755 --- a/configure +++ b/configure @@ -340,6 +340,15 @@ else errors=$((errors + 1)) fi +if ! pkg-config --exists zlib; then + ${CC} ${zlib_cflags} -o compat/gen_zlib_pc \ + "$srcdir"/compat/gen_zlib_pc.c ${zlib_ldflags} > /dev/null 2>&1 && + compat/gen_zlib_pc > compat/zlib.pc && + PKG_CONFIG_PATH="$PKG_CONFIG_PATH":compat && + export PKG_CONFIG_PATH + rm -f compat/gen_zlib_pc +fi + printf "Checking for zlib (>= 1.2.5.2)... " have_zlib=0 if pkg-config --atleast-version=1.2.5.2 zlib; then -- 1.9.2+fc1~45~g3953d93