2024-06-16 Paul Eggert <eggert@cs.ucla.edu>
+ time_r: refactor tm_zone tests
+ * m4/tm_gmtoff.m4 (gl_TM_GMTOFF): Also check for tm_zone
+ and define HAVE_STRUCT_TM_TM_ZONE accordingly.
+ * modules/time_r-tests (Files): Add m4/tm_gmtoff.m4.
+ (configure.ac): Simplify by using gl_TM_GMTOFF.
+
time_r-tests: avoid tzname test
* modules/time_r-tests (configure.ac):
Do not check for tzname, as the tests don’t use it.
# tm_gmtoff.m4
-# serial 4
+# serial 5
dnl Copyright (C) 2002, 2009-2024 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.
+dnl Check for tm_gmtoff and tm_zone in struct tm, and #define
+dnl HAVE_STRUCT_TM_TM_GMTOFF and HAVE_STRUCT_TM_TM_ZONE accordingly.
+dnl Most code that needs one needs the other, so there seemed little
+dnl point to having two macros to check them individually.
+dnl Although all platforms that we know of have either both members or
+dnl neither member, check for the two members separately just in case.
+dnl
+dnl These days this macro is more useful than AC_STRUCT_TIMEZONE, which also
+dnl checks for the obsolescent tzname and does not check for tm_gmtoff.
AC_DEFUN([gl_TM_GMTOFF],
[
- AC_CHECK_MEMBERS([struct tm.tm_gmtoff], [], [],
+ AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.tm_zone], [], [],
[[#include <time.h>
]])