automake
[Top][All Lists]
Advanced

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

Re: PATCH: Fix dependency tracking (revised)


From: Tom Tromey
Subject: Re: PATCH: Fix dependency tracking (revised)
Date: 13 May 2001 17:56:37 -0600

>>>>> "Robert" == Robert Boehne <address@hidden> writes:

Robert> The latest CVS Automake works fine for
Robert> --enable-dependency-tracking, but when
Robert> --disable-dependency-tracking is specified it's still choking.

Robert> .cxx.o:
Robert>         source='$<' object='$@' libtool=no 
Robert>         depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' 
Robert>         $(CXXDEPMODE) $(depcomp) 
Robert>         $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<

Robert> So the file depend2.am still needs to have @AMDEP_TRUE@ before
Robert> the tab on the first three lines of the rule.

I think depend2.am is ok.  In fact there is a comment at the top
explaining why it is, and I think that comment is correct.  That is,
the code is supposed to work the way the comment says:

## Note it is on purpose we wrote `if %AMDEP%', since:
##
## - if deps are turned off, %AMDEP% is mapped onto FALSE, and therefore
##   the `if FALSE' chunk is removed (automake-time conditionals).
##
## - if deps are on, %AMDEP% is mapped onto AMDEP,  and therefore
##   the `if FALSE' chunk is prefix with @AMDEP_TRUE@ just like for any
##   other configure-time conditional.


This means that the bug must be somewhere else.


I wrote a test, depend2.test, which tests for this problem.  I checked
it in.  It works for me.

My theory is that when you ran your test you were still using a
version of automake where @AMDEP_TRUE@ was substituted to `' at
configure time.  That would explain the problem you are seeing.

However, if you can modify depend2.test so that it shows this bug,
send me the patch for it and I will investigate the problem again.

Tom



reply via email to

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