common/mlx5: move build config initialization and check

The variable mlx5_config may be used by other mlx5 drivers
and should be always initialized.
By moving its initialization (with configuration file generation),
it is made consistent for Linux and Windows builds.

And the check of mlx5_config in net/mlx5 is moved at the top of
net/mlx5/hws/meson.build so HWS requirements are in the right context.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Alex Vesker <valex@nvidia.com>
This commit is contained in:
Thomas Monjalon 2022-10-30 00:54:12 +02:00
parent 3df380f617
commit 487599f121
5 changed files with 8 additions and 9 deletions

View File

@ -8,7 +8,6 @@ dlopen_ibverbs = (get_option('ibverbs_link') == 'dlopen')
LIB_GLUE_BASE = 'librte_common_mlx5_glue.so'
LIB_GLUE_VERSION = abi_version
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
mlx5_config = configuration_data()
if dlopen_ibverbs
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
cflags += [
@ -232,7 +231,6 @@ foreach arg:has_member_args
file_prefix = '#include <' + arg[1] + '>'
mlx5_config.set(arg[0], cc.has_member(arg[2], arg[3], prefix : file_prefix, dependencies: libs))
endforeach
configure_file(output : 'mlx5_autoconf.h', configuration : mlx5_config)
# Build Glue Library
if dlopen_ibverbs
@ -243,6 +241,7 @@ if dlopen_ibverbs
dlopen_install_dir = [ eal_pmd_path + '-glue' ]
dlopen_includes = [global_inc]
dlopen_includes += include_directories('../../../../lib/eal/include/generic')
dlopen_includes += include_directories('..')
shared_lib = shared_library(
dlopen_lib_name,
dlopen_sources,

View File

@ -37,4 +37,6 @@ else
cflags += [ '-UPEDANTIC' ]
endif
mlx5_config = configuration_data()
subdir(exec_env)
configure_file(output: 'mlx5_autoconf.h', configuration: mlx5_config)

View File

@ -39,7 +39,3 @@ if get_option('buildtype').contains('debug')
else
cflags += [ '-UPEDANTIC' ]
endif
# Generate an empty mlx5_autoconf.h file for compatibility with Linux
config = configuration_data()
configure_file(output : 'mlx5_autoconf.h', configuration : config)

View File

@ -1,6 +1,10 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2022 NVIDIA Corporation & Affiliates
if not (is_linux and mlx5_config.get('HAVE_IBV_FLOW_DV_SUPPORT', false))
subdir_done()
endif
includes += include_directories('.')
sources += files(
'mlx5dr_context.c',

View File

@ -78,6 +78,4 @@ testpmd_sources += files('mlx5_testpmd.c')
subdir(exec_env)
if (is_linux and mlx5_config.get('HAVE_IBV_FLOW_DV_SUPPORT', false))
subdir('hws')
endif
subdir('hws')