From patchwork Fri May 20 16:50:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Ehrhardt X-Patchwork-Id: 12919 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id BFC449AE5; Fri, 20 May 2016 18:50:28 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by dpdk.org (Postfix) with ESMTP id E63589ADC for ; Fri, 20 May 2016 18:50:27 +0200 (CEST) Received: from [10.172.196.172] (helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1b3nd4-0006vH-Cl; Fri, 20 May 2016 16:50:26 +0000 From: Christian Ehrhardt To: christian.ehrhardt@canonical.com, pmatilai@redhat.com, thomas.monjalon@6wind.com, dev@dpdk.org Date: Fri, 20 May 2016 18:50:22 +0200 Message-Id: <1463763022-6673-1-git-send-email-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH] mk: fix underlinking issues of most librte 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The individual libraries have various cross dependencies. This is already refelcted in the DEPDIR dependency, but not yet in proper DT_NEEDED flags in the .so's. This adds the -l flags so that is properly stored in the .so's ELF headers. Signed-off-by: Christian Ehrhardt --- lib/librte_acl/Makefile | 1 + lib/librte_cfgfile/Makefile | 1 + lib/librte_cmdline/Makefile | 1 + lib/librte_cryptodev/Makefile | 1 + lib/librte_distributor/Makefile | 1 + lib/librte_ether/Makefile | 1 + lib/librte_hash/Makefile | 1 + lib/librte_ip_frag/Makefile | 1 + lib/librte_ivshmem/Makefile | 1 + lib/librte_jobstats/Makefile | 1 + lib/librte_kni/Makefile | 1 + lib/librte_kvargs/Makefile | 1 + lib/librte_lpm/Makefile | 1 + lib/librte_mbuf/Makefile | 1 + lib/librte_mempool/Makefile | 1 + lib/librte_meter/Makefile | 1 + lib/librte_pipeline/Makefile | 1 + lib/librte_port/Makefile | 1 + lib/librte_power/Makefile | 1 + lib/librte_reorder/Makefile | 1 + lib/librte_ring/Makefile | 1 + lib/librte_sched/Makefile | 1 + lib/librte_table/Makefile | 3 +++ lib/librte_timer/Makefile | 1 + lib/librte_vhost/Makefile | 1 + 25 files changed, 27 insertions(+) diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile index 2e394c9..7ca0da4 100644 --- a/lib/librte_acl/Makefile +++ b/lib/librte_acl/Makefile @@ -91,6 +91,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include := rte_acl_osdep.h SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include += rte_acl.h # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_ACL) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile index 616aef0..668aadc 100644 --- a/lib/librte_cfgfile/Makefile +++ b/lib/librte_cfgfile/Makefile @@ -52,6 +52,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_CFGFILE) += rte_cfgfile.c SYMLINK-$(CONFIG_RTE_LIBRTE_CFGFILE)-include += rte_cfgfile.h # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile index 7d2d148..d134e18 100644 --- a/lib/librte_cmdline/Makefile +++ b/lib/librte_cmdline/Makefile @@ -62,6 +62,7 @@ INCS += cmdline_vt100.h cmdline_socket.h cmdline_cirbuf.h cmdline_parse_portlist SYMLINK-$(CONFIG_RTE_LIBRTE_CMDLINE)-include := $(INCS) # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile index 314a046..af69d37 100644 --- a/lib/librte_cryptodev/Makefile +++ b/lib/librte_cryptodev/Makefile @@ -53,6 +53,7 @@ SYMLINK-y-include += rte_cryptodev_pmd.h EXPORT_MAP := rte_cryptodev_version.map # library dependencies +LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf -lrte_kvargs DEPDIRS-y += lib/librte_eal DEPDIRS-y += lib/librte_mempool DEPDIRS-y += lib/librte_ring diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile index 4c9af17..fb651e1 100644 --- a/lib/librte_distributor/Makefile +++ b/lib/librte_distributor/Makefile @@ -48,6 +48,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor.c SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h # this lib needs eal +LDLIBS += -lrte_eal -lrte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += lib/librte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += lib/librte_mbuf diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile index 0bb5dc9..31766e2 100644 --- a/lib/librte_ether/Makefile +++ b/lib/librte_ether/Makefile @@ -54,6 +54,7 @@ SYMLINK-y-include += rte_eth_ctrl.h SYMLINK-y-include += rte_dev_info.h # this lib depends upon: +LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf DEPDIRS-y += lib/librte_eal lib/librte_mempool lib/librte_ring lib/librte_mbuf include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile index bb1ea99..6d94fe0 100644 --- a/lib/librte_hash/Makefile +++ b/lib/librte_hash/Makefile @@ -56,6 +56,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_thash.h SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_fbk_hash.h # this lib needs eal and ring +LDLIBS += -lrte_eal -lrte_ring DEPDIRS-$(CONFIG_RTE_LIBRTE_HASH) += lib/librte_eal lib/librte_ring include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile index 9d06780..42a7052 100644 --- a/lib/librte_ip_frag/Makefile +++ b/lib/librte_ip_frag/Makefile @@ -54,6 +54,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_IP_FRAG)-include += rte_ip_frag.h # this library depends on rte_ether +LDLIBS += -lrte_mempool -lethdev DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/librte_mempool lib/librte_ether include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_ivshmem/Makefile b/lib/librte_ivshmem/Makefile index 16defdb..611a676 100644 --- a/lib/librte_ivshmem/Makefile +++ b/lib/librte_ivshmem/Makefile @@ -47,6 +47,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_IVSHMEM) := rte_ivshmem.c SYMLINK-$(CONFIG_RTE_LIBRTE_IVSHMEM)-include := rte_ivshmem.h # this lib needs eal +LDLIBS += -lrte_mempool DEPDIRS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += lib/librte_mempool include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_jobstats/Makefile b/lib/librte_jobstats/Makefile index 136a448..dddf886 100644 --- a/lib/librte_jobstats/Makefile +++ b/lib/librte_jobstats/Makefile @@ -48,6 +48,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_JOBSTATS) := rte_jobstats.c SYMLINK-$(CONFIG_RTE_LIBRTE_JOBSTATS)-include := rte_jobstats.h # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile index 1398164..f2beb49 100644 --- a/lib/librte_kni/Makefile +++ b/lib/librte_kni/Makefile @@ -47,6 +47,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c SYMLINK-$(CONFIG_RTE_LIBRTE_KNI)-include := rte_kni.h # this lib needs eal +LDLIBS += -lrte_eal -lrte_mbuf -lethdev DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_eal lib/librte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_ether diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile index 87b09f2..ca2679b 100644 --- a/lib/librte_kvargs/Makefile +++ b/lib/librte_kvargs/Makefile @@ -50,6 +50,7 @@ INCS := rte_kvargs.h SYMLINK-$(CONFIG_RTE_LIBRTE_KVARGS)-include := $(INCS) # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile index 656ade2..b60b98d 100644 --- a/lib/librte_lpm/Makefile +++ b/lib/librte_lpm/Makefile @@ -54,6 +54,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_sse.h endif # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_LPM) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile index 8d62b0d..2cad00c 100644 --- a/lib/librte_mbuf/Makefile +++ b/lib/librte_mbuf/Makefile @@ -47,6 +47,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include := rte_mbuf.h # this lib needs eal +LDLIBS += -lrte_eal -lrte_mempool DEPDIRS-$(CONFIG_RTE_LIBRTE_MBUF) += lib/librte_eal lib/librte_mempool include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile index 43423e0..9776114 100644 --- a/lib/librte_mempool/Makefile +++ b/lib/librte_mempool/Makefile @@ -45,6 +45,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += rte_mempool.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include := rte_mempool.h +LDLIBS += -lrte_eal -lrte_ring DEPDIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += lib/librte_eal lib/librte_ring include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile index f07fced..f978aa2 100644 --- a/lib/librte_meter/Makefile +++ b/lib/librte_meter/Makefile @@ -54,6 +54,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_METER) := rte_meter.c SYMLINK-$(CONFIG_RTE_LIBRTE_METER)-include := rte_meter.h # this lib depends upon: +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_METER) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile index 822fd41..a301981 100644 --- a/lib/librte_pipeline/Makefile +++ b/lib/librte_pipeline/Makefile @@ -52,6 +52,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := rte_pipeline.c SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-include += rte_pipeline.h # this lib depends upon: +LDLIBS += -lrte_table -lrte_port DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) := lib/librte_table DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_port diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile index d4de5af..532f86c 100644 --- a/lib/librte_port/Makefile +++ b/lib/librte_port/Makefile @@ -70,6 +70,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sched.h SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h # this lib depends upon: +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lethdev -lrte_ip_frag DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) := lib/librte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile index cee95cd..d5c1be5 100644 --- a/lib/librte_power/Makefile +++ b/lib/librte_power/Makefile @@ -48,6 +48,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_POWER) += rte_power_kvm_vm.c guest_channel.c SYMLINK-$(CONFIG_RTE_LIBRTE_POWER)-include := rte_power.h # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_POWER) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile index 0c01de1..1280da7 100644 --- a/lib/librte_reorder/Makefile +++ b/lib/librte_reorder/Makefile @@ -48,6 +48,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_REORDER) := rte_reorder.c SYMLINK-$(CONFIG_RTE_LIBRTE_REORDER)-include := rte_reorder.h # this lib depends upon: +LDLIBS += -lrte_eal -lrte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_REORDER) += lib/librte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_REORDER) += lib/librte_eal diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile index 4b1112e..c3a942f 100644 --- a/lib/librte_ring/Makefile +++ b/lib/librte_ring/Makefile @@ -46,6 +46,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_RING)-include := rte_ring.h +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_RING) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile index a782cd1..dc4ebd0 100644 --- a/lib/librte_sched/Makefile +++ b/lib/librte_sched/Makefile @@ -59,6 +59,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include := rte_sched.h rte_bitmap.h rte_sched SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include += rte_reciprocal.h # this lib depends upon: +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_timer DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_mempool lib/librte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_net lib/librte_timer diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile index 7f02af3..44e5584 100644 --- a/lib/librte_table/Makefile +++ b/lib/librte_table/Makefile @@ -72,14 +72,17 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_array.h SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h # this lib depends upon: +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_port -lrte_lpm 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 DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_lpm ifeq ($(CONFIG_RTE_LIBRTE_ACL),y) +LDLIBS += -lrte_acl DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_acl endif +LDLIBS += -lrte_hash DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_hash include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile index 2aabef8..3e96832 100644 --- a/lib/librte_timer/Makefile +++ b/lib/librte_timer/Makefile @@ -47,6 +47,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c SYMLINK-$(CONFIG_RTE_LIBRTE_TIMER)-include := rte_timer.h # this lib needs eal +LDLIBS += -lrte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_TIMER) += lib/librte_eal include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile index e33ff53..756bb07 100644 --- a/lib/librte_vhost/Makefile +++ b/lib/librte_vhost/Makefile @@ -63,6 +63,7 @@ endif SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_virtio_net.h # dependencies +LDLIBS += -lrte_eal -lethdev -lrte_mbuf DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_eal DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_ether DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_mbuf