Description: backport of dpdk 16.07 fixes for library linking This is a merge of related upstream discussions: - [PATCH 1/3] mk: fix librte_pipeline dependency list truncation - [PATCH 3/3] mk: fail build on incomplete shared library dependencies Forwarded: yes (likely in DPDK 16.07 in some way) Author: Christian Ehrhardt Last-Update: 2016-06-23 Index: deb_dpdk/lib/librte_pipeline/Makefile =================================================================== --- deb_dpdk.orig/lib/librte_pipeline/Makefile +++ deb_dpdk/lib/librte_pipeline/Makefile @@ -53,7 +53,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-in # this lib depends upon: DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) := lib/librte_table +DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_table DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_port include $(RTE_SDK)/mk/rte.lib.mk Index: deb_dpdk/lib/librte_port/Makefile =================================================================== --- deb_dpdk.orig/lib/librte_port/Makefile +++ deb_dpdk/lib/librte_port/Makefile @@ -70,7 +70,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-includ SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h # this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) := lib/librte_eal +DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether Index: deb_dpdk/lib/librte_table/Makefile =================================================================== --- deb_dpdk.orig/lib/librte_table/Makefile +++ deb_dpdk/lib/librte_table/Makefile @@ -72,7 +72,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-inclu SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h # this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) := lib/librte_eal +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mempool DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_port Index: deb_dpdk/mk/rte.lib.mk =================================================================== --- deb_dpdk.orig/mk/rte.lib.mk +++ deb_dpdk/mk/rte.lib.mk @@ -94,7 +94,7 @@ O_TO_A_DO = @set -e; \ echo $(O_TO_A_CMD) > $(call exe2cmd,$(@)) O_TO_S = $(LD) -L$(RTE_OUTPUT)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \ - -shared $(OBJS-y) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB) + -shared $(OBJS-y) -z defs $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB) O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)") O_TO_S_DO = @set -e; \