diff options
author | Zack Weinberg <zackw@panix.com> | 2023-04-02 21:03:30 -0400 |
---|---|---|
committer | Zack Weinberg <zackw@panix.com> | 2023-04-02 23:01:06 -0400 |
commit | daaca7f74f94d6a7a51d571156d5fbaba5ef9a87 (patch) | |
tree | 199cad422db2ee9d239cef3627a08c8d80c27e9d | |
parent | 51d98495d1aac00970d791f064e83ca762bf81c7 (diff) | |
download | autoconf-daaca7f74f94d6a7a51d571156d5fbaba5ef9a87.tar.gz |
Make AC_PROG_GCC_TRADITIONAL a compatibility alias for AC_PROG_CC.
This macro is one of the last remaining internal uses of AC_EGREP_CPP.
It has only ever done anything useful with GCC, and GCC dropped
support for ‘traditional’ compilation in version 3.3 (released 2003)
so I do not think it is worth trying to preserve.
* lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a
compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC.
* lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment.
* doc/autoconf.texi, NEWS: Document this change.
* tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from
autoupdate tests.
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | doc/autoconf.texi | 29 | ||||
-rw-r--r-- | lib/autoconf/c.m4 | 30 | ||||
-rw-r--r-- | lib/autoconf/general.m4 | 2 | ||||
-rw-r--r-- | tests/mktests.pl | 2 |
5 files changed, 28 insertions, 42 deletions
@@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes. with plain apostrophes instead of the older GNU style `like this' with grave accent and apostrophe. +*** AC_PROG_GCC_TRADITIONAL no longer does anything. + + This macro has had no useful effect since GCC dropped support for + traditional-mode compilation in version 3.3 (released in 2003), and + the systems that needed it are also long obsolete. It is now a + compatibility synonym for AC_PROG_CC. + ** Notable bug fixes *** Autoconf caches now use finer-grained timestamps. diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 8db64d8b..037c8055 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes. New programs need not use this macro. @end defmac -@anchor{AC_PROG_GCC_TRADITIONAL} -@defmac AC_PROG_GCC_TRADITIONAL -@acindex{PROG_GCC_TRADITIONAL} -@ovindex CC -Add @option{-traditional} to output variable @code{CC} if using a -GNU C compiler and @code{ioctl} does not work properly without -@option{-traditional}. That usually happens when the fixed header files -have not been installed on an old system. - -This macro is obsolescent, since current versions of the GNU C -compiler fix the header files automatically when installed. -@end defmac - - @node C++ Compiler @subsection C++ Compiler Characteristics @@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not @defmac AC_GCC_TRADITIONAL @acindex{GCC_TRADITIONAL} -Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}). +Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}), +which is itself obsolete. @end defmac @defmac AC_GETGROUPS_T @@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}). Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}). @end defmac +@anchor{AC_PROG_GCC_TRADITIONAL} +@defmac AC_PROG_GCC_TRADITIONAL +@acindex{PROG_GCC_TRADITIONAL} +Used to put GCC into ``traditional'' (pre-ISO C) compilation mode, +on systems with headers that did not work correctly with a +standard-compliant compiler. GCC has not supported traditional +compilation in many years, and all of the systems that required this are +long obsolete themselves. This macro is now a compatibility synonym for +@code{AC_PROG_CC} (@pxref{AC_PROG_CC}). + +@end defmac + @defmac AC_PROGRAMS_CHECK @acindex{PROGRAMS_CHECK} Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}). diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index fef6c516..33648b5b 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4 @@ -551,30 +551,6 @@ fi[]dnl ])# _AC_PROG_CC_G -# AC_PROG_GCC_TRADITIONAL -# ----------------------- -AC_DEFUN([AC_PROG_GCC_TRADITIONAL], -[AC_REQUIRE([AC_PROG_CC])dnl -if test $ac_cv_c_compiler_gnu = yes; then - AC_CACHE_CHECK(whether $CC needs -traditional, - ac_cv_prog_gcc_traditional, -[ ac_pattern="Autoconf.*'x'" - AC_EGREP_CPP($ac_pattern, [#include <sgtty.h> -Autoconf TIOCGETP], - ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no) - - if test $ac_cv_prog_gcc_traditional = no; then - AC_EGREP_CPP($ac_pattern, [#include <termio.h> -Autoconf TCGETA], - ac_cv_prog_gcc_traditional=yes) - fi]) - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi -])# AC_PROG_GCC_TRADITIONAL - - # AC_PROG_CC_C_O # -------------- AC_DEFUN([AC_PROG_CC_C_O], @@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC], [$0 is obsolete; use AC_PROG_CC] ) +# AC_PROG_GCC_TRADITIONAL +# ----------------------- +AU_DEFUN([AC_PROG_GCC_TRADITIONAL], + [AC_REQUIRE([AC_PROG_CC])], + [$0 is obsolete; use AC_PROG_CC] +) # AC_C_BACKSLASH_A # ---------------- diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4 index ecda0a51..47d896d5 100644 --- a/lib/autoconf/general.m4 +++ b/lib/autoconf/general.m4 @@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP], # AC_EGREP_CPP(PATTERN, PROGRAM, # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # ------------------------------------------------------ -# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must -# come early, it is not included in AC_BEFORE checks. AC_DEFUN([AC_EGREP_CPP], [AC_LANG_PREPROC_REQUIRE()dnl AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl diff --git a/tests/mktests.pl b/tests/mktests.pl index effed0bc..81f63586 100644 --- a/tests/mktests.pl +++ b/tests/mktests.pl @@ -112,7 +112,7 @@ my @ac_exclude_list = ( # Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these. my @au_exclude_list = ( # Empty. - qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/, + qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/, # Use AC_REQUIRE. qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/, |