On Wed, Jul 1, 2009 at 1:52 PM, Ben Laurie<[email protected]> wrote: > On Wed, Jul 1, 2009 at 1:21 PM, Dean McNamee<[email protected]> wrote: >> Patches are welcome. It looks like maybe in chrome.gyp, the debugger >> target should also debug on chrome_strings ? > > Oh, hmmm. I didn't consider that. My personal preference is that > dependencies should be calculated automatically, so that's what I'm > making a patch to do..
Which is not possible unless we replace gcc as the dependency generator, since some of the files depended on do not exist until some building has been done. Obviously if gyp directly generated dependencies from the source it could deal with that. Anyone know of a handy python module for preprocessing C? . > >> >> On Wed, Jul 1, 2009 at 12:50 PM, Ben Laurie<[email protected]> wrote: >>> >>> On Wed, Jul 1, 2009 at 11:11 AM, Ben Laurie<[email protected]> wrote: >>>> On Wed, Jul 1, 2009 at 8:22 AM, Ben Goodger (Google)<[email protected]> >>>> wrote: >>>>> Sounds like a dependency issue. Can you explicitly build the >>>>> "chrome_strings" target and then try building the target you were >>>>> trying to build again? >>>> >>>> $ make chrome_strings >>>> make: *** No rule to make target `chrome_strings'. Stop. >>>> >>>> BTW, if I try to build the missing file... >>>> >>>> $ make out/Debug/obj/gen/chrome/grit/generated_resources.h >>>> make: *** No rule to make target >>>> `out/Debug/obj/gen/chrome/grit/generated_resources.h'. Stop. >>>> >>>> However: >>>> >>>> $ make out/Debug/obj/gen/chrome/grit/renderer_resources.h >>>> make: Nothing to be done for >>>> `out/Debug/obj/gen/chrome/grit/renderer_resources.h'. >>> >>> OK, so this seems like a dependencies issue - and given the logic of >>> the makefiles, AUIU (i.e. hazily), I don't see how this is supposed to >>> work. >>> >>> If I add the line: >>> >>> $(obj)/chrome/browser/debugger/devtools_window.o: >>> $(obj)/gen/chrome/grit/generated_resources.h >>> >>> to chrome/debugger.mk >>> >>> then it all builds fine. According to my reading of the makefiles, >>> there's nothing to ensure this happens on a clean build because: >>> >>> a) There are not yet any dependency files, and >>> >>> b) Dependency files are not read for targets that will be built anyway >>> (according to the comments) >>> >>> What I now don't understand is why it works for anyone? >>> >>> Also, it seems to me that b) is a bad idea because files like >>> generated_resources.h, even if they do get rebuilt, might get rebuilt >>> at the wrong moment (i.e. too late for their dependencies). >>> >>> Or perhaps I totally don't understand what's going on? >>> >>> Oh, actually, I think I just nailed it. >>> >>> If I do: >>> >>> $ make chrome >>> >>> it fails. >>> >>> If I do: >>> >>> $ make -j30 chrome >>> >>> it works. >>> >>> So, I think my conclusion about dependencies is correct. With -j30 it >>> just happens that the dependency gets built in time, without, it >>> doesn't. >>> >>> >>> >>> >> > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
