Add version info to Win32 DLLs.
We might want to edit the strings a bit... Maybe add to 0.9.7 too?
This commit is contained in:
parent
3d840c827f
commit
fc6a6a1030
4 changed files with 89 additions and 0 deletions
3
CHANGES
3
CHANGES
|
@ -4,6 +4,9 @@
|
|||
|
||||
Changes between 0.9.7 and 0.9.8 [xx XXX 2002]
|
||||
|
||||
*) Add version info to Win32 DLLs.
|
||||
[Peter 'Luna' Runestig" <peter@runestig.com>]
|
||||
|
||||
*) Add new 'medium level' PKCS#12 API. Certificates and keys
|
||||
can be added using this API to created arbitrary PKCS#12
|
||||
files while avoiding the low level API.
|
||||
|
|
64
Configure
64
Configure
|
@ -1156,6 +1156,7 @@ if ($rmd160_obj =~ /\.o$/)
|
|||
$cflags =~ s/([\\\"])/\\\1/g;
|
||||
|
||||
my $version = "unknown";
|
||||
my $version_num = "unknown";
|
||||
my $major = "unknown";
|
||||
my $minor = "unknown";
|
||||
my $shlib_version_number = "unknown";
|
||||
|
@ -1167,6 +1168,7 @@ open(IN,'<crypto/opensslv.h') || die "unable to read opensslv.h:$!\n";
|
|||
while (<IN>)
|
||||
{
|
||||
$version=$1 if /OPENSSL.VERSION.TEXT.*OpenSSL (\S+) /;
|
||||
$version_num=$1 if /OPENSSL.VERSION.NUMBER.*0x(\S+)/;
|
||||
$shlib_version_number=$1 if /SHLIB_VERSION_NUMBER *"([^"]+)"/;
|
||||
$shlib_version_history=$1 if /SHLIB_VERSION_HISTORY *"([^"]*)"/;
|
||||
}
|
||||
|
@ -1499,6 +1501,68 @@ EOF
|
|||
}
|
||||
}
|
||||
|
||||
# create the ms/version32.rc file if needed
|
||||
if ($IsWindows) {
|
||||
my ($v1, $v2, $v3, $v4);
|
||||
if ($version_num =~ /(^[0-9a-f]{1})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i) {
|
||||
$v1=hex $1;
|
||||
$v2=hex $2;
|
||||
$v3=hex $3;
|
||||
$v4=hex $4;
|
||||
}
|
||||
open (OUT,">ms/version32.rc") || die "Can't open ms/version32.rc";
|
||||
print OUT <<EOF;
|
||||
#include <winver.h>
|
||||
|
||||
LANGUAGE 0x09,0x01
|
||||
|
||||
1 VERSIONINFO
|
||||
FILEVERSION $v1,$v2,$v3,$v4
|
||||
PRODUCTVERSION $v1,$v2,$v3,$v4
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x01L
|
||||
#else
|
||||
FILEFLAGS 0x00L
|
||||
#endif
|
||||
FILEOS VOS__WINDOWS32
|
||||
FILETYPE VFT_DLL
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
// Required:
|
||||
VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0"
|
||||
VALUE "FileDescription", "OpenSSL Shared Library\\0"
|
||||
VALUE "FileVersion", "$version\\0"
|
||||
#if defined(CRYPTO)
|
||||
VALUE "InternalName", "libeay32\\0"
|
||||
VALUE "OriginalFilename", "libeay32.dll\\0"
|
||||
#elif defined(SSL)
|
||||
VALUE "InternalName", "ssleay32\\0"
|
||||
VALUE "OriginalFilename", "ssleay32.dll\\0"
|
||||
#endif
|
||||
VALUE "ProductName", "The OpenSSL Toolkit\\0"
|
||||
VALUE "ProductVersion", "$version\\0"
|
||||
// Optional:
|
||||
//VALUE "Comments", "\\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1998-2002 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
||||
//VALUE "LegalTrademarks", "\\0"
|
||||
//VALUE "PrivateBuild", "\\0"
|
||||
//VALUE "SpecialBuild", "\\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 0x4b0
|
||||
END
|
||||
END
|
||||
EOF
|
||||
close(OUT);
|
||||
}
|
||||
|
||||
print <<EOF;
|
||||
|
||||
Configured for $target.
|
||||
|
|
|
@ -288,6 +288,7 @@ SRC_D=$src_dir
|
|||
|
||||
LINK=$link
|
||||
LFLAGS=$lflags
|
||||
RSC=$rsc
|
||||
|
||||
BN_ASM_OBJ=$bn_asm_obj
|
||||
BN_ASM_SRC=$bn_asm_src
|
||||
|
@ -600,6 +601,18 @@ foreach (values %lib_nam)
|
|||
$rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib);
|
||||
}
|
||||
|
||||
# hack to add version info on MSVC
|
||||
if (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) {
|
||||
$rules.= <<"EOF";
|
||||
\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc
|
||||
\$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc
|
||||
|
||||
\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc
|
||||
\$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
$defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep);
|
||||
foreach (split(/\s+/,$test))
|
||||
{
|
||||
|
@ -755,6 +768,14 @@ sub do_defs
|
|||
$Vars{$var}.="$t ";
|
||||
$ret.=$t;
|
||||
}
|
||||
# hack to add version info on MSVC
|
||||
if ($shlib && ($platform eq "VC-WIN32") || ($platform eq "VC-NT"))
|
||||
{
|
||||
if ($var eq "CRYPTOOBJ")
|
||||
{ $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; }
|
||||
elsif ($var eq "SSLOBJ")
|
||||
{ $ret.="\$(OBJ_D)\\\$(SSL).res "; }
|
||||
}
|
||||
chop($ret);
|
||||
$ret.="\n\n";
|
||||
return($ret);
|
||||
|
|
|
@ -32,6 +32,7 @@ $ofile="/Fo";
|
|||
|
||||
# EXE linking stuff
|
||||
$link="link";
|
||||
$rsc="rc";
|
||||
$efile="/out:";
|
||||
$exep='.exe';
|
||||
if ($no_sock)
|
||||
|
|
Loading…
Reference in a new issue