summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/autoconf/specific.m435
1 files changed, 22 insertions, 13 deletions
diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
index 5dc00695..1a3f4a65 100644
--- a/lib/autoconf/specific.m4
+++ b/lib/autoconf/specific.m4
@@ -155,10 +155,10 @@ AS_CASE([$ac_cv_sys_year2038_opts],
["none needed"], [],
["support not detected"],
[ac_have_year2038=no
- AS_CASE([$enable_year2038],
- [required],
+ AS_CASE([$ac_year2038_required,$enable_year2038],
+ [yes,*],
[AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])],
- [yes],
+ [*,yes],
[# If we're not cross compiling and 'touch' works with a large
# timestamp, then we can presume the system supports wider time_t
# *somehow* and we just weren't able to detect it. One common
@@ -209,10 +209,12 @@ AS_CASE([$ac_cv_sys_year2038_opts],
m4_define([_AC_SYS_YEAR2038_ENABLE],
[m4_divert_text([DEFAULTS],
m4_provide_if([AC_SYS_YEAR2038_REQUIRED],
- [enable_year2038=required],
+ [ac_year2038_required=yes],
+ [ac_year2038_required=no]))dnl
+m4_divert_text([DEFAULTS],
m4_provide_if([AC_SYS_YEAR2038],
[enable_year2038=yes],
- [enable_year2038=no])))]dnl
+ [enable_year2038=no]))]dnl
[m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
[AC_ARG_ENABLE([year2038],
m4_provide_if([AC_SYS_YEAR2038],
@@ -231,7 +233,8 @@ m4_define([_AC_SYS_YEAR2038_ENABLE],
# documented macro.
AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
+ AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
+ [_AC_SYS_YEAR2038_PROBE])
AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
])])
@@ -244,7 +247,8 @@ AC_DEFUN([AC_SYS_YEAR2038],
[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
[AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
+ AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
+ [_AC_SYS_YEAR2038_PROBE])
AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
])])
@@ -326,7 +330,7 @@ AS_CASE([$ac_cv_sys_largefile_opts],
["none needed"], [],
["support not detected"],
[ac_have_largefile=no
- AS_IF([test $enable_largefile = required],
+ AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
[AC_MSG_FAILURE([support for large files is required])])],
["-D_FILE_OFFSET_BITS=64"],
@@ -358,11 +362,15 @@ _AC_SYS_YEAR2038_OPT_IN
m4_define([_AC_SYS_LARGEFILE_ENABLE],
[m4_divert_text([DEFAULTS],
m4_provide_if([AC_SYS_LARGEFILE_REQUIRED],
- [enable_largefile=required],
- [enable_largefile=yes]))]dnl
+ [ac_largefile_required=yes],
+ [ac_largefile_required=no]))dnl
+m4_divert_text([DEFAULTS],
+ [enable_largefile=yes])]dnl
[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
-[AC_ARG_ENABLE([largefile],
- [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])])
+ [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
+ [AC_ARG_ENABLE([largefile],
+ [AS_HELP_STRING([--disable-largefile],
+ [omit support for large files])])])])])
# AC_SYS_LARGEFILE
# ----------------
@@ -377,7 +385,8 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE],
# large files; see also AC_SYS_LARGEFILE_REQUIRED.
AC_DEFUN([AC_SYS_LARGEFILE],
[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
- AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
+ AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no],
+ [_AC_SYS_LARGEFILE_PROBE])
AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
])])