bug-automake
[Top][All Lists]
Advanced

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

Re: Exponential behavior


From: Alexandre Duret-Lutz
Subject: Re: Exponential behavior
Date: Fri, 20 Jun 2003 21:12:18 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

>>> "Bonzini" == Bonzini  <address@hidden> writes:

 Bonzini> The attached configure.in + Makefile.am are distilled
 Bonzini> from a test case that triggers exponential behavior
 Bonzini> in Automake 1.7.x (tested with 1.7 and 1.7.5).

Thanks.  I'm installing the following patch on HEAD.

[...]

 Bonzini> so I suspect that it is something related to the
 Bonzini> dist target.

It was due the way conditionals were handled in 1.7.x and prior.
Amongst the great news of Automake 1.8 is an overhauling of the
conditional support; this test works fine with CVS Automake.

[...]

 Bonzini> In addition, something goes wrong with automake so
 Bonzini> that you actually have to run

 Bonzini> autoreconf || automake Makefile

 Bonzini> to build the Makefile.

When does this happen?

[...]

2003-06-20  Alexandre Duret-Lutz  <address@hidden>

        * tests/cond29.test: Also check for _SOURCES.
        Report from Paolo Bonzini.

Index: NEWS
===================================================================
RCS file: /cvs/automake/automake/NEWS,v
retrieving revision 1.217
diff -u -r1.217 NEWS
--- NEWS        15 Jun 2003 22:27:22 -0000      1.217
+++ NEWS        20 Jun 2003 19:11:50 -0000
@@ -20,7 +20,7 @@
     endif
     ...
 
-  Likewise for _LDADD and _LIBADD variables.
+  Likewise for _SOURCES, _LDADD, and _LIBADD variables.
 
 * Automake now supports bin_PROGRAMS (or any *_PROGRAMS variable)
   being defined in several conditions.  As in
@@ -32,7 +32,7 @@
       bin_PROGRAMS = a2
     endif
 
-  Likewise for _LDADD and _LIBADD variables.
+  Likewise for _SOURCES, _LDADD, and _LIBADD variables.
 
 * install-sh now understands --version and --help.
 
Index: tests/cond29.test
===================================================================
RCS file: /cvs/automake/automake/tests/cond29.test,v
retrieving revision 1.2
diff -u -r1.2 cond29.test
--- tests/cond29.test   1 Feb 2003 23:17:22 -0000       1.2
+++ tests/cond29.test   20 Jun 2003 19:11:50 -0000
@@ -21,11 +21,12 @@
 # Check that many conditions do not lead to combinatorial explosion.
 # (This is related to PR/352.)
 #
-# On this test, Automake 1.7.x would compute all 2**22 = 4194304 possible
-# combinations of conditionals (it would do this three times, to define
-# a01_DEPENDENCIES, a02_DEPENDENCIES, and to rewrite bin_PROGRAM), eating
-# all memory, swap, or cpu time it can found.  Although this test won't 
-# print `FAIL' if it fails, it will take long enough so it can't go unnoticed.
+# On this test, Automake 1.7.x would compute all 2**22 = 4194304
+# possible combinations of conditionals (it would do this five times,
+# to define a01_DEPENDENCIES, a02_DEPENDENCIES, a03_OBJECTS,
+# a04_OBJECTS, and to rewrite bin_PROGRAM), eating all memory, swap,
+# or cpu time it can found.  Although this test won't print `FAIL' if
+# it fails, it will take long enough so it can't go unnoticed.
 
 . ./defs
 
@@ -36,6 +37,7 @@
 cat >Makefile.am <<EOF
 bin_PROGRAMS = a
 a02_LDADD =
+a03_SOURCES =
 EOF
 
 for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22; do
@@ -44,6 +46,8 @@
 bin_PROGRAMS += a$i
 a01_LDADD = foo${i}.o
 a02_LDADD += bar${i}.o
+a03_SOURCES += baz${i}.c
+a04_SOURCES = quux${i}.c
 endif C$i
 EOF
 echo "AM_CONDITIONAL([C$i], [:])" >>configure.in
-- 
Alexandre Duret-Lutz





reply via email to

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