From d23e09e0ef749fd4784c6c12c1cd0b8d9416a27f Mon Sep 17 00:00:00 2001
From: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Date: Fri, 13 Feb 2015 11:38:15 +0100
Subject: [PATCH] app/test: link with ring pmd when needed

This patch links test application against librte_pmd_ring.so for shared
libraries. It's required as long as librte_pmd_ring provides some additional
routines used for testing purposes and must be "hard-linked".

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
---
 app/test/Makefile | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/app/test/Makefile b/app/test/Makefile
index a4e4bae2d1..89fac6dc71 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -130,8 +130,12 @@ SRCS-y += test_devargs.c
 SRCS-y += virtual_pmd.c
 SRCS-y += packet_burst_generator.c
 SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c
+
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_mode4.c
+endif
+
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
 SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
 
@@ -149,6 +153,17 @@ CFLAGS += -D_GNU_SOURCE
 # this application needs libraries first
 DEPDIRS-y += lib
 
+# Link against shared libraries when needed
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
+ifneq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
+$(error Link bonding tests require CONFIG_RTE_LIBRTE_PMD_RING=y)
+else
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+LDLIBS += -lrte_pmd_ring
+endif
+endif
+endif
+
 include $(RTE_SDK)/mk/rte.app.mk
 
 endif
-- 
2.39.5