X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ftimegm.m4;h=82e9d66be461147fc98ffdcd484fe95a13ad5cad;hb=93d45a6cea3e8c0959a430e0b3f5ae24fc600399;hp=a0ba0e3a8a58f7cae131fe55960478861b296278;hpb=963409a8758faf2b24658c0a23cf0424211263d3;p=gnulib.git diff --git a/m4/timegm.m4 b/m4/timegm.m4 index a0ba0e3a8..82e9d66be 100644 --- a/m4/timegm.m4 +++ b/m4/timegm.m4 @@ -1,25 +1,37 @@ -# timegm.m4 serial 1 +# timegm.m4 serial 3 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 -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. 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 ])