]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Allow --enable/disable-year2038 to be set in environment.
authorZack Weinberg <zack@owlfolio.org>
Wed, 18 Mar 2026 18:34:15 +0000 (14:34 -0400)
committerZack Weinberg <zack@owlfolio.org>
Wed, 18 Mar 2026 18:34:49 +0000 (14:34 -0400)
In both AC_SYS_YEAR2038 and AC_SYS_YEAR2038_RECOMMENDED, only set
the shell variable ‘enable_year2038’ if it doesn’t already have a
value, thus allowing it to be passed down from the environment.

Fixes <https://savannah.gnu.org/support/?111394>.

* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_ENABLE): When setting
  the default value of enable_year2038, do not override a value that
  was set in the environment.
* tests/semantics.at: Add tests for setting enable_year2038 in the
  environment and in config.site.

lib/autoconf/specific.m4
tests/semantics.at

index 38e9bfaebb8c349e39ac87ed1804feb9ce461924..5b0ea7e583b43cf6dcab0af2777a92961a6850db 100644 (file)
@@ -184,8 +184,8 @@ AS_CASE([$ac_cv_sys_year2038_opts],
 m4_define([_AC_SYS_YEAR2038_ENABLE],
 [m4_divert_text([DEFAULTS],
   m4_provide_if([AC_SYS_YEAR2038],
-    [enable_year2038=yes],
-    [enable_year2038=no]))]dnl
+    [: ${enable_year2038:=yes}],
+    [: ${enable_year2038:=no}]))]dnl
 [AC_ARG_ENABLE([year2038],
   m4_provide_if([AC_SYS_YEAR2038],
     [AS_HELP_STRING([--disable-year2038],
index 1d061cb741a8c670bbbdb8cd611eca125ab938ee..b0176b35c500499317052d75cb0c683f3282ee0c 100644 (file)
@@ -953,6 +953,47 @@ AT_CAPTURE_FILE([config.log])
 AT_CHECK([./configure $configure_options || exit 77], [0], [ignore], [])
 ])
 
+
+AT_SETUP([AC_SYS_YEAR2038_RECOMMENDED config.site override])
+
+AT_CONFIGURE_AC([AC_SYS_YEAR2038_RECOMMENDED])
+
+AT_CHECK_AUTOCONF
+AT_CHECK_AUTOHEADER([], [ignore])
+
+AT_DATA([config.site],
+[enable_year2038=no
+])
+CONFIG_SITE=`pwd`/config.site
+export CONFIG_SITE
+
+AT_CHECK_CONFIGURE
+AT_CHECK_ENV
+
+AT_CHECK([$EGREP -e '#undef _TIME_BITS' config.h], [0], [ignore])
+AT_CHECK([$EGREP -e '#undef __MINGW_USE_VC2005_COMPAT' config.h], [0], [ignore])
+
+AT_CLEANUP
+
+
+AT_SETUP([AC_SYS_YEAR2038_RECOMMENDED environment override])
+
+AT_CONFIGURE_AC([AC_SYS_YEAR2038_RECOMMENDED])
+
+AT_CHECK_AUTOCONF
+AT_CHECK_AUTOHEADER([], [ignore])
+
+enable_year2038=no
+export enable_year2038
+
+AT_CHECK_CONFIGURE
+AT_CHECK_ENV
+
+AT_CHECK([$EGREP -e '#undef _TIME_BITS' config.h], [0], [ignore])
+AT_CHECK([$EGREP -e '#undef __MINGW_USE_VC2005_COMPAT' config.h], [0], [ignore])
+
+AT_CLEANUP
+
 ## ------------------------------- ##
 ## Obsolete non-updatable macros.  ##
 ## ------------------------------- ##