Blame SOURCES/mk-move-PMD-libraries-linking-to-applications.patch

95b418
From ab12f71b310c344a4903a7105ea79ff5b2c25a15 Mon Sep 17 00:00:00 2001
95b418
From: Ferruh Yigit <ferruh.yigit@intel.com>
95b418
Date: Tue, 31 Jan 2017 15:04:48 +0000
95b418
Subject: [PATCH] mk: move PMD libraries linking to applications
95b418
95b418
Some PMDs provide device specific APIs. Bond and xenvirt are existing
95b418
samples for this.
95b418
95b418
And since these are PMD libraries, there are two options on how to link
95b418
them for shared library build:
95b418
95b418
1- They can be linked to all applications by default, using common
95b418
rte.app.mk file.
95b418
95b418
2- They can be explicitly linked to applications that use device
95b418
specific API.
95b418
95b418
Currently option one is in use, this patch switches to the option two.
95b418
95b418
Moves library linking to the Makefile of application Makefile that uses
95b418
device specific API.
95b418
95b418
This prevent these PMD libraries to be a dependency to applications
95b418
that don't use these device specific APIs.
95b418
95b418
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
95b418
---
95b418
JWL -- backported this to 16.11.2 base. Most differences from upstream
95b418
are contextual, but references to CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER
95b418
were removed due to lack of relevance to 16.11.2 base.
95b418
95b418
 app/test-pmd/Makefile  |    9 +++++++++
95b418
 app/test/Makefile      |   21 +++++++++++++++++----
95b418
 examples/bond/Makefile |    4 ++++
95b418
 mk/rte.app.mk          |    5 ++---
95b418
 4 files changed, 32 insertions(+), 7 deletions(-)
95b418
95b418
diff -up dpdk-stable-16.11.2/app/test-pmd/Makefile.pmd_ring dpdk-stable-16.11.2/app/test-pmd/Makefile
95b418
--- dpdk-stable-16.11.2/app/test-pmd/Makefile.pmd_ring	2017-05-31 03:20:05.000000000 -0400
95b418
+++ dpdk-stable-16.11.2/app/test-pmd/Makefile	2017-06-08 12:19:58.681959006 -0400
95b418
@@ -59,6 +59,11 @@ SRCS-y += icmpecho.c
95b418
 SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
95b418
 
95b418
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
95b418
+ 
95b418
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
95b418
+LDLIBS += -lrte_pmd_bond
95b418
+endif
95b418
+
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe
95b418
 endif
95b418
 
95b418
@@ -69,4 +74,8 @@ DEPDIRS-y += lib drivers
95b418
 
95b418
 include $(RTE_SDK)/mk/rte.app.mk
95b418
 
95b418
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_XENVIRT),y)
95b418
+LDLIBS += -lrte_pmd_xenvirt
95b418
+endif
95b418
+
95b418
 endif
95b418
diff -up dpdk-stable-16.11.2/app/test/Makefile.pmd_ring dpdk-stable-16.11.2/app/test/Makefile
95b418
--- dpdk-stable-16.11.2/app/test/Makefile.pmd_ring	2017-05-31 03:20:05.000000000 -0400
95b418
+++ dpdk-stable-16.11.2/app/test/Makefile	2017-06-08 12:18:25.439330508 -0400
95b418
@@ -185,9 +185,6 @@ endif
95b418
 
95b418
 ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
95b418
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c
95b418
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
95b418
-LDLIBS += -lrte_pmd_null
95b418
-endif
95b418
 endif
95b418
 
95b418
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
95b418
@@ -221,11 +218,27 @@ DEPDIRS-y += lib drivers
95b418
 ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
95b418
 ifneq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
95b418
 $(error Link bonding tests require CONFIG_RTE_LIBRTE_PMD_RING=y)
95b418
-else
95b418
+endif
95b418
+endif
95b418
+
95b418
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
95b418
+
95b418
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
95b418
+LDLIBS += -lrte_pmd_bond
95b418
+endif
95b418
+
95b418
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
95b418
+LDLIBS += -lrte_pmd_null
95b418
+endif
95b418
+
95b418
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
95b418
 LDLIBS += -lrte_pmd_ring
95b418
 endif
95b418
+
95b418
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
95b418
+LDLIBS += -lrte_pmd_crypto_scheduler
95b418
 endif
95b418
+
95b418
 endif
95b418
 
95b418
 ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
95b418
diff -up dpdk-stable-16.11.2/examples/bond/Makefile.pmd_ring dpdk-stable-16.11.2/examples/bond/Makefile
95b418
--- dpdk-stable-16.11.2/examples/bond/Makefile.pmd_ring	2017-05-31 03:20:05.000000000 -0400
95b418
+++ dpdk-stable-16.11.2/examples/bond/Makefile	2017-06-08 12:18:25.440330526 -0400
95b418
@@ -54,4 +54,8 @@ endif
95b418
 
95b418
 CFLAGS += -O3
95b418
 
95b418
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
95b418
+LDLIBS += -lrte_pmd_bond
95b418
+endif
95b418
+
95b418
 include $(RTE_SDK)/mk/rte.extapp.mk
95b418
diff -up dpdk-stable-16.11.2/mk/rte.app.mk.pmd_ring dpdk-stable-16.11.2/mk/rte.app.mk
95b418
--- dpdk-stable-16.11.2/mk/rte.app.mk.pmd_ring	2017-05-31 03:20:05.000000000 -0400
95b418
+++ dpdk-stable-16.11.2/mk/rte.app.mk	2017-06-08 12:22:48.458924188 -0400
95b418
@@ -99,15 +99,13 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_CMDLINE)        += -lrte_cmdline
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE)        += -lrte_cfgfile
95b418
 
95b418
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
95b418
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT)    += -lrte_pmd_xenvirt -lxenstore
95b418
-
95b418
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
95b418
 # plugins (link only if static libraries)
95b418
 
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lrte_pmd_bnx2x -lz
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD)       += -lrte_pmd_bnxt
95b418
+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD)      += -lrte_pmd_cxgbe
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD)      += -lrte_pmd_e1000
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD)        += -lrte_pmd_ena
95b418
@@ -130,6 +128,7 @@ ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VHOST)      += -lrte_pmd_vhost
95b418
 endif # $(CONFIG_RTE_LIBRTE_VHOST)
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD)    += -lrte_pmd_vmxnet3_uio
95b418
+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT)    += -lrte_pmd_xenvirt -lxenstore
95b418
 
95b418
 ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
95b418
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lrte_pmd_aesni_mb