]> git.droids-corp.org - dpdk.git/commitdiff
baseband/turbo_sw: detect dependencies automatically
authorNicolas Chautru <nicolas.chautru@intel.com>
Fri, 4 Sep 2020 01:05:35 +0000 (18:05 -0700)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 14 Oct 2020 19:32:11 +0000 (21:32 +0200)
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>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
drivers/baseband/turbo_sw/meson.build

index f5a1ab3fcbf00c9b9d6ba91cfcc376c7f57d2603..55ef4e4ec7fc30dc5a6bc2e46622ed63be5192e1 100644 (file)
@@ -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']