1e1051a39Sopenharmony_ci#! /usr/bin/env perl
2e1051a39Sopenharmony_ci# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved.
3e1051a39Sopenharmony_ci#
4e1051a39Sopenharmony_ci# Licensed under the Apache License 2.0 (the "License").  You may not use
5e1051a39Sopenharmony_ci# this file except in compliance with the License.  You can obtain a copy
6e1051a39Sopenharmony_ci# in the file LICENSE in the source distribution or at
7e1051a39Sopenharmony_ci# https://www.openssl.org/source/license.html
8e1051a39Sopenharmony_ci
9e1051a39Sopenharmony_ciuse strict;
10e1051a39Sopenharmony_ciuse warnings;
11e1051a39Sopenharmony_ciuse lib ".";
12e1051a39Sopenharmony_ciuse configdata;
13e1051a39Sopenharmony_ci
14e1051a39Sopenharmony_cimy $cversion = "$config{version}";
15e1051a39Sopenharmony_cimy $version = "$config{full_version}";
16e1051a39Sopenharmony_ci
17e1051a39Sopenharmony_ci# RC syntax for versions uses commas as separators, rather than period,
18e1051a39Sopenharmony_ci# and it must have exactly 4 numbers (16-bit integers).
19e1051a39Sopenharmony_cimy @vernums = ( split(/\./, $cversion), 0, 0, 0, 0 );
20e1051a39Sopenharmony_ci$cversion = join(',', @vernums[0..3]);
21e1051a39Sopenharmony_ci
22e1051a39Sopenharmony_cimy $filename = $ARGV[0];
23e1051a39Sopenharmony_cimy $description = "OpenSSL library";
24e1051a39Sopenharmony_cimy $vft = "VFT_DLL";
25e1051a39Sopenharmony_ciif ( $filename =~ /openssl/i ) {
26e1051a39Sopenharmony_ci    $description = "OpenSSL application";
27e1051a39Sopenharmony_ci    $vft = "VFT_APP";
28e1051a39Sopenharmony_ci}
29e1051a39Sopenharmony_ci
30e1051a39Sopenharmony_cimy $YEAR = [gmtime($ENV{SOURCE_DATE_EPOCH} || time())]->[5] + 1900;
31e1051a39Sopenharmony_ciprint <<___;
32e1051a39Sopenharmony_ci#include <winver.h>
33e1051a39Sopenharmony_ci
34e1051a39Sopenharmony_ciLANGUAGE 0x09,0x01
35e1051a39Sopenharmony_ci
36e1051a39Sopenharmony_ci1 VERSIONINFO
37e1051a39Sopenharmony_ci  FILEVERSION $cversion
38e1051a39Sopenharmony_ci  PRODUCTVERSION $cversion
39e1051a39Sopenharmony_ci  FILEFLAGSMASK 0x3fL
40e1051a39Sopenharmony_ci#ifdef _DEBUG
41e1051a39Sopenharmony_ci  FILEFLAGS 0x01L
42e1051a39Sopenharmony_ci#else
43e1051a39Sopenharmony_ci  FILEFLAGS 0x00L
44e1051a39Sopenharmony_ci#endif
45e1051a39Sopenharmony_ci  FILEOS VOS__WINDOWS32
46e1051a39Sopenharmony_ci  FILETYPE $vft
47e1051a39Sopenharmony_ci  FILESUBTYPE 0x0L
48e1051a39Sopenharmony_ciBEGIN
49e1051a39Sopenharmony_ci    BLOCK "StringFileInfo"
50e1051a39Sopenharmony_ci    BEGIN
51e1051a39Sopenharmony_ci        BLOCK "040904b0"
52e1051a39Sopenharmony_ci        BEGIN
53e1051a39Sopenharmony_ci            // Required:
54e1051a39Sopenharmony_ci            VALUE "CompanyName", "The OpenSSL Project, https://www.openssl.org/\\0"
55e1051a39Sopenharmony_ci            VALUE "FileDescription", "$description\\0"
56e1051a39Sopenharmony_ci            VALUE "FileVersion", "$version\\0"
57e1051a39Sopenharmony_ci            VALUE "InternalName", "$filename\\0"
58e1051a39Sopenharmony_ci            VALUE "OriginalFilename", "$filename\\0"
59e1051a39Sopenharmony_ci            VALUE "ProductName", "The OpenSSL Toolkit\\0"
60e1051a39Sopenharmony_ci            VALUE "ProductVersion", "$version\\0"
61e1051a39Sopenharmony_ci            // Optional:
62e1051a39Sopenharmony_ci            //VALUE "Comments", "\\0"
63e1051a39Sopenharmony_ci            VALUE "LegalCopyright", "Copyright 1998-$YEAR The OpenSSL Authors. All rights reserved.\\0"
64e1051a39Sopenharmony_ci            //VALUE "LegalTrademarks", "\\0"
65e1051a39Sopenharmony_ci            //VALUE "PrivateBuild", "\\0"
66e1051a39Sopenharmony_ci            //VALUE "SpecialBuild", "\\0"
67e1051a39Sopenharmony_ci        END
68e1051a39Sopenharmony_ci    END
69e1051a39Sopenharmony_ci    BLOCK "VarFileInfo"
70e1051a39Sopenharmony_ci    BEGIN
71e1051a39Sopenharmony_ci        VALUE "Translation", 0x409, 0x4b0
72e1051a39Sopenharmony_ci    END
73e1051a39Sopenharmony_ciEND
74e1051a39Sopenharmony_ci___
75