[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Infinite recursion with `check_SCRIPTS = check'
From: |
Benoit SIGOURE |
Subject: |
Infinite recursion with `check_SCRIPTS = check' |
Date: |
Sat, 20 Oct 2007 13:58:23 +0200 |
Hello list,
Due to a sudden lack of imagination, I wrote a testsuite named
`check' and used it as a `check_SCRIPTS' which led to an infinite
recursion of make (because the .PHONY check depends on check-am which
does a `$(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)' so the make has no
chance of catching the dependency cycle).
Maybe automake should warn (or bail out) in such a case. I can write
a patch for that, if you think that could be something relevant.
I had a quick look at the source to try to see where that check could
be inserted, and I ended up in &am_install_var whose documentation
surprised me because it did not correspond to the call site at
&handle_scripts.
Maybe something along these lines would be better:
diff --git a/automake.in b/automake.in
index 3c47cc1..263674c 100755
--- a/automake.in
+++ b/automake.in
@@ -6826,8 +6826,10 @@ sub am_primary_prefixes ($$@)
# Handle `where_HOW' variable magic. Does all lookups, generates
# install code, and possibly generates code to define the primary
-# variable. The first argument is the name of the .am file to munge,
-# the second argument is the primary variable (e.g. HEADERS), and all
+# variable. The first argument can be one of: '-noextra', '-candist',
+# or '-defaultdist'. FIXME: Document these options.
+# The following argument is the name of the .am file to munge,
+# the following argument is the primary variable (e.g. HEADERS), and
all
# subsequent arguments are possible installation locations.
#
# Returns list of [$location, $value] pairs, where
If I have some time next week, I'll try to port the parallel
testsuite thing that Akim wrote because automake takes about an hour
to distcheck on my Core2Duo 2Ghz, and I guess it would be much better
with make -j2 distcheck.
Cheers,
--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory
PGP.sig
Description: This is a digitally signed message part
- Infinite recursion with `check_SCRIPTS = check',
Benoit SIGOURE <=