Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-devel/autoconf/files: autoconf-2.62-at-keywords.patch autoconf-2.62-revert-AC_C_BIGENDIAN.patch autoconf-2.62-fix-multiline-string.patch
Date: Sun, 29 Jun 2008 23:12:13
Message-Id: E1KD63y-0007Be-Va@stork.gentoo.org
1 vapier 08/06/29 23:12:06
2
3 Added: autoconf-2.62-at-keywords.patch
4 autoconf-2.62-revert-AC_C_BIGENDIAN.patch
5 autoconf-2.62-fix-multiline-string.patch
6 Log:
7 Add workarounds for nasty bugs #217976 (multiline problems) and #228825 (big endian misdetection on ppc).
8 (Portage version: 2.2_rc1/cvs/Linux 2.6.25 x86_64)
9
10 Revision Changes Path
11 1.1 sys-devel/autoconf/files/autoconf-2.62-at-keywords.patch
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/autoconf/files/autoconf-2.62-at-keywords.patch?rev=1.1&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/autoconf/files/autoconf-2.62-at-keywords.patch?rev=1.1&content-type=text/plain
15
16 Index: autoconf-2.62-at-keywords.patch
17 ===================================================================
18 commit 3ac7ceb0c2dfd023e0e9e944da6825b6bd676568
19 Author: Eric Blake <ebb9@×××.net>
20 Date: Thu Jun 5 15:18:11 2008 -0600
21
22 Fix regression in AT_KEYWORDS([Macro]), from 2007-10-18.
23
24 * lib/autotest/general.m4 (AT_KEYWORDS): Expand argument prior to
25 converting it to lower case.
26 * tests/autotest.at (Keywords and ranges): Test this.
27 * NEWS: Document the fix.
28 * THANKS: Update.
29 Reported by Karsten Hopp.
30
31 Signed-off-by: Eric Blake <ebb9@×××.net>
32
33 diff --git a/NEWS b/NEWS
34 index 183d4f1..8b866ad 100644
35 --- a/NEWS
36 +++ b/NEWS
37 @@ -9,6 +9,10 @@ GNU Autoconf NEWS - User visible changes.
38 ** Two new quadrigraphs have been introduced: @{:@ for (, and @:}@ for ),
39 allowing the output of unbalanced parantheses in more contexts.
40
41 +** AT_KEYWORDS once again performs expansion on its argument, such that
42 + AT_KEYWORDS([m4_if([$1], [], [default])]) no longer complains about
43 + the possibly unexpanded m4_if [regression introduced in 2.62].
44 +
45
46 * Major changes in Autoconf 2.62 (2008-04-05) [stable]
47 Released by Eric Blake, based on git versions 2.61a.*.
48 diff --git a/THANKS b/THANKS
49 index 5ec8921..224cdea 100644
50 --- a/THANKS
51 +++ b/THANKS
52 @@ -177,6 +177,7 @@ Justace Clutter ?
53 Jörn Rennecke amylaar@×××××××××.uk
54 Karl Berry karl@××××××.edu
55 Karl Heuer kwzh@×××.org
56 +Karsten Hopp karsten@××××××.com
57 Kate Hedstrom ?
58 Kathryn Hargreaves kathryn@××××××××××××.edu
59 Kaveh R. Ghazi ghazi@××××××××××××.edu
60 diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
61 index 88d10a3..993dd9f 100644
62 --- a/lib/autotest/general.m4
63 +++ b/lib/autotest/general.m4
64 @@ -1476,9 +1476,10 @@ m4_case([$1],
65 # AT_KEYWORDS(KEYWORDS)
66 # ---------------------
67 # Declare a list of keywords associated to the current test group.
68 -# The list is stored in lower case, since the -k option is case-insensitive.
69 +# Since the -k option is case-insensitive, the list is stored in lower case
70 +# to avoid duplicates that differ only by case.
71 _AT_DEFINE_SETUP([AT_KEYWORDS],
72 -[m4_append_uniq_w([AT_keywords], m4_tolower([[$1]]))])
73 +[m4_append_uniq_w([AT_keywords], m4_tolower(m4_dquote(m4_expand([$1]))))])
74
75
76 # AT_CAPTURE_FILE(FILE)
77 diff --git a/tests/autotest.at b/tests/autotest.at
78 index dc3cfd5..c4c0eda 100644
79 --- a/tests/autotest.at
80 +++ b/tests/autotest.at
81 @@ -690,7 +690,7 @@ AT_CHECK(:)
82 AT_CLEANUP
83 AT_SETUP(both) # 04
84 AT_KEYWORDS([key1 key2])
85 -AT_KEYWORDS([key1])
86 +AT_KEYWORDS([m4@&t@_echo([Key1])])
87 AT_CHECK(:)
88 AT_CLEANUP
89 AT_SETUP(test5) # 05
90 @@ -713,7 +713,7 @@ AT_CHECK(:)
91 AT_CLEANUP
92 ]])
93 dnl check that AT_KEYWORDS does not duplicate words
94 -AT_CHECK([grep 'key1.*key1' k], [1])
95 +AT_CHECK([grep -i 'key1.*key1' k], [1])
96 dnl check that -k requires an argument
97 AT_CHECK([$CONFIG_SHELL ./k -k], [1], [], [ignore])
98
99
100
101
102 1.1 sys-devel/autoconf/files/autoconf-2.62-revert-AC_C_BIGENDIAN.patch
103
104 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/autoconf/files/autoconf-2.62-revert-AC_C_BIGENDIAN.patch?rev=1.1&view=markup
105 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/autoconf/files/autoconf-2.62-revert-AC_C_BIGENDIAN.patch?rev=1.1&content-type=text/plain
106
107 Index: autoconf-2.62-revert-AC_C_BIGENDIAN.patch
108 ===================================================================
109 revert AC_C_BIGENDIAN to the version found in 2.61 since the version in 2.62 is
110 known to be broken and the changes that it brings are not critical
111
112 http://bugs.gentoo.org/228825
113
114 --- autoconf-2.62/lib/autoconf/c.m4
115 +++ autoconf-2.61/lib/autoconf/c.m4
116 @@ -1393,140 +1351,74 @@
117 ])# AC_C_CHAR_UNSIGNED
118
119
120 -# AC_C_BIGENDIAN ([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN],
121 -# [ACTION-IF-UNIVERSAL])
122 +# AC_C_BIGENDIAN ([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
123 # -------------------------------------------------------------------------
124 AC_DEFUN([AC_C_BIGENDIAN],
125 -[AH_VERBATIM([WORDS_BIGENDIAN],
126 -[/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
127 - significant byte first (like Motorola and SPARC, unlike Intel and VAX). */
128 -#if defined __BIG_ENDIAN__
129 -# define WORDS_BIGENDIAN 1
130 -#elif ! defined __LITTLE_ENDIAN__
131 -# undef WORDS_BIGENDIAN
132 -#endif])dnl
133 - AC_CACHE_CHECK([whether byte ordering is bigendian], [ac_cv_c_bigendian],
134 - [ac_cv_c_bigendian=unknown
135 - m4_ifval(m4_ifdef([AH_HEADER], 1)[$4],
136 - [# See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined.
137 - AC_COMPILE_IFELSE(
138 - [AC_LANG_SOURCE(
139 - [[#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__)
140 - neither is defined;
141 - #endif
142 - typedef int dummy;
143 - ]])],
144 - [ac_cv_c_bigendian=universal])],
145 - [AC_DIAGNOSE([obsolete], [AC_C_BIGENDIAN suggests AC_CONFIG_HEADERS])])
146 - if test $ac_cv_c_bigendian = unknown; then
147 - # See if sys/param.h defines the BYTE_ORDER macro.
148 - AC_COMPILE_IFELSE(
149 - [AC_LANG_PROGRAM(
150 - [[#include <sys/types.h>
151 - #include <sys/param.h>
152 - ]],
153 - [[#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
154 - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
155 - && LITTLE_ENDIAN)
156 - bogus endian macros
157 - #endif
158 - ]])],
159 - [# It does; now see whether it defined to BIG_ENDIAN or not.
160 - AC_COMPILE_IFELSE(
161 - [AC_LANG_PROGRAM(
162 - [[#include <sys/types.h>
163 - #include <sys/param.h>
164 - ]],
165 - [[#if BYTE_ORDER != BIG_ENDIAN
166 - not big endian
167 - #endif
168 - ]])],
169 - [ac_cv_c_bigendian=yes],
170 - [ac_cv_c_bigendian=no])])
171 - fi
172 - if test $ac_cv_c_bigendian = unknown; then
173 - # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
174 - AC_COMPILE_IFELSE(
175 - [AC_LANG_PROGRAM(
176 - [[#include <limits.h>
177 - ]],
178 - [[#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
179 - bogus endian macros
180 - #endif
181 - ]])],
182 - [# It does; now see whether it defined to _BIG_ENDIAN or not.
183 - AC_COMPILE_IFELSE(
184 - [AC_LANG_PROGRAM(
185 - [[#include <limits.h>
186 - ]],
187 - [[#ifndef _BIG_ENDIAN
188 - not big endian
189 - #endif
190 - ]])],
191 - [ac_cv_c_bigendian=yes],
192 - [ac_cv_c_bigendian=no])])
193 - fi
194 - if test $ac_cv_c_bigendian = unknown; then
195 - # Compile a test program.
196 - AC_RUN_IFELSE(
197 - [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
198 - [[
199 - /* Are we little or big endian? From Harbison&Steele. */
200 - union
201 - {
202 - long int l;
203 - char c[sizeof (long int)];
204 - } u;
205 - u.l = 1;
206 - return u.c[sizeof (long int) - 1] == 1;
207 - ]])],
208 - [ac_cv_c_bigendian=no],
209 - [ac_cv_c_bigendian=yes],
210 - [# Try to guess by grepping values from an object file.
211 - AC_COMPILE_IFELSE(
212 - [AC_LANG_PROGRAM(
213 - [[short int ascii_mm[] =
214 - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
215 - short int ascii_ii[] =
216 - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
217 - int use_ascii (int i) {
218 - return ascii_mm[i] + ascii_ii[i];
219 - }
220 - short int ebcdic_ii[] =
221 - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
222 - short int ebcdic_mm[] =
223 - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
224 - int use_ebcdic (int i) {
225 - return ebcdic_mm[i] + ebcdic_ii[i];
226 - }
227 - extern int foo;
228 - ]],
229 - [[return use_ascii (foo) == use_ebcdic (foo);]])],
230 - [if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
231 - ac_cv_c_bigendian=yes
232 - fi
233 - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
234 - if test "$ac_cv_c_bigendian" = unknown; then
235 - ac_cv_c_bigendian=no
236 - else
237 - # finding both strings is unlikely to happen, but who knows?
238 - ac_cv_c_bigendian=unknown
239 - fi
240 - fi])])
241 - fi])
242 - case $ac_cv_c_bigendian in #(
243 - yes)
244 - m4_default([$1],
245 - [AC_DEFINE([WORDS_BIGENDIAN], 1)]);; #(
246 - no)
247 - $2 ;; #(
248 - universal)
249 - $4 ;; #(
250 - *)
251 - m4_default([$3],
252 - [AC_MSG_ERROR([unknown endianness
253 - presetting ac_cv_c_bigendian=no (or yes) will help])]) ;;
254 - esac
255 +[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
256 +[# See if sys/param.h defines the BYTE_ORDER macro.
257 +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
258 +#include <sys/param.h>
259 +],
260 +[#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
261 + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
262 + bogus endian macros
263 +#endif
264 +])],
265 +[# It does; now see whether it defined to BIG_ENDIAN or not.
266 +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
267 +#include <sys/param.h>
268 +], [#if BYTE_ORDER != BIG_ENDIAN
269 + not big endian
270 +#endif
271 +])], [ac_cv_c_bigendian=yes], [ac_cv_c_bigendian=no])],
272 +[# It does not; compile a test program.
273 +AC_RUN_IFELSE(
274 +[AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], [[
275 + /* Are we little or big endian? From Harbison&Steele. */
276 + union
277 + {
278 + long int l;
279 + char c[sizeof (long int)];
280 + } u;
281 + u.l = 1;
282 + return u.c[sizeof (long int) - 1] == 1;
283 +]])],
284 + [ac_cv_c_bigendian=no],
285 + [ac_cv_c_bigendian=yes],
286 +[# try to guess the endianness by grepping values into an object file
287 + ac_cv_c_bigendian=unknown
288 + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
289 +[[short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
290 +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
291 +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
292 +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
293 +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
294 +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }]],
295 +[[ _ascii (); _ebcdic (); ]])],
296 +[if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
297 + ac_cv_c_bigendian=yes
298 +fi
299 +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
300 + if test "$ac_cv_c_bigendian" = unknown; then
301 + ac_cv_c_bigendian=no
302 + else
303 + # finding both strings is unlikely to happen, but who knows?
304 + ac_cv_c_bigendian=unknown
305 + fi
306 +fi])])])])
307 +case $ac_cv_c_bigendian in
308 + yes)
309 + m4_default([$1],
310 + [AC_DEFINE([WORDS_BIGENDIAN], 1,
311 + [Define to 1 if your processor stores words with the most significant
312 + byte first (like Motorola and SPARC, unlike Intel and VAX).])]) ;;
313 + no)
314 + $2 ;;
315 + *)
316 + m4_default([$3],
317 + [AC_MSG_ERROR([unknown endianness
318 +presetting ac_cv_c_bigendian=no (or yes) will help])]) ;;
319 +esac
320 ])# AC_C_BIGENDIAN
321
322
323
324
325
326 1.1 sys-devel/autoconf/files/autoconf-2.62-fix-multiline-string.patch
327
328 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/autoconf/files/autoconf-2.62-fix-multiline-string.patch?rev=1.1&view=markup
329 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/autoconf/files/autoconf-2.62-fix-multiline-string.patch?rev=1.1&content-type=text/plain
330
331 Index: autoconf-2.62-fix-multiline-string.patch
332 ===================================================================
333 sniped from mandrivia:
334 http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/autoconf/current/SOURCES/autoconf-2.62-fix-multiline-string.patch
335
336 this may not be the correct fix, but it seems to get the job done until we can
337 grab whatever upstream merges
338 http://lists.gnu.org/archive/html/bug-autoconf/2008-04/msg00031.html
339
340 --- autoconf-2.62/lib/autoconf/status.m4
341 +++ autoconf-2.62/lib/autoconf/status.m4
342 @@ -1360,16 +1360,16 @@ _ACEOF
343 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
344 # Files that config.status was made for.
345 m4_ifdef([_AC_SEEN_CONFIG(FILES)],
346 -[config_files="$ac_config_files"
347 +[config_files="`echo $ac_config_files`"
348 ])dnl
349 m4_ifdef([_AC_SEEN_CONFIG(HEADERS)],
350 -[config_headers="$ac_config_headers"
351 +[config_headers="`echo $ac_config_headers`"
352 ])dnl
353 m4_ifdef([_AC_SEEN_CONFIG(LINKS)],
354 -[config_links="$ac_config_links"
355 +[config_links="`echo $ac_config_links`"
356 ])dnl
357 m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)],
358 -[config_commands="$ac_config_commands"
359 +[config_commands="`echo $ac_config_commands`"
360 ])dnl
361
362 _ACEOF
363
364
365
366 --
367 gentoo-commits@l.g.o mailing list