|
From: | Peter Rosin |
Subject: | Re: [patch #6448] [MSVC 7/7] Add MSVC Support |
Date: | Thu, 07 Aug 2008 08:13:52 +0200 |
User-agent: | Thunderbird 2.0.0.16 (Windows/20080708) |
Peter Rosin skrev:
Ralf Wildenhues skrev:* Peter Rosin wrote on Tue, Aug 05, 2008 at 10:38:14AM CEST:29: static.at:68 static linking flags for programs m-all-static.exe.manifest isn't installedWhat does the manifest file do?The manifest is an XML file that describes how the executable should be run. In this case it contains a hint where the side-by-side (SxS) assembly containing the C runtime (msvcrt80.dll) is. The manifest can also specify if a file should be executed with elevated priviliges (or not). I'm no manifest guru, so the above is perhaps not 100% accurate. Side note, the mainfest could perhaps be used to support some version of hardcode_libdir? The crude fix is to (un)install the mainfest file, the nice fix is to embed it as a resource in the executable using the manifest tool (mt.exe).
Here's a patch to fix the manifest failures. Maybe this should be wrapped up in a postlink_cmds variable instead to match the existing prelink_cmds? Cheers, Peter
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 35ae02f..ed3df77 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -7418,6 +7418,13 @@ EOF func_show_eval "$link_command" 'exit $?' + if test -e "$output_objdir/$outputname.exe.manifest"; then + $opt_dry_run || { + mt -manifest "$output_objdir/$outputname.exe.manifest" -outputresource:"$output_objdir/$outputname.exe" + $RM "$output_objdir/$outputname.exe.manifest" + } + fi + # Now create the wrapper script. func_verbose "creating $output"
[Prev in Thread] | Current Thread | [Next in Thread] |