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 <levi...@openssl.org>
Date:   Fri Feb 2 20:33:13 2018 +0100

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

commit 820e414d2830f2a28cd6daf49251f52f75046f2f
Author: Richard Levitte <levi...@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 <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 047f0292d56b47f097236b879ab623f1663894b8
Author: Richard Levitte <levi...@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 <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit f729ba5537fe0733764b7eaa6f73f6e5f7f9b666
Author: Richard Levitte <levi...@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 <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 8590b1f38d2f0278a730d5a7d077d24eb292e48f
Author: Richard Levitte <levi...@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 <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit 5f2e18bc3e8a85fe4ea2d0c892b7399c797c7cd0
Author: Richard Levitte <levi...@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 <rs...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5247)

commit d5fa7035cbe7f7f4cb6d69a3b7f8680fde5008f0
Author: Richard Levitte <levi...@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 <rs...@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);
 
 ######################################################################
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to