aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--configure.in7
-rw-r--r--time.c1
3 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 256e8b3546..4301215f0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Mar 19 03:53:31 2016 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc)
+ define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff.
+
+ * time.c: define _BSD_SOURCE at the top.
+
Sat Mar 19 03:00:50 2016 Rei Odaira <Rei.Odaira@gmail.com>
* test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff
diff --git a/configure.in b/configure.in
index 2442e19d87..a96ed71344 100644
--- a/configure.in
+++ b/configure.in
@@ -2609,7 +2609,12 @@ if test "$use_setreuid" = yes; then
fi
AC_STRUCT_TIMEZONE
AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff,
- [AC_TRY_COMPILE([@%:@include <time.h>],
+ [AC_TRY_COMPILE([
+ @%:@include <time.h>
+@%:@ifndef _BSD_SOURCE
+@%:@define _BSD_SOURCE 1
+@%:@endif
+ ],
[struct tm t; t.tm_gmtoff = 3600;],
[rb_cv_member_struct_tm_tm_gmtoff=yes],
[rb_cv_member_struct_tm_tm_gmtoff=no])])
diff --git a/time.c b/time.c
index d3f0ca2171..b65d6e5c85 100644
--- a/time.c
+++ b/time.c
@@ -9,6 +9,7 @@
**********************************************************************/
+#define _BSD_SOURCE
#include "internal.h"
#include <sys/types.h>
#include <time.h>