Opened 17 years ago

Closed 16 years ago

#212 closed defect (fixed)

MSVC: "<embed-manifest>off" breaks synchorization between target and actual files.

Reported by: alexeypa@… Owned by: somebody
Priority: major Milestone: M13
Component: component1 Version:
Keywords: Cc:

Description

First, the MANIFEST target added by "msvc-linking-generator::generated-targets" rule when "<embed-manifest>off" is specified uses wrong manifest file name: "foobar.manifest instead" of "foobar.exe.manifest". This causes continuous rebuilding of .exe when some other target depends on .exe target. This can be fixed by patching the name before creating MANIFEST target.

Second, the manifest file itself is not always generated by the linker. It will not be generated if the linker didn't found any WinSxS dependencies. But when "<embed-manifest>off" BBv2 assumes that the manifest will be always generated. This can cause the same "always rebuilding .exe" problem as above. It is also a bit tricky (but possible) to work around this issue by changing target requirements because, for example, "<runtime-link>shared" also adds WinSxS dependency on RTL. This can be fixed by /MANIFEST linker option.

Attachments (2)

msvc.manifest.diff (725 bytes ) - added by alexeypa@… 17 years ago.
A patch that is fixing both problems.
embed-manifest.patch (1.9 KB ) - added by alexeypa@… 17 years ago.
The fix for the 2nd issue.

Download all attachments as: .zip

Change History (5)

by alexeypa@…, 17 years ago

Attachment: msvc.manifest.diff added

A patch that is fixing both problems.

comment:1 by alexeypa@…, 17 years ago

by alexeypa@…, 17 years ago

Attachment: embed-manifest.patch added

The fix for the 2nd issue.

comment:2 by alexeypa@…, 17 years ago

Attached an updated patch for the 2nd issue: embed-manifest.patch

comment:3 by ghost, 16 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.