On 09/19/2012 03:19 PM, Akim Demaille wrote: > > Le 16 sept. 2012 à 20:21, Stefano Lattarini a écrit : > >> Hi Akim. >> >> On 09/16/2012 03:48 PM, Akim Demaille wrote: >>> >>> Le 11 sept. 2012 à 16:49, Stefano Lattarini a écrit : >>> >>>> Due to how the handling of $(BUILT_SOURCES) was implemented in Automake-NG, >>>> a recursive make call in the recipe of any $(BUILT_SOURCES) (or of any of >>>> its prerequisites) would have caused an infinite recursion (complete with >>>> fork bomb, yuck). Work around the issue. >>> >>> Shouldn't some error message be sent to diagnose something wrong? >>> >> But my patch now *avoids* the error in the first place (see the test case), >> so we shouldn't report anything. Or am I missing something? > > Hi Stefano, > > It was unclear to me that the kind of error that would arise > would be *only* be due to Automake-NG's implementation, or > partly due to the user (possibly declaring recursive dependencies). > Well, if the user calls "make all" in the recipe for a $(BUILT_SOURCES), he will still experience a fork bomb, even after this patch -- but that is the case also for mainline Automake, so no regression here. On the other hand, before this patch, the Automake-NG implementation would have caused a fork bomb should *any* recursive make call be issued in a recipe for a $(BUILT_SOURCES), even if such call entailed no infinite recursion by itself -- that was a regression, one that hit a real-world package like GNU Smalltalk, and which my patch has fixed. Does this clarify the matter?
> If the user is somewhat responsible, then she should be told. > But of course if it's only a technical detail, let's keep it > silent, clearly. > Thanks, Stefano