From 4a587fab94508271e2d6dc8370e1afe0974c7dab Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Sat, 9 Sep 2017 17:33:50 +0900 Subject: configure.in, date: move ext/date-specific existence check ext/date does not care of the type of timezone and altzone; just use have_var provided by mkmf. --- 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 fab31b8edc..bd6c12d16d 100644 --- a/configure.in +++ b/configure.in @@ -2696,35 +2696,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 6ac4ffa47e..bad86ff18b 100644 --- a/ext/date/date_core.c +++ b/ext/date/date_core.c @@ -7708,8 +7708,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') -- cgit v1.2.3