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--