[v1] baseband/turbo_sw: update meson for more dynamic compilation
diff mbox series

Message ID 1599181535-37826-2-git-send-email-nicolas.chautru@intel.com
State Accepted
Delegated to: akhil goyal
Headers show
Series
  • [v1] baseband/turbo_sw: update meson for more dynamic compilation
Related show

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS

Commit Message

Chautru, Nicolas Sept. 4, 2020, 1:05 a.m. UTC
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(-)

Comments

Bruce Richardson Sept. 4, 2020, 9:31 a.m. UTC | #1
On Thu, Sep 03, 2020 at 06:05:35PM -0700, Nicolas Chautru wrote:
> 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(-)
>

From a meson viewpoint this all looks good, and glad to see the driver
taking advantage of the dynamic probing.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Akhil Goyal Oct. 6, 2020, 9:18 p.m. UTC | #2
> 
> On Thu, Sep 03, 2020 at 06:05:35PM -0700, Nicolas Chautru wrote:
> > 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(-)
> >
> 
> From a meson viewpoint this all looks good, and glad to see the driver
> taking advantage of the dynamic probing.
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> 
Applied to dpdk-next-crypto
Thanks.

Patch
diff mbox series

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']