libvirt/gnulib/m4/time_h.m4

75 lines
2.5 KiB
Plaintext
Raw Normal View History

update from gnulib; use its time_r module for localtime_r on mingw * bootstrap (modules): Add time_r. * gnulib/m4/time_h.m4: New file. * gnulib/m4/time_r.m4: New file. * gnulib/lib/time_r.c: New file. * gnulib/tests/test-time.c: New file. * gnulib/lib/time.in.h: New file. * gnulib/lib/Makefile.am: Update. * gnulib/lib/fseeko.c: Likewise. * gnulib/lib/lstat.c: Likewise. * gnulib/lib/netdb.in.h: Likewise. * gnulib/lib/stdint.in.h: Likewise. * gnulib/lib/stdlib.in.h: Likewise. * gnulib/lib/sys_select.in.h: Likewise. * gnulib/lib/sys_stat.in.h: Likewise. * gnulib/lib/sys_time.in.h: Likewise. * gnulib/lib/unistd.in.h: Likewise. * gnulib/lib/wchar.in.h: Likewise. * gnulib/m4/codeset.m4: Likewise. * gnulib/m4/errno_h.m4: Likewise. * gnulib/m4/extensions.m4: Likewise. * gnulib/m4/getaddrinfo.m4: Likewise. * gnulib/m4/gettext.m4: Likewise. * gnulib/m4/glibc2.m4: Likewise. * gnulib/m4/glibc21.m4: Likewise. * gnulib/m4/gnulib-cache.m4: Likewise. * gnulib/m4/gnulib-comp.m4: Likewise. * gnulib/m4/iconv.m4: Likewise. * gnulib/m4/include_next.m4: Likewise. * gnulib/m4/intdiv0.m4: Likewise. * gnulib/m4/intlmacosx.m4: Likewise. * gnulib/m4/intmax.m4: Likewise. * gnulib/m4/inttypes-pri.m4: Likewise. * gnulib/m4/inttypes_h.m4: Likewise. * gnulib/m4/lcmessage.m4: Likewise. * gnulib/m4/lib-link.m4: Likewise. * gnulib/m4/lstat.m4: Likewise. * gnulib/m4/netdb_h.m4: Likewise. * gnulib/m4/nls.m4: Likewise. * gnulib/m4/po.m4: Likewise. * gnulib/m4/printf-posix.m4: Likewise. * gnulib/m4/printf.m4: Likewise. * gnulib/m4/progtest.m4: Likewise. * gnulib/m4/size_max.m4: Likewise. * gnulib/m4/sockets.m4: Likewise. * gnulib/m4/stdint.m4: Likewise. * gnulib/m4/stdint_h.m4: Likewise. * gnulib/m4/sys_ioctl_h.m4: Likewise. * gnulib/m4/threadlib.m4: Likewise. * gnulib/m4/uintmax_t.m4: Likewise. * gnulib/m4/visibility.m4: Likewise. * gnulib/m4/wchar.m4: Likewise. * gnulib/m4/wchar_t.m4: Likewise. * gnulib/m4/wint_t.m4: Likewise. * gnulib/m4/xsize.m4: Likewise. * gnulib/tests/Makefile.am: Likewise. * gnulib/tests/sockets.h: Likewise. * gnulib/tests/.cvsignore: Likewise. * gnulib/tests/.gitignore: Likewise. * tests/.gitignore: Likewise. * docs/examples/.gitignore: Likewise. * gnulib/lib/.cvsignore: Likewise. * gnulib/lib/.gitignore: Likewise. remove files associated with obsolete strpbrk module * gnulib/lib/strpbrk.c: Remove file. * gnulib/m4/strpbrk.m4: Remove file.
2009-01-06 20:12:50 +00:00
# Configure a more-standard replacement for <time.h>.
# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Written by Paul Eggert and Jim Meyering.
AC_DEFUN([gl_HEADER_TIME_H],
[
dnl Use AC_REQUIRE here, so that the default behavior below is expanded
dnl once only, before all statements that occur in other macros.
AC_REQUIRE([gl_HEADER_TIME_H_BODY])
])
AC_DEFUN([gl_HEADER_TIME_H_BODY],
[
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
gl_CHECK_NEXT_HEADERS([time.h])
AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
])
AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
[
dnl If another module says to replace or to not replace, do that.
dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
dnl this lets maintainers check for portability.
REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R])
REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP])
REPLACE_STRPTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRPTIME])
REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM])
])
dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
dnl in time.h or sys/time.h.
AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
[
AC_CHECK_HEADERS_ONCE([sys/time.h])
AC_CACHE_CHECK([for struct timespec in <time.h>],
[gl_cv_sys_struct_timespec_in_time_h],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <time.h>
]],
[[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
[gl_cv_sys_struct_timespec_in_time_h=yes],
[gl_cv_sys_struct_timespec_in_time_h=no])])
TIME_H_DEFINES_STRUCT_TIMESPEC=0
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
TIME_H_DEFINES_STRUCT_TIMESPEC=1
else
AC_CACHE_CHECK([for struct timespec in <sys/time.h>],
[gl_cv_sys_struct_timespec_in_sys_time_h],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/time.h>
]],
[[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
[gl_cv_sys_struct_timespec_in_sys_time_h=yes],
[gl_cv_sys_struct_timespec_in_sys_time_h=no])])
if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
fi
fi
AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
])