I have been using a version of tup compiled from source in November 2014. 
This week, I saw the new namespace feature and figured it would be great 
for better compatibility with gdb and gcov.

However, now my code will not build. What used to work now does not. I have 
boiled it down to this:

bash$ *ls -A*
Tupfile  foo.cc  main.cc
bash$ *cat main.cc*
main(){return 0;}
bash$ *cat foo.cc*
int foo() {return 10;}
bash$ *cat Tupfile*
!compile = |> g++ -c %f --coverage -o %o |> %B.o | %B.gcno
: foreach *.cc |> !compile |>
bash$ *tup init*
.tup repository initialized.
bash$ *tup*
[ tup ] [0.000s] Scanning filesystem...
[ tup ] [0.001s] Reading in new environment variables...
[ tup ] [0.001s] Parsing Tupfiles...
 1) [0.003s] .
 [ ] 100%
[ tup ] [0.013s] No files to delete.                                       
                                 
[ tup ] [0.013s] Generating .gitignore files...
[ tup ] [0.013s] Executing Commands...
* 1) g++ -c main.cc --coverage -o main.o                                   
                                 
 *** tup errors ***
tup error: File '/home/ajensen/tup/main.gcno' was written to, but is not in 
.tup/db. You probably should specify it as an output
 *** Command ID=13 ran successfully, but tup failed to save the 
dependencies.
 2) [0.032s] g++ -c foo.cc --coverage -o foo.o                             
                                 
 [  ] 100%
 *** tup: 1 job failed.


Note that it compiles the first file (foo.cc) of the foreach fine, but all 
subsequent files have errors. It's like the %B.gcno extra file is only 
getting applied to the first file matched by the foreach.

If I change the Tupfile to have the "%B.o | %B.gcno" on the foreach line 
instead of the !compile macro, it works. Even if I just move the extra file 
portion ("| %B.gcno") to the foreach line, leaving the "%B.o" in the macro, 
it works.

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to