On Wed, Jan 04, 2017 at 11:44:21AM +0000, Ferruh Yigit wrote: > On 1/4/2017 11:01 AM, Jerin Jacob wrote: > > On Tue, Jan 03, 2017 at 01:30:26PM +0000, Ferruh Yigit wrote: > >> 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. > > ---- > > > >> > >> 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. > > > > No strong opinion here as it is specific to ixgbe. But can we include > > ixgbe only for shared library in testpmd so that it won't effect any > > symbol generation in static build. > > I think this is better, I am OK with below patch, thanks.
OK. I will post the v2 based on following patch then. > > > > > > > [dpdk-master] $ git diff > > diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile > > index 5988c3e..050663a 100644 > > --- a/app/test-pmd/Makefile > > +++ b/app/test-pmd/Makefile > > @@ -59,7 +59,9 @@ SRCS-y += csumonly.c > > SRCS-y += icmpecho.c > > SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c > > > > +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) > > _LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe > > +endif > > > > CFLAGS_cmdline.o := -D_GNU_SOURCE > > > > > >> > >>> > >>> Signed-off-by: Jerin Jacob <jerin.ja...@caviumnetworks.com> > >>> --- > >>> 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 first > >>> diff --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 > >>> > >> >