[Scons-users] Bug MD5-timestamp and --debug=explain
orenaud at coventor.com
orenaud at coventor.com
Wed Jun 3 05:46:01 EDT 2020
Hi,
I observe a strange behavior of --debug=explain, when the MD5-timestamp decider is used. When I change a single file, --debug=explain marks all the "sibling" dependencies as "changed". It does not affect the build itself though, as expected only the necessary files are recompiled.
Consider this SConstruct:
Decider('MD5-timestamp')
Program('hello', 'hello.c')
And the hello.c:
int main(int argc, char** argv) {
return 0;
}
If I run scons, modify hello.c, and run scons -Q --debug=explain, I get:
scons: rebuilding `hello.obj' because:
`hello.c' changed
`C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\cl.EXE' changed
cl /Fohello.obj /c hello.c /nologo
hello.c
scons: rebuilding `hello.exe' because:
`hello.obj' changed
`C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\link.EXE' changed
link /nologo /OUT:hello.exe hello.obj
Here, cl.exe is marked as changed. But if there was a .h that the .c included, it would be marked as changed too. Only MD5-timestamp causes this problem, the other deciders work correctly.
This is with SCons 3.1.2. Tested with python 2.7 and 3.6.
Olivier Renaud
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20200603/5d56b623/attachment.html>
More information about the Scons-users
mailing list