Fix locking in ssl_cert_dup()
[openssl.git] / util / mkrc.pl
1 #!/bin/env perl
2 #
3
4 use lib ".";
5 use configdata;
6 use File::Spec::Functions;
7
8 my $versionfile = catfile($config{sourcedir},"include/openssl/opensslv.h");
9
10 open FD, $versionfile or die "Couldn't open include/openssl/opensslv.h: $!\n";
11 while(<FD>) {
12     if (/OPENSSL_VERSION_NUMBER\s+(0x[0-9a-f]+)/i) {
13         $ver = hex($1);
14         $v1 = ($ver>>28);
15         $v2 = ($ver>>20)&0xff;
16         $v3 = ($ver>>12)&0xff;
17         $v4 = ($ver>> 4)&0xff;
18         $beta = $ver&0xf;
19         $version = "$v1.$v2.$v3";
20         if ($beta==0xf) { $version .= chr(ord('a')+$v4-1) if ($v4);     }
21         elsif ($beta==0){ $version .= "-dev";                           }
22         else            { $version .= "-beta$beta";                     }
23         last;
24     }
25 }
26 close(FD);
27
28 $filename = $ARGV[0]; $filename =~ /(.*)\.([^.]+)$/;
29 $basename = $1;
30 $extname  = $2;
31
32 if ($extname =~ /dll/i) { $description = "OpenSSL shared library"; }
33 else                    { $description = "OpenSSL application";    }
34
35 print <<___;
36 #include <winver.h>
37
38 LANGUAGE 0x09,0x01
39
40 1 VERSIONINFO
41   FILEVERSION $v1,$v2,$v3,$v4
42   PRODUCTVERSION $v1,$v2,$v3,$v4
43   FILEFLAGSMASK 0x3fL
44 #ifdef _DEBUG
45   FILEFLAGS 0x01L
46 #else
47   FILEFLAGS 0x00L
48 #endif
49   FILEOS VOS__WINDOWS32
50   FILETYPE VFT_DLL
51   FILESUBTYPE 0x0L
52 BEGIN
53     BLOCK "StringFileInfo"
54     BEGIN
55         BLOCK "040904b0"
56         BEGIN
57             // Required:
58             VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0"
59             VALUE "FileDescription", "$description\\0"
60             VALUE "FileVersion", "$version\\0"
61             VALUE "InternalName", "$basename\\0"
62             VALUE "OriginalFilename", "$filename\\0"
63             VALUE "ProductName", "The OpenSSL Toolkit\\0"
64             VALUE "ProductVersion", "$version\\0"
65             // Optional:
66             //VALUE "Comments", "\\0"
67             VALUE "LegalCopyright", "Copyright © 1998-2015 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
68             //VALUE "LegalTrademarks", "\\0"
69             //VALUE "PrivateBuild", "\\0"
70             //VALUE "SpecialBuild", "\\0"
71         END
72     END
73     BLOCK "VarFileInfo"
74     BEGIN
75         VALUE "Translation", 0x409, 0x4b0
76     END
77 END
78 ___