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