[v4,1/2] build: change default PMD installation subdir to dpdk/pmds-XX.YY

Message ID 20181002162046.13668-1-bluca@debian.org (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v4,1/2] build: change default PMD installation subdir to dpdk/pmds-XX.YY |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Luca Boccassi Oct. 2, 2018, 4:20 p.m. UTC
  As part of the effort of consolidating the DPDK installation bits and
pieces across distros, set the default directory of lib/ where PMDs get
installed to dpdk/pmds-XX.YY. It's necessary to have a versioned
subdirectory as multiple ABI revisions might be installed at the same
time, so having a fixed name will cause trouble with the autoload
feature.
Small refactor with parsing and saving the major version to a variable,
since it's now used in 3 different places.

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 drivers/meson.build | 6 ++----
 lib/meson.build     | 6 ++----
 meson.build         | 8 +++++++-
 3 files changed, 11 insertions(+), 9 deletions(-)
  

Comments

Bruce Richardson Oct. 2, 2018, 4:28 p.m. UTC | #1
On Tue, Oct 02, 2018 at 05:20:45PM +0100, Luca Boccassi wrote:
> As part of the effort of consolidating the DPDK installation bits and
> pieces across distros, set the default directory of lib/ where PMDs get
> installed to dpdk/pmds-XX.YY. It's necessary to have a versioned
> subdirectory as multiple ABI revisions might be installed at the same
> time, so having a fixed name will cause trouble with the autoload
> feature.
> Small refactor with parsing and saving the major version to a variable,
> since it's now used in 3 different places.
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
Timothy Redaelli Oct. 5, 2018, 4 p.m. UTC | #2
On Tue,  2 Oct 2018 17:20:45 +0100
Luca Boccassi <bluca@debian.org> wrote:

> As part of the effort of consolidating the DPDK installation bits and
> pieces across distros, set the default directory of lib/ where PMDs get
> installed to dpdk/pmds-XX.YY. It's necessary to have a versioned
> subdirectory as multiple ABI revisions might be installed at the same
> time, so having a fixed name will cause trouble with the autoload
> feature.
> Small refactor with parsing and saving the major version to a variable,
> since it's now used in 3 different places.
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---

Acked-by: Timothy Redaelli <tredaelli@redhat.com>
  
Thomas Monjalon Oct. 27, 2018, 9:19 p.m. UTC | #3
02/10/2018 18:20, Luca Boccassi:
> As part of the effort of consolidating the DPDK installation bits and
> pieces across distros, set the default directory of lib/ where PMDs get
> installed to dpdk/pmds-XX.YY. It's necessary to have a versioned
> subdirectory as multiple ABI revisions might be installed at the same
> time, so having a fixed name will cause trouble with the autoload
> feature.
> Small refactor with parsing and saving the major version to a variable,
> since it's now used in 3 different places.
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>

Series applied, thanks
  

Patch

diff --git a/drivers/meson.build b/drivers/meson.build
index 47b4215a30..3a6c4bf656 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -98,10 +98,8 @@  foreach class:driver_classes
 				lib_version = '@0@.1'.format(version)
 				so_version = '@0@'.format(version)
 			else
-				pver = meson.project_version().split('.')
-				lib_version = '@0@.@1@'.format(pver.get(0),
-						pver.get(1))
-				so_version = lib_version
+				lib_version = major_version
+				so_version = major_version
 			endif
 
 			# now build the static driver
diff --git a/lib/meson.build b/lib/meson.build
index 3acc67e6ed..bed492a4ec 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -88,10 +88,8 @@  foreach l:libraries
 				lib_version = '@0@.1'.format(version)
 				so_version = '@0@'.format(version)
 			else
-				prj_ver = meson.project_version().split('.')
-				lib_version = '@0@.@1@'.format(
-						prj_ver.get(0), prj_ver.get(1))
-				so_version = lib_version
+				lib_version = major_version
+				so_version = major_version
 			endif
 
 			# first build static lib
diff --git a/meson.build b/meson.build
index c9af33532d..4bd04b9de3 100644
--- a/meson.build
+++ b/meson.build
@@ -15,7 +15,13 @@  dpdk_libraries = []
 dpdk_drivers = []
 dpdk_extra_ldflags = []
 
-driver_install_path = join_paths(get_option('libdir'), 'dpdk/drivers')
+# set the major version, which might be used by drivers and libraries
+# depending on the configuration options
+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)
 eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
 
 # configure the build, and make sure configs here and in config folder are