From e2cb0eded4813acb980b355321c2e56e82755f4c Mon Sep 17 00:00:00 2001 From: rhe Date: Sun, 17 Sep 2017 04:26:51 +0000 Subject: [PATCH] ext/date/extconf.rb: check for timezone and altzone Instead of in configure.in. As of r28592 the HAVE_VAR_TIMEZONE and HAVE_VAR_ALTZONE macros are only used by ext/date. ext/date doesn't care whether they are int or long, so just check for the existence. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- configure.in | 29 ----------------------------- ext/date/date_core.c | 4 ++-- ext/date/extconf.rb | 5 +++++ 3 files changed, 7 insertions(+), 31 deletions(-) diff --git a/configure.in b/configure.in index b16fe7dfcc..a9cdc01108 100644 --- a/configure.in +++ b/configure.in @@ -2805,35 +2805,6 @@ AC_CACHE_CHECK(for external int daylight, rb_cv_have_daylight, AS_IF([test "$rb_cv_have_daylight" = yes], [ AC_DEFINE(HAVE_DAYLIGHT) ]) -AC_DEFUN([RUBY_CHECK_VARTYPE], [dnl -AC_CACHE_CHECK([for external $1], AS_TR_SH(rb_cv_var_$1), - [AS_TR_SH(rb_cv_var_$1)=no - AC_TRY_COMPILE([ -#ifndef _XOPEN_SOURCE -#define _XOPEN_SOURCE 1 -#endif -$2 -; -const volatile void *volatile t;], - [t = &(&$1)[0];], - [for t in $3; do - AC_TRY_COMPILE([ -#ifndef _XOPEN_SOURCE -#define _XOPEN_SOURCE 1 -#endif -$2 -; -extern $t $1; -const volatile void *volatile t;], - [t = &(&$1)[0];], - [AS_TR_SH(rb_cv_var_$1)=$t; break]) - done])]) -AS_IF([test "${AS_TR_SH(rb_cv_var_$1)}" != no], [ - AC_DEFINE(AS_TR_CPP(HAVE_VAR_$1)) - AC_DEFINE_UNQUOTED(AS_TR_CPP(TYPEOF_VAR_$1), ${AS_TR_SH(rb_cv_var_$1)}) -])]) -RUBY_CHECK_VARTYPE(timezone, [@%:@include ], [long int]) -RUBY_CHECK_VARTYPE(altzone, [@%:@include ], [long int]) AC_CACHE_CHECK(for negative time_t for gmtime(3), rb_cv_negative_time_t, [AC_TRY_RUN([ diff --git a/ext/date/date_core.c b/ext/date/date_core.c index dce0bf99ec..3b18bbd5b1 100644 --- a/ext/date/date_core.c +++ b/ext/date/date_core.c @@ -7710,8 +7710,8 @@ datetime_s_now(int argc, VALUE *argv, VALUE klass) s = 59; #ifdef HAVE_STRUCT_TM_TM_GMTOFF of = tm.tm_gmtoff; -#elif defined(HAVE_VAR_TIMEZONE) -#ifdef HAVE_VAR_ALTZONE +#elif defined(HAVE_TIMEZONE) +#ifdef HAVE_ALTZONE of = (long)-((tm.tm_isdst > 0) ? altzone : timezone); #else of = (long)-timezone; diff --git a/ext/date/extconf.rb b/ext/date/extconf.rb index a4f243ee10..8938df13b3 100644 --- a/ext/date/extconf.rb +++ b/ext/date/extconf.rb @@ -1,4 +1,9 @@ # frozen_string_literal: true require 'mkmf' + config_string("strict_warnflags") {|w| $warnflags += " #{w}"} + +have_var("timezone", "time.h") +have_var("altzone", "time.h") + create_makefile('date_core')