autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.59d on OpenServer


From: Ralf Wildenhues
Subject: Re: 2.59d on OpenServer
Date: Sun, 18 Jun 2006 14:09:17 +0200
User-agent: Mutt/1.5.11+cvs20060403

Hello Tim, Kean,

While searching for something entirely unrelated, I just found this
message of Kean:
http://lists.x.org/archives/xorg-modular/2005-March/000039.html

which has a patch against Autoconf, presumably needed for some SCO
systems' shells.  (BTW, the message mentions that it was submitted
to Autoconf at one time, but I could not find this message in the
mailing list archives.)

Between 2.59 and 2.59e we have changed macros to not expand to long
lines in the resulting scripts, but apparently some shells not only
have limits in the line length, but also in the length of the assignment
string; now, Kean's message above seems to imply that this length
limitation is _before_ variable expansion, not afterwards.  Is that
really the case?  IOW: is (a forward-ported and bug-fixed version of)
the patch above still necessary for 2.59e?

If the limit were afterwards, a more invasive fix would be necessary;
but if not, we may be able to get away more easily fixing this:

* Tim Rice wrote on Tue, Jun 06, 2006 at 03:47:09AM CEST:
> 
> There is still a problem with 2.59d on the OpenServer platforms.

> ....
> 85;torture.at:416;Torturing config.status;;
> 86;torture.at:544;Substitute a 2000-byte string;;
> 87;to
> + ./testsuite[907]: : is not an identifier
> gmake[2]: *** [check-local] Error 1

> It looks like the "at_help_all" variable has 12270 characters in it.
> The ksh (/usr/bin/posix/sh is a symbolic link to ksh) is blowing up
> at 4074 characters.

Does the patch below fix this for you?  It is just a wee bit unfortunate
because with most shells it causes quadratic initialization time, which
in practice means something like doubled overhead for Autoconf's
  ./tests/testsuite --list

With a bit of luck, we may be able to fix this soon with a shell
function approach similarly to this (which scales well for good shells):
http://lists.gnu.org/archive/html/libtool-patches/2006-05/msg00016.html

Cheers,
Ralf

        * lib/autotest/general.m4 (AT_CLEANUP): Define `AT_help_all'
        to append a line to the shell variable `at_help_all'.
        (AT_INIT): Adjust accordingly, so that variable assignment
        statement length does overflow OpenServer /usr/bin/posix/sh
        limits.  Reported by Tim Rice in
        <http://lists.gnu.org/archive/html/bug-autoconf/2006-06/msg00013.html>.

Index: lib/autotest/general.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autotest/general.m4,v
retrieving revision 1.213
diff -u -r1.213 general.m4
--- lib/autotest/general.m4     23 May 2006 04:44:27 -0000      1.213
+++ lib/autotest/general.m4     18 Jun 2006 11:42:55 -0000
@@ -279,7 +279,8 @@
 # numerical order.
 at_format='m4_bpatsubst(m4_defn([AT_ordinal]), [.], [?])'
 # Description of all the test groups.
-at_help_all='AT_help_all'])])dnl
+at_help_all=
+AT_help_all])])dnl
 m4_divert_push([PARSE_ARGS])dnl
 
 at_prev=
@@ -1220,7 +1221,8 @@
 # Complete a group of related tests.
 m4_define([AT_CLEANUP],
 [m4_append([AT_help_all],
-m4_defn([AT_ordinal]);m4_defn([AT_line]);m4_defn([AT_description]);m4_ifdef([AT_keywords],
 [m4_defn([AT_keywords])]);
+[at_help_all=$at_help_all'
+]m4_defn([AT_ordinal]);m4_defn([AT_line]);m4_defn([AT_description]);m4_ifdef([AT_keywords],
 [m4_defn([AT_keywords])]);'
 )dnl
 m4_divert_pop([TEST_SCRIPT])dnl Back to TESTS
     AT_xfail




reply via email to

[Prev in Thread] Current Thread [Next in Thread]