[v2] build: fix meson warning about using compiler warning flags

Message ID 20220121161230.1994909-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] build: fix meson warning about using compiler warning flags |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS

Commit Message

Bruce Richardson Jan. 21, 2022, 4:12 p.m. UTC
  Each build, meson would issue a warning reporting that the
"warning_level" setting should be used in place of adding -Wextra
directly to our build commands. Testing with meson 0.61 shows that the
only difference for gcc and clang builds between warning levels 1 and
2 is the addition of -Wextra, so we can remove the warning by deleting
our explicit set of Wextra and changing the build defaults to
warning_level 2.

Fixes: 524a0d5d66b9 ("build: enable extra warnings with meson")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
V2: fixed CI apply issues due to V1 being based on top of patch
    'build: fix warnings when running external commands'

NOTE1: Not putting CC stable for this patch, I don't believe it's worth
the risk of backporting.

NOTE2: For reference, when building a test "hello world" project with
different warning levels, the following flags are used by meson:

warning_level=0: <none>
warning_level=1: -Wall -Winvalid-pch
warning_level=2: -Wall -Winvalid-pch -Wextra
warning_level=3: -Wall -Winvalid-pch -Wextra -Wpedantic
---
 config/meson.build | 5 ++---
 meson.build        | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)
  

Patch

diff --git a/config/meson.build b/config/meson.build
index 805d5d51d0..cb236d9187 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -246,10 +246,9 @@  endif
 add_project_arguments('-include', 'rte_config.h', language: 'c')
 
 # enable extra warnings and disable any unwanted warnings
+# -Wall is added by default at warning level 1, and -Wextra
+# at warning level 2 (DPDK default)
 warning_flags = [
-        # -Wall is added by meson by default, so add -Wextra only
-        '-Wextra',
-
         # additional warnings in alphabetical order
         '-Wcast-qual',
         '-Wdeprecated',
diff --git a/meson.build b/meson.build
index 12cb6e0e83..0a844bce9e 100644
--- a/meson.build
+++ b/meson.build
@@ -7,7 +7,7 @@  project('DPDK', 'C',
         version: run_command(find_program('cat', 'more'),
             files('VERSION')).stdout().strip(),
         license: 'BSD',
-        default_options: ['buildtype=release', 'default_library=static'],
+        default_options: ['buildtype=release', 'default_library=static', 'warning_level=2'],
         meson_version: '>= 0.49.2'
 )