1 | #! /usr/bin/env perl
|
---|
2 | # Copyright 2006-2020 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{version}";
|
---|
15 | my $version = "$config{full_version}";
|
---|
16 |
|
---|
17 | # RC syntax for versions uses commas as separators, rather than period,
|
---|
18 | # and it must have exactly 4 numbers (16-bit integers).
|
---|
19 | my @vernums = ( split(/\./, $cversion), 0, 0, 0, 0 );
|
---|
20 | $cversion = join(',', @vernums[0..3]);
|
---|
21 |
|
---|
22 | my $filename = $ARGV[0];
|
---|
23 | my $description = "OpenSSL library";
|
---|
24 | my $vft = "VFT_DLL";
|
---|
25 | if ( $filename =~ /openssl/i ) {
|
---|
26 | $description = "OpenSSL application";
|
---|
27 | $vft = "VFT_APP";
|
---|
28 | }
|
---|
29 |
|
---|
30 | my $YEAR = [gmtime($ENV{SOURCE_DATE_EPOCH} || time())]->[5] + 1900;
|
---|
31 | print <<___;
|
---|
32 | #include <winver.h>
|
---|
33 |
|
---|
34 | LANGUAGE 0x09,0x01
|
---|
35 |
|
---|
36 | 1 VERSIONINFO
|
---|
37 | FILEVERSION $cversion
|
---|
38 | PRODUCTVERSION $cversion
|
---|
39 | FILEFLAGSMASK 0x3fL
|
---|
40 | #ifdef _DEBUG
|
---|
41 | FILEFLAGS 0x01L
|
---|
42 | #else
|
---|
43 | FILEFLAGS 0x00L
|
---|
44 | #endif
|
---|
45 | FILEOS VOS__WINDOWS32
|
---|
46 | FILETYPE $vft
|
---|
47 | FILESUBTYPE 0x0L
|
---|
48 | BEGIN
|
---|
49 | BLOCK "StringFileInfo"
|
---|
50 | BEGIN
|
---|
51 | BLOCK "040904b0"
|
---|
52 | BEGIN
|
---|
53 | // Required:
|
---|
54 | VALUE "CompanyName", "The OpenSSL Project, https://www.openssl.org/\\0"
|
---|
55 | VALUE "FileDescription", "$description\\0"
|
---|
56 | VALUE "FileVersion", "$version\\0"
|
---|
57 | VALUE "InternalName", "$filename\\0"
|
---|
58 | VALUE "OriginalFilename", "$filename\\0"
|
---|
59 | VALUE "ProductName", "The OpenSSL Toolkit\\0"
|
---|
60 | VALUE "ProductVersion", "$version\\0"
|
---|
61 | // Optional:
|
---|
62 | //VALUE "Comments", "\\0"
|
---|
63 | VALUE "LegalCopyright", "Copyright 1998-$YEAR The OpenSSL Authors. All rights reserved.\\0"
|
---|
64 | //VALUE "LegalTrademarks", "\\0"
|
---|
65 | //VALUE "PrivateBuild", "\\0"
|
---|
66 | //VALUE "SpecialBuild", "\\0"
|
---|
67 | END
|
---|
68 | END
|
---|
69 | BLOCK "VarFileInfo"
|
---|
70 | BEGIN
|
---|
71 | VALUE "Translation", 0x409, 0x4b0
|
---|
72 | END
|
---|
73 | END
|
---|
74 | ___
|
---|