On Thu, 2019-10-17 at 09:44 +0100, Bruce Richardson wrote: > On Wed, Oct 16, 2019 at 06:03:36PM +0100, Anatoly Burakov wrote: > > From: Marcin Baran < > > marcinx.ba...@intel.com > > > > > > > As per new ABI policy, all of the libraries are now versioned using > > one global ABI version. Changes in this patch implement the > > necessary steps to enable that. > > > > Signed-off-by: Marcin Baran < > > marcinx.ba...@intel.com > > > > > Signed-off-by: Pawel Modrak < > > pawelx.mod...@intel.com > > > > > Signed-off-by: Anatoly Burakov < > > anatoly.bura...@intel.com > > > > > --- > > > > Notes: > > v3: > > - Removed Windows support from Makefile changes > > - Removed unneeded path conversions from meson files > > > > buildtools/meson.build | 2 ++ > > config/ABI_VERSION | 1 + > > config/meson.build | 5 +++-- > > drivers/meson.build | 20 ++++++++++++-------- > > lib/meson.build | 18 +++++++++++------- > > meson_options.txt | 2 -- > > mk/rte.lib.mk | 13 ++++--------- > > 7 files changed, 33 insertions(+), 28 deletions(-) > > create mode 100644 config/ABI_VERSION > > > > diff --git a/buildtools/meson.build b/buildtools/meson.build > > index 32c79c1308..78ce69977d 100644 > > --- a/buildtools/meson.build > > +++ b/buildtools/meson.build > > @@ -12,3 +12,5 @@ if python3.found() > > else > > map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')] > > endif > > + > > +is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_'] > > diff --git a/config/ABI_VERSION b/config/ABI_VERSION > > new file mode 100644 > > index 0000000000..9a7c1e503f > > --- /dev/null > > +++ b/config/ABI_VERSION > > @@ -0,0 +1 @@ > > +20.0 > > diff --git a/config/meson.build b/config/meson.build > > index a27f731f85..3cfc02406c 100644 > > --- a/config/meson.build > > +++ b/config/meson.build > > @@ -17,7 +17,8 @@ endforeach > > # 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)) > > +abi_version = run_command(find_program('cat', 'more'), > > + files('ABI_VERSION')).stdout().strip() > > > > # extract all version information into the build configuration > > dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int()) > > @@ -37,7 +38,7 @@ endif > > > > pmd_subdir_opt = get_option('drivers_install_subdir') > > if pmd_subdir_opt.contains('<VERSION>') > > - pmd_subdir_opt = > > major_version.join(pmd_subdir_opt.split('<VERSION>')) > > + pmd_subdir_opt = > > abi_version.join(pmd_subdir_opt.split('<VERSION>')) > > endif > > This is an interesting change, and I'm not sure about it. I think for > user-visible changes, version should still refer to DPDK version > rather > than ABI version. Even with a stable ABI, it makes more sense to me > to find > the drivers in a 19.11 directory than a 20.0 one. Then again, the > drivers > should be re-usable across the one ABI version, so perhaps this is > the best > approach. > > Thoughts from others? Luca or Kevin, any thoughts from a packagers > perspective? > > /Bruce
Hi, We are currently assembing this path using the ABI version in Debian/Ubuntu, as we want same-ABI libraries not to be co-installed, but instead fo use the exact same name/path. So from our POV this change seems right. -- Kind regards, Luca Boccassi