From f0a0a3bbef95621c5151b2558d3d8516638a8f60 Mon Sep 17 00:00:00 2001 From: Tal Shnaiderman Date: Mon, 28 Dec 2020 11:54:24 +0200 Subject: [PATCH] common/mlx5: add Windows meson file File drivers/common/mlx5/windows/meson.build is added to enable mlx5 source files compilation under common windows directory. A Devx SDK tool must be installed to export two external H files: mlx5devx.h and mlx5_ifc_devx.h. The installation is based on environment variable DEVX_INC_PATH. In addition a DLL lib file is installed based on environment variable DEVX_LIB_PATH. The meson file is using the environment variables for compilation and linkage. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/common/mlx5/windows/meson.build | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 drivers/common/mlx5/windows/meson.build diff --git a/drivers/common/mlx5/windows/meson.build b/drivers/common/mlx5/windows/meson.build new file mode 100644 index 0000000000..1a40f95c6f --- /dev/null +++ b/drivers/common/mlx5/windows/meson.build @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2019 Mellanox Technologies, Ltd + +includes += include_directories('.') + +sources += files( + 'mlx5_glue.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"])') + +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', + '-D_BSD_SOURCE', + '-D_DEFAULT_SOURCE', + '-D_XOPEN_SOURCE=600' +] +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach +if get_option('buildtype').contains('debug') + cflags += [ '-pedantic', '-DPEDANTIC' ] +else + cflags += [ '-UPEDANTIC' ] +endif -- 2.20.1