]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
9c1f435d5302837cd37bd4e621d72844bae665ab
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From daaca7f74f94d6a7a51d571156d5fbaba5ef9a87 Mon Sep 17 00:00:00 2001
2 From: Zack Weinberg <zackw@panix.com>
3 Date: Sun, 2 Apr 2023 21:03:30 -0400
4 Subject: [PATCH 11/29] Make AC_PROG_GCC_TRADITIONAL a compatibility alias for
5 AC_PROG_CC.
6 MIME-Version: 1.0
7 Content-Type: text/plain; charset=UTF-8
8 Content-Transfer-Encoding: 8bit
9
10 This macro is one of the last remaining internal uses of AC_EGREP_CPP.
11 It has only ever done anything useful with GCC, and GCC dropped
12 support for ‘traditional’ compilation in version 3.3 (released 2003)
13 so I do not think it is worth trying to preserve.
14
15 * lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a
16 compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC.
17 * lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment.
18 * doc/autoconf.texi, NEWS: Document this change.
19 * tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from
20 autoupdate tests.
21
22 Upstream-Status: Backport
23 Signed-off-by: Khem Raj <raj.khem@gmail.com>
24 ---
25 NEWS | 7 +++++++
26 doc/autoconf.texi | 29 ++++++++++++++---------------
27 lib/autoconf/c.m4 | 30 ++++++------------------------
28 lib/autoconf/general.m4 | 2 --
29 tests/mktests.pl | 2 +-
30 5 files changed, 28 insertions(+), 42 deletions(-)
31
32 diff --git a/NEWS b/NEWS
33 index 6a106f155..53c57ff59 100644
34 --- a/NEWS
35 +++ b/NEWS
36 @@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes.
37 with plain apostrophes instead of the older GNU style `like this'
38 with grave accent and apostrophe.
39
40 +*** AC_PROG_GCC_TRADITIONAL no longer does anything.
41 +
42 + This macro has had no useful effect since GCC dropped support for
43 + traditional-mode compilation in version 3.3 (released in 2003), and
44 + the systems that needed it are also long obsolete. It is now a
45 + compatibility synonym for AC_PROG_CC.
46 +
47 ** Notable bug fixes
48
49 *** Autoconf caches now use finer-grained timestamps.
50 diff --git a/doc/autoconf.texi b/doc/autoconf.texi
51 index 8db64d8bb..037c8055f 100644
52 --- a/doc/autoconf.texi
53 +++ b/doc/autoconf.texi
54 @@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes.
55 New programs need not use this macro.
56 @end defmac
57
58 -@anchor{AC_PROG_GCC_TRADITIONAL}
59 -@defmac AC_PROG_GCC_TRADITIONAL
60 -@acindex{PROG_GCC_TRADITIONAL}
61 -@ovindex CC
62 -Add @option{-traditional} to output variable @code{CC} if using a
63 -GNU C compiler and @code{ioctl} does not work properly without
64 -@option{-traditional}. That usually happens when the fixed header files
65 -have not been installed on an old system.
66 -
67 -This macro is obsolescent, since current versions of the GNU C
68 -compiler fix the header files automatically when installed.
69 -@end defmac
70 -
71 -
72 @node C++ Compiler
73 @subsection C++ Compiler Characteristics
74
75 @@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not
76
77 @defmac AC_GCC_TRADITIONAL
78 @acindex{GCC_TRADITIONAL}
79 -Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}).
80 +Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}),
81 +which is itself obsolete.
82 @end defmac
83
84 @defmac AC_GETGROUPS_T
85 @@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
86 Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
87 @end defmac
88
89 +@anchor{AC_PROG_GCC_TRADITIONAL}
90 +@defmac AC_PROG_GCC_TRADITIONAL
91 +@acindex{PROG_GCC_TRADITIONAL}
92 +Used to put GCC into ``traditional'' (pre-ISO C) compilation mode,
93 +on systems with headers that did not work correctly with a
94 +standard-compliant compiler. GCC has not supported traditional
95 +compilation in many years, and all of the systems that required this are
96 +long obsolete themselves. This macro is now a compatibility synonym for
97 +@code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
98 +
99 +@end defmac
100 +
101 @defmac AC_PROGRAMS_CHECK
102 @acindex{PROGRAMS_CHECK}
103 Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}).
104 diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
105 index fef6c516d..33648b5b9 100644
106 --- a/lib/autoconf/c.m4
107 +++ b/lib/autoconf/c.m4
108 @@ -551,30 +551,6 @@ fi[]dnl
109 ])# _AC_PROG_CC_G
110
111
112 -# AC_PROG_GCC_TRADITIONAL
113 -# -----------------------
114 -AC_DEFUN([AC_PROG_GCC_TRADITIONAL],
115 -[AC_REQUIRE([AC_PROG_CC])dnl
116 -if test $ac_cv_c_compiler_gnu = yes; then
117 - AC_CACHE_CHECK(whether $CC needs -traditional,
118 - ac_cv_prog_gcc_traditional,
119 -[ ac_pattern="Autoconf.*'x'"
120 - AC_EGREP_CPP($ac_pattern, [#include <sgtty.h>
121 -Autoconf TIOCGETP],
122 - ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no)
123 -
124 - if test $ac_cv_prog_gcc_traditional = no; then
125 - AC_EGREP_CPP($ac_pattern, [#include <termio.h>
126 -Autoconf TCGETA],
127 - ac_cv_prog_gcc_traditional=yes)
128 - fi])
129 - if test $ac_cv_prog_gcc_traditional = yes; then
130 - CC="$CC -traditional"
131 - fi
132 -fi
133 -])# AC_PROG_GCC_TRADITIONAL
134 -
135 -
136 # AC_PROG_CC_C_O
137 # --------------
138 AC_DEFUN([AC_PROG_CC_C_O],
139 @@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC],
140 [$0 is obsolete; use AC_PROG_CC]
141 )
142
143 +# AC_PROG_GCC_TRADITIONAL
144 +# -----------------------
145 +AU_DEFUN([AC_PROG_GCC_TRADITIONAL],
146 + [AC_REQUIRE([AC_PROG_CC])],
147 + [$0 is obsolete; use AC_PROG_CC]
148 +)
149
150 # AC_C_BACKSLASH_A
151 # ----------------
152 diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
153 index ecda0a51c..47d896d54 100644
154 --- a/lib/autoconf/general.m4
155 +++ b/lib/autoconf/general.m4
156 @@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP],
157 # AC_EGREP_CPP(PATTERN, PROGRAM,
158 # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
159 # ------------------------------------------------------
160 -# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must
161 -# come early, it is not included in AC_BEFORE checks.
162 AC_DEFUN([AC_EGREP_CPP],
163 [AC_LANG_PREPROC_REQUIRE()dnl
164 AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl
165 diff --git a/tests/mktests.pl b/tests/mktests.pl
166 index effed0bca..81f63586c 100644
167 --- a/tests/mktests.pl
168 +++ b/tests/mktests.pl
169 @@ -112,7 +112,7 @@ my @ac_exclude_list = (
170 # Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these.
171 my @au_exclude_list = (
172 # Empty.
173 - qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/,
174 + qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/,
175
176 # Use AC_REQUIRE.
177 qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/,
178 --
179 2.41.0
180