From patchwork Thu Jan 20 17:41:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 106151 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E1ECBA034E; Thu, 20 Jan 2022 18:42:14 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD75442718; Thu, 20 Jan 2022 18:42:14 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id A959040042 for ; Thu, 20 Jan 2022 18:42:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642700532; x=1674236532; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=5RqyYrv5hj2NQb8DsXErAUQzCV9mf3ku4tGIKFAo8Ak=; b=D3qFpJttNNuMlw/GbW81ccdJt6Zh/yQ37B35qOk0RrnorjEdF9qOoZq+ 7AdckEYZQRUCUC2S6dSWdqyldtTOiwn8DIlHBhyMW+QyR/aLx9fSfMNlS I+cxmVM9m6Rt0EXLoutUcTEsUMK1IQjEReMTd8Pz6X5As3MAd7hrdJR9g tt2cBNUcF3N5iUvmxcOhTsETo4CVoyNNdncma9xWbh50preiw05Xho6Mx G/c6ZWsOQ6spjeQXRE1hxK9uPoU1dL4aJslYfPNUDz4Zb1xAu1MVNAToF aiQ97ucTxOmHhnNmjrYptKdiOVYs9SvHkTgH/QxVKAJS4GqUmMErrtBSV Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10233"; a="226084666" X-IronPort-AV: E=Sophos;i="5.88,303,1635231600"; d="scan'208";a="226084666" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2022 09:42:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,303,1635231600"; d="scan'208";a="475610857" Received: from silpixa00399126.ir.intel.com ([10.237.223.86]) by orsmga003.jf.intel.com with ESMTP; 20 Jan 2022 09:42:09 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: jerinjacobk@gmail.com, Bruce Richardson Subject: [PATCH] build: fix warnings when running external commands Date: Thu, 20 Jan 2022 17:41:59 +0000 Message-Id: <20220120174159.654464-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 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 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 --- 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..7c561db70f 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: true) 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'