[Top][All Lists]
[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