So... I have a new explanation + a new plan: The generated makefiles use intermediate files to correctly handle multiple outputs. However, the intermediate files aren't actually generated, so apparently make (under some conditions?) builds the 'lower' targets; concludes nothing actually changed; and then doesn't rebuild the 'higher' targets that depend on the lower ones. Essentially, those 'intermediate' files end up breaking the dependency chain.
If so, the solution will be to add some additional 'touch' commands to the gyp make generator. As a plus, this would also explain the issue with messages.h, since that particular rule also relies on intermediate files for the 'make' generator. Since the whole gyp/make thing is a bit of a mess, I'll spend a bit more time on making sure this will actually fix things. Ceterum censeo: make needs to die. None of this happens with ninja, since ninja treats multiple outputs in a sane fashion. On Wed, Jun 10, 2015 at 11:29 AM, Daniel Vogelheim <[email protected]> wrote: > Uuh, my explanation was wrong. The part below about not re-running some of > the steps is right, but my explanation + fix wasn't. I'll look into this > further. > > > On Wed, Jun 10, 2015 at 10:54 AM, Daniel Vogelheim <[email protected]> > wrote: > >> This added a new natives source file, but didn't name it in the build >> files. Fix in cl/1173853006 >> <https://critique.corp.google.com/#review/1173853006>. >> >> On Wed, Jun 10, 2015 at 9:06 AM, <[email protected]> wrote: >> >>> Something is missing in the build deps. The builder that built this CL >>> made the >>> external snapshot (including the experimental libraries): >>> >>> http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20builder/builds/8672/steps/compile/logs/stdio >>> >>> @vogelheim, yangguo: There was no linking of d8, guess that is expected? >>> Still, >>> something is missing since the tests failed (e.g. >>> http://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/3799) >>> and a >>> full rebuild in the next commit solved the problem. >>> >> >> Not linking of d8 was expected, as it doesn't change. But it didn't >> re-run js2c, since it didn't "see" any changed sources, and then didn't run >> the concatenate step to produce a new blob either. >> >> >>> https://codereview.chromium.org/1170023002/ >>> >> >> > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
