зеркало из https://github.com/github/ruby.git
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
This commit is contained in:
Родитель
06af07dd7b
Коммит
e2cb0eded4
29
configure.in
29
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 <time.h>], [long int])
|
||||
RUBY_CHECK_VARTYPE(altzone, [@%:@include <time.h>], [long int])
|
||||
|
||||
AC_CACHE_CHECK(for negative time_t for gmtime(3), rb_cv_negative_time_t,
|
||||
[AC_TRY_RUN([
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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')
|
||||
|
|
Загрузка…
Ссылка в новой задаче