diff options
Diffstat (limited to 'm4/ag_check_posix_regcomp.m4')
-rw-r--r-- | m4/ag_check_posix_regcomp.m4 | 42 |
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 |