libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch #6448] [MSVC 7/7] Add MSVC Support


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 installed

What 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"
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]