diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 61 |
1 files changed, 27 insertions, 34 deletions
diff --git a/configure.in b/configure.in index 7e8b91599c..2824993da7 100644 --- a/configure.in +++ b/configure.in @@ -2027,6 +2027,33 @@ else AC_LIBOBJ([signbit]) fi +AC_CACHE_CHECK(for broken memmem, rb_cv_broken_memmem, [ + AC_TRY_RUN([ +@%:@include <string.h> + +int +main(int argc, char **argv) +{ + const char *str = "hogefugafoobar"; + const char *rs = "foo"; + const char *empty = ""; + char *p; + + p = memmem(str, strlen(str), rs, strlen(rs)); + if (p == str+8) { + p = memmem(str, strlen(str), empty, strlen(empty)); + if (p == str) + return 0; + } + return 1; +} + ], + rb_cv_broken_memmem=no, + rb_cv_broken_memmem=yes, + rb_cv_broken_memmem=yes) +]) +test x"$rb_cv_broken_memmem" = xyes && ac_cv_func_memmem=no + AC_FUNC_FORK AC_CHECK_FUNCS(__syscall) @@ -3882,40 +3909,6 @@ if test "${universal_binary-no}" = yes ; then [rb_cv_architecture_available=yes], [rb_cv_architecture_available=no])) fi -if test "$ac_cv_func_memmem" = yes; then - AC_CACHE_CHECK(for broken memmem, rb_cv_broken_memmem, [ - AC_TRY_RUN([ -#include <string.h> - -int -main() -{ - char *str = "hogefugafoobar"; - char *rs = "foo"; - char *empty = ""; - char *p; - - p = memmem(str, strlen(str), rs, strlen(rs)); - if (p == str+8) { - p = memmem(str, strlen(str), empty, strlen(empty)); - if (p == str) - return 0; - else - return 1; - } - else { - return 1; - } -} - ], - rb_cv_broken_memmem=no, - rb_cv_broken_memmem=yes, - rb_cv_broken_memmem=yes) - ]) - test x"$rb_cv_broken_memmem" = xyes && ac_cv_func_memmem=no -fi - - CPPFLAGS="$CPPFLAGS "'$(DEFS)' test -z "$CPPFLAGS" || CPPFLAGS="$CPPFLAGS "; CPPFLAGS="$CPPFLAGS"'${cppflags}' if test -n "${cflags+set}"; then |