From patchwork Tue Feb 23 22:20:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 10780 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 C72992A5B; Tue, 23 Feb 2016 23:21:51 +0100 (CET) Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by dpdk.org (Postfix) with ESMTP id D55182956 for ; Tue, 23 Feb 2016 23:21:50 +0100 (CET) Received: by mail-wm0-f44.google.com with SMTP id g62so4605901wme.0 for ; Tue, 23 Feb 2016 14:21:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=bZRaTs4+o2Ln5VnVqaJJOCDJSupZQe9d8QoOPk7aUXU=; b=sGiou5zTcrY6GS1/hKFyOEt76xib3RgtnltVOlpCaeHh4LvcvhgkX9v5in3sFns27k ZjnNV6kJqnduFqW4sejqPL6BkspRK23WpBE0vJpPC96/Sr5qz7ihFepw6HBL7RhswpY3 a7hOXbd50dHZlSIwMmFgFO8fa85H7cA6iW902Dj394LVZChoVwe9PmzibUMGnzBZ3Bth nrb/I2LkVZZhNCKOHBU5NWcyhjw3ecvsANY4qhQX0z2HZSxU4+yKWYUVugeEgdALnDIj iqVwwZgTc5ws1KRn7gv1e0UG3nQHOK8+YcqKMkk15JKB8V/9rKdmQHOFr5tICOSWokfJ 6S9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=bZRaTs4+o2Ln5VnVqaJJOCDJSupZQe9d8QoOPk7aUXU=; b=Dtg+JGif9ZVEFB9BvcRSFkCMOhWSwBOmqSLuQES68qBnpawCcdaQeWVFXGWcNTehlF 9ZWuzMXfeHark3TO/bYAPC2Xxn6nE2llNrG9JmhrVc8Ven5pkyBoUGGUfFiKdLUj4kEr tnETin/IuwfBJXWgXM0yyVmnJRxFLnKexgBsb9UfmS0p97MEuT6OgMCkbVawCi2qUo21 FRyY/wYsPeZCbs1YdxGogooaRNxdbD1KmF0U1CDb5mQrmiqJfiUTubpa1dG0okXRvBA1 xDZDbKX8UiAn8URlzRfyFhHrrpzzQCBZMQzyTdjM2ckdxsnDnhKOwct473PSOPfgq5jX y+qA== X-Gm-Message-State: AG10YOQpHsnxRdRvg0hculOTamzbwWHYLAkVnOeu4t0rmtKOimLfJ+ErGz5F0OtbjjSKADKd X-Received: by 10.194.91.205 with SMTP id cg13mr35321114wjb.166.1456266110632; Tue, 23 Feb 2016 14:21:50 -0800 (PST) Received: from XPS13.localdomain (171.36.101.84.rev.sfr.net. [84.101.36.171]) by smtp.gmail.com with ESMTPSA id j10sm662502wjb.46.2016.02.23.14.21.48 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 23 Feb 2016 14:21:49 -0800 (PST) From: Thomas Monjalon To: pmatilai@redhat.com Date: Tue, 23 Feb 2016 23:20:11 +0100 Message-Id: <1456266011-23701-1-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <079fa1cfc3550c8147ea8b137fa1bc0f34d051dc.1448375477.git.pmatilai@redhat.com> References: <079fa1cfc3550c8147ea8b137fa1bc0f34d051dc.1448375477.git.pmatilai@redhat.com> Cc: dev@dpdk.org Subject: [dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script 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" From: Panu Matilainen The physically linked-together combined library has been an increasing source of problems, as was predicted when library and symbol versioning was introduced. Replace the complex and fragile construction with a simple linker script which achieves the same without all the problems, remove the related kludges from eg mlx drivers. Since creating the linker script is practically zero cost, remove the config option and just create it always. Based on a patch by Sergio Gonzales Monroy, linker script approach initially suggested by Neil Horman. Suggested-by: Sergio Gonzalez Monroy Suggested-by: Neil Horman Signed-off-by: Panu Matilainen Signed-off-by: Thomas Monjalon --- v2: - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk - update crypto - update doc - update rte.app.mk - update test-build.sh config/common_bsdapp | 5 -- config/common_linuxapp | 5 -- doc/guides/contributing/patches.rst | 12 ++- doc/guides/nics/mlx4.rst | 5 -- doc/guides/nics/mlx5.rst | 5 -- drivers/crypto/Makefile | 3 +- drivers/net/Makefile | 1 - drivers/net/mlx4/Makefile | 6 -- drivers/net/mlx5/Makefile | 6 -- lib/Makefile | 1 - mk/rte.app.mk | 17 +--- drivers/crypto/Makefile => mk/rte.combinedlib.mk | 28 +++++- mk/rte.lib.mk | 16 ---- mk/rte.sdkbuild.mk | 4 +- mk/rte.sharelib.mk | 105 ----------------------- mk/rte.vars.mk | 2 - scripts/test-build.sh | 7 +- 17 files changed, 36 insertions(+), 192 deletions(-) copy drivers/crypto/Makefile => mk/rte.combinedlib.mk (81%) delete mode 100644 mk/rte.sharelib.mk diff --git a/config/common_bsdapp b/config/common_bsdapp index 696382c..7df5ac6 100644 --- a/config/common_bsdapp +++ b/config/common_bsdapp @@ -74,11 +74,6 @@ CONFIG_RTE_ARCH_STRICT_ALIGN=n CONFIG_RTE_BUILD_SHARED_LIB=n # -# Combine to one single library -# -CONFIG_RTE_BUILD_COMBINE_LIBS=n - -# # Use newest code breaking previous ABI # CONFIG_RTE_NEXT_ABI=y diff --git a/config/common_linuxapp b/config/common_linuxapp index f1638db..26df137 100644 --- a/config/common_linuxapp +++ b/config/common_linuxapp @@ -74,11 +74,6 @@ CONFIG_RTE_ARCH_STRICT_ALIGN=n CONFIG_RTE_BUILD_SHARED_LIB=n # -# Combine to one single library -# -CONFIG_RTE_BUILD_COMBINE_LIBS=n - -# # Use newest code breaking previous ABI # CONFIG_RTE_NEXT_ABI=y diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index 5dd8f79..3ebe95b 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -267,7 +267,7 @@ Checking Compilation Compilation of patches and changes should be tested using the the ``test-build.sh`` script in the ``scripts`` directory of the DPDK repo:: - scripts/test-build.sh x86_64-native-linuxapp-gcc+next+shared+combined + scripts/test-build.sh x86_64-native-linuxapp-gcc+next+shared The script usage is:: @@ -283,10 +283,8 @@ Where: Examples of configs are:: x86_64-native-linuxapp-gcc - x86_64-native-linuxapp-gcc+next+shared+combined - x86_64-native-linuxapp-gcc+shared+next - x86_64-native-linuxapp-clang+shared+combined - i686-native-linuxapp-gcc+combined + x86_64-native-linuxapp-gcc+next+shared + x86_64-native-linuxapp-clang+shared The builds can be modifies via the following environmental variables: @@ -302,8 +300,8 @@ These can be set from the command line or in the config files shown above in the The recommended configurations and options to test compilation prior to submitting patches are:: x86_64-native-linuxapp-gcc+shared+next - x86_64-native-linuxapp-clang+shared+combined - i686-native-linuxapp-gcc+combined + x86_64-native-linuxapp-clang+shared + i686-native-linuxapp-gcc export DPDK_DEP_ZLIB=y export DPDK_DEP_PCAP=y diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 7757013..49f4626 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -47,11 +47,6 @@ There is also a `section dedicated to this poll mode driver be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX4_PMD=y`` and recompiling DPDK. -.. warning:: - - ``CONFIG_RTE_BUILD_COMBINE_LIBS`` with ``CONFIG_RTE_BUILD_SHARED_LIB`` - is not supported and thus the compilation will fail with this configuration. - Implementation details ---------------------- diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index b2a12ce..66794e6 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -48,11 +48,6 @@ There is also a `section dedicated to this poll mode driver be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX5_PMD=y`` and recompiling DPDK. -.. warning:: - - ``CONFIG_RTE_BUILD_COMBINE_LIBS`` with ``CONFIG_RTE_BUILD_SHARED_LIB`` - is not supported and thus the compilation will fail with this configuration. - Implementation details ---------------------- diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile index d07ee96..d0258da 100644 --- a/drivers/crypto/Makefile +++ b/drivers/crypto/Makefile @@ -34,5 +34,4 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += qat -include $(RTE_SDK)/mk/rte.sharelib.mk -include $(RTE_SDK)/mk/rte.subdir.mk \ No newline at end of file +include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 6e4497e..0c3393f 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -52,5 +52,4 @@ DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3 DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += xenvirt -include $(RTE_SDK)/mk/rte.sharelib.mk include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile index 23b766d..d2f5692 100644 --- a/drivers/net/mlx4/Makefile +++ b/drivers/net/mlx4/Makefile @@ -31,12 +31,6 @@ include $(RTE_SDK)/mk/rte.vars.mk -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS)$(CONFIG_RTE_BUILD_SHARED_LIB),yy) -all: - @echo 'MLX4: Not supported in a combined shared library' - @false -endif - # Library name. LIB = librte_pmd_mlx4.a diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile index ae568e6..736d205 100644 --- a/drivers/net/mlx5/Makefile +++ b/drivers/net/mlx5/Makefile @@ -31,12 +31,6 @@ include $(RTE_SDK)/mk/rte.vars.mk -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS)$(CONFIG_RTE_BUILD_SHARED_LIB),yy) -all: - @echo 'MLX5: Not supported in a combined shared library' - @false -endif - # Library name. LIB = librte_pmd_mlx5.a diff --git a/lib/Makefile b/lib/Makefile index ef172ea..6840f87 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -64,5 +64,4 @@ DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni DIRS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += librte_ivshmem endif -include $(RTE_SDK)/mk/rte.sharelib.mk include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 8ecab41..daac09f 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -59,10 +59,6 @@ _LDLIBS-y += -L$(RTE_SDK_BIN)/lib _LDLIBS-y += --whole-archive -_LDLIBS-$(CONFIG_RTE_BUILD_COMBINE_LIBS) += -l$(RTE_LIBNAME) - -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n) - _LDLIBS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += -lrte_distributor _LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER) += -lrte_reorder @@ -88,8 +84,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost -endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS - ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma endif @@ -99,9 +93,8 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse endif # The static libraries do not know their dependencies. -# The combined library fails also to store this information. -# So linking with static or combined library requires explicit dependencies. -ifneq ($(CONFIG_RTE_BUILD_COMBINE_LIBS)$(CONFIG_RTE_BUILD_SHARED_LIB),ny) +# So linking with static library requires explicit dependencies. +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 @@ -111,12 +104,10 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lxenstore _LDLIBS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += -lgxio # QAT PMD has a dependency on libcrypto (from openssl) for calculating HMAC precomputes _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lcrypto -endif # CONFIG_RTE_BUILD_COMBINE_LIBS or not CONFIG_RTE_BUILD_SHARED_LIBS +endif # !CONFIG_RTE_BUILD_SHARED_LIBS _LDLIBS-y += --start-group -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n) - _LDLIBS-$(CONFIG_RTE_LIBRTE_KVARGS) += -lrte_kvargs _LDLIBS-$(CONFIG_RTE_LIBRTE_MBUF) += -lrte_mbuf _LDLIBS-$(CONFIG_RTE_LIBRTE_MBUF_OFFLOAD) += -lrte_mbuf_offload @@ -161,8 +152,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) endif # ! $(CONFIG_RTE_BUILD_SHARED_LIB) -endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS - _LDLIBS-y += $(EXECENV_LDLIBS) _LDLIBS-y += --end-group _LDLIBS-y += --no-whole-archive diff --git a/drivers/crypto/Makefile b/mk/rte.combinedlib.mk similarity index 81% copy from drivers/crypto/Makefile copy to mk/rte.combinedlib.mk index d07ee96..fe4817b 100644 --- a/drivers/crypto/Makefile +++ b/mk/rte.combinedlib.mk @@ -31,8 +31,28 @@ include $(RTE_SDK)/mk/rte.vars.mk -DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb -DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += qat +default: all -include $(RTE_SDK)/mk/rte.sharelib.mk -include $(RTE_SDK)/mk/rte.subdir.mk \ No newline at end of file +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) +EXT:=.so +else +EXT:=.a +endif + +RTE_LIBNAME := dpdk +COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT) + +LIBS := $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT))) + +all: FORCE + $(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB) + +# +# Clean all generated files +# +.PHONY: clean +clean: + $(Q)rm -f $(RTE_OUTPUT)/lib/$(COMBINEDLIB) + +.PHONY: FORCE +FORCE: diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index 24c81e7..8f7e021 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -138,14 +138,6 @@ endif $(depfile_newer)),\ $(O_TO_S_DO)) -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS)$(EXTLIB_BUILD),yn) - $(if $(or \ - $(file_missing),\ - $(call cmdline_changed,$(O_TO_C_STR)),\ - $(depfile_missing),\ - $(depfile_newer)),\ - $(O_TO_C_DO)) -endif else $(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE @[ -d $(dir $@) ] || mkdir -p $(dir $@) @@ -161,14 +153,6 @@ $(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE $(depfile_missing),\ $(depfile_newer)),\ $(O_TO_A_DO)) -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS)$(EXTLIB_BUILD),yn) - $(if $(or \ - $(file_missing),\ - $(call cmdline_changed,$(O_TO_C_STR)),\ - $(depfile_missing),\ - $(depfile_newer)),\ - $(O_TO_C_DO)) -endif endif # diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk index 85f603c..eec5241 100644 --- a/mk/rte.sdkbuild.mk +++ b/mk/rte.sdkbuild.mk @@ -77,8 +77,8 @@ $(ROOTDIRS-y): @[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@ @echo "== Build $@" $(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all - @if [ $@ = drivers -a $(CONFIG_RTE_BUILD_COMBINE_LIBS) = y ]; then \ - $(MAKE) -f $(RTE_SDK)/lib/Makefile sharelib; \ + @if [ $@ = drivers ]; then \ + $(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \ fi %_clean: diff --git a/mk/rte.sharelib.mk b/mk/rte.sharelib.mk deleted file mode 100644 index 70c49a8..0000000 --- a/mk/rte.sharelib.mk +++ /dev/null @@ -1,105 +0,0 @@ -# BSD LICENSE -# -# Copyright(c) 2010-2014 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -include $(RTE_SDK)/mk/internal/rte.build-pre.mk - -# VPATH contains at least SRCDIR -VPATH += $(SRCDIR) - -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y) -ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) -LIB_ONE := lib$(RTE_LIBNAME).so -else -LIB_ONE := lib$(RTE_LIBNAME).a -endif -COMBINED_MAP=$(BUILDDIR)/lib/libdpdk.map -COMBINED_LDFLAGS += --version-script=$(COMBINED_MAP) -endif - -.PHONY:sharelib -sharelib: $(LIB_ONE) FORCE - -OBJS = $(wildcard $(RTE_OUTPUT)/build/lib/*.o) - -ifeq ($(LINK_USING_CC),1) -# Override the definition of LD here, since we're linking with CC -LD := $(CC) $(CPU_CFLAGS) -O_TO_S = $(LD) $(call linkerprefix,$(CPU_LDFLAGS)) \ - $(call linkerprefix,$(COMBINED_LDFLAGS)) \ - -shared $(OBJS) -o $(RTE_OUTPUT)/lib/$(LIB_ONE) -else -O_TO_S = $(LD) $(CPU_LDFLAGS) $(COMBINED_LDFLAGS) \ - -shared $(OBJS) -o $(RTE_OUTPUT)/lib/$(LIB_ONE) -endif - -O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight -O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)") -O_TO_S_CMD = "cmd_$@ = $(O_TO_S_STR)" -O_TO_S_DO = @set -e; \ - echo $(O_TO_S_DISP); \ - $(O_TO_S) - -O_TO_A = $(AR) crus $(RTE_OUTPUT)/lib/$(LIB_ONE) $(OBJS) -O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight -O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)"," LD $(@)") -O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)" -O_TO_A_DO = @set -e; \ - echo $(O_TO_A_DISP); \ - $(O_TO_A) -# -# Archive objects to share library -# - -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y) -ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) -$(LIB_ONE): FORCE - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - @$(SRCDIR)/scripts/merge-maps.sh > $(COMBINED_MAP) - $(O_TO_S_DO) -else -$(LIB_ONE): FORCE - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - $(O_TO_A_DO) -endif -endif - -# -# Clean all generated files -# -.PHONY: clean -clean: _postclean - -.PHONY: doclean -doclean: - $(Q)rm -rf $(LIB_ONE) - -.PHONY: FORCE -FORCE: diff --git a/mk/rte.vars.mk b/mk/rte.vars.mk index 7e7ee14..2d734bd 100644 --- a/mk/rte.vars.mk +++ b/mk/rte.vars.mk @@ -66,8 +66,6 @@ endif RTE_TARGET ?= $(RTE_ARCH)-$(RTE_MACHINE)-$(RTE_EXEC_ENV)-$(RTE_TOOLCHAIN) -RTE_LIBNAME := dpdk - ifeq ($(BUILDING_RTE_SDK),) # if we are building an external app/lib, include internal/rte.extvars.mk that will # define RTE_OUTPUT, RTE_SRCDIR, RTE_EXTMK, RTE_SDK_BIN, (etc ...) diff --git a/scripts/test-build.sh b/scripts/test-build.sh index 6d28c5d..ead7b47 100755 --- a/scripts/test-build.sh +++ b/scripts/test-build.sh @@ -55,7 +55,7 @@ print_help () { -s short test with only first config without examples/doc config: defconfig name followed by switches delimited with "+" sign - Example: x86_64-native-linuxapp-gcc+next+shared+combined + Example: x86_64-native-linuxapp-gcc+next+shared Default is to enable most of the options. The external dependencies are setup with DPDK_DEP_* variables. END_OF_HELP @@ -101,8 +101,6 @@ config () # sed -ri 's,(NEXT_ABI=)y,\1n,' $1/.config ! echo $3 | grep -q shared || \ sed -ri 's,(SHARED_LIB=)n,\1y,' $1/.config - ! echo $3 | grep -q combined || \ - sed -ri 's,(COMBINE_LIBS=)n,\1y,' $1/.config echo $2 | grep -q '^i686' || \ sed -ri 's,(NUMA=)n,\1y,' $1/.config sed -ri 's,(PCI_CONFIG=)n,\1y,' $1/.config @@ -110,7 +108,6 @@ config () # sed -ri 's,(BYPASS=)n,\1y,' $1/.config test "$DPDK_DEP_MOFED" != y || \ echo $2 | grep -q '^clang$' || \ - echo $3 | grep -q 'shared.*combined' || \ sed -ri 's,(MLX._PMD=)n,\1y,' $1/.config test "$DPDK_DEP_SZE" != y || \ echo $2 | grep -q '^i686' || \ @@ -122,11 +119,9 @@ config () # sed -ri 's,(PCAP=)n,\1y,' $1/.config test -z "$AESNI_MULTI_BUFFER_LIB_PATH" || \ echo $2 | grep -q '^i686' || \ - echo $3 | grep -q 'shared.*combined' || \ sed -ri 's,(PMD_AESNI_MB=)n,\1y,' $1/.config test "$DPDK_DEP_SSL" != y || \ echo $2 | grep -q '^i686' || \ - echo $3 | grep -q 'shared.*combined' || \ sed -ri 's,(PMD_QAT=)n,\1y,' $1/.config sed -ri 's,(KNI_VHOST.*=)n,\1y,' $1/.config sed -ri 's,(SCHED_.*=)n,\1y,' $1/.config