baseband/turbo_sw: support meson build
authorNicolas Chautru <nicolas.chautru@intel.com>
Wed, 19 Jun 2019 17:48:38 +0000 (10:48 -0700)
committerAkhil Goyal <akhil.goyal@nxp.com>
Fri, 5 Jul 2019 13:28:14 +0000 (15:28 +0200)
Turbo_sw PMD driver now building with meson/ninja
with or without SDK libraries.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Acked-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/baseband/meson.build
drivers/baseband/turbo_sw/meson.build [new file with mode: 0644]
meson_options.txt

index 52489df..40a87d2 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
-drivers = ['null']
+drivers = ['null', 'turbo_sw']
 
 config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
 driver_name_fmt = 'rte_pmd_@0@'
diff --git a/drivers/baseband/turbo_sw/meson.build b/drivers/baseband/turbo_sw/meson.build
new file mode 100644 (file)
index 0000000..438b5a7
--- /dev/null
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+path = get_option('flexran_sdk')
+
+if dpdk_conf.has('RTE_BBDEV_SDK_AVX2')
+       lib = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false)
+       if not lib.found()
+               build = false
+       else
+               ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true)
+               ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true)
+               ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true)
+               ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true)
+               ext_deps += cc.find_library('libstdc++', required: true)
+               ext_deps += cc.find_library('libirc', required: true)
+               ext_deps += cc.find_library('libimf', required: true)
+               ext_deps += cc.find_library('libipps', required: true)
+               ext_deps += cc.find_library('libsvml', required: true)
+               includes += include_directories(path + '/lib_turbo')
+               includes += include_directories(path + '/lib_crc')
+               includes += include_directories(path + '/lib_rate_matching')
+               includes += include_directories(path + '/lib_common')
+       endif
+endif
+
+deps += ['bbdev', 'bus_vdev', 'ring']
+name = 'bbdev_turbo_sw'
+allow_experimental_apis = true
+sources = files('bbdev_turbo_software.c')
index 5302b9c..448f3e6 100644 (file)
@@ -10,6 +10,8 @@ option('enable_kmods', type: 'boolean', value: true,
        description: 'build kernel modules')
 option('examples', type: 'string', value: '',
        description: 'Comma-separated list of examples to build by default')
+option('flexran_sdk', type: 'string', value: '',
+       description: 'Path to FlexRAN SDK optional Libraries for BBDEV device')
 option('ibverbs_link', type: 'combo', choices : ['shared', 'dlopen'], value: 'shared',
        description: 'Linkage method (shared/dlopen) for Mellanox PMDs with ibverbs dependencies.')
 option('include_subdir_arch', type: 'string', value: '',