Re: setting check attribute for header files

Pavol Juhas <[email protected]> Mon, 6 Aug 2007 18:25:41 -0400
Newsgroups gmane.comp.tools.aap.user
Message-ID <[email protected]>
--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Aug 06, 2007 at 10:09:30PM +0200, Bram Moolenaar wrote:
> Pavol Juhas wrote:
...
> > ----------------------------------------------------------------
> > :attribute {check = c_md5} hello.h hello.c
> > :program  hello : hello.c
> > ----------------------------------------------------------------
> > 
> > However, this builds the target from scratch every time, even 
> > if source files are not changed at all. 
> > Is this a bug or am I missing something?
> 
> Please have a good look at the log file.  It should mention the reason
> why Aap is building "hello".

The log file for up-to-date target is attached.  The reason
for rebuild is on line 19 - 'no old signature for "hello.h"' -
as a result aap builds hello.c.aap and hello.o.  The sign
file in BDIR actually contains checksum for hello.h. 

When I set DEFAULTCHECK=c_md5, aap behaved as expected and it
recognized hello.c.aap as up-to-date.  I am attaching that logfile as
well.

> Perhaps you can also try splitting it up in separate build instructions.
> If that works then it's a bug in :program.

I don't know how to split it up more.  I tried to show a minimum example
of the problem and there is just one source file and one header.  In
fact, the same problem occurs if I move the header code into the c-file.

Hope this helps,

Pavol

--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=log_attribute_check_c_md5

extra:	Reading recipe "main.aap"
depend:	Adding dependency:
	build-Linux2_6_20_1_2948_fc6/hello.o : hello.c{depdir=build-Linux2_6_20_1_2948_fc6}
	  :do compile {target = build-Linux2_6_20_1_2948_fc6/hello.o} hello.c
depend:	Adding dependency:
	hello{comment=build program "hello"}{filetypehint=program} : build-Linux2_6_20_1_2948_fc6/hello.o
	  :do build {target = $+target} $source
extra:	Finished reading recipe "main.aap"
depend:	Adding default dependency for "clean"
depend:	Adding default dependency for "cleanmore"
depend:	Building target(s) specified with build rules
depend:	1 - updating target "hello"
depend:	2 - Using dependency "hello{comment=build program "hello"}{filetypehint=program} : build-Linux2_6_20_1_2948_fc6/hello.o"
depend:	3 - updating target "build-Linux2_6_20_1_2948_fc6/hello.o"
depend:	4 - Using dependency "build-Linux2_6_20_1_2948_fc6/hello.o{filetype=object} : hello.c{filetype=c}{depdir=build-Linux2_6_20_1_2948_fc6}"
depend:	5 - updating target "hello.c"
depend:	5 - Target has no build commands and exists: "hello.c"
depend:	5 - Using depend c for source "hello.c"
depend:	5 - Updating "build-Linux2_6_20_1_2948_fc6/hello.c.aap" from "hello.c{buildcheck=$CC $CXX $CFLAGS $CXXFLAGS $CPPFLAGS                                                       $?DEFINE $?INCLUDE}{recursive=1}{depdir=build-Linux2_6_20_1_2948_fc6}{filetype=c}{check=c_md5}": no old signature for "hello.h"
note:	Warning; Filetype not recognized for "dummy", using "default"
extra:	Using default for gcccheck aap from default
extra:	Do gcccheck default -> default
system:	cc -E /tmp/tmpGh9_u5.c > /tmp/tmpyKckfV
system:	 cc       -MM hello.c > build-Linux2_6_20_1_2948_fc6/hello.c.aap
depend:	6 - updating target "hello.h"
depend:	6 - Target has no build commands and exists: "hello.h"
depend:	3 - Updating "build-Linux2_6_20_1_2948_fc6/hello.o" from "hello.c{filetype=c}{depdir=build-Linux2_6_20_1_2948_fc6}": no old signature for "hello.h"
extra:	Do compile c -> object
extra:	Shell commands for updating "build-Linux2_6_20_1_2948_fc6/hello.o":
system:	cc    -O2  -c -o build-Linux2_6_20_1_2948_fc6/hello.o hello.c
depend:	1 - Target "hello" is up-to-date

--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=log_defaultcheck_c_md5

extra:	Reading recipe "main.aap"
depend:	Adding dependency:
	build-Linux2_6_20_1_2948_fc6/hello.o : hello.c{depdir=build-Linux2_6_20_1_2948_fc6}
	  :do compile {target = build-Linux2_6_20_1_2948_fc6/hello.o} hello.c
depend:	Adding dependency:
	hello{comment=build program "hello"}{filetypehint=program} : build-Linux2_6_20_1_2948_fc6/hello.o
	  :do build {target = $+target} $source
extra:	Finished reading recipe "main.aap"
depend:	Adding default dependency for "clean"
depend:	Adding default dependency for "cleanmore"
depend:	Building target(s) specified with build rules
depend:	1 - updating target "hello"
depend:	2 - Using dependency "hello{comment=build program "hello"}{filetypehint=program} : build-Linux2_6_20_1_2948_fc6/hello.o"
depend:	3 - updating target "build-Linux2_6_20_1_2948_fc6/hello.o"
depend:	4 - Using dependency "build-Linux2_6_20_1_2948_fc6/hello.o{filetype=object} : hello.c{filetype=c}{depdir=build-Linux2_6_20_1_2948_fc6}"
depend:	5 - updating target "hello.c"
depend:	5 - Target has no build commands and exists: "hello.c"
depend:	5 - Using depend c for source "hello.c"
depend:	5 - Target "build-Linux2_6_20_1_2948_fc6/hello.c.aap" is up-to-date
depend:	6 - updating target "hello.h"
depend:	6 - Target has no build commands and exists: "hello.h"
depend:	3 - Target "build-Linux2_6_20_1_2948_fc6/hello.o" is up-to-date
depend:	1 - Target "hello" is up-to-date

--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
A-A-P-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/a-a-p-user

--2fHTh5uZTiUOsy+g--