[v3,2/2] build: add drivers_install_subdir meson option
Checks
Commit Message
Allow users and packagers to override the default dpdk/drivers
subdirectory where the PMDs get installed under $lib.
Signed-off-by: Luca Boccassi <bluca@debian.org>
---
v3: changed default value to <VERSION> and use string.contains rather
than exact equivalence
meson.build | 10 ++++++++--
meson_options.txt | 2 ++
2 files changed, 10 insertions(+), 2 deletions(-)
Comments
On Tue, Oct 02, 2018 at 04:25:56PM +0100, Luca Boccassi wrote:
> Allow users and packagers to override the default dpdk/drivers
> subdirectory where the PMDs get installed under $lib.
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> v3: changed default value to <VERSION> and use string.contains rather
> than exact equivalence
>
> meson.build | 10 ++++++++--
> meson_options.txt | 2 ++
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 4bd04b9de3..2e3cbac587 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -20,8 +20,14 @@ dpdk_extra_ldflags = []
> pver = meson.project_version().split('.')
> major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
>
> -driver_install_path = join_paths(get_option('libdir'), 'dpdk',
> - 'pmds-' + major_version)
> +pmd_subdir_opt = get_option('drivers_install_subdir')
> +if pmd_subdir_opt.contains('<VERSION>')
> + driver_install_path = join_paths(get_option('libdir'),
> + 'dpdk', 'pmds-' + major_version)
> +else
> + driver_install_path = join_paths(get_option('libdir'),
> + pmd_subdir_opt)
> +endif
> eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
>
The diff (to your patch) below demonstrates more of what I had in mind :-)
Basically do a replace of '<VERSION>' with the version number, leaving the
remaining string unchanged.
/Bruce
diff --git a/meson.build b/meson.build
index 2e3cbac58..11697861c 100644
--- a/meson.build
+++ b/meson.build
@@ -22,12 +22,9 @@ major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
pmd_subdir_opt = get_option('drivers_install_subdir')
if pmd_subdir_opt.contains('<VERSION>')
- driver_install_path = join_paths(get_option('libdir'),
- 'dpdk', 'pmds-' + major_version)
-else
- driver_install_path = join_paths(get_option('libdir'),
- pmd_subdir_opt)
+ pmd_subdir_opt = major_version.join(pmd_subdir_opt.split('<VERSION>'))
endif
+driver_install_path = join_paths(get_option('libdir'), pmd_subdir_opt)
eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
# configure the build, and make sure configs here and in config folder are
On Tue, 2018-10-02 at 16:58 +0100, Bruce Richardson wrote:
> On Tue, Oct 02, 2018 at 04:25:56PM +0100, Luca Boccassi wrote:
> > Allow users and packagers to override the default dpdk/drivers
> > subdirectory where the PMDs get installed under $lib.
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > v3: changed default value to <VERSION> and use string.contains
> > rather
> > than exact equivalence
> >
> > meson.build | 10 ++++++++--
> > meson_options.txt | 2 ++
> > 2 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/meson.build b/meson.build
> > index 4bd04b9de3..2e3cbac587 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -20,8 +20,14 @@ dpdk_extra_ldflags = []
> > pver = meson.project_version().split('.')
> > major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
> >
> > -driver_install_path = join_paths(get_option('libdir'), 'dpdk',
> > - 'pmds-' + major_version)
> > +pmd_subdir_opt = get_option('drivers_install_subdir')
> > +if pmd_subdir_opt.contains('<VERSION>')
> > + driver_install_path = join_paths(get_option('libdir'),
> > + 'dpdk', 'pmds-' + major_version)
> > +else
> > + driver_install_path = join_paths(get_option('libdir'),
> > + pmd_subdir_opt)
> > +endif
> > eal_pmd_path = join_paths(get_option('prefix'),
> > driver_install_path)
> >
>
> The diff (to your patch) below demonstrates more of what I had in
> mind :-)
> Basically do a replace of '<VERSION>' with the version number,
> leaving the
> remaining string unchanged.
>
> /Bruce
>
> diff --git a/meson.build b/meson.build
> index 2e3cbac58..11697861c 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -22,12 +22,9 @@ major_version = '@0@.@1@'.format(pver.get(0),
> pver.get(1))
>
> pmd_subdir_opt = get_option('drivers_install_subdir')
> if pmd_subdir_opt.contains('<VERSION>')
> - driver_install_path = join_paths(get_option('libdir'),
> - 'dpdk', 'pmds-' + major_version)
> -else
> - driver_install_path = join_paths(get_option('libdir'),
> - pmd_subdir_opt)
> + pmd_subdir_opt =
> major_version.join(pmd_subdir_opt.split('<VERSION>'))
> endif
> +driver_install_path = join_paths(get_option('libdir'),
> pmd_subdir_opt)
> eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
>
> # configure the build, and make sure configs here and in config
> folder are
Ok, pushed in v4
@@ -20,8 +20,14 @@ dpdk_extra_ldflags = []
pver = meson.project_version().split('.')
major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
-driver_install_path = join_paths(get_option('libdir'), 'dpdk',
- 'pmds-' + major_version)
+pmd_subdir_opt = get_option('drivers_install_subdir')
+if pmd_subdir_opt.contains('<VERSION>')
+ driver_install_path = join_paths(get_option('libdir'),
+ 'dpdk', 'pmds-' + major_version)
+else
+ driver_install_path = join_paths(get_option('libdir'),
+ pmd_subdir_opt)
+endif
eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
# configure the build, and make sure configs here and in config folder are
@@ -1,5 +1,7 @@
option('allow_invalid_socket_id', type: 'boolean', value: false,
description: 'allow out-of-range NUMA socket id\'s for platforms that don\'t report the value correctly')
+option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',
+ description: 'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')
option('enable_driver_mlx_glue', type: 'boolean', value: false,
description: 'Enable glue library for Mellanox PMDs')
option('enable_kmods', type: 'boolean', value: true,