Message ID | 20181002130646.14919-2-bluca@debian.org |
---|---|
State | Superseded, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series |
|
Related | show |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
On Tue, Oct 02, 2018 at 02:06:46PM +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> > --- > meson.build | 10 ++++++++-- > meson_options.txt | 2 ++ > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/meson.build b/meson.build > index 4bd04b9de3..9f7f17f7fe 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 == 'dpdk/pmds-XX.YY' > + 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 Not sure I like this degree of hard-coding of paths. While meson doesn't have a string replace function, we can still use "sed" via run_command to perform some substitution, or else get a little creative using split if it can be made work. That would allow us to put in e.g "<VERSION>" as a generic placeholder in the text. /Bruce
On Tue, 2018-10-02 at 15:28 +0100, Bruce Richardson wrote: > On Tue, Oct 02, 2018 at 02:06:46PM +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> > > --- > > meson.build | 10 ++++++++-- > > meson_options.txt | 2 ++ > > 2 files changed, 10 insertions(+), 2 deletions(-) > > > > diff --git a/meson.build b/meson.build > > index 4bd04b9de3..9f7f17f7fe 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 == 'dpdk/pmds-XX.YY' > > + 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 > > Not sure I like this degree of hard-coding of paths. While meson > doesn't > have a string replace function, we can still use "sed" via > run_command to > perform some substitution, or else get a little creative using split > if it > can be made work. That would allow us to put in e.g "<VERSION>" as a > generic placeholder in the text. > > /Bruce Do you mean for the "if pmd_subdir_opt == 'dpdk/pmds-XX.YY'" bit? I can change that to "== 'dpdk/pmds-<VERSION>'" if you prefer?
On Tue, Oct 02, 2018 at 03:59:48PM +0100, Luca Boccassi wrote: > On Tue, 2018-10-02 at 15:28 +0100, Bruce Richardson wrote: > > On Tue, Oct 02, 2018 at 02:06:46PM +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> > > > --- > > > meson.build | 10 ++++++++-- > > > meson_options.txt | 2 ++ > > > 2 files changed, 10 insertions(+), 2 deletions(-) > > > > > > diff --git a/meson.build b/meson.build > > > index 4bd04b9de3..9f7f17f7fe 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 == 'dpdk/pmds-XX.YY' > > > + 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 > > > > Not sure I like this degree of hard-coding of paths. While meson > > doesn't > > have a string replace function, we can still use "sed" via > > run_command to > > perform some substitution, or else get a little creative using split > > if it > > can be made work. That would allow us to put in e.g "<VERSION>" as a > > generic placeholder in the text. > > > > /Bruce > > Do you mean for the "if pmd_subdir_opt == 'dpdk/pmds-XX.YY'" bit? I can > change that to "== 'dpdk/pmds-<VERSION>'" if you prefer? > Yes, though I was more thinking of: "if pmd_subdir_opt.contains('<VERSION>')" ... rather than matching on the whole string. /Bruce
On Tue, 2018-10-02 at 16:19 +0100, Bruce Richardson wrote: > On Tue, Oct 02, 2018 at 03:59:48PM +0100, Luca Boccassi wrote: > > On Tue, 2018-10-02 at 15:28 +0100, Bruce Richardson wrote: > > > On Tue, Oct 02, 2018 at 02:06:46PM +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> > > > > --- > > > > meson.build | 10 ++++++++-- > > > > meson_options.txt | 2 ++ > > > > 2 files changed, 10 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/meson.build b/meson.build > > > > index 4bd04b9de3..9f7f17f7fe 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 == 'dpdk/pmds-XX.YY' > > > > + 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 > > > > > > Not sure I like this degree of hard-coding of paths. While meson > > > doesn't > > > have a string replace function, we can still use "sed" via > > > run_command to > > > perform some substitution, or else get a little creative using > > > split > > > if it > > > can be made work. That would allow us to put in e.g "<VERSION>" > > > as a > > > generic placeholder in the text. > > > > > > /Bruce > > > > Do you mean for the "if pmd_subdir_opt == 'dpdk/pmds-XX.YY'" bit? I > > can > > change that to "== 'dpdk/pmds-<VERSION>'" if you prefer? > > > > Yes, though I was more thinking of: > "if pmd_subdir_opt.contains('<VERSION>')" ... > rather than matching on the whole string. > > /Bruce Ok, fixed in v3
diff --git a/meson.build b/meson.build index 4bd04b9de3..9f7f17f7fe 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 == 'dpdk/pmds-XX.YY' + 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 diff --git a/meson_options.txt b/meson_options.txt index d14bde892d..d0f5675eb7 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -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-XX.YY', + 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,
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> --- meson.build | 10 ++++++++-- meson_options.txt | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-)