[v6,3/3] baseband/turbo_sw: meson build support for PMD driver
Checks
Commit Message
Turbo_sw PMD driver now building with meson/ninja
with or without SDK libraries.
Acked-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Nicolas Chautru <nicolas.chautru@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
Comments
Nicolas Chautru <nicolas.chautru@intel.com> writes:
> Turbo_sw PMD driver now building with meson/ninja
> with or without SDK libraries.
>
> Acked-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
> Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
It seems strange to ack your own patch.
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
Something is wrong with this series:
https://travis-ci.com/ovsrobot/dpdk/builds/116170401
We cannot enable this on AARCH64 builds - it seems that it wants to take
advantage of facilities that are x86 specific (like SSE 4.2)
> 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
>
> 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: '',
>
>-----Original Message-----
>From: Aaron Conole [mailto:aconole@redhat.com]
>Sent: Wednesday, June 19, 2019 5:06 PM
>To: Chautru, Nicolas <nicolas.chautru@intel.com>
>Cc: akhil.goyal@nxp.com; dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Mokhtar, Amr <amr.mokhtar@intel.com>; Chalupnik, KamilX <kamilx.chalupnik@intel.com>
>Subject: Re: [dpdk-dev] [PATCH v6 3/3] baseband/turbo_sw: meson build support for PMD driver
>
>Nicolas Chautru <nicolas.chautru@intel.com> writes:
>
>> Turbo_sw PMD driver now building with meson/ninja with or without SDK
>> libraries.
>>
>> Acked-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
>> Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
>
>It seems strange to ack your own patch.
I will remove.
>
>> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
>> ---
>
>Something is wrong with this series:
>
> https://travis-ci.com/ovsrobot/dpdk/builds/116170401
>
>We cannot enable this on AARCH64 builds - it seems that it wants to take advantage of facilities that are x86 specific (like SSE 4.2)
>
Thanks for the feedback. This application can link optionally with AVX/SSE libraries but by default should compile on any platform. This flag can be kept to NULL by default. I will push now as new patchset.
Thanks
@@ -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@'
new file mode 100644
@@ -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')
@@ -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: '',