automake
[Top][All Lists]
Advanced

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

Re: Infinite recursion with `check_SCRIPTS = check'


From: Benoit SIGOURE
Subject: Re: Infinite recursion with `check_SCRIPTS = check'
Date: Sun, 21 Oct 2007 16:00:42 +0200

On Oct 21, 2007, at 11:46 AM, Ralf Wildenhues wrote:

Hello Benoit,

* Benoit SIGOURE wrote on Sat, Oct 20, 2007 at 01:58:23PM CEST:
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.

Well, the user should be able to override the `check' target if he so
wants. If it's possible to reliably warn without giving false failures
without a lot of work, then it would help.  But often such checks turn
out to be rather expensive in both developer time and automake run time.

When you put `check' in `check_SCRIPTS' you're not directly willing to override the `check' target. `check' can happen to be generated, or it may not. I think it would be relevant to warn users that putting `check' in `check_SCRIPTS' can lead to infinite make recursion, and mention that in the docs.

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.

Sorry, but I don't understand at all what you're trying to say here.

Hmm sorry, it's just that the documentation of that function doesn't mention that the first argument can be an option such as '-candist' and it disturbed me when wandering through the code, somehow.

--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory


Attachment: PGP.sig
Description: This is a digitally signed message part


reply via email to

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