Commit 3fa04f0d authored by Richard Levitte's avatar Richard Levitte Committed by Richard Levitte
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent d36ab9ce
Loading
Loading
Loading
Loading
+37 −37
Original line number Diff line number Diff line
@@ -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"
+5 −16
Original line number Diff line number Diff line
@@ -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