[v5,3/3] baseband/turbo_sw: meson build support for PMD driver

Message ID 1560444716-18594-4-git-send-email-nicolas.chautru@intel.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series BBDEV turbo_sw PMD compilation fix |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK

Commit Message

Chautru, Nicolas June 13, 2019, 4:51 p.m. UTC
  Turbo_sw PMD driver now building with meson/ninja
with or without SDK libraries.

Acked-by:  Kamil Chalupnik <kamilx.chalupnik@intel.com>
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 drivers/baseband/meson.build          |  2 +-
 drivers/baseband/turbo_sw/meson.build | 30 ++++++++++++++++++++++++++++++
 meson_options.txt                     |  2 ++
 3 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 drivers/baseband/turbo_sw/meson.build
  

Patch

diff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build
index 52489df..40a87d2 100644
--- a/drivers/baseband/meson.build
+++ b/drivers/baseband/meson.build
@@ -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
index 0000000..9b4fe34
--- /dev/null
+++ b/drivers/baseband/turbo_sw/meson.build
@@ -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')
diff --git a/meson_options.txt b/meson_options.txt
index 16d9f92..92d3e97 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -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: '',