The build system has a generation dependency path like this:

1) final output depends on
  2) grit header and cc, which depends on
    3) grit input .grd file, which depends on
      4) theme resources

This means whenever you tweak theme resources, you cause a recompile,
even when the .cc and .h in (2) don't change.  So Glen requested Tony
change grit to not touch the outputs if their contents don't change,
and that's what's causing the problem.

This works fine for scons (because it uses file content hashes to
compute whether dependencies need rebuilding), but breaks systems
(including make and Xcode) that rely on file timestamps.  Why?
Because you end up with the timestamp of 3 being newer than the
timestamp of 2, so the dependency checker thinks you always need to
re-run grit to convert 3=>2.

The symptom you get is that grit runs every time you build.

I think the correct fix is to make grit just modify the output files,
like every other program does.  Sorry, Glen.

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to