[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AC_SYS_LARGEFILE_REQUIRED vs. AC_SYS_YEAR2038_REQUIRED on MSVC
From: |
Bruno Haible |
Subject: |
Re: AC_SYS_LARGEFILE_REQUIRED vs. AC_SYS_YEAR2038_REQUIRED on MSVC |
Date: |
Sun, 16 Apr 2023 17:27:59 +0200 |
I presented the test results:
> - hello-3: no gnulib, just AC_SYS_LARGEFILE_REQUIRED
> - hello-4: no gnulib, just AC_SYS_YEAR2038_REQUIRED
> - testdir3: a gnulib testdir for the modules largefile-required stat
> - testdir4: a gnulib testdir for the modules year2038-required stat
>
> mingw64 mingw32 msvc64 msvc32
>
> hello-3 OK OK "support not detected" -> fail
> hello-4 OK OK "support not detected" -> fail
> testdir3 OK OK OK OK
> testdir4 OK OK OK OK
Now, one could argue that in the above table the outcome should be:
mingw64 mingw32 msvc64 msvc32
hello-3 OK OK "support not detected" -> fail
hello-4 OK OK OK OK
testdir3 OK OK OK OK
testdir4 OK OK OK OK
since in hello-4 the maintainer has only asked for year 2038
support, not for large files support. And the dependency from year 2038
support to large files support exists only in glibc (since the glibc
developers found it pointless to add a 'struct stat' variant with
32-bit off_t and 64-bit time_t). Whereas MSVC has all 4 possible
variants for 'struct stat' (32/64-bit off_t and 32/64-bit time_t) [1].
But for this improvement, the Autoconf code of AC_SYS_YEAR2038_REQUIRED
would need to distinguish glibc systems from MSVC systems in one way or
the other. You said that you don't like the use AC_CANONICAL_HOST here;
on the other hand, an extra compiler or preprocessor invocation is
pointless if AC_CANONICAL_HOST has already been used.
Anyway, this is low priority for me, since MSVC support without gnulib
is not going to work well in so many aspects anyway.
Bruno
[1]
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions?view=msvc-170
- AC_SYS_LARGEFILE_REQUIRED vs. AC_SYS_YEAR2038_REQUIRED on MSVC, Bruno Haible, 2023/04/14
- Re: AC_SYS_LARGEFILE_REQUIRED vs. AC_SYS_YEAR2038_REQUIRED on MSVC, Paul Eggert, 2023/04/15
- remaining tasks before Autoconf release, Bruno Haible, 2023/04/16
- Re: remaining tasks before Autoconf release, Paul Eggert, 2023/04/19
- Re: remaining tasks before Autoconf release, Eric Blake, 2023/04/19
- Re: remaining tasks before Autoconf release, Bruno Haible, 2023/04/20