Re: aap 1.090 - issues with DEFAULTCHECK=newer
Bram Moolenaar <[email protected]> Fri, 07 Dec 2007 22:48:53 +0100
| Newsgroups | gmane.comp.tools.aap.devel |
|---|---|
| Message-ID | <[email protected]> |
Pavol Juhas wrote:
> I have recently tried to use DEFAULTCHECK=newer in my aap recipe
> and found a couple of issues. First, aap 1.090 would crash with this
> setting, because python getmtime function returns float, and
> a string representation of float cannot be converted to long [e.g.,
> long("0.0") raises an exception].
>
> It was very simple to fix this, see the attached patch,
Thanks. I guess an older verion of Python allowed this.
> however there
> is still another issue. If one of the source files changes, the
> corresponding object gets recompiled, but not relinked to update
> the executable. For example, for a simple, 2-file recipe
>
> DEFAULTCHECK = newer
> :program triple : triple.cpp timesthree.cpp
>
> a clean aap build runs correctly
>
> $ aap
> Aap: g++ -MM triple.cpp > build-Linux2_6_20_16_generic/triple.cpp.aap
> Aap: g++ -O2 -c -o build-Linux2_6_20_16_generic/triple.o triple.cpp
> Aap: g++ -MM timesthree.cpp > build-Linux2_6_20_16_generic/timesthree.cpp.aap
> Aap: g++ -O2 -c -o build-Linux2_6_20_16_generic/timesthree.o timesthree.cpp
> Aap: g++ -O2 -o triple build-Linux2_6_20_16_generic/triple.o build-Linux2_6_20_16_generic/timesthree.o
>
> but after "touch timesthree.cpp", aap does not relink:
>
> $ aap
> Aap: g++ -MM timesthree.cpp > build-Linux2_6_20_16_generic/timesthree.cpp.aap
> Aap: g++ -O2 -c -o build-Linux2_6_20_16_generic/timesthree.o timesthree.cpp
>
> The same also happens when I really change the timesthree.cpp file;
> I tried it to make sure that aap does not compare signatures of
> linked objects.
>
> I hope this is helpful and the issues can be fixed soon.
> A similar method, DEFAULTCHECK=time seems to work fine,
> and I will be using it for now.
I can reproduce it. When doing "touch" for the first source file it's
OK, but it doesn't work for the second one. I don't see an obvious
reason for this. I'll put it on the todo list (but don't expect it to
be solved soon!).
--
Some of the well know MS-Windows errors:
EMEMORY Memory error caused by..., eh...
ELICENSE Your license has expired, give us more money!
EMOUSE Mouse moved, reinstall Windows
EILLEGAL Illegal error, you are not allowed to see this
EVIRUS Undetectable virus found
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php