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