[openssl-commits] [openssl] OpenSSL_1_1_0-stable update

Richard Levitte levitte at openssl.org
Fri Sep 16 09:53:36 UTC 2016


The branch OpenSSL_1_1_0-stable has been updated
       via  21729930885528d6d61b44520a97636b0a4d0398 (commit)
       via  5dab48340ecce1ff33f267ff07c6a7b485dce32f (commit)
       via  b5edd178ca6895fd0e263eacef83e48e374669e5 (commit)
       via  efd23794121520fb1526616af2784ddc9d078280 (commit)
      from  ea6e2d543653196cb6d095f72b35073404c8ae33 (commit)


- Log -----------------------------------------------------------------
commit 21729930885528d6d61b44520a97636b0a4d0398
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Sep 15 23:56:03 2016 +0200

    Simplify the dependencies for remaking configdata.pm
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>
    (cherry picked from commit c5ad3076a6c076ac9f8449c393dd14c16b737560)

commit 5dab48340ecce1ff33f267ff07c6a7b485dce32f
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Sep 15 23:55:24 2016 +0200

    Rearrange the storage of build file template names in %config
    
    They are now relative paths as well
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>
    (cherry picked from commit 1967a42eb5192efc552287f78850420082caba7c)

commit b5edd178ca6895fd0e263eacef83e48e374669e5
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed Sep 14 22:22:20 2016 +0200

    Use the registered conf file names as dependencies to build configdata.pm
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>
    (cherry picked from commit dc660c70b52c552aa4eb9659963bfbe6ab18bec0)

commit efd23794121520fb1526616af2784ddc9d078280
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed Sep 14 22:21:41 2016 +0200

    Register the name of the config file each config target was found in
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>
    (cherry picked from commit ee9b0bbb4c66812da18939ea96c4625cb001f3bd)

-----------------------------------------------------------------------

Summary of changes:
 Configurations/descrip.mms.tmpl      |  2 +-
 Configurations/unix-Makefile.tmpl    |  2 +-
 Configurations/windows-makefile.tmpl |  2 +-
 Configure                            | 91 +++++++++++++++++++-----------------
 4 files changed, 52 insertions(+), 45 deletions(-)

diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl
index ce96778..41f52aa 100644
--- a/Configurations/descrip.mms.tmpl
+++ b/Configurations/descrip.mms.tmpl
@@ -508,7 +508,7 @@ debug_logicals :
 
 # Building targets ###################################################
 
-configdata.pm : {- join(" ", sourcefile("Configurations", "descrip.mms.tmpl"), sourcefile("Configurations", "common.tmpl")) -} $(SRCDIR)Configure $(SRCDIR)config.com {- join(" ", @{$config{build_infos}}) -}
+configdata.pm : $(SRCDIR)Configure $(SRCDIR)config.com {- join(" ", @{$config{build_file_templates}}) -} {- join(" ", @{$config{build_infos}}, @{$config{conf_files}}) -}
         @ WRITE SYS$OUTPUT "Reconfiguring..."
         perl $(SRCDIR)Configure reconf
         @ WRITE SYS$OUTPUT "*************************************************"
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index f5a0274..7973e10 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -827,7 +827,7 @@ openssl.pc:
 	    echo 'Version: '$(VERSION); \
 	    echo 'Requires: libssl libcrypto' ) > openssl.pc
 
-configdata.pm: {- $config{build_file_template} -} $(SRCDIR)/Configurations/common.tmpl $(SRCDIR)/Configure $(SRCDIR)/config {- join(" ", @{$config{build_infos}}) -}
+configdata.pm: $(SRCDIR)/Configure $(SRCDIR)/config {- join(" ", @{$config{build_file_templates}}) -} {- join(" ", @{$config{build_infos}}, @{$config{conf_files}}) -}
 	@echo "Detected changed: $?"
 	@echo "Reconfiguring..."
 	$(SRCDIR)/Configure reconf
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
index cbb9116..988dc93 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -322,7 +322,7 @@ uninstall_html_docs:
 
 # Building targets ###################################################
 
-configdata.pm: "{- $config{build_file_template} -}" "$(SRCDIR)\Configurations\common.tmpl" "$(SRCDIR)\Configure" {- join(" ", map { '"'.$_.'"' } @{$config{build_infos}}) -}
+configdata.pm: "$(SRCDIR)\Configure" "{- join(" ", @{$config{build_file_templates}}) -}" {- join(" ", map { '"'.$_.'"' } @{$config{build_infos}}, @{$config{conf_files}}) -}
 	@echo "Detected changed: $?"
 	@echo "Reconfiguring..."
 	"$(PERL)" "$(SRCDIR)\Configure" reconf
