aboutsummaryrefslogtreecommitdiffstats
path: root/configure.in
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 /configure.in
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
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in61
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