DPDK patches and discussions
 help / color / mirror / Atom feed
From: Nicolas Chautru <nicolas.chautru@intel.com>
To: dev@dpdk.org, akhil.goyal@nxp.com
Cc: bruce.richardson@intel.com, ciara.power@intel.com,
	Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v1] baseband/turbo_sw: update meson for more dynamic compilation
Date: Thu,  3 Sep 2020 18:05:35 -0700	[thread overview]
Message-ID: <1599181535-37826-2-git-send-email-nicolas.chautru@intel.com> (raw)
In-Reply-To: <1599181535-37826-1-git-send-email-nicolas.chautru@intel.com>

The meson for the turbo_sw PMD is updated to prevent the
requirement for any device specific toplevel flags to be
passed down (unlike what used to be the case with make).
The linking to the optional libraries is purely auto
detected at build time and flags are then set appropriately.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 drivers/baseband/turbo_sw/meson.build | 43 ++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 21 deletions(-)

diff --git a/drivers/baseband/turbo_sw/meson.build b/drivers/baseband/turbo_sw/meson.build
index f5a1ab3..55ef4e4 100644
--- a/drivers/baseband/turbo_sw/meson.build
+++ b/drivers/baseband/turbo_sw/meson.build
@@ -3,28 +3,28 @@
 
 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
-		reason = 'missing dependency, "libturbo"'
-	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
+# 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)
+	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')
+	cflags += ['-DRTE_BBDEV_SDK_AVX2']
 endif
-if dpdk_conf.has('RTE_BBDEV_SDK_AVX512')
+
+# 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)
@@ -33,6 +33,7 @@ if dpdk_conf.has('RTE_BBDEV_SDK_AVX512')
 	includes += include_directories(path + '/lib_ldpc_decoder_5gnr')
 	includes += include_directories(path + '/lib_LDPC_ratematch_5gnr')
 	includes += include_directories(path + '/lib_rate_dematching_5gnr')
+	cflags += ['-DRTE_BBDEV_SDK_AVX512']
 endif
 
 deps += ['bbdev', 'bus_vdev', 'ring']
-- 
1.8.3.1


  reply	other threads:[~2020-09-04  1:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-04  1:05 Nicolas Chautru
2020-09-04  1:05 ` Nicolas Chautru [this message]
2020-09-04  9:31   ` Bruce Richardson
2020-10-06 21:18     ` Akhil Goyal

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=1599181535-37826-2-git-send-email-nicolas.chautru@intel.com \
    --to=nicolas.chautru@intel.com \
    --cc=akhil.goyal@nxp.com \
    --cc=bruce.richardson@intel.com \
    --cc=ciara.power@intel.com \
    --cc=dev@dpdk.org \
    /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).