build: disable experimental API check internally
[dpdk.git] / lib / librte_vhost / meson.build
index bd62e0e..f806328 100644 (file)
@@ -1,14 +1,23 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2018 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
        build = false
+       reason = 'only supported on linux'
 endif
 if has_libnuma == 1
        dpdk_conf.set10('RTE_LIBRTE_VHOST_NUMA', true)
 endif
-version = 4
-allow_experimental_apis = true
+if (toolchain == 'gcc' and cc.version().version_compare('>=8.3.0'))
+       cflags += '-DVHOST_GCC_UNROLL_PRAGMA'
+elif (toolchain == 'clang' and cc.version().version_compare('>=3.7.0'))
+       cflags += '-DVHOST_CLANG_UNROLL_PRAGMA'
+elif (toolchain == 'icc' and cc.version().version_compare('>=16.0.0'))
+       cflags += '-DVHOST_ICC_UNROLL_PRAGMA'
+endif
+dpdk_conf.set('RTE_LIBRTE_VHOST_POSTCOPY',
+             cc.has_header('linux/userfaultfd.h'))
+cflags += '-fno-strict-aliasing'
 sources = files('fd_man.c', 'iotlb.c', 'socket.c', 'vdpa.c',
                'vhost.c', 'vhost_user.c',
                'virtio_net.c', 'vhost_crypto.c')