Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id A50BC6DE093F for ; Sat, 30 Apr 2016 18:25:13 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.015 X-Spam-Level: X-Spam-Status: No, score=-0.015 tagged_above=-999 required=5 tests=[AWL=-0.004, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nSDwtgWefbH4 for ; Sat, 30 Apr 2016 18:25:05 -0700 (PDT) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by arlo.cworth.org (Postfix) with ESMTPS id 0D0856DE035A for ; Sat, 30 Apr 2016 18:24:51 -0700 (PDT) Received: from remotemail by fethera.tethera.net with local (Exim 4.84) (envelope-from ) id 1awg7q-0006c5-1t; Sat, 30 Apr 2016 21:24:46 -0400 Received: (nullmailer pid 29939 invoked by uid 1000); Sun, 01 May 2016 01:24:43 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [Patch v3 01/11] configure: detect Xapian:FieldProcessor Date: Sat, 30 Apr 2016 22:24:29 -0300 Message-Id: <1462065879-29860-2-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.8.0.rc3 In-Reply-To: <1462065879-29860-1-git-send-email-david@tethera.net> References: <1462065879-29860-1-git-send-email-david@tethera.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.20 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: Sun, 01 May 2016 01:25:13 -0000 Rather than check versions, it seems more robust to do a test compile. --- configure | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 4fc31cc..26c8870 100755 --- a/configure +++ b/configure @@ -356,9 +356,10 @@ if [ ${have_xapian} = "0" ]; then errors=$((errors + 1)) fi -# Compaction is only supported on Xapian > 1.2.6 have_xapian_compact=0 +have_xapian_field_processor=0 if [ ${have_xapian} = "1" ]; then + # Compaction is only supported on Xapian > 1.2.6 printf "Checking for Xapian compaction support... " case "${xapian_version}" in 0.*|1.[01].*|1.2.[0-5]) @@ -369,10 +370,23 @@ if [ ${have_xapian} = "1" ]; then *) printf "Unknown version.\n" ;; esac -fi -default_xapian_backend="" -if [ ${have_xapian} = "1" ]; then + printf "Checking for Xapian FieldProcessor API... " + cat>_field_processor.cc< +class TitleFieldProcessor : public Xapian::FieldProcessor { }; +EOF + if ${CXX} ${CXXLAGS} ${xapian_cxxflags} -c _field_processor.cc -o _field_processor.o > /dev/null 2>&1 + then + have_xapian_field_processor=1 + printf "Yes.\n" + else + printf "No. (optional)\n" + fi + + rm -f _field_processor.o _field_processor.cc + + default_xapian_backend="" printf "Testing default Xapian backend... " cat >_default_backend.cc < @@ -390,6 +404,7 @@ EOF printf "${default_xapian_backend}\n"; rm -rf test.db _default_backend _default_backend.cc fi + # we need to have a version >= 2.6.5 to avoid a crypto bug. We need # 2.6.7 for permissive "From " header handling. GMIME_MINVER=2.6.7 @@ -997,6 +1012,9 @@ HAVE_D_TYPE = ${have_d_type} # Whether the Xapian version in use supports compaction HAVE_XAPIAN_COMPACT = ${have_xapian_compact} +# Whether the Xapian version in use supports field processors +HAVE_XAPIAN_FIELD_PROCESSOR = ${have_xapian_field_processor} + # Whether the getpwuid_r function is standards-compliant # (if not, then notmuch will #define _POSIX_PTHREAD_SEMANTICS # to enable the standards-compliant version -- needed for Solaris) @@ -1071,6 +1089,7 @@ CONFIGURE_CFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ -DSTD_GETPWUID=\$(STD_GETPWUID) \\ -DSTD_ASCTIME=\$(STD_ASCTIME) \\ -DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\ + -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_PROCESSOR) \\ -DUTIL_BYTE_ORDER=\$(UTIL_BYTE_ORDER) CONFIGURE_CXXFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ @@ -1085,6 +1104,7 @@ CONFIGURE_CXXFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ -DSTD_GETPWUID=\$(STD_GETPWUID) \\ -DSTD_ASCTIME=\$(STD_ASCTIME) \\ -DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\ + -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\ -DUTIL_BYTE_ORDER=\$(UTIL_BYTE_ORDER) CONFIGURE_LDFLAGS = \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(XAPIAN_LDFLAGS) @@ -1098,6 +1118,9 @@ cat > sh.config <