|
@@ -752,7 +752,11 @@ while (@argvcopy)
|
|
|
}
|
|
|
elsif (/^--strict-warnings$/)
|
|
|
{
|
|
|
- $strict_warnings = 1;
|
|
|
+ # Pretend that our strict flags is a C flag, and replace it
|
|
|
+ # with the proper flags later on
|
|
|
+ push @{$useradd{CFLAGS}}, '--ossl-strict-warnings';
|
|
|
+ push @{$useradd{CXXFLAGS}}, '--ossl-strict-warnings';
|
|
|
+ $strict_warnings=1;
|
|
|
}
|
|
|
elsif (/^--debug$/)
|
|
|
{
|
|
@@ -1503,6 +1507,7 @@ $config{openssl_api_defines} = [
|
|
|
"OPENSSL_MIN_API=".($apitable->{$config{api} // ""} // -1)
|
|
|
];
|
|
|
|
|
|
+my @strict_warnings_collection=();
|
|
|
if ($strict_warnings)
|
|
|
{
|
|
|
my $wopt;
|
|
@@ -1510,26 +1515,17 @@ if ($strict_warnings)
|
|
|
|
|
|
die "ERROR --strict-warnings requires gcc[>=4] or gcc-alike"
|
|
|
unless $gccver >= 4;
|
|
|
- foreach $wopt (split /\s+/, $gcc_devteam_warn)
|
|
|
- {
|
|
|
- push @{$config{cflags}}, $wopt
|
|
|
- unless grep { $_ eq $wopt } @{$config{cflags}};
|
|
|
- push @{$config{cxxflags}}, $wopt
|
|
|
- if ($config{CXX}
|
|
|
- && !grep { $_ eq $wopt } @{$config{cxxflags}});
|
|
|
- }
|
|
|
- if (defined($predefined{__clang__}))
|
|
|
- {
|
|
|
- foreach $wopt (split /\s+/, $clang_devteam_warn)
|
|
|
- {
|
|
|
- push @{$config{cflags}}, $wopt
|
|
|
- unless grep { $_ eq $wopt } @{$config{cflags}};
|
|
|
- push @{$config{cxxflags}}, $wopt
|
|
|
- if ($config{CXX}
|
|
|
- && !grep { $_ eq $wopt } @{$config{cxxflags}});
|
|
|
- }
|
|
|
- }
|
|
|
+ push @strict_warnings_collection, (split /\s+/, $gcc_devteam_warn);
|
|
|
+ push @strict_warnings_collection, (split /\s+/, $clang_devteam_warn)
|
|
|
+ if (defined($predefined{__clang__}));
|
|
|
}
|
|
|
+foreach (qw(CFLAGS CXXFLAGS))
|
|
|
+ {
|
|
|
+ $useradd{$_} = [ map { $_ eq '--ossl-strict-warnings'
|
|
|
+ ? @strict_warnings_collection
|
|
|
+ : ( $_ ) }
|
|
|
+ @{$useradd{$_}} ];
|
|
|
+ }
|
|
|
|
|
|
unless ($disabled{"crypto-mdebug-backtrace"})
|
|
|
{
|