mirror of
https://https.git.savannah.gnu.org/git/grep.git
synced 2026-01-26 07:37:52 +00:00
77 lines
2.3 KiB
Plaintext
77 lines
2.3 KiB
Plaintext
# pcre.m4 - check for PCRE library support
|
|
|
|
# Copyright (C) 2010-2026 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],
|
|
AS_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=maybe])
|
|
|
|
AC_SUBST([PCRE_CFLAGS])
|
|
AC_SUBST([PCRE_LIBS])
|
|
use_pcre=no
|
|
|
|
if test $test_pcre != no; then
|
|
|
|
AS_CASE([${PCRE_CFLAGS+set}@${PCRE_LIBS+set}@$PKG_CONFIG],
|
|
[@@false], [],
|
|
[@@*], [PKG_CHECK_MODULES([PCRE], [libpcre2-8], [], [:])])
|
|
|
|
AC_CACHE_CHECK([for pcre2_compile], [pcre_cv_have_pcre2_compile],
|
|
[pcre_saved_CFLAGS=$CFLAGS
|
|
pcre_saved_LIBS=$LIBS
|
|
pcre_cv_have_pcre2_compile=no
|
|
|
|
while
|
|
CFLAGS="$pcre_saved_CFLAGS $PCRE_CFLAGS"
|
|
LIBS="$pcre_saved_LIBS $PCRE_LIBS"
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM([[#define PCRE2_CODE_UNIT_WIDTH 8
|
|
#include <pcre2.h>
|
|
]],
|
|
[[pcre2_code *p = pcre2_compile (0, 0, 0, 0, 0, 0);
|
|
return !p;]])],
|
|
[pcre_cv_have_pcre2_compile=yes])
|
|
test $pcre_cv_have_pcre2_compile = no
|
|
do
|
|
AS_CASE([$PCRE_CFLAGS@$PCRE_LIBS],
|
|
[@-lpcre2-8],
|
|
[# Even the fallback setting fails; give up.
|
|
PCRE_LIBS=
|
|
break])
|
|
# Fallback setting.
|
|
PCRE_CFLAGS=
|
|
PCRE_LIBS=-lpcre2-8
|
|
done
|
|
|
|
CFLAGS=$pcre_saved_CFLAGS
|
|
LIBS=$pcre_saved_LIBS])
|
|
|
|
if test "$pcre_cv_have_pcre2_compile" = yes; then
|
|
use_pcre=yes
|
|
elif test $test_pcre = maybe; then
|
|
AC_MSG_WARN([AC_PACKAGE_NAME will be built without PCRE support.])
|
|
else
|
|
AC_MSG_ERROR([PCRE support not available])
|
|
fi
|
|
fi
|
|
|
|
if test $use_pcre = yes; then
|
|
AC_DEFINE([HAVE_LIBPCRE], [1],
|
|
[Define to 1 if you have the Perl Compatible Regular Expressions
|
|
library.])
|
|
else
|
|
PCRE_CFLAGS=
|
|
PCRE_LIBS=
|
|
fi
|
|
])
|