summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-10-29 13:37:54 +0100
committerRichard Levitte <levitte@openssl.org>2019-11-05 22:51:12 +0100
commit53a5e9b561d0cc1c1c9a7ab9b0dbc91dd5e3623a (patch)
tree4cd644f11d5b4cfd5b9caf009694140d4d7cb850
parentf6483fc2db36fbfd622b6aff19d8ebfaa274c996 (diff)
Configure: Make --strict-warnings meaningful with MSVC cl
We also add this to our x86_64 builds on appveyor (cherry picked from commit b4a7b4ec4acc712b1f22a83966ac986b510f25d8) Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10365)
-rw-r--r--Configurations/10-main.conf1
-rwxr-xr-xConfigure23
-rw-r--r--appveyor.yml2
3 files changed, 19 insertions, 7 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 97be7b95a9..fc04f8e661 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -1313,7 +1313,6 @@ my %targets = (
"VC-WIN32" => {
inherit_from => [ "VC-noCE-common", asm("x86_asm"),
sub { $disabled{shared} ? () : "uplink_common" } ],
- CFLAGS => add("/WX"),
AS => sub { vc_win32_info()->{AS} },
ASFLAGS => sub { vc_win32_info()->{ASFLAGS} },
asoutflag => sub { vc_win32_info()->{asoutflag} },
diff --git a/Configure b/Configure
index 59313117f0..a6aae00fd4 100755
--- a/Configure
+++ b/Configure
@@ -160,6 +160,10 @@ my @clang_devteam_warn = qw(
-Wmissing-variable-declarations
);
+my @cl_devteam_warn = qw(
+ /WX
+);
+
# This adds backtrace information to the memory leak info. Is only used
# when crypto-mdebug-backtrace is enabled.
my $memleak_devteam_backtrace = "-rdynamic";
@@ -1523,11 +1527,20 @@ if ($strict_warnings)
my $wopt;
my $gccver = $predefined_C{__GNUC__} // -1;
- warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike"
- unless $gccver >= 4;
- push @strict_warnings_collection, @gcc_devteam_warn;
- push @strict_warnings_collection, @clang_devteam_warn
- if (defined($predefined_C{__clang__}));
+ if ($gccver >= 4)
+ {
+ push @strict_warnings_collection, @gcc_devteam_warn;
+ push @strict_warnings_collection, @clang_devteam_warn
+ if (defined($predefined_C{__clang__}));
+ }
+ elsif ($config{target} =~ /^VC-/)
+ {
+ push @strict_warnings_collection, @cl_devteam_warn;
+ }
+ else
+ {
+ warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC"
+ }
}
if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) {
diff --git a/appveyor.yml b/appveyor.yml
index f17fea5ce2..84099e1f13 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -16,7 +16,7 @@ before_build:
- ps: >-
If ($env:Platform -Match "x86") {
$env:VCVARS_PLATFORM="x86"
- $env:TARGET="VC-WIN32 no-asm"
+ $env:TARGET="VC-WIN32 no-asm --strict-warnings"
} Else {
$env:VCVARS_PLATFORM="amd64"
$env:TARGET="VC-WIN64A-masm"