diff options
author | Maarten Bosmans <mkbosmans@gmail.com> | 2011-01-04 16:48:06 +0100 |
---|---|---|
committer | Maarten Bosmans <mkbosmans@gmail.com> | 2011-02-17 11:58:22 +0100 |
commit | a951c779c6fe0705f75c1dfbe090deb78485b4e8 (patch) | |
tree | 147ddbb20473191046eaf281a0f52a35022024e3 | |
parent | bb12ff83564d43566089dd979639c6993ba76665 (diff) |
Use PCRE if POSIX regex.h is not available
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | src/modules/module-match.c | 7 | ||||
-rw-r--r-- | src/pulsecore/core-util.c | 7 |
3 files changed, 18 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index 42d9c3bf..a2657c08 100644 --- a/configure.ac +++ b/configure.ac @@ -362,10 +362,7 @@ AC_CHECK_HEADERS([netinet/ip.h], [], [], # include <netinet/in_systm.h> #endif ]) -AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0]) AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0]) - -AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1") AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1") # Linux @@ -391,6 +388,7 @@ AC_CHECK_HEADERS_ONCE([sys/syscall.h]) AC_CHECK_HEADERS_ONCE([sys/eventfd.h]) AC_CHECK_HEADERS_ONCE([execinfo.h]) AC_CHECK_HEADERS_ONCE([langinfo.h]) +AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h]) #### Typdefs, structures, etc. #### @@ -459,6 +457,8 @@ fi AC_SUBST(HAVE_BONJOUR) AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1]) +AC_SEARCH_LIBS([regexec], [pcreposix]) + #### Check for functions #### # ISO @@ -518,6 +518,9 @@ AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [ AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation]) +AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0]) +AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"]) + #### Large File-Support (LFS) #### AC_SYS_LARGEFILE diff --git a/src/modules/module-match.c b/src/modules/module-match.c index d83c86c3..f9f36fdb 100644 --- a/src/modules/module-match.c +++ b/src/modules/module-match.c @@ -27,10 +27,15 @@ #include <string.h> #include <errno.h> #include <sys/types.h> -#include <regex.h> #include <stdio.h> #include <stdlib.h> +#if defined(HAVE_REGEX_H) +#include <regex.h> +#elif defined(HAVE_PCREPOSIX_H) +#include <pcreposix.h> +#endif + #include <pulse/xmalloc.h> #include <pulsecore/core-error.h> diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 4c4fbfe0..ba9e820d 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -40,7 +40,6 @@ #include <sys/stat.h> #include <sys/time.h> #include <dirent.h> -#include <regex.h> #ifdef HAVE_LANGINFO_H #include <langinfo.h> @@ -50,6 +49,12 @@ #include <sys/utsname.h> #endif +#if defined(HAVE_REGEX_H) +#include <regex.h> +#elif defined(HAVE_PCREPOSIX_H) +#include <pcreposix.h> +#endif + #ifdef HAVE_STRTOF_L #include <locale.h> #endif |