This patch series has the following goals: - Remove config option to build a combined library to simplify maintenance. - Add makefile to always generate linker script that behaves like a combined library. - For shared libraries, explicitly link against dependant libraries (adding entries to DT_NEEDED). - Update app linking flags for static/shared DPDK libs.
v3: - keep CONFIG_RTE_LIBNAME config option. - add makefile to always generate a linker script that behaves like a combined library. - rebase patch v2: - Do not create a core library to solve circular dependencies between eal, malloc, mempool and ring libraries. Instead, add DT_NEEDED entries for all libraries but eal, then for application linking, always link against these libraries by preceding them with --no-as-needed flag. Sergio Gonzalez Monroy (5): mk: remove combined library and related options mk: always generate combined lib linker script lib: set LDLIBS for each library mk: use LDLIBS when linking shared libraries mk: update LDLIBS for app building config/common_bsdapp | 3 +- config/common_linuxapp | 3 +- lib/Makefile | 1 - lib/librte_acl/Makefile | 2 + lib/librte_cfgfile/Makefile | 2 + lib/librte_cmdline/Makefile | 2 + lib/librte_distributor/Makefile | 2 + lib/librte_eal/bsdapp/eal/Makefile | 2 + lib/librte_eal/linuxapp/eal/Makefile | 2 + lib/librte_ether/Makefile | 5 +- lib/librte_hash/Makefile | 2 + lib/librte_ip_frag/Makefile | 3 ++ lib/librte_ivshmem/Makefile | 2 + lib/librte_jobstats/Makefile | 2 + lib/librte_kni/Makefile | 2 + lib/librte_kvargs/Makefile | 2 + lib/librte_lpm/Makefile | 2 + lib/librte_malloc/Makefile | 2 + lib/librte_mbuf/Makefile | 2 + lib/librte_mempool/Makefile | 2 + lib/librte_meter/Makefile | 2 + lib/librte_pipeline/Makefile | 2 + lib/librte_pmd_af_packet/Makefile | 2 + lib/librte_pmd_bond/Makefile | 6 +++ lib/librte_pmd_e1000/Makefile | 2 + lib/librte_pmd_enic/Makefile | 3 ++ lib/librte_pmd_fm10k/Makefile | 2 + lib/librte_pmd_i40e/Makefile | 2 + lib/librte_pmd_ixgbe/Makefile | 2 + lib/librte_pmd_mlx4/Makefile | 2 + lib/librte_pmd_null/Makefile | 2 + lib/librte_pmd_pcap/Makefile | 2 + lib/librte_pmd_ring/Makefile | 4 +- lib/librte_pmd_virtio/Makefile | 2 + lib/librte_pmd_vmxnet3/Makefile | 2 + lib/librte_pmd_xenvirt/Makefile | 3 ++ lib/librte_port/Makefile | 4 ++ lib/librte_power/Makefile | 2 + lib/librte_reorder/Makefile | 2 + lib/librte_ring/Makefile | 2 + lib/librte_sched/Makefile | 2 + lib/librte_table/Makefile | 4 ++ lib/librte_timer/Makefile | 2 + lib/librte_vhost/Makefile | 7 ++- mk/rte.app.mk | 60 ++++++++++----------- mk/rte.combinedlib.mk | 89 ++++++++++++++++++++++++++++++ mk/rte.lib.mk | 50 ++++------------- mk/rte.sdkbuild.mk | 4 +- mk/rte.sharelib.mk | 101 ----------------------------------- mk/rte.vars.mk | 4 -- 50 files changed, 229 insertions(+), 189 deletions(-) create mode 100644 mk/rte.combinedlib.mk delete mode 100644 mk/rte.sharelib.mk -- 1.9.3