mirror of
git://git.sv.gnu.org/autoconf
synced 2024-11-27 01:49:56 +08:00
Improve year2038, largefile option processing
* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE) (_AC_SYS_YEAR2038_ENABLE, _AC_SYS_YEAR2038_OPT_IN) (AC_SYS_YEAR2038, _AC_SYS_LARGEFILE_PROBE) (_AC_SYS_LARGEFILE_ENABLE): Do not use enable_largefile to record whether largefile is required, as ‘./configure --disable-largefile’ sets enable_largefile=no even if largefile is required and this disables largefile. Instead, use a separate shell variable ac_largefile_required and test it as well. Similarly for enable_year2038. (_AC_SYS_LARGEFILE_ENABLE): Omit --disable-largefile help string if year2038 is required, since largefile is a prereq for year2038.
This commit is contained in:
parent
1982523c6f
commit
a1e82aff0f
@ -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])
|
||||
])])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user