List comments

GET /api/patches/384/comments/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

[
    {
        "id": 1358,
        "web_url": "http://patches.dpdk.org/comment/1358/",
        "msgid": "<20141001112745.GB17019@sivswdev02.ir.intel.com>",
        "date": "2014-10-01T11:27:45",
        "subject": "Re: [dpdk-dev] [PATCH 3/4] Add library version extenstion",
        "submitter": {
            "id": 73,
            "url": "http://patches.dpdk.org/api/people/73/",
            "name": "Sergio Gonzalez Monroy",
            "email": "sergio.gonzalez.monroy@intel.com"
        },
        "content": "Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>\n\nOn Mon, Sep 15, 2014 at 03:23:50PM -0400, Neil Horman wrote:\n> To differentiate libraries that break ABI, we add a library version number\n> suffix to the library, which must be incremented when a given libraries ABI is\n> broken.  This patch enforces that addition, sets the initial abi soname\n> extension to 1 for each library and creates a symlink to the base SONAME so that\n> the test applications will link properly.\n> \n> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>\n> CC: Thomas Monjalon <thomas.monjalon@6wind.com>\n> CC: \"Richardson, Bruce\" <bruce.richardson@intel.com>\n> ---\n>  lib/librte_acl/Makefile              |  2 ++\n>  lib/librte_cfgfile/Makefile          |  2 ++\n>  lib/librte_cmdline/Makefile          |  2 ++\n>  lib/librte_compat/Makefile           |  2 ++\n>  lib/librte_distributor/Makefile      |  2 ++\n>  lib/librte_eal/bsdapp/eal/Makefile   |  2 ++\n>  lib/librte_eal/linuxapp/eal/Makefile |  2 ++\n>  lib/librte_ether/Makefile            |  2 ++\n>  lib/librte_hash/Makefile             |  2 ++\n>  lib/librte_ip_frag/Makefile          |  2 ++\n>  lib/librte_ivshmem/Makefile          |  2 ++\n>  lib/librte_kni/Makefile              |  2 ++\n>  lib/librte_kvargs/Makefile           |  2 ++\n>  lib/librte_lpm/Makefile              |  2 ++\n>  lib/librte_malloc/Makefile           |  2 ++\n>  lib/librte_mbuf/Makefile             |  2 ++\n>  lib/librte_mempool/Makefile          |  2 ++\n>  lib/librte_meter/Makefile            |  2 ++\n>  lib/librte_pipeline/Makefile         |  2 ++\n>  lib/librte_pmd_bond/Makefile         |  2 ++\n>  lib/librte_pmd_e1000/Makefile        |  2 ++\n>  lib/librte_pmd_i40e/Makefile         |  2 ++\n>  lib/librte_pmd_ixgbe/Makefile        |  2 ++\n>  lib/librte_pmd_pcap/Makefile         |  2 ++\n>  lib/librte_pmd_ring/Makefile         |  2 ++\n>  lib/librte_pmd_virtio/Makefile       |  2 ++\n>  lib/librte_pmd_vmxnet3/Makefile      |  2 ++\n>  lib/librte_pmd_xenvirt/Makefile      |  2 ++\n>  lib/librte_port/Makefile             |  2 ++\n>  lib/librte_power/Makefile            |  2 ++\n>  lib/librte_ring/Makefile             |  2 ++\n>  lib/librte_sched/Makefile            |  2 ++\n>  lib/librte_table/Makefile            |  2 ++\n>  lib/librte_timer/Makefile            |  2 ++\n>  mk/rte.lib.mk                        | 12 +++++++++---\n>  35 files changed, 77 insertions(+), 3 deletions(-)\n> \n> diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile\n> index 1f96645..4db403b 100644\n> --- a/lib/librte_acl/Makefile\n> +++ b/lib/librte_acl/Makefile\n> @@ -39,6 +39,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_acl/rte_acl_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_ACL) += tb_mem.c\n>  \n> diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile\n> index e655098..1c81579 100644\n> --- a/lib/librte_cfgfile/Makefile\n> +++ b/lib/librte_cfgfile/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_cfgfile/rte_cfgfile_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile\n> index 1a47173..b0ab5b6 100644\n> --- a/lib/librte_cmdline/Makefile\n> +++ b/lib/librte_cmdline/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_cmdline/rte_cmdline_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c\n>  SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c\n> diff --git a/lib/librte_compat/Makefile b/lib/librte_compat/Makefile\n> index a61511a..5f369e5 100644\n> --- a/lib/librte_compat/Makefile\n> +++ b/lib/librte_compat/Makefile\n> @@ -32,6 +32,8 @@\n>  include $(RTE_SDK)/mk/rte.vars.mk\n>  \n>  \n> +LIBABIVER := 1\n> +\n>  # install includes\n>  SYMLINK-y-include := rte_compat.h\n>  \n> diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile\n> index 97d8bbb..12d9df1 100644\n> --- a/lib/librte_distributor/Makefile\n> +++ b/lib/librte_distributor/Makefile\n> @@ -39,6 +39,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_distributor/rte_distributor_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor.c\n>  \n> diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile\n> index 2caaf00..2edd880 100644\n> --- a/lib/librte_eal/bsdapp/eal/Makefile\n> +++ b/lib/librte_eal/bsdapp/eal/Makefile\n> @@ -47,6 +47,8 @@ CFLAGS += $(WERROR_FLAGS) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_eal/bsdapp/eal/rte_eal_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # specific to linuxapp exec-env\n>  SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) := eal.c\n>  SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_memory.c\n> diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile\n> index 254d59c..267f2c7 100644\n> --- a/lib/librte_eal/linuxapp/eal/Makefile\n> +++ b/lib/librte_eal/linuxapp/eal/Makefile\n> @@ -35,6 +35,8 @@ LIB = librte_eal.a\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_eal/linuxapp/eal/rte_eal_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  VPATH += $(RTE_SDK)/lib/librte_eal/common\n>  \n>  CFLAGS += -I$(SRCDIR)/include\n> diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile\n> index f40b5cc..62bcf0c 100644\n> --- a/lib/librte_ether/Makefile\n> +++ b/lib/librte_ether/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_ether/rte_ether_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  SRCS-y += rte_ethdev.c\n>  \n>  #\n> diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile\n> index a449ec2..17778ba 100644\n> --- a/lib/librte_hash/Makefile\n> +++ b/lib/librte_hash/Makefile\n> @@ -39,6 +39,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_hash/rte_hash_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_HASH) := rte_hash.c\n>  SRCS-$(CONFIG_RTE_LIBRTE_HASH) += rte_fbk_hash.c\n> diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile\n> index ede5a89..6b496dc 100644\n> --- a/lib/librte_ip_frag/Makefile\n> +++ b/lib/librte_ip_frag/Makefile\n> @@ -39,6 +39,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_ip_frag/rte_ipfrag_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #source files\n>  SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_fragmentation.c\n>  SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_reassembly.c\n> diff --git a/lib/librte_ivshmem/Makefile b/lib/librte_ivshmem/Makefile\n> index be6f21a..7c8dc17 100644\n> --- a/lib/librte_ivshmem/Makefile\n> +++ b/lib/librte_ivshmem/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAPS := $(RTE_SDK)/lib/librte_ivshmem/rte_ivshmem_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_IVSHMEM) := rte_ivshmem.c\n>  \n> diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile\n> index c119fc1..59abd85 100644\n> --- a/lib/librte_kni/Makefile\n> +++ b/lib/librte_kni/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_kni/rte_kni_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c\n>  \n> diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile\n> index 83a42b1..10713db 100644\n> --- a/lib/librte_kvargs/Makefile\n> +++ b/lib/librte_kvargs/Makefile\n> @@ -40,6 +40,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_kvargs/rte_kvargs_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) := rte_kvargs.c\n>  \n> diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile\n> index 05de8d9..c99bfbd 100644\n> --- a/lib/librte_lpm/Makefile\n> +++ b/lib/librte_lpm/Makefile\n> @@ -39,6 +39,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_lpm/rte_lpm_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_LPM) := rte_lpm.c rte_lpm6.c\n>  \n> diff --git a/lib/librte_malloc/Makefile b/lib/librte_malloc/Makefile\n> index 1a5c288..3bb7a99 100644\n> --- a/lib/librte_malloc/Makefile\n> +++ b/lib/librte_malloc/Makefile\n> @@ -34,6 +34,8 @@ include $(RTE_SDK)/mk/rte.vars.mk\n>  # library name\n>  LIB = librte_malloc.a\n>  \n> +LIBABIVER := 1\n> +\n>  CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_malloc/rte_malloc_version.map\n> diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile\n> index 5cd4941..3cf94d1 100644\n> --- a/lib/librte_mbuf/Makefile\n> +++ b/lib/librte_mbuf/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_mbuf/rte_mbuf_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c\n>  \n> diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile\n> index 07b5b4e..2c2a6e8 100644\n> --- a/lib/librte_mempool/Makefile\n> +++ b/lib/librte_mempool/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_mempool/rte_mempool_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool.c\n>  ifeq ($(CONFIG_RTE_LIBRTE_XEN_DOM0),y)\n> diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile\n> index 0778690..f58822e 100644\n> --- a/lib/librte_meter/Makefile\n> +++ b/lib/librte_meter/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_meter/rte_meter_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile\n> index 5465d00..df44f51 100644\n> --- a/lib/librte_pipeline/Makefile\n> +++ b/lib/librte_pipeline/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pipeline/rte_pipeline_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pmd_bond/Makefile b/lib/librte_pmd_bond/Makefile\n> index 5b14ce2..2f1e83b 100644\n> --- a/lib/librte_pmd_bond/Makefile\n> +++ b/lib/librte_pmd_bond/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_bond/rte_eth_bond_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pmd_e1000/Makefile b/lib/librte_pmd_e1000/Makefile\n> index e225bfe..a5e3b66 100644\n> --- a/lib/librte_pmd_e1000/Makefile\n> +++ b/lib/librte_pmd_e1000/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_e1000/rte_pmd_e1000_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  ifeq ($(CC), icc)\n>  #\n>  # CFLAGS for icc\n> diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile\n> index cfbe816..d59967a 100644\n> --- a/lib/librte_pmd_i40e/Makefile\n> +++ b/lib/librte_pmd_i40e/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_i40e/rte_pmd_i40e_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # Add extra flags for base driver files (also known as shared code)\n>  # to disable warnings\n> diff --git a/lib/librte_pmd_ixgbe/Makefile b/lib/librte_pmd_ixgbe/Makefile\n> index 1dd14a6..fd17c09 100644\n> --- a/lib/librte_pmd_ixgbe/Makefile\n> +++ b/lib/librte_pmd_ixgbe/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  ifeq ($(CC), icc)\n>  #\n>  # CFLAGS for icc\n> diff --git a/lib/librte_pmd_pcap/Makefile b/lib/librte_pmd_pcap/Makefile\n> index fff5572..8f05c2c 100644\n> --- a/lib/librte_pmd_pcap/Makefile\n> +++ b/lib/librte_pmd_pcap/Makefile\n> @@ -42,6 +42,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_pcap/rte_pmd_pcap_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pmd_ring/Makefile b/lib/librte_pmd_ring/Makefile\n> index 25ad27f..24c57fc 100644\n> --- a/lib/librte_pmd_ring/Makefile\n> +++ b/lib/librte_pmd_ring/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_ring/rte_eth_ring_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pmd_virtio/Makefile b/lib/librte_pmd_virtio/Makefile\n> index bf51bd9..d0bec84 100644\n> --- a/lib/librte_pmd_virtio/Makefile\n> +++ b/lib/librte_pmd_virtio/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_virtio/rte_pmd_virtio_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pmd_vmxnet3/Makefile b/lib/librte_pmd_vmxnet3/Makefile\n> index e5a1c6b..2b418f4 100644\n> --- a/lib/librte_pmd_vmxnet3/Makefile\n> +++ b/lib/librte_pmd_vmxnet3/Makefile\n> @@ -68,6 +68,8 @@ VPATH += $(RTE_SDK)/lib/librte_pmd_vmxnet3/vmxnet3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_pmd_xenvirt/Makefile b/lib/librte_pmd_xenvirt/Makefile\n> index 0a08b1b..6132c1c 100644\n> --- a/lib/librte_pmd_xenvirt/Makefile\n> +++ b/lib/librte_pmd_xenvirt/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile\n> index e812bda..828692f 100644\n> --- a/lib/librte_port/Makefile\n> +++ b/lib/librte_port/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_port/rte_port_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile\n> index 26ee542..3261176 100644\n> --- a/lib/librte_power/Makefile\n> +++ b/lib/librte_power/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_power/rte_power_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_POWER) := rte_power.c\n>  \n> diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile\n> index 0adaa00..fa697ea 100644\n> --- a/lib/librte_ring/Makefile\n> +++ b/lib/librte_ring/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_ring/rte_ring_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c\n>  \n> diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile\n> index 205fb7a..1a54bf9 100644\n> --- a/lib/librte_sched/Makefile\n> +++ b/lib/librte_sched/Makefile\n> @@ -43,6 +43,8 @@ CFLAGS_rte_red.o := -D_GNU_SOURCE\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_sched/rte_sched_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile\n> index 5b54acc..29b768c 100644\n> --- a/lib/librte_table/Makefile\n> +++ b/lib/librte_table/Makefile\n> @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_table/rte_table_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  #\n>  # all source are stored in SRCS-y\n>  #\n> diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile\n> index f703e5f..01772c7 100644\n> --- a/lib/librte_timer/Makefile\n> +++ b/lib/librte_timer/Makefile\n> @@ -38,6 +38,8 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n>  \n>  EXPORT_MAP := $(RTE_SDK)/lib/librte_timer/rte_timer_version.map\n>  \n> +LIBABIVER := 1\n> +\n>  # all source are stored in SRCS-y\n>  SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c\n>  \n> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk\n> index 82ac309..4d55cc9 100644\n> --- a/mk/rte.lib.mk\n> +++ b/mk/rte.lib.mk\n> @@ -37,10 +37,8 @@ include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk\n>  \n>  # VPATH contains at least SRCDIR\n>  VPATH += $(SRCDIR)\n> -\n>  ifeq ($(RTE_BUILD_SHARED_LIB),y)\n> -LIB := $(patsubst %.a,%.so,$(LIB))\n> -\n> +LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))\n>  CPU_LDFLAGS += --version-script=$(EXPORT_MAP)\n>  \n>  endif\n> @@ -63,6 +61,7 @@ build: _postbuild\n>  \n>  exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))\n>  \n> +\n>  ifeq ($(LINK_USING_CC),1)\n>  # Override the definition of LD here, since we're linking with CC\n>  LD := $(CC)\n> @@ -112,6 +111,10 @@ lib_dir = [ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib;\n>  #\n>  ifeq ($(RTE_BUILD_SHARED_LIB),y)\n>  $(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE\n> +ifeq ($(LIBABIVER),)\n> +\t@echo \"Must Specify a $(LIB) ABI version\"\n> +\t@exit 1\n> +endif\n>  \t@[ -d $(dir $@) ] || mkdir -p $(dir $@)\n>  \t$(if $(D),\\\n>  \t\t@echo -n \"$< -> $@ \" ; \\\n> @@ -125,6 +128,7 @@ $(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE\n>  \t\t$(depfile_missing),\\\n>  \t\t$(depfile_newer)),\\\n>  \t\t$(O_TO_S_DO))\n> +\n>  ifeq ($(RTE_BUILD_COMBINE_LIBS),y)\n>  \t$(if $(or \\\n>          $(file_missing),\\\n> @@ -162,10 +166,12 @@ endif\n>  # install lib in $(RTE_OUTPUT)/lib\n>  #\n>  $(RTE_OUTPUT)/lib/$(LIB): $(LIB)\n> +\t$(eval LIBSONAME := $(basename $(LIB)))\n>  \t@echo \"  INSTALL-LIB $(LIB)\"\n>  \t@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib\n>  ifneq ($(LIB),)\n>  \t$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib\n> +\t$(Q)ln -s -f $(RTE_OUTPUT)/lib/$(LIB) $(RTE_OUTPUT)/lib/$(LIBSONAME)\n>  endif\n>  \n>  #\n> -- \n> 1.9.3\n>",
        "headers": {
            "Return-Path": "<dev-bounces@dpdk.org>",
            "References": "<1410809031-19114-1-git-send-email-nhorman@tuxdriver.com>\n\t<1410809031-19114-4-git-send-email-nhorman@tuxdriver.com>",
            "X-Mailman-Version": "2.1.15",
            "X-IronPort-AV": "E=Sophos;i=\"5.04,631,1406617200\"; d=\"scan'208\";a=\"581811563\"",
            "From": "Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>",
            "User-Agent": "Mutt/1.5.20 (2009-06-14)",
            "List-Post": "<mailto:dev@dpdk.org>",
            "Content-Type": "text/plain; charset=us-ascii",
            "X-BeenThere": "dev@dpdk.org",
            "X-Original-To": "patchwork@dpdk.org",
            "Received": [
                "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 563B03B5;\n\tWed,  1 Oct 2014 13:21:40 +0200 (CEST)",
                "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 1D4271F7\n\tfor <dev@dpdk.org>; Wed,  1 Oct 2014 13:21:37 +0200 (CEST)",
                "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga102.jf.intel.com with ESMTP; 01 Oct 2014 04:22:03 -0700",
                "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby orsmga001.jf.intel.com with ESMTP; 01 Oct 2014 04:27:46 -0700",
                "from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com\n\t[10.237.217.46])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\ts91BRkcn007313; Wed, 1 Oct 2014 12:27:46 +0100",
                "from sivswdev02.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev02.ir.intel.com with ESMTP id s91BRjQ9018762;\n\tWed, 1 Oct 2014 12:27:45 +0100",
                "(from smonroy@localhost)\n\tby sivswdev02.ir.intel.com with  id s91BRjB6018758;\n\tWed, 1 Oct 2014 12:27:45 +0100"
            ],
            "Subject": "Re: [dpdk-dev] [PATCH 3/4] Add library version extenstion",
            "Sender": "\"dev\" <dev-bounces@dpdk.org>",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Message-ID": "<20141001112745.GB17019@sivswdev02.ir.intel.com>",
            "Precedence": "list",
            "Date": "Wed, 1 Oct 2014 12:27:45 +0100",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "X-ExtLoop1": "1",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Cc": "dev@dpdk.org",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "Delivered-To": "patchwork@dpdk.org",
            "In-Reply-To": "<1410809031-19114-4-git-send-email-nhorman@tuxdriver.com>",
            "Errors-To": "dev-bounces@dpdk.org",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "MIME-Version": "1.0",
            "To": "Neil Horman <nhorman@tuxdriver.com>",
            "Content-Disposition": "inline"
        }
    }
]