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 <bl...@debian.org>
---
 drivers/meson.build | 6 ++----
 lib/meson.build     | 6 ++----
 meson.build         | 8 +++++++-
 3 files changed, 11 insertions(+), 9 deletions(-)

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
-- 
2.19.0

Reply via email to