diff --git a/Configure b/Configure
index 9c183da..dcc317a 100755
--- a/Configure
+++ b/Configure
@@ -904,6 +904,8 @@ my %target = resolve_config($target);
 
 &usage if (!%target || $target{template});
 
+my %conf_files = map { $_ => 1 } (@{$target{_conf_fname_int}});
+$config{conf_files} = [ sort keys %conf_files ];
 %target = ( %{$table{DEFAULTS}}, %target );
 
 $target{exe_extension}="";
@@ -1297,44 +1299,6 @@ my %unified_info = ();
 
 my $buildinfo_debug = defined($ENV{CONFIGURE_DEBUG_BUILDINFO});
 if ($builder eq "unified") {
-    # Store the name of the template file we will build the build file from
-    # in %config.  This may be useful for the build file itself.
-    my @build_file_template_names =
-	( $builder_platform."-".$target{build_file}.".tmpl",
-	  $target{build_file}.".tmpl" );
-    my @build_file_templates = ();
-
-    # First, look in the user provided directory, if given
-    if (defined $ENV{$local_config_envname}) {
-	@build_file_templates =
-	    map {
-		if ($^O eq 'VMS') {
-		    # VMS environment variables are logical names,
-		    # which can be used as is
-		    $local_config_envname . ':' . $_;
-		} else {
-		    catfile($ENV{$local_config_envname}, $_);
-		}
-	    }
-	    @build_file_template_names;
-    }
-    # Then, look in our standard directory
-    push @build_file_templates,
-	( map { catfile($srcdir, "Configurations", $_) }
-	  @build_file_template_names );
-
-    my $build_file_template;
-    for $_ (@build_file_templates) {
-	$build_file_template = $_;
-        last if -f $build_file_template;
-
-        $build_file_template = undef;
-    }
-    if (!defined $build_file_template) {
-	die "*** Couldn't find any of:\n", join("\n", @build_file_templates), "\n";
-    }
-    $config{build_file_template} = $build_file_template;
-
     use lib catdir(dirname(__FILE__),"util");
     use with_fallback qw(Text::Template);
 
@@ -1371,6 +1335,47 @@ if ($builder eq "unified") {
         return $res;
     }
 
+    # Store the name of the template file we will build the build file from
+    # in %config.  This may be useful for the build file itself.
+    my @build_file_template_names =
+	( $builder_platform."-".$target{build_file}.".tmpl",
+	  $target{build_file}.".tmpl" );
+    my @build_file_templates = ();
+
+    # First, look in the user provided directory, if given
+    if (defined $ENV{$local_config_envname}) {
+	@build_file_templates =
+	    map {
+		if ($^O eq 'VMS') {
+		    # VMS environment variables are logical names,
+		    # which can be used as is
+		    $local_config_envname . ':' . $_;
+		} else {
+		    catfile($ENV{$local_config_envname}, $_);
+		}
+	    }
+	    @build_file_template_names;
+    }
+    # Then, look in our standard directory
+    push @build_file_templates,
+	( map { cleanfile($srcdir, catfile("Configurations", $_), $blddir) }
+	  @build_file_template_names );
+
+    my $build_file_template;
+    for $_ (@build_file_templates) {
+	$build_file_template = $_;
+        last if -f $build_file_template;
+
+        $build_file_template = undef;
+    }
+    if (!defined $build_file_template) {
+	die "*** Couldn't find any of:\n", join("\n", @build_file_templates), "\n";
+    }
+    $config{build_file_templates}
+      = [ $build_file_template,
+          cleanfile($srcdir, catfile("Configurations", "common.tmpl"),
+                    $blddir) ];
+
     my @build_infos = ( [ ".", "build.info" ] );
     foreach (@{$config{dirs}}) {
         push @build_infos, [ $_, "build.info" ]
@@ -2046,8 +2051,7 @@ print "RC4 uses $config{rc4_int}\n" if $config{rc4_int} ne $def_int;
 my %builders = (
     unified => sub {
         run_dofile(catfile($blddir, $target{build_file}),
-                   $config{build_file_template},
-                   catfile($srcdir, "Configurations", "common.tmpl"));
+                   @{$config{build_file_templates}});
     },
     );
 
@@ -2225,7 +2229,8 @@ sub read_config {
     close(CONFFILE);
     my %targets = ();
     {
-	local %table = %::table;    # Protect %table from tampering
+	# Protect certain tables from tampering
+	local %table = %::table;
 
 	eval $content;
 	warn $@ if $@;
@@ -2240,7 +2245,9 @@ sub read_config {
 		warn "Misconfigured target configuration for $_ (should be a hash table), ignoring...\n";
 	    }
 	    delete $targets{$_};
-	}
+	} else {
+            $targets{$_}->{_conf_fname_int} = add([ $fname ]);
+        }
     }
 
     %table = (%table, %targets);


More information about the openssl-commits mailing list