mk: enable next abi preview
authorThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 2 Jul 2015 21:03:40 +0000 (23:03 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 8 Jul 2015 22:56:40 +0000 (00:56 +0200)
commit506f51cc0da7e057ac31e15048ba3b8015112226
tree1857c8cccddab956d3018c1c61dcff8d1ae3f511
parente7c6d6fc2233782322ac6d0156f1b3dde3a19d6f
mk: enable next abi preview

When a change makes really hard to keep ABI compatibility,
instead of waiting next release to break the ABI, it is smoother
to introduce the new code as a preview and disable it when packaging.
The flag RTE_NEXT_ABI must be used to "ifdef" the new code.
When the release is out, a dynamically linked application can use
the new shared libraries with the old ABI while developpers can prepare
their application for the next ABI by reading the deprecation notice
and easily testing the new code.
When starting the next release cycle, the "ifdefs" will be removed
and the ABI break will be marked by incrementing LIBABIVER. The map
files will also be updated.

The default value is enabled to be developer compliant.
The packagers must disable it as done in pkg/dpdk.spec.
When enabled, all shared library numbers are incremented by appending
a minor .1 to the old ABI number. In the next release, only impacted
libraries will have a major +1 increment.
The impacted libraries must provide an alternative map file to use
with this option.

The ABI policy is updated.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
config/common_bsdapp
config/common_linuxapp
doc/guides/guidelines/versioning.rst
mk/rte.lib.mk
pkg/dpdk.spec
scripts/validate-abi.sh