Re: [PATCH 2/2] app/testpmd: remove explicit ixgbe link request
From: Ferruh Yigit <hidden>
Date: 2017-01-03 13:30:29
On 12/27/2016 10:09 AM, Jerin Jacob wrote:
Removed explicit ixgbe driver linkage request from app/testpmd makefile to mk/rte.app.mk to 1)Maintain the correct link ordering(from higher level libraries to lower level libraries) 2)In shared lib configuration, any application can use ixgbe exposed pmd specific APIs not just testpmd.
In testpmd, "explicit ixgbe driver linkage request" added because testpmd uses ixgbe PMD specific APIs. Overall, that line is for shared library, for static library result should be same. I believe it is good to keep it in testpmd Makefile, updating rte.app.mk to have it will: - link library to the applications which does not use PMD specific APIs and want to load PMD dynamically. - link library to the application that won't use driver at all. This may break the distributed binaries, since testpmd will now be dependent to a specific PMD.
quoted hunk ↗ jump to hunk
Signed-off-by: Jerin Jacob <redacted> --- app/test-pmd/Makefile | 2 -- mk/rte.app.mk | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-)diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index 5988c3e..96e0c67 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile@@ -59,8 +59,6 @@ SRCS-y += csumonly.c SRCS-y += icmpecho.c SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe - CFLAGS_cmdline.o := -D_GNU_SOURCE # this application needs libraries firstdiff --git a/mk/rte.app.mk b/mk/rte.app.mk index f75f0e2..aee235c 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk@@ -101,6 +101,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE) += -lrte_cfgfile _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lrte_pmd_xenvirt -lxenstore +_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n) # plugins (link only if static libraries)@@ -114,7 +115,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena _LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += -lrte_pmd_enic _LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += -lrte_pmd_fm10k _LDLIBS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += -lrte_pmd_i40e -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -lrte_pmd_mlx4 -libverbs _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 -libverbs _LDLIBS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += -lrte_pmd_mpipe -lgxio