> -----Original Message-----
> From: Thomas Monjalon <tho...@monjalon.net>
> Sent: Sunday, October 30, 2022 1:08 PM
> To: dev@dpdk.org
> Cc: Alex Vesker <va...@nvidia.com>; ferruh.yi...@amd.com;
> andrew.rybche...@oktetlabs.ru; Raslan Darawsheh <rasl...@nvidia.com>;
> david.march...@redhat.com; Matan Azrad <ma...@nvidia.com>; Slava
> Ovsiienko <viachesl...@nvidia.com>
> Subject: [PATCH v3 2/2] 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 <tho...@monjalon.net>
> Tested-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
> Reviewed-by: David Marchand <david.march...@redhat.com>
> Acked-by: Matan Azrad <ma...@nvidia.com>
> ---
> drivers/common/mlx5/linux/meson.build | 3 +--
> drivers/common/mlx5/meson.build | 2 ++
> drivers/common/mlx5/windows/meson.build | 4 ----
> drivers/net/mlx5/hws/meson.build | 4 ++++
> drivers/net/mlx5/meson.build | 4 +---
> 5 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/common/mlx5/linux/meson.build
> b/drivers/common/mlx5/linux/meson.build
> index 84e2a1ad8c..7e1575efc8 100644
> --- a/drivers/common/mlx5/linux/meson.build
> +++ b/drivers/common/mlx5/linux/meson.build
> @@ -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,
> diff --git a/drivers/common/mlx5/meson.build
> b/drivers/common/mlx5/meson.build index 6ddbde7e8f..60ccd95cbc
> 100644
> --- a/drivers/common/mlx5/meson.build
> +++ b/drivers/common/mlx5/meson.build
> @@ -37,4 +37,6 @@ else
> cflags += [ '-UPEDANTIC' ]
> endif
>
> +mlx5_config = configuration_data()
> subdir(exec_env)
> +configure_file(output: 'mlx5_autoconf.h', configuration: mlx5_config)
> diff --git a/drivers/common/mlx5/windows/meson.build
> b/drivers/common/mlx5/windows/meson.build
> index edbbaa9ae1..cc486014a8 100644
> --- a/drivers/common/mlx5/windows/meson.build
> +++ b/drivers/common/mlx5/windows/meson.build
> @@ -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) diff --git a/drivers/net/mlx5/hws/meson.build
> b/drivers/net/mlx5/hws/meson.build
> index d2bb864fd2..38776d5163 100644
> --- a/drivers/net/mlx5/hws/meson.build
> +++ b/drivers/net/mlx5/hws/meson.build
> @@ -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',
> diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
> index fa15158039..f1aab18f82 100644
> --- a/drivers/net/mlx5/meson.build
> +++ b/drivers/net/mlx5/meson.build
> @@ -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')
> --
> 2.36.1
Acked-by: Alex Vesker <va...@nvidia.com>