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:
parent
9334597b11
commit
ea2d631a76
2 changed files with 33 additions and 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.
|
||||
|
|
61
configure.in
61
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
|
||||
|
|
Loading…
Add table
Reference in a new issue