AC_SYS_LARGEFILE_REQUIRED vs. AC_SYS_YEAR2038_REQUIRED on MSVC

Bruno Haible <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.general,gmane.comp.lib.gnulib.bugs
Message-ID <3217467.N7aMVyhfb1@nimes>
When I create a gnulib testdir with the an AC_SYS_LARGEFILE_REQUIRED
invocation:
  ./gnulib-tool --create-testdir --dir=... --single-configure largefile-required stat
it configures and builds fine on MSVC (both 64-bit and 32-bit).

That is OK because the AC_SYS_LARGEFILE[_REQUIRED] macro sets the
variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE, which are then
AC_SUBSTed by the 'stat' module, and the Gnulib code of the 'stat'
module uses the value of WINDOWS_64_BIT_ST_SIZE to do the right thing.

Also, don't be confused by the 'configure' output that contains:
  checking for /home/bruno/msvc/compile cl -nologo option to enable large file support... support not detected
  ...
  checking for 64-bit off_t... no
  checking for 64-bit st_size... no
This output means that at the Autoconf level, the Unix way of just adding
a -D option did not work out. But with Gnulib, large file support *is* enabled.


On the other hand, when I create a gnulib testdir with an
AC_SYS_YEAR2038_REQUIRED invocation:
  ./gnulib-tool --create-testdir --dir=... --single-configure year2038-required stat
it fails during the configure stage on MSVC (both 64-bit and 32-bit):

  checking for /home/bruno/msvc/compile cl -nologo option to enable large file support... support not detected
  configure: error: in `/home/bruno/testdir7/build-msvc32':
  configure: error: support for large files is required
  See `config.log' for more details

This is wrong, because it is not consistent with the way
AC_SYS_LARGEFILE_REQUIRED works.

Like AC_SYS_LARGEFILE_REQUIRED, it should allow Gnulib to do the right thing
by obeying the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE.


Also, maybe it is necessary to distinguish the use of these two Autoconf
macros without and with Gnulib?
  - Without Gnulib, they could both fail on MSVC.
  - But with Gnulib, they should both succeed on MSVC.

Bruno
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.