The deps for all the files generated is a problem, Mark and I have talked about it a few times, but haven't come up with something complete for it yet, hopefully it will pop back up on our queues shortly so we can figure out something more complete.
TVL On Mon, Apr 27, 2009 at 6:14 PM, Evan Martin <[email protected]> wrote: > > PS: here's a hack I did in make.gyp to output a rule that manually > touches the output file to work around this. Perhaps you could do > something in your Xcode generator to work around it for now. > > # Deep inside the "rules" conversions code path: > > if name == 'resources_grit': > # HACK: This is ugly. Grit intentionally doesn't touch the > # timestamp of its output file when the file doesn't change, > # which is fine in hash-based dependency systems like scons > # and forge, but not kosher in the make world. After some > # discussion, hacking around it here seems like the least > # amount of pain. > fp.write('\...@touch --no-create $...@\n') > > On Mon, Apr 27, 2009 at 3:12 PM, Evan Martin <[email protected]> wrote: > > 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 -~----------~----~----~----~------~----~------~--~---
