X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ftimegm.m4;h=94305aefa922e2d85c532696b3b7e28727932e08;hb=02d97fa1f7a73756747951b74de8655d9f11b509;hp=a0ba0e3a8a58f7cae131fe55960478861b296278;hpb=963409a8758faf2b24658c0a23cf0424211263d3;p=gnulib.git diff --git a/m4/timegm.m4 b/m4/timegm.m4 index a0ba0e3a8..94305aefa 100644 --- a/m4/timegm.m4 +++ b/m4/timegm.m4 @@ -1,4 +1,4 @@ -# timegm.m4 serial 1 +# timegm.m4 serial 2 dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General @@ -8,18 +8,32 @@ dnl the same distribution terms as the rest of that program. AC_DEFUN([gl_FUNC_TIMEGM], [ - AC_REPLACE_FUNCS(timegm) + AC_REQUIRE([gl_FUNC_MKTIME]) + if test $ac_cv_func_working_mktime = no; then + # Assume that timegm is buggy if mktime is. + AC_LIBOBJ([timegm]) + ac_cv_func_timegm=no + else + AC_REPLACE_FUNCS(timegm) + fi if test $ac_cv_func_timegm = no; then gl_PREREQ_TIMEGM fi + + AC_CHECK_DECLS([timegm], , , [#include ]) ]) # Prerequisites of lib/timegm.c. AC_DEFUN([gl_PREREQ_TIMEGM], [ - AC_CHECK_DECLS(gmtime_r,,,[ -#ifdef HAVE_TIME_H -#include -#endif -]) - AC_CHECK_FUNCS(gmtime_r) + AC_REQUIRE([gl_TIME_R]) + AC_REQUIRE([gl_FUNC_MKTIME]) + if test $ac_cv_func_working_mktime = yes; then + AC_CHECK_FUNC(__mktime_internal, , + [# mktime works but it doesn't export __mktime_internal, + # so we need to substitute our own mktime implementation. + AC_LIBOBJ([mktime]) + AC_DEFINE([mktime], [rpl_mktime], + [Define to rpl_mktime if the replacement function should be used.]) + gl_PREREQ_MKTIME]) + fi ])