Descriptionwin 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 #
Messages
Total messages: 10 (0 generated)
|