From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5C3CBA04A8; Mon, 24 Jan 2022 15:08:28 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E417440E0F; Mon, 24 Jan 2022 15:08:27 +0100 (CET) Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) by mails.dpdk.org (Postfix) with ESMTP id 6709640040 for ; Mon, 24 Jan 2022 15:08:27 +0100 (CET) Received: by mail-il1-f169.google.com with SMTP id v17so13958135ilg.4 for ; Mon, 24 Jan 2022 06:08:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SlLnLaLJ/tLtUgVgeYbHnNKPdKfE7cgyMRhxMyZc2Vs=; b=M9viL2h/vgYo0i6ubH7i23jJwi0HMT5QaYQ3ZHTNCtDybXb5v6F/VGvgwV7PaQ7f0i GOXCZ169rbcMzJ4sv2KBiTOMTZbTmCZSUkMiLnuXgsYTb8uKzDXIeu9y1GtH6vncO0lZ mkx8B+Ts6/1HWbk5n5xCnEiQ1Sa8rPZOOwIIM3xJi8MSKXpWneK8SlYNhsqAxlwVEzKE ZWbYCseRU3VbeI9LfT2qy05e5iAhjb7WW/v5oGP0p/km46N0qDLizQOkDKrf22Md6VYv t/d755v2HdeUwteFgcHmLkEoi8aRen11+MeoPuplNMKqGVEeCowb6ZxtM61XJqfVqb/G EU+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SlLnLaLJ/tLtUgVgeYbHnNKPdKfE7cgyMRhxMyZc2Vs=; b=jcDu2/m4fHmz+Cqqg01OyMEnCWI59Mziu4ojtCPHq4XUI/DalzQs63FFt1wj0xWocB PG3wPAvhAY+K+XBA8+BkXRGqn0IXH9QGiX1NXG+qrnmAw7USerTB2aN+89bPbFou37Pn NOjkezf4/uXoEy4WBOScVq8gTVeJn+UnJZoRMk3l79l3q7HXoa2fgfURuxTjM1tRdPC5 3vFr73cZuR0hSDUcQJo9wQsBqUqLOAGHKZajOB4RP1XHS5/h2CuLvjo0+ee21WnpnkYY BWIeg/JN/RZM5JhTWIvNZLPpnhgGoittXJwmQYfk06+Voo5PBr98sxVEJpZ98rEeThyr Th6A== X-Gm-Message-State: AOAM532LyRmDYIi+F3SRkNAknzAx9eadSDYGrh2dSi/BIUTCGuZRHIMv EYirqtZu6PqAn+BedBzoY0Cua6DxrOr8NuBziII= X-Google-Smtp-Source: ABdhPJwTEe0rTWD2WWYyR0lGEu0ksDMfP3q8Dp+++X5YOfkcVJcdzlF7Uh6gbFwbHAjUi/NuRU4c1aCzzIZToqN0Nzw= X-Received: by 2002:a05:6e02:5d2:: with SMTP id l18mr8936093ils.294.1643033306349; Mon, 24 Jan 2022 06:08:26 -0800 (PST) MIME-Version: 1.0 References: <20220120180639.808436-1-bruce.richardson@intel.com> In-Reply-To: <20220120180639.808436-1-bruce.richardson@intel.com> From: Jerin Jacob Date: Mon, 24 Jan 2022 19:38:00 +0530 Message-ID: Subject: Re: [PATCH v2] build: fix warnings when running external commands To: Bruce Richardson Cc: dpdk-dev Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, Jan 20, 2022 at 11:37 PM Bruce Richardson wrote: > > Meson 0.61.1 is giving warnings that the calls to run_command do not > always explicitly specify if the result is to be checked or not, i.e. > there is a missing "check" parameter. This is because the default > behaviour without the parameter is due to change in the future. > > We can fix these warnings by explicitly adding into each call whether > the result should be checked by meson or not. This patch therefore > adds in "check: false" to each run_command call where the result is > being checked by the DPDK meson.build code afterwards, and adds in > "check: true" to any calls where the result is currently unchecked. > > Bugzilla-id: 921 > > Reported-by: Jerin Jacob > Signed-off-by: Bruce Richardson Tested-by: Jerin Jacob > > --- > V2: fix build errors in KNI module > --- > app/test/meson.build | 2 +- > buildtools/meson.build | 2 +- > config/arm/meson.build | 2 +- > config/meson.build | 5 +++-- > config/x86/meson.build | 2 +- > drivers/common/mlx5/linux/meson.build | 2 +- > drivers/common/mlx5/windows/meson.build | 4 ++-- > drivers/net/mlx4/meson.build | 2 +- > kernel/linux/kni/meson.build | 2 +- > kernel/linux/meson.build | 9 +++++---- > meson.build | 2 +- > 11 files changed, 18 insertions(+), 16 deletions(-) > > diff --git a/app/test/meson.build b/app/test/meson.build > index 344a609a4d..80a23c2dd1 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -491,7 +491,7 @@ dpdk_test = executable('dpdk-test', > driver_install_path), > install: true) > > -has_hugepage = run_command('has-hugepage.sh').stdout().strip() != '0' > +has_hugepage = run_command('has-hugepage.sh', check: true).stdout().strip() != '0' > message('hugepage availability: @0@'.format(has_hugepage)) > > # some perf tests (eg: memcpy perf autotest)take very long > diff --git a/buildtools/meson.build b/buildtools/meson.build > index 22ea0ba375..400b88f251 100644 > --- a/buildtools/meson.build > +++ b/buildtools/meson.build > @@ -45,7 +45,7 @@ if host_machine.system() != 'windows' > endif > foreach module : python3_required_modules > script = 'import importlib.util; import sys; exit(importlib.util.find_spec("@0@") is None)' > - if run_command(py3, '-c', script.format(module)).returncode() != 0 > + if run_command(py3, '-c', script.format(module), check: false).returncode() != 0 > error('missing python module: @0@'.format(module)) > endif > endforeach > diff --git a/config/arm/meson.build b/config/arm/meson.build > index c3a3f2faaf..e102381af5 100644 > --- a/config/arm/meson.build > +++ b/config/arm/meson.build > @@ -463,7 +463,7 @@ else > # 'Primary Part number', 'Revision'] > detect_vendor = find_program(join_paths(meson.current_source_dir(), > 'armv8_machine.py')) > - cmd = run_command(detect_vendor.path()) > + cmd = run_command(detect_vendor.path(), check: false) > if cmd.returncode() == 0 > cmd_output = cmd.stdout().to_lower().strip().split(' ') > implementer_id = cmd_output[0] > diff --git a/config/meson.build b/config/meson.build > index 805d5d51d0..ee12318d4f 100644 > --- a/config/meson.build > +++ b/config/meson.build > @@ -22,7 +22,8 @@ is_ms_linker = is_windows and (cc.get_id() == 'clang') > # depending on the configuration options > pver = meson.project_version().split('.') > major_version = '@0@.@1@'.format(pver.get(0), pver.get(1)) > -abi_version = run_command(find_program('cat', 'more'), abi_version_file).stdout().strip() > +abi_version = run_command(find_program('cat', 'more'), abi_version_file, > + check: true).stdout().strip() > > # Libraries have the abi_version as the filename extension > # and have the soname be all but the final part of the abi_version. > @@ -334,7 +335,7 @@ if max_lcores == 'detect' > error('Discovery of max_lcores is not supported for cross-compilation.') > endif > # overwrite the default value with discovered values > - max_lcores = run_command(get_cpu_count_cmd).stdout().to_int() > + max_lcores = run_command(get_cpu_count_cmd, check: true).stdout().to_int() > min_lcores = 2 > # DPDK must be built for at least 2 cores > if max_lcores < min_lcores > diff --git a/config/x86/meson.build b/config/x86/meson.build > index e25ed316f4..54345c4da3 100644 > --- a/config/x86/meson.build > +++ b/config/x86/meson.build > @@ -4,7 +4,7 @@ > # get binutils version for the workaround of Bug 97 > binutils_ok = true > if is_linux or cc.get_id() == 'gcc' > - binutils_ok = run_command(binutils_avx512_check).returncode() == 0 > + binutils_ok = run_command(binutils_avx512_check, check: false).returncode() == 0 > if not binutils_ok and cc.has_argument('-mno-avx512f') > machine_args += '-mno-avx512f' > warning('Binutils error with AVX512 assembly, disabling AVX512 support') > diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build > index 7909f23e21..4c7b53b9bd 100644 > --- a/drivers/common/mlx5/linux/meson.build > +++ b/drivers/common/mlx5/linux/meson.build > @@ -36,7 +36,7 @@ foreach libname:libnames > endforeach > if static_ibverbs or dlopen_ibverbs > # Build without adding shared libs to Requires.private > - ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout() > + ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs', check: true).stdout() > ext_deps += declare_dependency(compile_args: ibv_cflags.split()) > endif > if static_ibverbs > diff --git a/drivers/common/mlx5/windows/meson.build b/drivers/common/mlx5/windows/meson.build > index 980f76b11c..edbbaa9ae1 100644 > --- a/drivers/common/mlx5/windows/meson.build > +++ b/drivers/common/mlx5/windows/meson.build > @@ -8,8 +8,8 @@ sources += files( > 'mlx5_common_os.c', > ) > > -res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])') > -res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])') > +res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])', check: false) > +res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])', check: false) > > if (res_lib.returncode() != 0 or res_inc.returncode() != 0) > build = false > diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build > index 99a30eab8f..a038c1ec1b 100644 > --- a/drivers/net/mlx4/meson.build > +++ b/drivers/net/mlx4/meson.build > @@ -42,7 +42,7 @@ foreach libname:libnames > endforeach > if static_ibverbs or dlopen_ibverbs > # Build without adding shared libs to Requires.private > - ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout() > + ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs', check:true).stdout() > ext_deps += declare_dependency(compile_args: ibv_cflags.split()) > endif > if static_ibverbs > diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build > index c683fc7b36..dae8c37b37 100644 > --- a/kernel/linux/kni/meson.build > +++ b/kernel/linux/kni/meson.build > @@ -5,7 +5,7 @@ > # Ref: https://jira.devtools.intel.com/browse/DPDK-29263 > kmod_cflags = '' > file_path = kernel_source_dir + '/include/linux/netdevice.h' > -run_cmd = run_command('grep', 'ndo_tx_timeout', file_path) > +run_cmd = run_command('grep', 'ndo_tx_timeout', file_path, check: false) > > if run_cmd.stdout().contains('txqueue') == true > kmod_cflags = '-DHAVE_ARG_TX_QUEUE' > diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build > index 0637452e95..d8fb20c1c3 100644 > --- a/kernel/linux/meson.build > +++ b/kernel/linux/meson.build > @@ -11,7 +11,7 @@ cross_args = [] > > if not meson.is_cross_build() > # native build > - kernel_version = run_command('uname', '-r').stdout().strip() > + kernel_version = run_command('uname', '-r', check: true).stdout().strip() > kernel_install_dir = '/lib/modules/' + kernel_version + '/extra/dpdk' > if kernel_build_dir == '' > # use default path for native builds > @@ -24,14 +24,14 @@ if not meson.is_cross_build() > > # test running make in kernel directory, using "make kernelversion" > make_returncode = run_command('make', '-sC', kernel_build_dir, > - 'kernelversion').returncode() > + 'kernelversion', check: true).returncode() > if make_returncode != 0 > # backward compatibility: > # the headers could still be in the 'build' subdir > if not kernel_build_dir.endswith('build') and not kernel_build_dir.endswith('build/') > kernel_build_dir = join_paths(kernel_build_dir, 'build') > make_returncode = run_command('make', '-sC', kernel_build_dir, > - 'kernelversion').returncode() > + 'kernelversion', check: true).returncode() > endif > endif > > @@ -54,7 +54,8 @@ if kernel_build_dir == '' > endif > cross_compiler = find_program('c').path() > if cross_compiler.endswith('gcc') > - cross_prefix = run_command([py3, '-c', 'print("' + cross_compiler + '"[:-3])']).stdout().strip() > + cross_prefix = run_command([py3, '-c', 'print("' + cross_compiler + '"[:-3])'], > + check: true).stdout().strip() > elif cross_compiler.endswith('clang') > cross_prefix = '' > found_target = false > diff --git a/meson.build b/meson.build > index 12cb6e0e83..1223b79d74 100644 > --- a/meson.build > +++ b/meson.build > @@ -5,7 +5,7 @@ project('DPDK', 'C', > # Get version number from file. > # Fallback to "more" for Windows compatibility. > version: run_command(find_program('cat', 'more'), > - files('VERSION')).stdout().strip(), > + files('VERSION'), check: true).stdout().strip(), > license: 'BSD', > default_options: ['buildtype=release', 'default_library=static'], > meson_version: '>= 0.49.2' > -- > 2.32.0 >