[PATCH v3 1/3] common/mlx5: get Windows dependency from standard variables
Tal Shnaiderman
talshn at nvidia.com
Wed Mar 8 11:24:24 CET 2023
> Subject: [PATCH v3 1/3] common/mlx5: get Windows dependency from
> standard variables
>
> External email: Use caution opening links or attachments
>
>
> The DevX library path had to be provided through the variables
> DEVX_INC_PATH and DEVX_LIB_PATH.
> It was non-standard and triggers some issues with recent Meson.
>
> Using CFLAGS/LDFLAGS is standard and simpler.
> It is also possible to use the Meson options -Dc_args and -Dc_link_args.
> There are 2 options to provide:
> -I<include_directory>
> -L<library_directory>
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> doc/guides/platform/mlx5.rst | 11 +++++-----
> drivers/common/mlx5/windows/meson.build | 28 ++++++++++++------------
> -
> 2 files changed, 20 insertions(+), 19 deletions(-)
>
> diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst
> index 2d6fbe7e44..5fc5d0cb8c 100644
> --- a/doc/guides/platform/mlx5.rst
> +++ b/doc/guides/platform/mlx5.rst
> @@ -259,13 +259,14 @@ configured by the ``ibverbs_link`` build option:
> Compilation on Windows
> ~~~~~~~~~~~~~~~~~~~~~~
>
> -The DevX SDK location must be set through two environment variables:
> +The DevX SDK location must be set through CFLAGS/LDFLAGS,
> +either::
>
> -``DEVX_LIB_PATH``
> - path to the DevX lib file.
> + meson.exe setup "-Dc_args=-I\"%DEVX_INC_PATH%\"" "-Dc_link_args=-
> L\"%DEVX_LIB_PATH%\"" ...
>
> -``DEVX_INC_PATH``
> - path to the DevX header files.
> +or::
> +
> + set CFLAGS=-I"%DEVX_INC_PATH%" && set LDFLAGS=-
> L"%DEVX_LIB_PATH%" && meson.exe setup ...
>
>
> .. _mlx5_common_env:
> diff --git a/drivers/common/mlx5/windows/meson.build
> b/drivers/common/mlx5/windows/meson.build
> index cc486014a8..f60daed840 100644
> --- a/drivers/common/mlx5/windows/meson.build
> +++ b/drivers/common/mlx5/windows/meson.build
> @@ -1,6 +1,20 @@
> # SPDX-License-Identifier: BSD-3-Clause # Copyright 2019 Mellanox
> Technologies, Ltd
>
> +if not cc.has_header('mlx5devx.h')
> + build = false
> + reason = 'missing dependency, "mlx5devx.h"'
> + subdir_done()
> +endif
> +
> +devxlib = cc.find_library('mlx5devx', required: true) if not
> +devxlib.found()
> + build = false
> + reason = 'missing dependency, "mlx5devx"'
> + subdir_done()
> +endif
> +ext_deps += devxlib
> +
> includes += include_directories('.')
>
> sources += files(
> @@ -8,20 +22,6 @@ sources += files(
> 'mlx5_common_os.c',
> )
>
> -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
> - reason = 'DevX environment variables are not set, DEVX_LIB_PATH and
> DEVX_INC_PATH vars must be exported'
> - subdir_done()
> -endif
> -
> -devx_lib_dir = res_lib.stdout().strip() -devx_inc_dir =
> res_inc.stdout().strip()
> -
> -ext_deps += cc.find_library('mlx5devx', dirs: devx_lib_dir, required: true) -
> includes += include_directories(devx_inc_dir) cflags_options = [
> '-std=c11',
> '-Wno-strict-prototypes',
> --
> 2.39.1
Acked-by: Tal Shnaiderman <talshn at nvidia.com>
More information about the dev
mailing list