mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
Refactor file writing - Adapt util/mkdef.pl to use configdata.pm
For this adaptation, the variables $options and $version needed to move to %config in Configure, and why not move all other variables holding diverse version numbers at the same time? Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
d36ab9ce9a
commit
3fa04f0d72
74
Configure
74
Configure
@ -395,7 +395,7 @@ my $openssl_sys_defines="";
|
||||
my $openssl_other_defines="";
|
||||
my $libs="";
|
||||
my $target="";
|
||||
my $options="";
|
||||
$config{options}="";
|
||||
my $api;
|
||||
my $make_depend=0;
|
||||
my %withargs=();
|
||||
@ -610,10 +610,10 @@ foreach (@argvcopy)
|
||||
# we really only write OPTIONS to the Makefile out of
|
||||
# nostalgia.)
|
||||
|
||||
if ($options eq "")
|
||||
{ $options = $_; }
|
||||
if ($config{options} eq "")
|
||||
{ $config{options} = $_; }
|
||||
else
|
||||
{ $options .= " ".$_; }
|
||||
{ $config{options} .= " ".$_; }
|
||||
}
|
||||
|
||||
if (defined($api) && !exists $apitable->{$api}) {
|
||||
@ -676,7 +676,7 @@ if ($target =~ m/^CygWin32(-.*)$/) {
|
||||
|
||||
foreach (sort (keys %disabled))
|
||||
{
|
||||
$options .= " no-$_";
|
||||
$config{options} .= " no-$_";
|
||||
|
||||
printf " no-%-12s %-10s", $_, "[$disabled{$_}]";
|
||||
|
||||
@ -945,12 +945,12 @@ if ($target{build_scheme}->[0] ne "mk1mf")
|
||||
if ($no_shared)
|
||||
{
|
||||
$openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n";
|
||||
$options.=" static-engine";
|
||||
$config{options}.=" static-engine";
|
||||
}
|
||||
else
|
||||
{
|
||||
$openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
|
||||
$options.=" no-static-engine";
|
||||
$config{options}.=" no-static-engine";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1081,36 +1081,36 @@ if (!$no_asm) {
|
||||
# and works as well on command lines.
|
||||
$cflags =~ s/([\\\"])/\\\1/g;
|
||||
|
||||
my $version = "unknown";
|
||||
my $version_num = "unknown";
|
||||
my $major = "unknown";
|
||||
my $minor = "unknown";
|
||||
my $shlib_version_number = "unknown";
|
||||
my $shlib_version_history = "unknown";
|
||||
my $shlib_major = "unknown";
|
||||
my $shlib_minor = "unknown";
|
||||
$config{version} = "unknown";
|
||||
$config{version_num} = "unknown";
|
||||
$config{major} = "unknown";
|
||||
$config{minor} = "unknown";
|
||||
$config{shlib_version_number} = "unknown";
|
||||
$config{shlib_version_history} = "unknown";
|
||||
$config{shlib_major} = "unknown";
|
||||
$config{shlib_minor} = "unknown";
|
||||
|
||||
open(IN,'<include/openssl/opensslv.h') || die "unable to read opensslv.h:$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
$version=$1 if /OPENSSL.VERSION.TEXT.*OpenSSL (\S+) /;
|
||||
$version_num=$1 if /OPENSSL.VERSION.NUMBER.*(0x\S+)/;
|
||||
$shlib_version_number=$1 if /SHLIB_VERSION_NUMBER *"([^"]+)"/;
|
||||
$shlib_version_history=$1 if /SHLIB_VERSION_HISTORY *"([^"]*)"/;
|
||||
$config{version}=$1 if /OPENSSL.VERSION.TEXT.*OpenSSL (\S+) /;
|
||||
$config{version_num}=$1 if /OPENSSL.VERSION.NUMBER.*(0x\S+)/;
|
||||
$config{shlib_version_number}=$1 if /SHLIB_VERSION_NUMBER *"([^"]+)"/;
|
||||
$config{shlib_version_history}=$1 if /SHLIB_VERSION_HISTORY *"([^"]*)"/;
|
||||
}
|
||||
close(IN);
|
||||
if ($shlib_version_history ne "") { $shlib_version_history .= ":"; }
|
||||
if ($config{shlib_version_history} ne "") { $config{shlib_version_history} .= ":"; }
|
||||
|
||||
if ($version =~ /(^[0-9]*)\.([0-9\.]*)/)
|
||||
if ($config{version} =~ /(^[0-9]*)\.([0-9\.]*)/)
|
||||
{
|
||||
$major=$1;
|
||||
$minor=$2;
|
||||
$config{major}=$1;
|
||||
$config{minor}=$2;
|
||||
}
|
||||
|
||||
if ($shlib_version_number =~ /(^[0-9]*)\.([0-9\.]*)/)
|
||||
if ($config{shlib_version_number} =~ /(^[0-9]*)\.([0-9\.]*)/)
|
||||
{
|
||||
$shlib_major=$1;
|
||||
$shlib_minor=$2;
|
||||
$config{shlib_major}=$1;
|
||||
$config{shlib_minor}=$2;
|
||||
}
|
||||
|
||||
if (defined($api)) {
|
||||
@ -1215,13 +1215,13 @@ while (<IN>)
|
||||
$sdirs = 0 unless /\\$/;
|
||||
s/fips // if (/^DIRS=/ && !$fips);
|
||||
s/engines // if (/^DIRS=/ && $disabled{"engine"});
|
||||
s/^VERSION=.*/VERSION=$version/;
|
||||
s/^MAJOR=.*/MAJOR=$major/;
|
||||
s/^MINOR=.*/MINOR=$minor/;
|
||||
s/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=$shlib_version_number/;
|
||||
s/^SHLIB_VERSION_HISTORY=.*/SHLIB_VERSION_HISTORY=$shlib_version_history/;
|
||||
s/^SHLIB_MAJOR=.*/SHLIB_MAJOR=$shlib_major/;
|
||||
s/^SHLIB_MINOR=.*/SHLIB_MINOR=$shlib_minor/;
|
||||
s/^VERSION=.*/VERSION=$config{version}/;
|
||||
s/^MAJOR=.*/MAJOR=$config{major}/;
|
||||
s/^MINOR=.*/MINOR=$config{minor}/;
|
||||
s/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=$config{shlib_version_number}/;
|
||||
s/^SHLIB_VERSION_HISTORY=.*/SHLIB_VERSION_HISTORY=$config{shlib_version_history}/;
|
||||
s/^SHLIB_MAJOR=.*/SHLIB_MAJOR=$config{shlib_major}/;
|
||||
s/^SHLIB_MINOR=.*/SHLIB_MINOR=$config{shlib_minor}/;
|
||||
s/^SHLIB_EXT=.*/SHLIB_EXT=$target{shared_extension}/;
|
||||
s/^INSTALLTOP=.*$/INSTALLTOP=$config{prefix}/;
|
||||
s/^MULTILIB=.*$/MULTILIB=$target{multilib}/;
|
||||
@ -1229,7 +1229,7 @@ while (<IN>)
|
||||
s/^LIBDIR=.*$/LIBDIR=$libdir/;
|
||||
s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/;
|
||||
s/^PLATFORM=.*$/PLATFORM=$target/;
|
||||
s/^OPTIONS=.*$/OPTIONS=$options/;
|
||||
s/^OPTIONS=.*$/OPTIONS=$config{options}/;
|
||||
my $argvstring = "(".join(", ", map { quotify("perl", $_) } @argvcopy).")";
|
||||
s/^CONFIGURE_ARGS=.*$/CONFIGURE_ARGS=$argvstring/;
|
||||
if ($cross_compile_prefix)
|
||||
@ -1579,7 +1579,7 @@ EOF
|
||||
# create the ms/version32.rc file if needed
|
||||
if (! grep /^netware/, @{$target{build_scheme}}) {
|
||||
my ($v1, $v2, $v3, $v4);
|
||||
if ($version_num =~ /^0x([0-9a-f]{1})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{1})L$/i) {
|
||||
if ($config{version_num} =~ /^0x([0-9a-f]{1})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{1})L$/i) {
|
||||
$v1=hex $1;
|
||||
$v2=hex $2;
|
||||
$v3=hex $3;
|
||||
@ -1611,7 +1611,7 @@ BEGIN
|
||||
// Required:
|
||||
VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0"
|
||||
VALUE "FileDescription", "OpenSSL Shared Library\\0"
|
||||
VALUE "FileVersion", "$version\\0"
|
||||
VALUE "FileVersion", "$config{version}\\0"
|
||||
#if defined(CRYPTO)
|
||||
VALUE "InternalName", "libeay32\\0"
|
||||
VALUE "OriginalFilename", "libeay32.dll\\0"
|
||||
@ -1620,7 +1620,7 @@ BEGIN
|
||||
VALUE "OriginalFilename", "ssleay32.dll\\0"
|
||||
#endif
|
||||
VALUE "ProductName", "The OpenSSL Toolkit\\0"
|
||||
VALUE "ProductVersion", "$version\\0"
|
||||
VALUE "ProductVersion", "$config{version}\\0"
|
||||
// Optional:
|
||||
//VALUE "Comments", "\\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1998-2015 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
||||
|
@ -38,6 +38,9 @@
|
||||
# exclude.
|
||||
#
|
||||
|
||||
use lib ".";
|
||||
use configdata;
|
||||
|
||||
my $debug=0;
|
||||
|
||||
my $crypto_num= "util/libeay.num";
|
||||
@ -128,16 +131,9 @@ foreach (@known_algorithms) {
|
||||
# disabled by default
|
||||
$disabled_algorithms{"STATIC_ENGINE"} = 1;
|
||||
|
||||
my $options="";
|
||||
open(IN,"<Makefile") || die "unable to open Makefile!\n";
|
||||
while(<IN>) {
|
||||
$options=$1 if (/^OPTIONS=(.*)$/);
|
||||
}
|
||||
close(IN);
|
||||
|
||||
my $zlib;
|
||||
|
||||
foreach (@ARGV, split(/ /, $options))
|
||||
foreach (@ARGV, split(/ /, $config{options}))
|
||||
{
|
||||
$debug=1 if $_ eq "debug";
|
||||
$W32=1 if $_ eq "32";
|
||||
@ -1177,14 +1173,7 @@ sub print_test_file
|
||||
}
|
||||
|
||||
sub get_version {
|
||||
local *MF;
|
||||
my $v = '?';
|
||||
open MF, 'Makefile' or return $v;
|
||||
while (<MF>) {
|
||||
$v = $1, last if /^VERSION=(.*?)\s*$/;
|
||||
}
|
||||
close MF;
|
||||
return $v;
|
||||
return $config{version};
|
||||
}
|
||||
|
||||
sub print_def_file
|
||||
|
Loading…
Reference in New Issue
Block a user