[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Thu Feb 22 15:43:13 UTC 2018


The branch master has been updated
       via  a1b6933ea4def7ce9333fd64ef7d6083aa306c2a (commit)
       via  820e414d2830f2a28cd6daf49251f52f75046f2f (commit)
       via  047f0292d56b47f097236b879ab623f1663894b8 (commit)
       via  f729ba5537fe0733764b7eaa6f73f6e5f7f9b666 (commit)
       via  8590b1f38d2f0278a730d5a7d077d24eb292e48f (commit)
       via  5f2e18bc3e8a85fe4ea2d0c892b7399c797c7cd0 (commit)
       via  d5fa7035cbe7f7f4cb6d69a3b7f8680fde5008f0 (commit)
      from  60595292ae83b112a1854a59379a51f210c04b6c (commit)


- Log -----------------------------------------------------------------
commit a1b6933ea4def7ce9333fd64ef7d6083aa306c2a
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 20:33:13 2018 +0100

    Build file templates: be less verbose when reconfiguring
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 820e414d2830f2a28cd6daf49251f52f75046f2f
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 12:30:50 2018 +0100

    Replace the message about configdata.pm as a script
    
    The new message is geared toward issue reports
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 047f0292d56b47f097236b879ab623f1663894b8
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 12:30:14 2018 +0100

    Add a comment in configdata.pm regarding script-only variables
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit f729ba5537fe0733764b7eaa6f73f6e5f7f9b666
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 12:27:29 2018 +0100

    Make CROSS_COMPILE another supported "make variable" in Configure
    
    No more special casing for that one, and this means it gets displayed
    by 'perl configdata.pm --make-variables' among all the others.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 8590b1f38d2f0278a730d5a7d077d24eb292e48f
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 12:25:26 2018 +0100

    Unix Makefile: Rework the assignment of CXX and AS
    
    If the configured value is the empty string, give them a sane default.
    Otherwise, give them the configured value prefix with $(CROSS_COMPILE)
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 5f2e18bc3e8a85fe4ea2d0c892b7399c797c7cd0
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 12:23:09 2018 +0100

    Refactor the ranlib attribute
    
    It was inconsistent to see this specific command have
    '$(CROSS_COMPILE)' in its value when no other command did.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit d5fa7035cbe7f7f4cb6d69a3b7f8680fde5008f0
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Feb 2 12:21:27 2018 +0100

    Have configdata.pm display information on perl
    
    Specifically, the specific perl that was used to run Configure
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

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

Summary of changes:
 Configurations/00-base-templates.conf |  8 ++---
 Configurations/descrip.mms.tmpl       |  4 +--
 Configurations/unix-Makefile.tmpl     | 10 +++---
 Configurations/windows-makefile.tmpl  |  4 +--
 Configure                             | 64 +++++++++++++++++++++--------------
 5 files changed, 52 insertions(+), 38 deletions(-)

diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf
index 99c271e..0350997 100644
--- a/Configurations/00-base-templates.conf
+++ b/Configurations/00-base-templates.conf
@@ -50,8 +50,8 @@ my %targets=(
 	arflags		=> "r",
 	cc		=> "cc",
 	hashbangperl	=> "/usr/bin/env perl",
-	ranlib		=> sub { which("$config{cross_compile_prefix}ranlib") ?
-				     "\$(CROSS_COMPILE)ranlib" : "true"; },
+	ranlib		=> sub { which("$config{cross_compile_prefix}ranlib")
+                                     ? "ranlib" : "" },
 	rc		=> "windres",
 
 	#### THESE WILL BE ENABLED IN OpenSSL 1.2
@@ -94,8 +94,8 @@ my %targets=(
                   && defined($disabled{"zlib-dynamic"})
                   ? "-lz" : () },
         hashbangperl    => "/usr/bin/env perl", # Only Unix actually cares
-        ranlib          => sub { which("$config{cross_compile_prefix}ranlib") ?
-                                     "\$(CROSS_COMPILE)ranlib" : "true"; },
+        ranlib          => sub { which("$config{cross_compile_prefix}ranlib")
+                                     ? "ranlib" : "" },
         rc              => "windres",
 
         build_scheme    => [ "unified", "unix" ],
diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl
index ab2485a..72bae8b 100644
--- a/Configurations/descrip.mms.tmpl
+++ b/Configurations/descrip.mms.tmpl
@@ -558,7 +558,7 @@ debug_logicals :
 # Building targets ###################################################
 
 configdata.pm : $(SRCDIR)Configure $(SRCDIR)config.com {- join(" ", @{$config{build_file_templates}}, @{$config{build_infos}}, @{$config{conf_files}}) -}
-        perl configdata.pm -r -v
+        perl configdata.pm -r
         @ WRITE SYS$OUTPUT "*************************************************"
         @ WRITE SYS$OUTPUT "***                                           ***"
         @ WRITE SYS$OUTPUT "***   Please run the same mms command again   ***"
@@ -567,7 +567,7 @@ configdata.pm : $(SRCDIR)Configure $(SRCDIR)config.com {- join(" ", @{$config{bu
         @ PIPE ( EXIT %X10000000 )
 
 reconfigure reconf :
-	perl configdata.pm -r -v
+	perl configdata.pm -r
 
 {-
   use File::Basename;
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 1f214a2..b3edd66 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -191,7 +191,7 @@ CPPFLAGS={- our $cppflags = join(" ",
 CPPFLAGS_Q={- $cppflags =~ s|([\\"])|\\$1|g; $cppflags -}
 CC= $(CROSS_COMPILE){- $config{cc} -}
 CFLAGS={- join(' ', @{$config{cflags}}) -}
-CXX= $(CROSS_COMPILE){- $config{cxx} -}
+CXX={- $config{cxx} ? "\$(CROSS_COMPILE)$config{cxx}" : '' -}
 CXXFLAGS={- join(' ', @{$config{cxxflags}}) -}
 LDFLAGS= {- join(' ', @{$config{lflags}}) -}
 PLIB_LDFLAGS= {- join(' ', @{$config{plib_lflags}}) -}
@@ -218,7 +218,7 @@ PERL={- $config{perl} -}
 
 AR=$(CROSS_COMPILE){- $config{ar} -}
 ARFLAGS= {- join(' ', @{$config{arflags}}) -}
-RANLIB= {- $config{ranlib} -}
+RANLIB={- $config{ranlib} ? "\$(CROSS_COMPILE)$config{ranlib}" : "true"; -}
 RC= $(CROSS_COMPILE){- $target{rc} || "windres" -}
 RCFLAGS={- join(' ', @{$config{rcflags}}) -} {- $target{shared_rcflag} -}
 RM= rm -f
@@ -236,7 +236,7 @@ TARFILE=        ../$(NAME).tar
 # dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
 # gcc, then the driver will automatically translate it to -xarch=v8plus
 # and pass it down to assembler.
-AS={- $config{as} || '$(CC) -c' -}
+AS={- $config{as} ? "\$(CROSS_COMPILE)$config{as}" : '$(CC) -c' -}
 ASFLAGS={- join(' ', @{$config{asflags}}) || '$(CFLAGS)' -}
 PERLASM_SCHEME= {- $target{perlasm_scheme} -}
 
@@ -787,7 +787,7 @@ openssl.pc:
 
 configdata.pm: $(SRCDIR)/Configure $(SRCDIR)/config {- join(" ", @{$config{build_file_templates}}, @{$config{build_infos}}, @{$config{conf_files}}) -}
 	@echo "Detected changed: $?"
-	$(PERL) configdata.pm -r -v
+	$(PERL) configdata.pm -r
 	@echo "**************************************************"
 	@echo "***                                            ***"
 	@echo "***   Please run the same make command again   ***"
@@ -796,7 +796,7 @@ configdata.pm: $(SRCDIR)/Configure $(SRCDIR)/config {- join(" ", @{$config{build
 	@false
 
 reconfigure reconf:
-	$(PERL) configdata.pm -r -v
+	$(PERL) configdata.pm -r
 
 {-
   use File::Basename;
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
index ab557b8..3e8348e 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -372,7 +372,7 @@ uninstall_html_docs:
 
 configdata.pm: "$(SRCDIR)\Configure" {- join(" ", map { '"'.$_.'"' } @{$config{build_file_templates}}, @{$config{build_infos}}, @{$config{conf_files}}) -}
 	@echo "Detected changed: $?"
-	"$(PERL)" configdata.pm -r -v
+	"$(PERL)" configdata.pm -r
 	@echo "**************************************************"
 	@echo "***                                            ***"
 	@echo "***   Please run the same make command again   ***"
@@ -381,7 +381,7 @@ configdata.pm: "$(SRCDIR)\Configure" {- join(" ", map { '"'.$_.'"' } @{$config{b
 	@exit 1
 
 reconfigure reconf:
-	"$(PERL)" configdata.pm -r -v
+	"$(PERL)" configdata.pm -r
 
 {-
  use File::Basename;
diff --git a/Configure b/Configure
index 05618ed..3c40a0e 100755
--- a/Configure
+++ b/Configure
@@ -278,11 +278,15 @@ if (defined env($local_config_envname)) {
     }
 }
 
+# Save away perl command information
+$config{perl_cmd} = $^X;
+$config{perl_version} = $Config{version};
+$config{perl_archname} = $Config{archname};
+
 $config{prefix}="";
 $config{openssldir}="";
 $config{processor}="";
 $config{libdir}="";
-$config{cross_compile_prefix}="";
 my $auto_threads=1;    # enable threads automatically? true by default
 my $default_ranlib;
 
@@ -532,6 +536,7 @@ my %user = (
     CPPFLAGS    => [],  # -D, -I, -Wp,
     CPPDEFINES  => [],  # Alternative for -D
     CPPINCLUDES => [],  # Alternative for -I
+    CROSS_COMPILE => undef,
     HASHBANGPERL=> undef,
     LD          => undef,
     LDFLAGS     => [],  # -L, -Wl,
@@ -543,6 +548,9 @@ my %user = (
     RCFLAGS     => [],
     RM          => undef,
    );
+# Info about what "make variables" may be prefixed with the cross compiler
+# prefix.  This should NEVER mention any such variable with a list for value.
+my @user_crossable = qw ( AR AS CC CXX CPP LD MT RANLIB RC );
 # The same but for flags given as Configure options.  These are *additional*
 # input, as opposed to the VAR=string option that override the corresponding
 # config target attributes
@@ -564,6 +572,7 @@ my %user_to_target = (
     # If not given here, the value is the lc of the key
     CPPDEFINES  => 'defines',
     CPPINCLUDES => 'includes',
+    CROSS_COMPILE => 'cross_compile_prefix',
     LDFLAGS     => 'lflags',
     LDLIBS      => 'ex_libs',
    );
@@ -779,7 +788,7 @@ while (@argvcopy)
                         }
 		elsif (/^--cross-compile-prefix=(.*)$/)
 			{
-			$config{cross_compile_prefix}=$1;
+			$user{CROSS_COMPILE}=$1;
 			}
 		elsif (/^--config=(.*)$/)
 			{
@@ -1034,10 +1043,6 @@ $target{dso_extension}=$target{shared_extension_simple};
 ($target{shared_import_extension}=$target{shared_extension_simple}.".a")
     if ($config{target} =~ /^(?:Cygwin|mingw)/);
 
-
-$config{cross_compile_prefix} = env('CROSS_COMPILE')
-    if $config{cross_compile_prefix} eq "";
-
 # Allow overriding the names of some tools.  USE WITH CARE
 # Note: only Unix cares about HASHBANGPERL...  that explains
 # the default string.
@@ -2299,6 +2304,8 @@ if ($builder eq "unified") {
 
 EOF
 }
+print OUT
+    "# The following data is only used when this files is use as a script\n";
 print OUT "my \%makevars = (\n";
 foreach (sort keys %user) {
     print OUT '    ',$_,' ' x (20 - length $_),'=> ',
@@ -2321,6 +2328,7 @@ foreach my $what (sort keys %disabled_info) {
     print OUT "    },\n";
 }
 print OUT ");\n";
+print OUT 'my @user_crossable = qw( ', join (' ', @user_crossable), " );\n";
 print OUT << 'EOF';
 # If run directly, we can give some answers, and even reconfigure
 unless (caller) {
@@ -2373,12 +2381,14 @@ _____
                   -verbose => 2);
     }
     if ($dump || $cmdline) {
-        print "\n(with current working directory = $here)";
-        print "\nCommand line:\n\n";
+        print "\nCommand line (with current working directory = $here):\n\n";
         print '    ',join(' ',
                           $config{perl},
                           catfile($config{sourcedir}, 'Configure'),
                           @{$config{perlargv}}), "\n";
+        print "\nPerl information:\n\n";
+        print '    ',$config{perl_cmd},"\n";
+        print '    ',$config{perl_version},' for ',$config{perl_archname},"\n";
     }
     if ($dump || $options) {
         my $longest = 0;
@@ -2430,13 +2440,16 @@ _____
     }
     if ($dump || $makevars) {
         print "\nMakevars:\n\n";
-        foreach (sort keys %makevars) {
-            print '    ',$_,' ' x (16 - length $_),'= ',
-                (ref $config{$makevars{$_}} eq 'ARRAY'
-                 ? join(' ', @{$config{$makevars{$_}}})
-                 : $config{$makevars{$_}}),
+        foreach my $var (sort keys %makevars) {
+            my $prefix = '';
+            $prefix = $config{cross_compile_prefix}
+                if grep { $var eq $_ } @user_crossable;
+            print '    ',$var,' ' x (16 - length $var),'= ',
+                (ref $config{$makevars{$var}} eq 'ARRAY'
+                 ? join(' ', @{$config{$makevars{$var}}})
+                 : $prefix.$config{$makevars{$var}}),
                 "\n"
-                if defined $config{$makevars{$_}};
+                if defined $config{$makevars{$var}};
         }
 
         my @buildfile = ($config{builddir}, $config{build_file});
@@ -2590,17 +2603,6 @@ my %builders = (
 
 $builders{$builder}->($builder_platform, @builder_opts);
 
-# Show a note on the use of configdata.pm, but ONLY for release 1.1.1
-# (i.e. this message disappears with the following update, 1.1.1a)
-print <<"EOF" if ($config{version_num} =~ m|^0x1010100.L$|);
-
-NOTE: Starting with OpenSSL 1.1.1, 'Configure' doesn't display all the disabled
-options or the "make variables" with their values.  Instead, you must use
-'configdata.pm' as a script to get a display of the configuration data.  For
-help, please do this:
-
-        perl configdata.pm --help
-EOF
 print <<"EOF" if ($disabled{threads} eq "unavailable");
 
 The library could not be configured for supporting multi-threaded
@@ -2625,6 +2627,18 @@ safest course of action is to clean the source directory and redo this
 configuration.
 EOF
 
+print <<"EOF";
+
+**********************************************************************
+***                                                                ***
+***   If you want to report a building issue, please include the   ***
+***   output from this command:                                    ***
+***                                                                ***
+***     perl configdata.pm --dump                                  ***
+***                                                                ***
+**********************************************************************
+EOF
+
 exit(0);
 
 ######################################################################


More information about the openssl-commits mailing list