X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ftimegm.m4;h=ca903b1afce2b9b75c293836af794489e85208e4;hb=a428fac0e9534d605382b75a647bd067b5d2e551;hp=a0ba0e3a8a58f7cae131fe55960478861b296278;hpb=963409a8758faf2b24658c0a23cf0424211263d3;p=gnulib.git diff --git a/m4/timegm.m4 b/m4/timegm.m4 index a0ba0e3a8..ca903b1af 100644 --- a/m4/timegm.m4 +++ b/m4/timegm.m4 @@ -1,25 +1,40 @@ -# timegm.m4 serial 1 -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. +# timegm.m4 serial 5 +dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. +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) - if test $ac_cv_func_timegm = no; then + AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + 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 + REPLACE_TIMEGM=1 + if test $ac_cv_func_timegm = yes; then + AC_CHECK_DECLS([timegm], [REPLACE_TIMEGM=0], [], [#include ]) + fi + if test $REPLACE_TIMEGM = 1; then gl_PREREQ_TIMEGM fi ]) # 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 ])