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

* configure.in (sizeof_struct_dirent_too_small): check if struct

dirent.d_name is too small.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2011-09-03 14:56:26 +00:00
parent 90a10297d6
commit 3e0819c66a
2 changed files with 36 additions and 10 deletions

View file

@ -1,4 +1,7 @@
Sat Sep 3 23:55:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
Sat Sep 3 23:56:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (sizeof_struct_dirent_too_small): check if struct
dirent.d_name is too small.
* configure.in (RUBY_MINGW32): take tool prefix from CC.

View file

@ -933,15 +933,6 @@ dnl Checks for libraries.
AS_CASE(["$target_os"],[*bsd*|dragonfly*],[],[ac_cv_func_daemon=no])
AS_CASE(["$target_os"],
[solaris*], [
AC_DEFINE(SIZEOF_STRUCT_DIRENT_TOO_SMALL, 1)
LIBS="-lm $LIBS"
],
# GNU Hurd
[gnu*], [
AC_DEFINE(SIZEOF_STRUCT_DIRENT_TOO_SMALL, 1)
LIBS="-lm $LIBS"
],
[nextstep*], [ ],
[openstep*], [ ],
[rhapsody*], [ ],
@ -1734,6 +1725,38 @@ fi
RUBY_CHECK_SIZEOF([struct stat.st_ino], [long "long long"], [], [@%:@include <sys/stat.h>])
AC_CACHE_CHECK([whether struct dirent.d_name is too small], rb_cv_sizeof_struct_dirent_too_small,
[AC_COMPILE_IFELSE(
[AC_LANG_BOOL_COMPILE_TRY([AC_INCLUDES_DEFAULT([
@%:@if defined _WIN32
@%:@ error <<<struct direct in win32/dir.h has variable length d_name>>>
@%:@elif defined HAVE_DIRENT_H
@%:@ include <dirent.h>
@%:@elif defined HAVE_DIRECT_H
@%:@ include <direct.h>
@%:@else
@%:@ define dirent direct
@%:@ if HAVE_SYS_NDIR_H
@%:@ include <sys/ndir.h>
@%:@ endif
@%:@ if HAVE_SYS_DIR_H
@%:@ include <sys/dir.h>
@%:@ endif
@%:@ if HAVE_NDIR_H
@%:@ include <ndir.h>
@%:@ endif
@%:@endif
@%:@include <stddef.h>
@%:@define numberof(array) [(int)(sizeof(array) / sizeof((array)[0]))]
struct dirent d;
])],
[offsetof(struct dirent, [d_name[numberof(d.d_name)]]) - offsetof(struct dirent, d_name) < 256])],
[rb_cv_sizeof_struct_dirent_too_small=yes],
[rb_cv_sizeof_struct_dirent_too_small=no])])
if test "$rb_cv_sizeof_struct_dirent_too_small" = yes; then
AC_DEFINE(SIZEOF_STRUCT_DIRENT_TOO_SMALL, 1)
fi
if test "$ac_cv_func_sysconf" = yes; then
AC_DEFUN([RUBY_CHECK_SYSCONF], [dnl
AC_CACHE_CHECK([whether _SC_$1 is supported], rb_cv_have_sc_[]m4_tolower($1),