|
|
|
@ -112,7 +112,15 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta
|
|
|
|
|
|
|
|
|
|
my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Wtype-limits -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DDEBUG_UNUSED";
|
|
|
|
|
|
|
|
|
|
my $clang_disabled_warnings = "-Wno-unused-parameter -Wno-missing-field-initializers -Wno-language-extension-token -Wno-extended-offsetof";
|
|
|
|
|
# These are used in addition to $gcc_devteam_warn when the compiler is clang.
|
|
|
|
|
# TODO(openssl-team): fix problems and investigate if (at least) the
|
|
|
|
|
# following warnings can also be enabled: -Wconditional-uninitialized,
|
|
|
|
|
# -Wswitch-enum, -Wunused-macros, -Wmissing-field-initializers,
|
|
|
|
|
# -Wmissing-variable-declarations,
|
|
|
|
|
# -Wincompatible-pointer-types-discards-qualifiers, -Wcast-align,
|
|
|
|
|
# -Wunreachable-code -Wunused-parameter -Wlanguage-extension-token
|
|
|
|
|
# -Wextended-offsetof
|
|
|
|
|
my $clang_devteam_warn = "-Wno-unused-parameter -Wno-missing-field-initializers -Wno-language-extension-token -Wno-extended-offsetof";
|
|
|
|
|
|
|
|
|
|
my $strict_warnings = 0;
|
|
|
|
|
|
|
|
|
@ -1726,12 +1734,21 @@ if ($shlib_version_number =~ /(^[0-9]*)\.([0-9\.]*)/)
|
|
|
|
|
|
|
|
|
|
if ($strict_warnings)
|
|
|
|
|
{
|
|
|
|
|
my $ecc = $cc;
|
|
|
|
|
$ecc = "clang" if `$cc --version 2>&1` =~ /clang/;
|
|
|
|
|
my $wopt;
|
|
|
|
|
die "ERROR --strict-warnings requires gcc or clang" unless ($cc =~ /gcc$/ or $cc =~ /clang$/);
|
|
|
|
|
die "ERROR --strict-warnings requires gcc or clang" unless ($ecc =~ /gcc$/ or $ecc =~ /clang$/);
|
|
|
|
|
foreach $wopt (split /\s+/, $gcc_devteam_warn)
|
|
|
|
|
{
|
|
|
|
|
$cflags .= " $wopt" unless ($cflags =~ /$wopt/)
|
|
|
|
|
}
|
|
|
|
|
if ($ecc eq "clang")
|
|
|
|
|
{
|
|
|
|
|
foreach $wopt (split /\s+/, $clang_devteam_warn)
|
|
|
|
|
{
|
|
|
|
|
$cflags .= " $wopt" unless ($cflags =~ /$wopt/)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
open(IN,"<Makefile.org") || die "unable to read Makefile.org:$!\n";
|
|
|
|
|