timegm: Correct mktime replacement statements.
[gnulib.git] / m4 / timegm.m4
1 # timegm.m4 serial 9
2 dnl Copyright (C) 2003, 2007, 2009-2011 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.
6
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 ])
26
27 # Prerequisites of lib/timegm.c.
28 AC_DEFUN([gl_PREREQ_TIMEGM], [
29   AC_REQUIRE([gl_FUNC_MKTIME])
30   if test $ac_cv_func_working_mktime = yes; then
31     AC_CHECK_FUNC([__mktime_internal], ,
32       [# mktime works but it doesn't export __mktime_internal,
33        # so we need to substitute our own mktime implementation.
34        AC_LIBOBJ([mktime])
35        REPLACE_MKTIME=1
36        gl_PREREQ_MKTIME])
37   fi
38 ])