diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-01 09:10:36 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-01 09:10:36 +0000 |
commit | ea2d631a76f5249f2839d1a9d0c48c1c97ee4422 (patch) | |
tree | 2500db32276c8ff38a82ce86fae9c7ab0736a89b | |
parent | 9334597b11de6f792ef458ae88ff55f1415d64a7 (diff) | |
download | ruby-ea2d631a76f5249f2839d1a9d0c48c1c97ee4422.tar.gz |
configure.in: check broken memmem before earlier
* configure.in (rb_cv_broken_memmem): check before adding the
result HAVE_MEMMEM macro to confdefs.h, so that configured
results will be stable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | configure.in | 61 |
2 files changed, 33 insertions, 34 deletions
@@ -1,3 +1,9 @@ +Sun Mar 1 18:10:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (rb_cv_broken_memmem): check before adding the + result HAVE_MEMMEM macro to confdefs.h, so that configured + results will be stable. + Sun Mar 1 11:17:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * gc.c (id2ref): prohibit from accessing internal objects. 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 |