build: fix warnings when running external commands
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 Cc: stable@dpdk.org Reported-by: Jerin Jacob <jerinj@marvell.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Jerin Jacob <jerinj@marvell.com>
This commit is contained in:
parent
44f44d8298
commit
ecb904cc45
@ -457,7 +457,7 @@ dpdk_test = executable('dpdk-test',
|
|||||||
driver_install_path),
|
driver_install_path),
|
||||||
install: true)
|
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))
|
message('hugepage availability: @0@'.format(has_hugepage))
|
||||||
|
|
||||||
# some perf tests (eg: memcpy perf autotest)take very long
|
# some perf tests (eg: memcpy perf autotest)take very long
|
||||||
|
@ -45,7 +45,7 @@ if host_machine.system() != 'windows'
|
|||||||
endif
|
endif
|
||||||
foreach module : python3_required_modules
|
foreach module : python3_required_modules
|
||||||
script = 'import importlib.util; import sys; exit(importlib.util.find_spec("@0@") is None)'
|
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))
|
error('missing python module: @0@'.format(module))
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
@ -463,7 +463,7 @@ else
|
|||||||
# 'Primary Part number', 'Revision']
|
# 'Primary Part number', 'Revision']
|
||||||
detect_vendor = find_program(join_paths(meson.current_source_dir(),
|
detect_vendor = find_program(join_paths(meson.current_source_dir(),
|
||||||
'armv8_machine.py'))
|
'armv8_machine.py'))
|
||||||
cmd = run_command(detect_vendor.path())
|
cmd = run_command(detect_vendor.path(), check: false)
|
||||||
if cmd.returncode() == 0
|
if cmd.returncode() == 0
|
||||||
cmd_output = cmd.stdout().to_lower().strip().split(' ')
|
cmd_output = cmd.stdout().to_lower().strip().split(' ')
|
||||||
implementer_id = cmd_output[0]
|
implementer_id = cmd_output[0]
|
||||||
|
@ -22,7 +22,8 @@ is_ms_linker = is_windows and (cc.get_id() == 'clang')
|
|||||||
# depending on the configuration options
|
# depending on the configuration options
|
||||||
pver = meson.project_version().split('.')
|
pver = meson.project_version().split('.')
|
||||||
major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
|
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
|
# Libraries have the abi_version as the filename extension
|
||||||
# and have the soname be all but the final part of the abi_version.
|
# 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.')
|
error('Discovery of max_lcores is not supported for cross-compilation.')
|
||||||
endif
|
endif
|
||||||
# overwrite the default value with discovered values
|
# 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
|
min_lcores = 2
|
||||||
# DPDK must be built for at least 2 cores
|
# DPDK must be built for at least 2 cores
|
||||||
if max_lcores < min_lcores
|
if max_lcores < min_lcores
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# get binutils version for the workaround of Bug 97
|
# get binutils version for the workaround of Bug 97
|
||||||
binutils_ok = true
|
binutils_ok = true
|
||||||
if is_linux or cc.get_id() == 'gcc'
|
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')
|
if not binutils_ok and cc.has_argument('-mno-avx512f')
|
||||||
machine_args += '-mno-avx512f'
|
machine_args += '-mno-avx512f'
|
||||||
warning('Binutils error with AVX512 assembly, disabling AVX512 support')
|
warning('Binutils error with AVX512 assembly, disabling AVX512 support')
|
||||||
|
@ -36,7 +36,7 @@ foreach libname:libnames
|
|||||||
endforeach
|
endforeach
|
||||||
if static_ibverbs or dlopen_ibverbs
|
if static_ibverbs or dlopen_ibverbs
|
||||||
# Build without adding shared libs to Requires.private
|
# 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())
|
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
|
||||||
endif
|
endif
|
||||||
if static_ibverbs
|
if static_ibverbs
|
||||||
|
@ -8,8 +8,8 @@ sources += files(
|
|||||||
'mlx5_common_os.c',
|
'mlx5_common_os.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_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"])')
|
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)
|
if (res_lib.returncode() != 0 or res_inc.returncode() != 0)
|
||||||
build = false
|
build = false
|
||||||
|
@ -42,7 +42,7 @@ foreach libname:libnames
|
|||||||
endforeach
|
endforeach
|
||||||
if static_ibverbs or dlopen_ibverbs
|
if static_ibverbs or dlopen_ibverbs
|
||||||
# Build without adding shared libs to Requires.private
|
# 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())
|
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
|
||||||
endif
|
endif
|
||||||
if static_ibverbs
|
if static_ibverbs
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# Ref: https://jira.devtools.intel.com/browse/DPDK-29263
|
# Ref: https://jira.devtools.intel.com/browse/DPDK-29263
|
||||||
kmod_cflags = ''
|
kmod_cflags = ''
|
||||||
file_path = kernel_source_dir + '/include/linux/netdevice.h'
|
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
|
if run_cmd.stdout().contains('txqueue') == true
|
||||||
kmod_cflags = '-DHAVE_ARG_TX_QUEUE'
|
kmod_cflags = '-DHAVE_ARG_TX_QUEUE'
|
||||||
|
@ -11,7 +11,7 @@ cross_args = []
|
|||||||
|
|
||||||
if not meson.is_cross_build()
|
if not meson.is_cross_build()
|
||||||
# native 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'
|
kernel_install_dir = '/lib/modules/' + kernel_version + '/extra/dpdk'
|
||||||
if kernel_build_dir == ''
|
if kernel_build_dir == ''
|
||||||
# use default path for native builds
|
# 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"
|
# test running make in kernel directory, using "make kernelversion"
|
||||||
make_returncode = run_command('make', '-sC', kernel_build_dir,
|
make_returncode = run_command('make', '-sC', kernel_build_dir,
|
||||||
'kernelversion').returncode()
|
'kernelversion', check: true).returncode()
|
||||||
if make_returncode != 0
|
if make_returncode != 0
|
||||||
# backward compatibility:
|
# backward compatibility:
|
||||||
# the headers could still be in the 'build' subdir
|
# the headers could still be in the 'build' subdir
|
||||||
if not kernel_build_dir.endswith('build') and not kernel_build_dir.endswith('build/')
|
if not kernel_build_dir.endswith('build') and not kernel_build_dir.endswith('build/')
|
||||||
kernel_build_dir = join_paths(kernel_build_dir, 'build')
|
kernel_build_dir = join_paths(kernel_build_dir, 'build')
|
||||||
make_returncode = run_command('make', '-sC', kernel_build_dir,
|
make_returncode = run_command('make', '-sC', kernel_build_dir,
|
||||||
'kernelversion').returncode()
|
'kernelversion', check: true).returncode()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -54,7 +54,8 @@ if kernel_build_dir == ''
|
|||||||
endif
|
endif
|
||||||
cross_compiler = find_program('c').path()
|
cross_compiler = find_program('c').path()
|
||||||
if cross_compiler.endswith('gcc')
|
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')
|
elif cross_compiler.endswith('clang')
|
||||||
cross_prefix = ''
|
cross_prefix = ''
|
||||||
found_target = false
|
found_target = false
|
||||||
|
@ -5,7 +5,7 @@ project('DPDK', 'C',
|
|||||||
# Get version number from file.
|
# Get version number from file.
|
||||||
# Fallback to "more" for Windows compatibility.
|
# Fallback to "more" for Windows compatibility.
|
||||||
version: run_command(find_program('cat', 'more'),
|
version: run_command(find_program('cat', 'more'),
|
||||||
files('VERSION')).stdout().strip(),
|
files('VERSION'), check: true).stdout().strip(),
|
||||||
license: 'BSD',
|
license: 'BSD',
|
||||||
default_options: ['buildtype=release', 'default_library=static'],
|
default_options: ['buildtype=release', 'default_library=static'],
|
||||||
meson_version: '>= 0.49.2'
|
meson_version: '>= 0.49.2'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user