diff --git a/Configure b/Configure index 45103ff063..661fe45c8f 100755 --- a/Configure +++ b/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,') { - $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 () $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 () 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" diff --git a/util/mkdef.pl b/util/mkdef.pl index a2cc12619b..88c45c7d9b 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -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,") { - $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 () { - $v = $1, last if /^VERSION=(.*?)\s*$/; - } - close MF; - return $v; + return $config{version}; } sub print_def_file