aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-01 09:10:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-01 09:10:36 +0000
commitea2d631a76f5249f2839d1a9d0c48c1c97ee4422 (patch)
tree2500db32276c8ff38a82ce86fae9c7ab0736a89b
parent9334597b11de6f792ef458ae88ff55f1415d64a7 (diff)
downloadruby-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--ChangeLog6
-rw-r--r--configure.in61
2 files changed, 33 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index acee9ae225..aecc325e2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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