X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ftimegm.m4;h=01a244bcd23353c2333849fda38de0eb8eb11e76;hb=17adb5d75404cf6cdde0eb3b2edc6110d9fa8001;hp=a0ba0e3a8a58f7cae131fe55960478861b296278;hpb=963409a8758faf2b24658c0a23cf0424211263d3;p=gnulib.git diff --git a/m4/timegm.m4 b/m4/timegm.m4 index a0ba0e3a8..01a244bcd 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 8 +dnl Copyright (C) 2003, 2007, 2009-2011 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]) + REPLACE_TIMEGM=0 + AC_CHECK_FUNCS_ONCE([timegm]) + if test $ac_cv_func_timegm = yes; then + if test $ac_cv_func_working_mktime = no; then + # Assume that timegm is buggy if mktime is. + REPLACE_TIMEGM=1 + fi + else + HAVE_TIMEGM=0 + fi + if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then + AC_LIBOBJ([timegm]) 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 ])