The branch master has been updated
       via  755542cbf0411fa509325cb0cb216bc0bf4a3f2a (commit)
      from  d701504dfee35b8ddc6f8ab7d81a569e97c4c6cd (commit)


- Log -----------------------------------------------------------------
commit 755542cbf0411fa509325cb0cb216bc0bf4a3f2a
Author: Richard Levitte <[email protected]>
Date:   Thu Jul 14 09:23:36 2016 +0200

    Windows: take care of manifest files
    
    The easiest way to take care of manifest files is to integrate them
    into the associated binary (.exe or .dll).  MT (the Manifest Tool) is
    the utility to use for this.
    
    Reviewed-by: Rich Salz <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 Configurations/00-base-templates.conf |  4 ++++
 Configurations/windows-makefile.tmpl  | 14 ++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/Configurations/00-base-templates.conf 
b/Configurations/00-base-templates.conf
index 515cf00..9cd7aab 100644
--- a/Configurations/00-base-templates.conf
+++ b/Configurations/00-base-templates.conf
@@ -91,6 +91,10 @@
         ar              => "lib",
         arflags         => "/nologo",
         aroutflag       => "/out:",
+        mt              => "mt",
+        mtflags         => "-nologo",
+        mtinflag        => "-manifest ",
+        mtoutflag       => "-outputresource:",
 
         build_file      => "makefile",
         build_scheme    => [ "unified", "windows" ],
diff --git a/Configurations/windows-makefile.tmpl 
b/Configurations/windows-makefile.tmpl
index c9a7a26..bb2c6bd 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -157,6 +157,11 @@ AR={- $target{ar} -}
 ARFLAGS= {- $target{arflags} -}
 AROUTFLAG={- $target{aroutflag} || "/out:" -}
 
+MT={- $target{mt} -}
+MTFLAGS= {- $target{mtflags} -}
+MTINFLAG={- $target{mtinflag} || "-manifest " -}
+MTOUTFLAG={- $target{mtoutflag} || "-outputresource:" -}
+
 AS={- $target{as} -}
 ASFLAGS={- $target{asflags} -}
 ASOUTFLAG={- $target{asoutflag} -}
@@ -460,10 +465,13 @@ $target: $deps "$ordinalsfile" "$mkdef_pl"
        DEL $shlib.def.tmp
        "\$(PERL)" "$mkrc_pl" $shlib$shlibext > $shlib.rc
        \$(RC) \$(RCOUTFLAG)$shlib.res $shlib.rc
+       IF EXIST $shlib$shlibext.manifest DEL /F /Q $shlib$shlibext.manifest
        \$(LD) \$(LDFLAGS) \$(LIB_LDFLAGS) \\
                /implib:\$@ \$(LDOUTFLAG)$shlib$shlibext /def:$shlib.def @<< || 
(DEL /Q \$(\@B).* $shlib.* && EXIT 1)
 $objs $shlib.res$linklibs \$(EX_LIBS)
 <<
+       IF EXIST $shlib$shlibext.manifest \\
+          \$(MT) \$(MTFLAGS) \$(MTINFLAG) $shlib$shlibext.manifest 
\$(MTOUTFLAG)$shlib$shlibext
        IF EXIST apps\\$shlib$shlibext DEL /Q /F apps\\$shlib$shlibext
        IF EXIST test\\$shlib$shlibext DEL /Q /F test\\$shlib$shlibext
        COPY $shlib$shlibext apps
@@ -482,6 +490,7 @@ EOF
                     compute_lib_depends(@{$args{deps}}));
      return <<"EOF";
 $dso$dsoext: $deps
+       IF EXIST $dso$dsoext.manifest DEL /F /Q $dso$dsoext.manifest
        \$(LD) \$(LDFLAGS) \$(DSO_LDFLAGS) \$(LDOUTFLAG)$dso$dsoext /def:<< @<<
 LIBRARY         $dso_n
 EXPORTS
@@ -490,6 +499,8 @@ EXPORTS
 <<
 $objs$linklibs \$(EX_LIBS)
 <<
+       IF EXIST $dso$dsoext.manifest \\
+          \$(MT) \$(MTFLAGS) \$(MTINFLAG) $dso$dsoext.manifest 
\$(MTOUTFLAG)$dso$dsoext
 EOF
  }
  sub obj2lib {
@@ -520,9 +531,12 @@ EOF
                     compute_lib_depends(@{$args{deps}}));
      return <<"EOF";
 $bin$exeext: $deps
+       IF EXIST $bin$exeext.manifest DEL /F /Q $bin$exeext.manifest
        \$(LD) \$(LDFLAGS) \$(BIN_LDFLAGS) \$(LDOUTFLAG)$bin$exeext @<<
 $objs setargv.obj$linklibs \$(EX_LIBS)
 <<
+       IF EXIST $bin$exeext.manifest \\
+          \$(MT) \$(MTFLAGS) \$(MTINFLAG) $bin$exeext.manifest 
\$(MTOUTFLAG)$bin$exeext
 EOF
   }
   sub in2script {
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to