[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Tue Jan 30 18:08:53 UTC 2018


The branch master has been updated
       via  26f0340d49138d489ffc9662dff827488a12142c (commit)
       via  63468812bdbee64bb3ca757c4692cb3cf2ace01e (commit)
      from  3faa07b5829d6616679adc5ac2dbf34f8bfcc8b4 (commit)


- Log -----------------------------------------------------------------
commit 26f0340d49138d489ffc9662dff827488a12142c
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jan 30 17:21:12 2018 +0100

    Configure: when checking user input, check both %user and %useradd
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5207)

commit 63468812bdbee64bb3ca757c4692cb3cf2ace01e
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jan 30 17:16:13 2018 +0100

    Configure: add configure command line C flags after the configured C flags
    
    Fixes #5203
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5207)

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

Summary of changes:
 Configure | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/Configure b/Configure
index 8410e42..b7ccbc5 100755
--- a/Configure
+++ b/Configure
@@ -1074,13 +1074,6 @@ foreach (keys %user) {
     $config{$target_key} =
         $mkvalue->($ref_type, $user{$_})
         || $mkvalue->($ref_type, $target{$target_key});
-    if (defined $useradd{$_} && @{$useradd{$_}}) {
-        if (defined $config{$target_key}) {
-            push @{$config{$target_key}}, @{$useradd{$_}};
-        } else {
-            $config{$target_key} = [ @{$useradd{$_}} ];
-        }
-    }
     delete $config{$target_key} unless defined $config{$target_key};
 }
 $config{plib_lflags} = [ $target{plib_lflags} ];
@@ -1088,9 +1081,6 @@ $config{plib_lflags} = [ $target{plib_lflags} ];
 # Allow overriding the build file name
 $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile";
 
-# ALL USE OF %useradd MUST BE DONE FROM HERE ON
-%useradd = undef;
-
 my %disabled_info = ();         # For configdata.pm
 foreach my $what (sort keys %disabled) {
     $config{options} .= " no-$what";
@@ -1164,7 +1154,8 @@ if ($target =~ /^mingw/ && `$config{cc} --target-help 2>&1` =~ m/-mno-cygwin/m)
 	}
 
 if ($target =~ /linux.*-mips/ && !$disabled{asm}
-        && !grep { $_ !~ /-m(ips|arch=)/ } @{$user{CFLAGS}}) {
+        && !grep { $_ !~ /-m(ips|arch=)/ } (@{$user{CFLAGS}},
+                                            @{$useradd{CFLAGS}}) {
 	# minimally required architecture flags for assembly modules
 	my $value;
 	$value = '-mips2' if ($target =~ /mips32/);
@@ -1212,7 +1203,8 @@ unless ($disabled{threads}) {
             # system-dependent compiler options that are necessary.  We
             # can't truly check that the given options are correct, but
             # we expect the user to know what [s]He is doing.
-            if (!@{$user{CFLAGS}} && !@{$user{CPPDEFINES}}) {
+            if (!@{$user{CFLAGS}} && !@{$useradd{CFLAGS}}
+                    && !@{$user{CPPDEFINES}} && !@{$useradd{CPPDEFINES}}) {
                 die "You asked for multi-threading support, but didn't\n"
                     ,"provide any system-specific compiler options\n";
             }
@@ -1492,6 +1484,22 @@ unless ($disabled{afalgeng}) {
 
 push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng});
 
+# Finish up %config by appending things the user gave us on the command line
+# apart from "make variables"
+foreach (keys %useradd) {
+    # The must all be lists, so we assert that here
+    die "internal error: \$useradd{$_} isn't an ARRAY\n"
+        unless ref $useradd{$_} eq 'ARRAY';
+
+    my $target_key = $user_to_target{$_} // lc $_;
+
+    if (defined $config{$target_key}) {
+        push @{$config{$target_key}}, @{$useradd{$_}};
+    } else {
+        $config{$target_key} = [ @{$useradd{$_}} ];
+    }
+}
+
 # ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON
 
 # If we use the unified build, collect information from build.info files


More information about the openssl-commits mailing list