[Top][All Lists]

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

Re: Using result of AC_PROG_SED as sed program in config.status

From: Paul Eggert
Subject: Re: Using result of AC_PROG_SED as sed program in config.status
Date: Thu, 03 Feb 2005 18:46:20 -0800
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

I'm following up to this proposed patch to Autoconf:

which Albert Chin just pinged us about.  I'm a little reluctant to put
this change in, as it will cause every "configure" command to look for
a nice "sed", even programs that don't need one.  It might be better
to do this only if the Autoconf user asks for it; or perhaps there's
another way out (please see below).

Albert Chin writes:

> Because some's can contain long lines (e.g. kdevelop from KDE),

This appears to me to be a portability bug in Automake and/or
kdevelop, not in Autoconf per se.  POSIX says that Makefiles must be
text files, that text files cannot contain lines longer than LINE_MAX
bytes (counting the trailing newline), and that LINE_MAX might be as
small as 2048.

I just checked kdevelop-050203, which I got from
<>, and found that four of its
files exceed the POSIX limit.  Here's how I found them:

awk '{if (2048 <= length($0)) {print FILENAME ":" FNR}}' \
  $(find * -name -print)

and here is the list of offending lines:


The first, second, and fourth lines were generated by Automake 1.7.6,
and I presume they are an Automake portability bug.  You might try
rebuilding these files with Automake 1.9.4 and see if the bug still
persists.  (I can't easily rebuild them since I don't have all the KDE
developer tools handy.)

The third line comes from the corresponding, so it is a
portability bug in kdevelop.

I'll CC: this message to address@hidden, so that they know
about the problem.

Incidentally, there are some non-Makefiles in kdevelop that have the
same problem.  Try running this command, and you'll see them:

find * -type f ! -name '*.png' ! -name '*.xcf' -print |
  xargs awk '{if (2048 <= length($0)){print FILENAME ":" FNR }}' /dev/null

reply via email to

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