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 <talshn@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
This commit is contained in:
Tal Shnaiderman 2020-12-28 11:54:24 +02:00 committed by Ferruh Yigit
parent 7525ebd8eb
commit f0a0a3bbef

View File

@ -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