Following the license change, modify the boilerplates in util/, tools/
[openssl.git] / util / mkrc.pl
1 #! /usr/bin/env perl
2 # Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.
3 #
4 # Licensed under the Apache License 2.0 (the "License").  You may not use
5 # this file except in compliance with the License.  You can obtain a copy
6 # in the file LICENSE in the source distribution or at
7 # https://www.openssl.org/source/license.html
8
9 use strict;
10 use warnings;
11 use lib ".";
12 use configdata;
13
14 my $cversion = "$config{major},$config{minor},$config{patch}";
15 my $version = "$config{major}.$config{minor}.$config{patch}$config{prerelease}$config{build_metadata}";
16
17 my $filename = $ARGV[0];
18 my $description = "OpenSSL library";
19 my $vft = "VFT_DLL";
20 if ( $filename =~ /openssl/i ) {
21     $description = "OpenSSL application";
22     $vft = "VFT_APP";
23 }
24
25 my $YEAR = [localtime()]->[5] + 1900;
26 print <<___;
27 #include <winver.h>
28
29 LANGUAGE 0x09,0x01
30
31 1 VERSIONINFO
32   FILEVERSION $cversion
33   PRODUCTVERSION $cversion
34   FILEFLAGSMASK 0x3fL
35 #ifdef _DEBUG
36   FILEFLAGS 0x01L
37 #else
38   FILEFLAGS 0x00L
39 #endif
40   FILEOS VOS__WINDOWS32
41   FILETYPE $vft
42   FILESUBTYPE 0x0L
43 BEGIN
44     BLOCK "StringFileInfo"
45     BEGIN
46         BLOCK "040904b0"
47         BEGIN
48             // Required:
49             VALUE "CompanyName", "The OpenSSL Project, https://www.openssl.org/\\0"
50             VALUE "FileDescription", "$description\\0"
51             VALUE "FileVersion", "$version\\0"
52             VALUE "InternalName", "$filename\\0"
53             VALUE "OriginalFilename", "$filename\\0"
54             VALUE "ProductName", "The OpenSSL Toolkit\\0"
55             VALUE "ProductVersion", "$version\\0"
56             // Optional:
57             //VALUE "Comments", "\\0"
58             VALUE "LegalCopyright", "Copyright 1998-$YEAR The OpenSSL Authors. All rights reserved.\\0"
59             //VALUE "LegalTrademarks", "\\0"
60             //VALUE "PrivateBuild", "\\0"
61             //VALUE "SpecialBuild", "\\0"
62         END
63     END
64     BLOCK "VarFileInfo"
65     BEGIN
66         VALUE "Translation", 0x409, 0x4b0
67     END
68 END
69 ___