summaryrefslogtreecommitdiff
path: root/m4/ag_check_posix_regcomp.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/ag_check_posix_regcomp.m4')
-rw-r--r--m4/ag_check_posix_regcomp.m442
1 files changed, 42 insertions, 0 deletions
diff --git a/m4/ag_check_posix_regcomp.m4 b/m4/ag_check_posix_regcomp.m4
new file mode 100644
index 0000000..a8f1c4e
--- /dev/null
+++ b/m4/ag_check_posix_regcomp.m4
@@ -0,0 +1,42 @@
+# ===========================================================================
+# http://autoconf-archive.cryp.to/ag_check_posix_regcomp.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AG_CHECK_POSIX_REGCOMP
+#
+# DESCRIPTION
+#
+# Check that the POSIX compliant regular expression compiler is available
+# in the POSIX specified manner, and it works. If it fails, we have a
+# backup -- use gnu-regex.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Bruce Korb <bkorb@gnu.org>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved.
+
+AC_DEFUN([AG_CHECK_POSIX_REGCOMP],[
+ AC_MSG_CHECKING([whether POSIX compliant regcomp()/regexec()])
+ AC_CACHE_VAL([ag_cv_posix_regcomp],[
+ AC_TRY_RUN([#include <sys/types.h>
+#include <regex.h>
+int main() {
+ int flags = REG_EXTENDED|REG_ICASE|REG_NEWLINE;
+ regex_t re;
+ if (regcomp( &re, "^.*$", flags ) != 0)
+ return 1;
+ return regcomp( &re, "|no.*", flags ); }],[ag_cv_posix_regcomp=yes],[ag_cv_posix_regcomp=no],[ag_cv_posix_regcomp=no]
+ ) # end of TRY_RUN]) # end of CACHE_VAL
+
+ AC_MSG_RESULT([$ag_cv_posix_regcomp])
+ if test x$ag_cv_posix_regcomp = xyes
+ then
+ AC_DEFINE(HAVE_POSIX_REGCOMP, 1,
+ [Define this if POSIX compliant regcomp()/regexec()])
+ fi
+]) # end of AC_DEFUN of AG_CHECK_POSIX_REGCOMP