From: Panu Matilainen <pmatilai@redhat.com>
To: dev@dpdk.org
Cc: nicolas.pernas.maradei@emutex.com
Subject: [dpdk-dev] [PATCH] drivers: fix shared library dependencies to external libraries
Date: Wed, 21 Oct 2015 17:18:27 +0300 [thread overview]
Message-ID: <ee5b1caf719262b06bbf0b8b134b250abd0865d3.1445437070.git.pmatilai@redhat.com> (raw)
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 <pmatilai@redhat.com>
---
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
next reply other threads:[~2015-10-21 14:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-21 14:18 Panu Matilainen [this message]
2015-10-21 16:30 ` Nicolas Pernas Maradei
2015-10-22 4:44 ` Panu Matilainen
2015-12-06 18:46 ` [dpdk-dev] [PATCH v2 1/2] mk: prepare dependencies in shared libraries not combined Thomas Monjalon
2015-12-06 18:46 ` [dpdk-dev] [PATCH v2 2/2] mk: fix shared library dependencies of drivers Thomas Monjalon
2015-12-06 21:13 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ee5b1caf719262b06bbf0b8b134b250abd0865d3.1445437070.git.pmatilai@redhat.com \
--to=pmatilai@redhat.com \
--cc=dev@dpdk.org \
--cc=nicolas.pernas.maradei@emutex.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).