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