X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=Configure;h=65fcea067f53d83d378f07cae87c2e4ffe730013;hb=4b8515baa6edef1a771f9e4e3fbc0395b4a629e8;hp=c699ae051b4af3af1e503e3cf12ccbded13e3224;hpb=331058180aba047ac6b25da781eebc08b7267d2f;p=openssl.git diff --git a/Configure b/Configure index c699ae051b..65fcea067f 100755 --- a/Configure +++ b/Configure @@ -61,8 +61,7 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # library and will be loaded in run-time by the OpenSSL library. # sctp include SCTP support # enable-weak-ssl-ciphers -# Enable weak ciphers that are disabled by default. This currently -# only includes RC4 based ciphers. +# Enable weak ciphers that are disabled by default. # 386 generate 80386 code in assembly modules # no-sse2 disables IA-32 SSE2 code in assembly modules, the above # mentioned '386' option implies this one @@ -119,6 +118,9 @@ my $gcc_devteam_warn = "-DDEBUG_UNUSED" . " -Wswitch" . " -DPEDANTIC -pedantic -Wno-long-long" . " -Wall" + . " -Wextra" + . " -Wno-unused-parameter" + . " -Wno-missing-field-initializers" . " -Wsign-compare" . " -Wmissing-prototypes" . " -Wshadow" @@ -138,17 +140,13 @@ my $gcc_devteam_warn = "-DDEBUG_UNUSED" # -Wextended-offsetof -- no, needed in CMS ASN1 code my $clang_devteam_warn = "" . " -Qunused-arguments" - . " -Wextra" - . " -Wswitch -Wswitch-default" - . " -Wno-unused-parameter" + . " -Wswitch-default" . " -Wno-parentheses-equality" - . " -Wno-missing-field-initializers" . " -Wno-language-extension-token" . " -Wno-extended-offsetof" . " -Wconditional-uninitialized" . " -Wincompatible-pointer-types-discards-qualifiers" . " -Wmissing-variable-declarations" - . " -Wundef" ; # This adds backtrace information to the memory leak info. Is only used @@ -294,9 +292,6 @@ if (defined $ENV{$local_config_envname}) { } } - -print "Configuring OpenSSL version $config{version} ($config{version_num})\n"; - $config{prefix}=""; $config{openssldir}=""; $config{processor}=""; @@ -854,11 +849,52 @@ if ($target eq "HASH") { exit 0; } +print "Configuring OpenSSL version $config{version} ($config{version_num})\n"; +print "for $target\n"; + # Backward compatibility? if ($target =~ m/^CygWin32(-.*)$/) { $target = "Cygwin".$1; } +# Support for legacy targets having a name starting with 'debug-' +my ($d, $t) = $target =~ m/^(debug-)?(.*)$/; +if ($d) { + $config{build_type} = "debug"; + + # If we do not find debug-foo in the table, the target is set to foo. + if (!$table{$target}) { + $target = $t; + } +} +$config{target} = $target; +my %target = resolve_config($target); + +&usage if (!%target || $target{template}); + +my %conf_files = map { $_ => 1 } (@{$target{_conf_fname_int}}); +$config{conf_files} = [ sort keys %conf_files ]; +%target = ( %{$table{DEFAULTS}}, %target ); + +foreach my $feature (@{$target{disable}}) { + if (exists $deprecated_disablables{$feature}) { + warn "***** config $target disables deprecated feature $feature\n"; + } elsif (!grep { $feature eq $_ } @disablables) { + die "***** config $target disables unknown feature $feature\n"; + } + $disabled{$feature} = 'config'; +} +foreach my $feature (@{$target{enable}}) { + if ("default" eq ($disabled{$_} // "")) { + if (exists $deprecated_disablables{$feature}) { + warn "***** config $target enables deprecated feature $feature\n"; + } elsif (!grep { $feature eq $_ } @disablables) { + die "***** config $target enables unknown feature $feature\n"; + } + delete $disabled{$_}; + } +} + foreach (sort (keys %disabled)) { $config{options} .= " no-$_"; @@ -923,26 +959,6 @@ foreach (sort (keys %disabled)) print "\n"; } -print "Configuring for $target\n"; -# Support for legacy targets having a name starting with 'debug-' -my ($d, $t) = $target =~ m/^(debug-)?(.*)$/; -if ($d) { - $config{build_type} = "debug"; - - # If we do not find debug-foo in the table, the target is set to foo. - if (!$table{$target}) { - $target = $t; - } -} -$config{target} = $target; -my %target = resolve_config($target); - -&usage if (!%target || $target{template}); - -my %conf_files = map { $_ => 1 } (@{$target{_conf_fname_int}}); -$config{conf_files} = [ sort keys %conf_files ]; -%target = ( %{$table{DEFAULTS}}, %target ); - $target{cxxflags}=$target{cflags} unless defined $target{cxxflags}; $target{exe_extension}=""; $target{exe_extension}=".exe" if ($config{target} eq "DJGPP"