Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 212AC431FC0 for ; Sat, 10 May 2014 13:27:53 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0.001 X-Spam-Level: X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[UNPARSEABLE_RELAY=0.001] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NKmgEIamgFJc for ; Sat, 10 May 2014 13:27:45 -0700 (PDT) Received: from mail.atelo.org (atelo.org [192.95.27.91]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 87843431FBF for ; Sat, 10 May 2014 13:27:45 -0700 (PDT) Received: from coyotlan.atelo.org (ovo.atelo.org [192.168.1.7]); by mail.atelo.org (OpenSMTPD) with ESMTP id ba5eae50; Sat, 10 May 2014 20:27:13 +0000 (UTC) Received: from localhost (1001@localhost [local]); by localhost (OpenSMTPD) with ESMTPA id e9eaaa2f; Sat, 10 May 2014 13:27:41 -0700 (PDT) User-Agent: OpenSMTPD enqueuer (Demoostik) From: =?UTF-8?q?X=C4=ABc=C3=B2?= To: notmuch@notmuchmail.org Subject: [PATCH 1/2] configure: add a fallback check for zlib Date: Sat, 10 May 2014 13:27:25 -0700 Message-Id: <1399753646-3026-1-git-send-email-xico@atelo.org> X-Mailer: git-send-email 1.9.2 X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 May 2014 20:27:53 -0000 Since zlib is part of the base system, FreeBSD chose not to register it in pkg-config through zlib.pc. As a fallback test, configure will build and run a zlib version check and make sure the header and library versions are compatible. --- compat/have_zlib.c | 6 ++++++ configure | 21 ++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 compat/have_zlib.c diff --git a/compat/have_zlib.c b/compat/have_zlib.c new file mode 100644 index 0000000..abaeedd --- /dev/null +++ b/compat/have_zlib.c @@ -0,0 +1,6 @@ +#include + +int main(void) +{ + return (ZLIB_VERNUM) < (MINVER) || zlibVersion()[0] != (ZLIB_VERSION)[0]; +} diff --git a/configure b/configure index 9bde2eb..7a11ded 100755 --- a/configure +++ b/configure @@ -340,16 +340,27 @@ else errors=$((errors + 1)) fi -printf "Checking for zlib (>= 1.2.5.2)... " +zv1=1 zv2=2 zv3=5 zv4=1 +printf "Checking for zlib (>= $zv1.$zv2.$zv3.$zv4)... " have_zlib=0 -if pkg-config --atleast-version=1.2.5.2 zlib; then +if pkg-config --atleast-version=$zv1.$zv2.$zv3.$zv4 zlib; then printf "Yes.\n" have_zlib=1 zlib_cflags=$(pkg-config --cflags zlib) zlib_ldflags=$(pkg-config --libs zlib) else - printf "No.\n" - errors=$((errors + 1)) + # Try finding zlib directly (e.g. on FreeBSD) + zlib_cflags= + zlib_ldflags=-lz + if ${CC} ${zlib_cflags} -DMINVER=0x$zv1$zv2$zv3$zv4 -o compat/have_zlib "$srcdir"/compat/have_zlib.c ${zlib_ldflags} > /dev/null 2>&1 && ./compat/have_zlib + then + printf "Yes.\n" + have_zlib=1 + else + printf "No.\n" + errors=$((errors + 1)) + fi + rm -f compat/have_zlib fi printf "Checking for talloc development files... " @@ -509,7 +520,7 @@ EOF echo " http://xapian.org/" fi if [ $have_zlib -eq 0 ]; then - echo " zlib library (>= version 1.2.5.2, including development files such as headers)" + echo " zlib library (>= version $zv1.$zv2.$zv3.$zv4, including development files such as headers)" echo " http://zlib.net/" echo fi -- 1.9.2