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