From: Nicolas Chautru <nicolas.chautru@intel.com>
To: dev@dpdk.org, thomas@monjalon.net
Cc: Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [PATCH v1] baseband/turbo_sw: remove Flexran SDK meson option
Date: Fri, 24 Jun 2022 16:54:13 -0700 [thread overview]
Message-ID: <1656114853-215147-2-git-send-email-nicolas.chautru@intel.com> (raw)
In-Reply-To: <1656114853-215147-1-git-send-email-nicolas.chautru@intel.com>
The related dependency to build the PMD based on the
SDK libraries is now enabled through pkfconfig.
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
doc/guides/bbdevs/turbo_sw.rst | 6 ++++--
drivers/baseband/turbo_sw/meson.build | 36 +++++++++++++----------------------
meson_options.txt | 2 --
3 files changed, 17 insertions(+), 27 deletions(-)
diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst
index 1e23e37..eb91953 100644
--- a/doc/guides/bbdevs/turbo_sw.rst
+++ b/doc/guides/bbdevs/turbo_sw.rst
@@ -136,7 +136,8 @@ In order to enable this virtual bbdev PMD, the user may:
FlexRAN SDK libraries were installed. And ``DIR_WIRELESS_SDK`` to the path
where the libraries were extracted.
-* Tune the meson build option pointing the location of the FlexRAN SDK libraries ``flexran_sdk``
+* Point pkgconfig towards these libraries so that they can be automatically found by meson with the
+right dependency. If not DPDK will still compile but the related functionality would be stubbed out.
Example:
@@ -144,8 +145,9 @@ Example:
export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/install
export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/
+ export PKG_CONFIG_PATH=$DIR_WIRELESS_SDK/pkgcfg:$PKG_CONFIG_PATH
cd build
- meson configure -Dflexran_sdk=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx512-icc/install
+ meson configure
* For AVX512 machines with SDK libraries installed then both 4G and 5G can be enabled for full real time FEC capability.
For AVX2 machines it is possible to only enable the 4G libraries and the PMD capabilities will be limited to 4G FEC.
diff --git a/drivers/baseband/turbo_sw/meson.build b/drivers/baseband/turbo_sw/meson.build
index 477b8b3..9e35156 100644
--- a/drivers/baseband/turbo_sw/meson.build
+++ b/drivers/baseband/turbo_sw/meson.build
@@ -1,38 +1,28 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
-path = get_option('flexran_sdk')
+# check for FlexRAN SDK libraries
+dep_turbo = dependency('flexran_sdk_turbo', required: false)
+dep_dec5g = dependency('flexran_sdk_ldpc_decoder_5gnr', required: false)
-# check for FlexRAN SDK libraries for AVX2
-lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false)
-if lib4g.found()
- 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)
+if dep_turbo.found()
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')
+ ext_deps += dep_turbo
+ ext_deps += dependency('flexran_sdk_crc', required: true)
+ ext_deps += dependency('flexran_sdk_rate_matching', required: true)
+ ext_deps += dependency('flexran_sdk_common', required: true)
cflags += ['-DRTE_BBDEV_SDK_AVX2']
endif
-# check for FlexRAN SDK libraries for AVX512
-lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false)
-if lib5g.found()
- ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true)
- ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true)
- ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true)
- ext_deps += cc.find_library('librate_dematching_5gnr', dirs: [path + '/lib_rate_dematching_5gnr'], required: true)
- includes += include_directories(path + '/lib_ldpc_encoder_5gnr')
- includes += include_directories(path + '/lib_ldpc_decoder_5gnr')
- includes += include_directories(path + '/lib_LDPC_ratematch_5gnr')
- includes += include_directories(path + '/lib_rate_dematching_5gnr')
+if dep_dec5g.found()
+ ext_deps += dep_dec5g
+ ext_deps += dependency('flexran_sdk_ldpc_encoder_5gnr', required: true)
+ ext_deps += dependency('flexran_sdk_LDPC_ratematch_5gnr', required: true)
+ ext_deps += dependency('flexran_sdk_rate_dematching_5gnr', required: true)
cflags += ['-DRTE_BBDEV_SDK_AVX512']
endif
diff --git a/meson_options.txt b/meson_options.txt
index 7c220ad..abaa304 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -22,8 +22,6 @@ option('enable_kmods', type: 'boolean', value: false, 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 : ['static', 'shared', 'dlopen'], value: 'shared', description:
'Linkage method (static/shared/dlopen) for Mellanox PMDs with ibverbs dependencies.')
option('include_subdir_arch', type: 'string', value: '', description:
--
1.8.3.1
prev parent reply other threads:[~2022-06-25 0:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-24 23:54 [PATCH v1] baseband/turbo_sw: Remove flexran_sdk " Nicolas Chautru
2022-06-24 23:54 ` Nicolas Chautru [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1656114853-215147-2-git-send-email-nicolas.chautru@intel.com \
--to=nicolas.chautru@intel.com \
--cc=dev@dpdk.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).