On Wed, Nov 20, 2019 at 8:51 PM David Marchand <david.march...@redhat.com> wrote: > > On Wed, Nov 20, 2019 at 6:23 PM Anatoly Burakov > <anatoly.bura...@intel.com> wrote: > > > > From: Marcin Baran <marcinx.ba...@intel.com> > > > > As per new ABI policy [1], all of the libraries are now versioned using > > one global ABI version. Stable libraries use the MAJOR.MINOR ABI > > version for their shared objects, while experimental libraries > > use the 0.MAJORMINOR convention for their versioning. > > Experimental library versioning is managed globally. Changes in this > > patch implement the necessary steps to enable that. > > The next patch just removes the config entry CONFIG_RTE_MAJOR_ABI > while this patch entirely removes its usage. > I squashed patch 2 in patch 1 and added its commitlog here. > > > > > [1] https://doc.dpdk.org/guides/contributing/abi_policy.html > > > > 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> > > Acked-by: Bruce Richardson <bruce.richard...@intel.com> > > [snip] > > > diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk > > index 4df8849a08..3b318a5306 100644 > > --- a/mk/rte.lib.mk > > +++ b/mk/rte.lib.mk > > @@ -11,20 +11,16 @@ EXTLIB_BUILD ?= n > > # VPATH contains at least SRCDIR > > VPATH += $(SRCDIR) > > > > -ifneq ($(CONFIG_RTE_MAJOR_ABI),) > > -ifneq ($(LIBABIVER),) > > -LIBABIVER := $(CONFIG_RTE_MAJOR_ABI) > > -endif > > +ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),) > > +LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION) > > +else > > +# EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI > > +LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | td -d '.') > > s/td/tr/ > > Will fix while applying.
On this part again, for ethtool example library, this triggers a warning since ABI_VERSION does not exist in this example source directory. diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index 94a80e024..655a1b143 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -13,7 +13,7 @@ VPATH += $(SRCDIR) ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),) LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION) -else +else ifeq ($(LIBABIVER),) # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.') endif In the patch removing LIBABIVER, I let examples/ethtool/lib/Makefile untouched. With this, an external library manages its ABI version. -- David Marchand