diff options
author | Jim Meyering <meyering@redhat.com> | 2010-03-24 08:40:05 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2010-03-26 07:10:03 +0100 |
commit | 9fa53f1a1bde42381c10d14b5b246420683733b1 (patch) | |
tree | 31950181f1d6f06b5b5795997c958b7ece0d0667 | |
parent | 58c2e11a8b6849c4c602470fcc2466d0586a4d6f (diff) | |
download | grep-9fa53f1a1bde42381c10d14b5b246420683733b1.tar.gz |
build: do not use pkg-config to test for PCRE support
* configure.ac: Do not use PKG_PROG_PKG_CONFIG or PKG_CHECK_MODULES.
Do not modify CPPFLAGS; that belongs to those who invoke make.
Instead, use autoconf's AC_CHECK_HEADERS and AC_SEARCH_LIBS via the
new macro, gl_FUNC_PCRE, defined in...
* m4/pcre.m4 (gl_FUNC_PCRE): New macro, to handle pcre-related
configure-time tests.
* src/Makefile.am (grep_LDADD): Use LIB_PCRE, not PCRE_LIBS.
* src/pcresearch.c: Test HAVE_LIBPCRE via "#if", not "#ifdef".
All other cpp tests of this symbol used "#if".
Prompted by a suggestion from Bruno Haible.
* NEWS (Build-related): Mention this.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | configure.ac | 19 | ||||
-rw-r--r-- | m4/pcre.m4 | 45 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/pcresearch.c | 2 |
5 files changed, 52 insertions, 20 deletions
@@ -2,6 +2,10 @@ GNU grep NEWS -*- outline -*- * Noteworthy changes in release ?.? (????-??-??) [?] +** Build-related + + configure no longer relies on pkg-config to detect PCRE support. + * Noteworthy changes in release 2.6.1 (2010-03-25) [stable] diff --git a/configure.ac b/configure.ac index 474a9ae4..f43c92fc 100644 --- a/configure.ac +++ b/configure.ac @@ -33,15 +33,6 @@ AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. AC_CONFIG_HEADERS([config.h:config.hin]) -dnl Check for arguments -AC_ARG_ENABLE(perl-regexp, - [ --disable-perl-regexp disable perl-regexp], - [case "${enableval}" in - yes) testpcre=yes ;; - no) testpcre=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-perl-regexp) ;; - esac],[testpcre=yes]) - dnl Checks for programs. AC_CANONICAL_HOST AC_PROG_AWK @@ -158,15 +149,7 @@ if test "$ac_use_included_regex" = no; then AC_MSG_WARN([Included lib/regex.c not used]) fi -# support for pcre -PKG_PROG_PKG_CONFIG -if test x"$testpcre" = x"yes"; then - PKG_CHECK_MODULES(PCRE, [libpcre], - [AC_DEFINE([HAVE_LIBPCRE], 1, - [Define to 1 if you have the `pcre' library (-lpcre).]) - CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS"], - [:]) -fi +gl_FUNC_PCRE AC_CONFIG_FILES([ Makefile diff --git a/m4/pcre.m4 b/m4/pcre.m4 new file mode 100644 index 00000000..001806e0 --- /dev/null +++ b/m4/pcre.m4 @@ -0,0 +1,45 @@ +# pcre.m4 - check for libpcre support +# serial 1 + +# Copyright (C) 2010 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_PCRE], +[ + AC_ARG_ENABLE([perl-regexp], + AC_HELP_STRING([--disable-perl-regexp], + [disable perl-regexp (pcre) support]), + [case $enableval in + yes|no) test_pcre=$enableval;; + *) AC_MSG_ERROR([invalid value $enableval for --disable-perl-regexp]);; + esac], + [test_pcre=yes]) + + LIB_PCRE= + AC_SUBST([LIB_PCRE]) + use_pcre=no + + if test x"$test_pcre" = x"yes"; then + AC_CHECK_HEADERS([pcre.h]) + if test $ac_cv_header_pcre_h = yes; then + pcre_saved_LIBS=$LIBS + AC_SEARCH_LIBS([pcre_compile], [pcre], + [test "$ac_cv_search_pcre_compile" = "none required" || + LIB_PCRE=$ac_cv_search_pcre_compile]) + AC_CHECK_FUNCS([pcre_compile]) + LIBS=$pcre_saved_LIBS + if test $ac_cv_func_pcre_compile = yes; then + use_pcre=yes + fi + fi + if test $use_pcre = no; then + AC_MSG_WARN([libpcre development library was not found or not usable.]) + AC_MSG_WARN([AC_PACKAGE_NAME will be built without pcre support.]) + fi + fi + + AC_DEFINE_UNQUOTED([HAVE_LIBPCRE], [`test $use_pcre != yes; echo $?`], + [Define to 1 if you have the `pcre' library (-lpcre).]) +]) diff --git a/src/Makefile.am b/src/Makefile.am index 08f7aacf..a5d8ecaa 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,7 +35,7 @@ libgrep_a_SOURCES = kwset.c dfa.c searchutils.c dfasearch.c kwsearch.c \ # replacement functions defined in libgreputils.a. LDADD = libgrep.a ../lib/libgreputils.a $(LIBINTL) ../lib/libgreputils.a -grep_LDADD = $(LDADD) $(PCRE_LIBS) +grep_LDADD = $(LDADD) $(LIB_PCRE) localedir = $(datadir)/locale INCLUDES = -I$(top_srcdir)/lib -DLOCALEDIR=\"$(localedir)\" diff --git a/src/pcresearch.c b/src/pcresearch.c index 4dedf245..6a82be28 100644 --- a/src/pcresearch.c +++ b/src/pcresearch.c @@ -20,7 +20,7 @@ #include <config.h> #include "search.h" -#ifdef HAVE_LIBPCRE +#if HAVE_LIBPCRE # include <pcre.h> #endif |