[dpdk-dev] [PATCH] drivers: fix shared library dependencies to external libraries
Nicolas Pernas Maradei
nicolas.pernas.maradei at emutex.com
Wed Oct 21 18:30:00 CEST 2015
Hi,
Are those the only two libraries with external dependencies? I took a
quick look to the rte.app.mk file and there seem to be some others like
-lfuse and -lnuma. Would it be possible to move those to their specific
Makefiles as well?
Thanks,
Nico.
On 10/21/2015 03:18 PM, Panu Matilainen wrote:
> 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 at 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)
More information about the dev
mailing list