From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 4ED089386 for ; Wed, 21 Oct 2015 16:18:36 +0200 (CEST) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 4FAC58535A; Wed, 21 Oct 2015 14:18:35 +0000 (UTC) Received: from dhcp195.koti.laiskiainen.org.com (vpn1-6-228.ams2.redhat.com [10.36.6.228]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t9LEIXkA008581; Wed, 21 Oct 2015 10:18:33 -0400 From: Panu Matilainen To: dev@dpdk.org Date: Wed, 21 Oct 2015 17:18:27 +0300 Message-Id: X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 Cc: nicolas.pernas.maradei@emutex.com Subject: [dpdk-dev] [PATCH] drivers: fix shared library dependencies to external libraries X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2015 14:18:36 -0000 Similar to commit 113c8e13c4201eee207723571f83aaf285277d75, but for bnx2x and pcap PMDs. Requiring applications to know about library internal details like dependencies to external helper libraries is a limitation of static linkage, shared libraries should always know their own dependencies for sane operation. This is especially highlighted with dlopen()'ed items, having applications link against about plugin internal dependencies goes on the side of absurd. Signed-off-by: Panu Matilainen --- drivers/net/bnx2x/Makefile | 1 + drivers/net/pcap/Makefile | 1 + mk/rte.app.mk | 5 ++--- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile index 87f31b6..d895d8c 100644 --- a/drivers/net/bnx2x/Makefile +++ b/drivers/net/bnx2x/Makefile @@ -8,6 +8,7 @@ LIB = librte_pmd_bnx2x.a CFLAGS += -O3 -g CFLAGS += $(WERROR_FLAGS) CFLAGS += -DZLIB_CONST +LDLIBS += -lz EXPORT_MAP := rte_pmd_bnx2x_version.map diff --git a/drivers/net/pcap/Makefile b/drivers/net/pcap/Makefile index 48be913..b41d8a2 100644 --- a/drivers/net/pcap/Makefile +++ b/drivers/net/pcap/Makefile @@ -39,6 +39,7 @@ LIB = librte_pmd_pcap.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +LDLIBS += -lpcap EXPORT_MAP := rte_pmd_pcap_version.map diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 9e1909e..c0d574f 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -90,7 +90,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lpcap ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma @@ -101,11 +100,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse endif ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n) +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lpcap +_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lz _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -libverbs endif # ! CONFIG_RTE_BUILD_SHARED_LIBS -_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lz - _LDLIBS-y += --start-group ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n) -- 2.4.3