1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
nobu 2015-03-01 09:10:36 +00:00
parent 9334597b11
commit ea2d631a76
2 changed files with 33 additions and 34 deletions

View file

@ -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.

View file

@ -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