[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Thu Jul 14 18:19:27 UTC 2016


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


- Log -----------------------------------------------------------------
commit 755542cbf0411fa509325cb0cb216bc0bf4a3f2a
Author: Richard Levitte <levitte at openssl.org>
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 <rsalz at openssl.org>

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

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 {


More information about the openssl-commits mailing list