1 # timegm.m4 serial 8
2 dnl Copyright (C) 2003, 2007, 2009, 2010 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 AC_DEFUN([gl_FUNC_TIMEGM],
8 [
9 AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
10 AC_REQUIRE([gl_FUNC_MKTIME])
11 REPLACE_TIMEGM=0
12 AC_CHECK_FUNCS_ONCE([timegm])
13 if test $ac_cv_func_timegm = yes; then
14 if test $ac_cv_func_working_mktime = no; then
15 # Assume that timegm is buggy if mktime is.
16 REPLACE_TIMEGM=1
17 fi
18 else
19 HAVE_TIMEGM=0
20 fi
21 if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
22 AC_LIBOBJ([timegm])
23 gl_PREREQ_TIMEGM
24 fi
25 ])
27 # Prerequisites of lib/timegm.c.
28 AC_DEFUN([gl_PREREQ_TIMEGM], [
29 AC_REQUIRE([gl_TIME_R])
30 AC_REQUIRE([gl_FUNC_MKTIME])
31 if test $ac_cv_func_working_mktime = yes; then
32 AC_CHECK_FUNC([__mktime_internal], ,
33 [# mktime works but it doesn't export __mktime_internal,
34 # so we need to substitute our own mktime implementation.
35 AC_LIBOBJ([mktime])
36 AC_DEFINE([mktime], [rpl_mktime],
37 [Define to rpl_mktime if the replacement function should be used.])
38 gl_PREREQ_MKTIME])
39 fi
40 ])