From 798ff850e41752834bd27081c2e85f874b2cc4aa Mon Sep 17 00:00:00 2001 From: kosaki Date: Sat, 16 Mar 2013 05:06:47 +0000 Subject: * configure.in: check struct timeval exist or not. * include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL properly. and don't include sys/time.h if struct timeval exist. * file.c: include sys/time.h explicitly. * random.c: ditto. * thread_pthread.c: ditto. * time.c: ditto. * ext/date/date_strftime.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 12 ++++++++++++ configure.in | 7 +++++++ ext/date/date_strftime.c | 4 ++++ file.c | 4 ++++ include/ruby/missing.h | 9 ++++++--- random.c | 3 +++ thread_pthread.c | 3 +++ time.c | 4 ++++ 8 files changed, 43 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index aed51302d9..24d607fad9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +Wed Mar 13 13:54:45 2013 KOSAKI Motohiro + + * configure.in: check struct timeval exist or not. + * include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL + properly. and don't include sys/time.h if struct timeval exist. + + * file.c: include sys/time.h explicitly. + * random.c: ditto. + * thread_pthread.c: ditto. + * time.c: ditto. + * ext/date/date_strftime.c: ditto. + Fri Mar 15 14:45:02 2013 KOSAKI Motohiro * configure.in (_FORTIFY_SOURCE): added a few comments. diff --git a/configure.in b/configure.in index 89422b4f72..6b0b3431e0 100644 --- a/configure.in +++ b/configure.in @@ -1443,6 +1443,13 @@ AC_CHECK_MEMBERS([struct stat.st_ctim]) AC_CHECK_MEMBERS([struct stat.st_ctimespec]) AC_CHECK_MEMBERS([struct stat.st_ctimensec]) +AC_CHECK_TYPES([struct timeval], [], [], [@%:@ifdef HAVE_TIME_H +@%:@include +@%:@endif +@%:@ifdef HAVE_SYS_TIME_H +@%:@include +@%:@endif]) + AC_CHECK_TYPES([struct timespec], [], [], [@%:@ifdef HAVE_TIME_H @%:@include @%:@endif diff --git a/ext/date/date_strftime.c b/ext/date/date_strftime.c index 54324dad09..20931a3124 100644 --- a/ext/date/date_strftime.c +++ b/ext/date/date_strftime.c @@ -12,6 +12,10 @@ #include #include +#if defined(HAVE_SYS_TIME_H) +#include +#endif + #undef strchr /* avoid AIX weirdness */ #define range(low, item, hi) (item) diff --git a/file.c b/file.c index fa96c2388d..2c35e346bc 100644 --- a/file.c +++ b/file.c @@ -75,6 +75,10 @@ int flock(int, int); #include #endif +#if defined(HAVE_SYS_TIME_H) +#include +#endif + #if !defined HAVE_LSTAT && !defined lstat #define lstat stat #endif diff --git a/include/ruby/missing.h b/include/ruby/missing.h index 1297c43a7a..4a19cc7847 100644 --- a/include/ruby/missing.h +++ b/include/ruby/missing.h @@ -25,15 +25,18 @@ extern "C" { #include RUBY_EXTCONF_H #endif -#if defined(HAVE_SYS_TIME_H) +#if !defined(HAVE_STRUCT_TIMEVAL) +# if defined(HAVE_SYS_TIME_H) # include -#elif !defined(_WIN32) +# elif !defined(_WIN32) # define time_t long struct timeval { time_t tv_sec; /* seconds */ long tv_usec; /* microseconds */ }; -#endif +# endif +#endif /* HAVE_STRUCT_TIMEVAL */ + #if defined(HAVE_SYS_TYPES_H) # include #endif diff --git a/random.c b/random.c index 2ef8959c26..da83c2c867 100644 --- a/random.c +++ b/random.c @@ -73,6 +73,9 @@ The original copyright notice follows. #endif #include #include +#if defined(HAVE_SYS_TIME_H) +#include +#endif #ifdef _WIN32 # if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0400 diff --git a/thread_pthread.c b/thread_pthread.c index bed9452a28..201cb7423e 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -33,6 +33,9 @@ #if HAVE_POLL #include #endif +#if defined(HAVE_SYS_TIME_H) +#include +#endif static void native_mutex_lock(pthread_mutex_t *lock); static void native_mutex_unlock(pthread_mutex_t *lock); diff --git a/time.c b/time.c index 2b4ded4397..7a877186e2 100644 --- a/time.c +++ b/time.c @@ -27,6 +27,10 @@ #include #endif +#if defined(HAVE_SYS_TIME_H) +#include +#endif + #include "timev.h" static ID id_divmod, id_mul, id_submicro, id_nano_num, id_nano_den, id_offset, id_zone; -- cgit v1.2.3