* Richard W. M. Jones:
On Tue, Oct 25, 2022 at 10:05:52AM -0400, Ben Cotton wrote:
> Neither change is trivial to implement because introducing errors for
> these constructs (as required by C99) alters the result of autoconf
> configure checks. Quite a few such checks use an implicitly declared
> `exit` function, for instance. These failures are not really related
> to the feature under test. If the build system is well written, the
> build still succeeds, the relevant features are automatically disabled
> in the test suite and removed from reference ABI lists, and it's not
> immediately apparent that feature is gone. Therefore, some care is
> needed that no such alterations happen, and packages need to be ported
> to C99. Various tools for this porting activity are being developed to
> support this proposal. Cross-distribution collaboration will help as
> well, sharing patches and insights.
Would it help if we made autoreconf (and the equivalent step for other
build systems) mandatory? Debian has declared this as "good practice"
since forever[0].
It would mean we could fix any problems in current autoconf
concurrently with the changes to GCC and Fedora.
I'm not aware of any recent-ish core autoconf issues that would be
solved by running autoreconf (if that actually worked …). As far as I
can tell, autoconf never relied on implicit function declarations for
AC_CHECK_FUNC, not since 1993. The sed hack we already have is for LTO
compatibility.
We would have to sync aclocal.m4 (or what feeds into aclocal.m4) from
autoconf-archive and then run autoreconf, but I don't think that we have
any automation for that today. And not everything comes from
autoconf-archive, a lot of stuff is just copied around manually. Most
of it is unproblematic in this context, fortunately. The few remaining
issues we have need to be patched individually.
Thanks,
Florian