From 0c698ef0374b671d3b6a8def2d9c113797ceaec3 Mon Sep 17 00:00:00 2001 From: Felipe Contreras Date: Sun, 11 May 2014 22:09:32 -0500 Subject: [PATCH] configure: add workaround for systems without zlib.pc 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 --- 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 00000000..107ba17a --- /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 00000000..198a727c --- /dev/null +++ b/compat/gen_zlib_pc.c @@ -0,0 +1,18 @@ +#include +#include + +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 9bde2eb7..99ab74dc 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