bug-autoconf
[Top][All Lists]
Advanced

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

Warning! autoconf can generate very long lines in Makefiles


From: Jim Meyering
Subject: Warning! autoconf can generate very long lines in Makefiles
Date: Thu, 29 Sep 2005 14:22:00 +0200

coreutils' Makefiles are currently created using
automake-1.9.6 and autoconf-2.59c

There are some very long lines in the Makefiles generated
for upcoming coreutils-5.90.  Here's an example:

  LIBOBJS =  ${LIBOBJDIR}backupfile$U.o ${LIBOBJDIR}basename$U.o ...

The LTLIBOBJS definition had the same problem,
and I see that am__DEPENDENCIES_1 is also very long.

  $ grep -E '^.{2000}' */Makefile|sed 's/=.*/=/'
  doc/Makefile:LIBOBJS =
  doc/Makefile:LTLIBOBJS =
  lib/Makefile:am__DEPENDENCIES_1 =
  lib/Makefile:LIBOBJS =
  lib/Makefile:LTLIBOBJS =
  man/Makefile:LIBOBJS =
  man/Makefile:LTLIBOBJS =
  src/Makefile:LIBOBJS =
  src/Makefile:LTLIBOBJS =
  tests/Makefile:LIBOBJS =
  tests/Makefile:LTLIBOBJS =

Not only will this cause trouble with non-GNU Make programs,
but the scripts in config.status that perform the s/@LIBOBJS@/.../
substitution may be too long for some non-GNU versions of sed.

Note that this is *not* a problem with automake.
The Makefile.in files are all fine.  In Makefile.in,
the lines look like these:

  LIBOBJS = @LIBOBJS@
  LTLIBOBJS = @LTLIBOBJS@
  am__DEPENDENCIES_1 = @LIBOBJS@

Of course, we can suggest that people use GNU sed and GNU make,
and that will work -- assuming they never end up with so many
lib/*.c files that this problem afflicts one of them, too.
That would be a problem.




reply via email to

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