X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Configure;h=0cc554f652e14775932ca53cb7c22ae51503c528;hp=a99487662c811b8d6b54a7c2bab6e4504574a523;hb=62930b2ecf6ce308fd2ae9ee3e34ace8ba698aac;hpb=67c836e860c735cf1b039ef52973237fd26b74d6 diff --git a/Configure b/Configure index a99487662c..0cc554f652 100755 --- a/Configure +++ b/Configure @@ -435,8 +435,6 @@ our %disabled = ( # "what" => "comment" "ssl3" => "default", "ssl3-method" => "default", "ubsan" => "default", - #TODO(TLS1.3): Temporarily disabled while this is a WIP - "tls1_3" => "default", "tls13downgrade" => "default", "unit-test" => "default", "weak-ssl-ciphers" => "default", @@ -888,17 +886,6 @@ if (grep { $_ =~ /(^|\s)-Wl,-rpath,/ } ($user{LDLIBS} ? @{$user{LDLIBS}} : ()) "***** any of asan, msan or ubsan\n"; } -if (scalar(@seed_sources) == 0) { - print "Using implicit seed configuration\n"; - push @seed_sources, 'os'; -} -die "Cannot seed with none and anything else" - if scalar(grep { $_ eq 'none' } @seed_sources) > 0 - && scalar(@seed_sources) > 1; -push @{$config{openssl_other_defines}}, - map { (my $x = $_) =~ tr|[\-a-z]|[_A-Z]|; "OPENSSL_RAND_SEED_$x" } - @seed_sources; - my @tocheckfor = (keys %disabled); while (@tocheckfor) { my %new_tocheckfor = (); @@ -942,6 +929,17 @@ if ($target eq "HASH") { print "Configuring OpenSSL version $config{version} ($config{version_num}) "; print "for $target\n"; +if (scalar(@seed_sources) == 0) { + print "Using os-specific seed configuration\n"; + push @seed_sources, 'os'; +} +die "Cannot seed with none and anything else" + if scalar(grep { $_ eq 'none' } @seed_sources) > 0 + && scalar(@seed_sources) > 1; +push @{$config{openssl_other_defines}}, + map { (my $x = $_) =~ tr|[\-a-z]|[_A-Z]|; "OPENSSL_RAND_SEED_$x" } + @seed_sources; + # Backward compatibility? if ($target =~ m/^CygWin32(-.*)$/) { $target = "Cygwin".$1; @@ -1292,6 +1290,8 @@ if ($target{sys_id} ne "") unless ($disabled{asm}) { $target{cpuid_asm_src}=$table{DEFAULTS}->{cpuid_asm_src} if ($config{processor} eq "386"); + push @{$config{defines}}, "OPENSSL_CPUID_OBJ" if ($target{cpuid_asm_src} ne "mem_clr.c"); + $target{bn_asm_src} =~ s/\w+-gf2m.c// if (defined($disabled{ec2m})); # bn-586 is the only one implementing bn_*_part_words @@ -1929,7 +1929,7 @@ EOF # If it isn't in the source tree, we assume it's generated # in the build tree - if (! -f $s) { + if (! -f $s || $generate{$_}) { $s = cleanfile($buildd, $_, $blddir); } # We recognise C++, C and asm files @@ -1957,7 +1957,7 @@ EOF # If it isn't in the source tree, we assume it's generated # in the build tree - if (! -f $s) { + if (! -f $s || $generate{$_}) { $s = cleanfile($buildd, $_, $blddir); } @@ -2331,6 +2331,7 @@ unless (caller) { my $dump = undef; my $cmdline = undef; my $options = undef; + my $target = undef; my $envvars = undef; my $makevars = undef; my $buildparams = undef; @@ -2341,6 +2342,7 @@ unless (caller) { GetOptions('dump|d' => \$dump, 'command-line|c' => \$cmdline, 'options|o' => \$options, + 'target|t' => \$target, 'environment|e' => \$envvars, 'make-variables|m' => \$makevars, 'build-parameters|b' => \$buildparams, @@ -2350,7 +2352,7 @@ unless (caller) { 'man' => \$man) or die "Errors in command line arguments\n"; - unless ($dump || $cmdline || $options || $envvars || $makevars + unless ($dump || $cmdline || $options || $target || $envvars || $makevars || $buildparams || $reconf || $verbose || $help || $man) { print STDERR <<"_____"; You must give at least one option. @@ -2377,8 +2379,11 @@ _____ } if ($dump || $options) { my $longest = 0; + my $longest2 = 0; foreach my $what (@disablables) { $longest = length($what) if $longest < length($what); + $longest2 = length($disabled{$what}) + if $disabled{$what} && $longest2 < length($disabled{$what}); } print "\nEnabled features:\n\n"; foreach my $what (@disablables) { @@ -2388,7 +2393,7 @@ _____ foreach my $what (@disablables) { if ($disabled{$what}) { print " $what", ' ' x ($longest - length($what) + 1), - "[$disabled{$what}]", ' ' x (10 - length($disabled{$what})); + "[$disabled{$what}]", ' ' x ($longest2 - length($disabled{$what}) + 1); print $disabled_info{$what}->{macro} if $disabled_info{$what}->{macro}; print ' (skip ', @@ -2399,6 +2404,21 @@ _____ } } } + if ($dump || $target) { + print "\nConfig target attributes:\n\n"; + foreach (sort keys %target) { + next if $_ =~ m|^_| || $_ eq 'template'; + my $quotify = sub { + map { (my $x = $_) =~ s|([\\\$\@"])|\\$1|g; "\"$x\""} @_; + }; + print ' ', $_, ' => '; + if (ref($target{$_}) eq "ARRAY") { + print '[ ', join(', ', $quotify->(@{$target{$_}})), " ],\n"; + } else { + print $quotify->($target{$_}), ",\n" + } + } + } if ($dump || $envvars) { print "\nRecorded environment:\n\n"; foreach (sort keys %{$config{perlenv}}) { @@ -2509,7 +2529,8 @@ Print the manual page and exit. =item B<--dump> | B<-d> Print all relevant configuration data. This is equivalent to B<--command-line> -B<--options> B<--environment> B<--make-variables> B<--build-parameters>. +B<--options> B<--target> B<--environment> B<--make-variables> +B<--build-parameters>. =item B<--command-line> | B<-c> @@ -2520,6 +2541,10 @@ Print the current configuration command line. Print the features, both enabled and disabled, and display defined macro and skipped directories where applicable. +=item B<--target> | B<-t> + +Print the config attributes for this config target. + =item B<--environment> | B<-e> Print the environment variables and their values at the time of configuration.