Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Issue 111373002: win ninja: Refactor manifest generate and embed to be 1-pass (Closed)

Created:
7 years ago by scottmg
Modified:
7 years ago
Reviewers:
Nico, yukawa
CC:
gyp-developer_googlegroups.com
Visibility:
Public.

Description

win ninja: Refactor manifest generate and embed to be 1-pass The 'normal' way to do manifests is to have link generate a manifest based on gathering dependencies from the object files, then merge that manifest with other manifests supplied as sources, convert the merged manifest to a resource, and then *relink*, including the compiled version of the manifest resource. This breaks incremental linking, and is generally overly complicated. Instead, we merge all the manifests provided (along with one that includes what would normally be in the linker-generated one, see msvs_emulation.py), and include that into the first and only link. We still tell link to generate a manifest, but we only use that to assert that our simpler process did not miss anything. R=thakis@chromium.org, yukawa@chromium.org BUG=chromium:324863 Committed: https://code.google.com/p/gyp/source/detail?r=1813

Patch Set 1 #

Patch Set 2 : . #

Total comments: 2

Patch Set 3 : add complete-manifest assert #

Patch Set 4 : . #

Patch Set 5 : test for updating manifest settings #

Patch Set 6 : top level, and empty manifest support #

Patch Set 7 : add some extra print in failure case, and rebase #

Total comments: 2

Patch Set 8 : move/use common #

Patch Set 9 : remove unused #

Unified diffs Side-by-side diffs Delta from patch set Stats (+316 lines, -83 lines) Patch
M pylib/gyp/common.py View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
M pylib/gyp/generator/ninja.py View 1 2 3 4 5 6 7 4 chunks +25 lines, -62 lines 0 comments Download
M pylib/gyp/msvs_emulation.py View 1 2 3 4 5 6 7 8 5 chunks +55 lines, -15 lines 0 comments Download
M pylib/gyp/win_tool.py View 1 2 3 4 5 6 2 chunks +77 lines, -0 lines 0 comments Download
M test/win/gyptest-link-generate-manifest.py View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
A test/win/gyptest-link-unsupported-manifest.py View 1 2 3 4 1 chunk +27 lines, -0 lines 0 comments Download
A test/win/gyptest-link-update-manifest.py View 1 2 3 4 1 chunk +103 lines, -0 lines 0 comments Download
A test/win/linker-flags/manifest-in-comment.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
A + test/win/linker-flags/unsupported-manifest.gyp View 1 2 3 4 1 chunk +4 lines, -6 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
yukawa
LGTM++ with one minor question. Feel free to go ahead if it is not a ...
7 years ago (2013-12-10 11:18:30 UTC) #1
scottmg
https://codereview.chromium.org/111373002/diff/20001/pylib/gyp/msvs_emulation.py File pylib/gyp/msvs_emulation.py (right): https://codereview.chromium.org/111373002/diff/20001/pylib/gyp/msvs_emulation.py#newcode607 pylib/gyp/msvs_emulation.py:607: with open_output(os.path.join(build_dir, generated_name), 'w') as f: On 2013/12/10 11:18:30, ...
7 years ago (2013-12-10 19:27:20 UTC) #2
scottmg
On 2013/12/10 19:27:20, scottmg wrote: > https://codereview.chromium.org/111373002/diff/20001/pylib/gyp/msvs_emulation.py > File pylib/gyp/msvs_emulation.py (right): > > https://codereview.chromium.org/111373002/diff/20001/pylib/gyp/msvs_emulation.py#newcode607 > ...
7 years ago (2013-12-10 19:34:39 UTC) #3
scottmg
On 2013/12/10 19:34:39, scottmg wrote: > On 2013/12/10 19:27:20, scottmg wrote: > > > https://codereview.chromium.org/111373002/diff/20001/pylib/gyp/msvs_emulation.py ...
7 years ago (2013-12-11 03:45:51 UTC) #4
yukawa
Great! Looked at patch set #6 and still LGTM.
7 years ago (2013-12-11 05:28:56 UTC) #5
Nico
https://codereview.chromium.org/111373002/diff/160001/pylib/gyp/msvs_emulation.py File pylib/gyp/msvs_emulation.py (right): https://codereview.chromium.org/111373002/diff/160001/pylib/gyp/msvs_emulation.py#newcode77 pylib/gyp/msvs_emulation.py:77: f.write(contents) (There's gyp.common.WriteOnDiff fwiw. It's a bit overengineered compared ...
7 years ago (2013-12-12 17:45:54 UTC) #6
scottmg
https://codereview.chromium.org/111373002/diff/160001/pylib/gyp/msvs_emulation.py File pylib/gyp/msvs_emulation.py (right): https://codereview.chromium.org/111373002/diff/160001/pylib/gyp/msvs_emulation.py#newcode77 pylib/gyp/msvs_emulation.py:77: f.write(contents) On 2013/12/12 17:45:54, Nico wrote: > (There's gyp.common.WriteOnDiff ...
7 years ago (2013-12-12 18:14:05 UTC) #7
scottmg
On 2013/12/12 18:14:05, scottmg wrote: > https://codereview.chromium.org/111373002/diff/160001/pylib/gyp/msvs_emulation.py > File pylib/gyp/msvs_emulation.py (right): > > https://codereview.chromium.org/111373002/diff/160001/pylib/gyp/msvs_emulation.py#newcode77 > ...
7 years ago (2013-12-12 18:17:01 UTC) #8
Nico
Diff from patch set 7 to 9 lgtm :-P
7 years ago (2013-12-12 18:36:17 UTC) #9
scottmg
7 years ago (2013-12-12 21:09:45 UTC) #10
Message was sent while issue was closed.
Committed patchset #9 manually as r1813 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698