year 2038 support: fix for mingw

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When running a gnulib testdir of module 'year2038' on 32-bit mingw,
I see a 'configure' failure:

...
checking for i686-w64-mingw32-gcc option to enable large file support... -D_FILE_OFFSET_BITS=64
checking for i686-w64-mingw32-gcc option to enable timestamps after Jan 2038... -D__MINGW_USE_VC2005_COMPAT
configure: error: internal error: bad value for $ac_cv_sys_year2038_opts

The problem, as evidenced by running the configure script with 'set -x',
is that after the assignment
  ac_cv_sys_year2038_opts=-D__MINGW_USE_VC2005_COMPAT
the 'case' statement
  case $ac_cv_sys_year2038_opts in ...
does not find the value.

The attached proposed patches fix this. One for gnulib, one for autoconf.
I tested the patch for gnulib; the patch for autoconf is a trivial backport.

Bruno

>From 79855cc2c893d674e45fd35dc6d661deab5d077a Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@xxxxxxxxx>
Date: Fri, 14 Apr 2023 16:16:57 +0200
Subject: [PATCH] year2038: Fix configure failure on 32-bit mingw.

* m4/largefile.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option
spelling as in _AC_SYS_YEAR2038_OPTIONS.
---
 ChangeLog       | 6 ++++++
 m4/largefile.m4 | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index d547837fe1..6958f69c61 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-04-14  Bruno Haible  <bruno@xxxxxxxxx>
+
+	year2038: Fix configure failure on 32-bit mingw.
+	* m4/largefile.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option
+	spelling as in _AC_SYS_YEAR2038_OPTIONS.
+
 2023-04-14  Bruno Haible  <bruno@xxxxxxxxx>
 
 	year2038: Add reminder to include <config.h> before time_t gets defined.
diff --git a/m4/largefile.m4 b/m4/largefile.m4
index 4bfff0d076..f741d0df6e 100644
--- a/m4/largefile.m4
+++ b/m4/largefile.m4
@@ -125,7 +125,7 @@ AC_DEFUN([_AC_SYS_YEAR2038_PROBE]
     [AC_DEFINE([_TIME_BITS], [64],
       [Number of bits in time_t, on hosts where this is settable.])],
 
-  ["-D__MINGW_USE_VC2005_COMPAT=1"],
+  ["-D__MINGW_USE_VC2005_COMPAT"],
     [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
       [Define to 1 on platforms where this makes time_t a 64-bit type.])],
 
-- 
2.34.1

>From e32529d9b3500d3ced9be4ef201292c029028072 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@xxxxxxxxx>
Date: Fri, 14 Apr 2023 16:18:35 +0200
Subject: [PATCH] AC_SYS_YEAR2038: Fix configure failure on 32-bit mingw.

* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option
spelling as in _AC_SYS_YEAR2038_OPTIONS.
---
 lib/autoconf/specific.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
index 1a3f4a65..3bf1a0ed 100644
--- a/lib/autoconf/specific.m4
+++ b/lib/autoconf/specific.m4
@@ -182,7 +182,7 @@ AS_CASE([$ac_cv_sys_year2038_opts],
     [AC_DEFINE([_TIME_BITS], [64],
       [Number of bits in time_t, on hosts where this is settable.])],
 
-  ["-D__MINGW_USE_VC2005_COMPAT=1"],
+  ["-D__MINGW_USE_VC2005_COMPAT"],
     [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
       [Define to 1 on platforms where this makes time_t a 64-bit type.])],
 
-- 
2.34.1


[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux