[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Failure in test silent5.test with heirloom make
From: |
Ralf Wildenhues |
Subject: |
Re: Failure in test silent5.test with heirloom make |
Date: |
Sun, 25 Apr 2010 13:26:40 +0200 |
User-agent: |
Mutt/1.5.20 (2009-10-28) |
* Stefano Lattarini wrote on Thu, Apr 22, 2010 at 02:25:08PM CEST:
> At Tuesday 20 April 2010, Ralf Wildenhues wrote:
> > Yeah, heirlooom make has a .l.o rule that triggers before our .l.c
> > and .c.o rule chains.
> >
> > I guess this could be worked around by adding explicit rules (at
> > least that's what SUSv3 recommends),
> > maybe explicit dependencies without rules suffice.
> Yes, they does. I hacked a bit the silent5.test to demonstrate this
> (the diff is in the attached "patch").
That is indeed a good indication.
> However, I don't know enough
> Automake internals to easily write a patch integrating this knowledge
> into Automake core.
First step would be to write a new testsuite test to clearly expose this
issue; for example by adding a flag to yacc or lex invocation that won't
be added by the internal rules. Silent mode is not relevant for this.
Then, look at automake.in:lang_yacc_target_hook. It already computes
the name of the .c file. The missing part is then to find out whether
the .$(OBJEXT) or .lo file is renamed (and thus will already be handled
by an explicit rule anyway), or whether it will be handled by one of the
suffix rules .c.$(OBJEXT) or .c.lo. Only in the latter two cases we
should add an explicit dependency.
If you have trouble with the second part, the first would already help.
> > I'm not sure we should spend time on this old make, though.
> If I venture to write a patch to solve this problem, will you
> consider it?
Yes, if it's not dangerous or regresses other situations.
Cheers,
Ralf