autoupdate replacing AC_PROG_CC_C99 should not use AC_REQUIRE
Bryan Moore <[email protected]> Thu, 23 Apr 2026 16:16:40 -0700
| Newsgroups | gmane.comp.sysutils.autoconf.bugs |
|---|---|
| Message-ID | <CALxyBQTiawGfFk3KYp2Q4pYjrY+xRTSaF5EBS7ukXCxFJC6MoA@mail.gmail.com> |
[email protected] Synopsis: autoupdate causes botched 'configure' result from 'AC_PROG_CC_C99' in configure.in User workaround: After running autoupdate I found it necessary to remove the "AC_REQUIRE()" that you have wrapping the AC_PROG_CC Otherwise the buildconf produces a configure that has problems *Summary:* > When running autoupdate on an older configure.ac, the tool correctly identifies AC_PROG_CC_C99 as obsolete but incorrectly replaces it with a block containing AC_REQUIRE([AC_PROG_CC]) at the top-level of the script. This causes a fatal M4 expansion error because AC_REQUIRE cannot be used outside of an AC_DEFUN block. *Steps to Reproduce:* 1. Start with a configure.ac containing a top-level AC_PROG_CC_C99. 2. Run autoupdate. 3. Attempt to run autoreconf or ./buildconf.sh. *Actual Results:* autoupdate produces: Code snippet m4_warn([obsolete], [AC_PROG_CC_C99 is obsolete; use AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CC]) Resulting in error: error: AC_REQUIRE(AC_PROG_CC): cannot be used outside of an AC_DEFUN'd macro. *Expected Results:* It should simply replace the obsolete macro with AC_PROG_CC when detected at the top-level. *Environment:* Ubuntu 24.04 LTS, Autoconf version 2.71