From patchwork Wed Apr 8 15:07:21 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Gonzalez Monroy X-Patchwork-Id: 4263 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 8DDA8683D; Wed, 8 Apr 2015 17:07:55 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id BCB12683D for ; Wed, 8 Apr 2015 17:07:51 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP; 08 Apr 2015 08:07:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,545,1422950400"; d="scan'208";a="692235952" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga001.fm.intel.com with ESMTP; 08 Apr 2015 08:07:26 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id t38F7Q2R016603 for ; Wed, 8 Apr 2015 16:07:26 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id t38F7QDB005623 for ; Wed, 8 Apr 2015 16:07:26 +0100 Received: (from smonroy@localhost) by sivswdev02.ir.intel.com with id t38F7Q7n005619 for dev@dpdk.org; Wed, 8 Apr 2015 16:07:26 +0100 From: Sergio Gonzalez Monroy To: dev@dpdk.org Date: Wed, 8 Apr 2015 16:07:21 +0100 Message-Id: <1428505645-5578-2-git-send-email-sergio.gonzalez.monroy@intel.com> X-Mailer: git-send-email 1.8.5.4 In-Reply-To: <1428505645-5578-1-git-send-email-sergio.gonzalez.monroy@intel.com> References: <1428505645-5578-1-git-send-email-sergio.gonzalez.monroy@intel.com> Subject: [dpdk-dev] [PATCH v3 1/5] mk: remove combined library and related options 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" Currently, the target/rules to build combined libraries is different than the one to build individual libraries. By removing the combined library option as a build configuration option we simplify the build pocess by having a single point for linking/archiving libraries in DPDK. This patch removes CONFIG_RTE_BUILD_COMBINE_LIB build config option and removes the makefiles associated with building a combined library. The CONFIG_RTE_LIBNAME config option is kept as it will be use to always generate a linker script that acts as a single combined library. Signed-off-by: Sergio Gonzalez Monroy --- config/common_bsdapp | 3 +- config/common_linuxapp | 3 +- lib/Makefile | 1 - mk/rte.app.mk | 12 ------ mk/rte.lib.mk | 35 ----------------- mk/rte.sdkbuild.mk | 3 -- mk/rte.sharelib.mk | 101 ------------------------------------------------- mk/rte.vars.mk | 4 -- 8 files changed, 2 insertions(+), 160 deletions(-) delete mode 100644 mk/rte.sharelib.mk diff --git a/config/common_bsdapp b/config/common_bsdapp index a8ba484..ab6be97 100644 --- a/config/common_bsdapp +++ b/config/common_bsdapp @@ -79,9 +79,8 @@ CONFIG_RTE_FORCE_INTRINSICS=n CONFIG_RTE_BUILD_SHARED_LIB=n # -# Combine to one single library +# Combined library name # -CONFIG_RTE_BUILD_COMBINE_LIBS=n CONFIG_RTE_LIBNAME=intel_dpdk # diff --git a/config/common_linuxapp b/config/common_linuxapp index 0b25f34..1ae4304 100644 --- a/config/common_linuxapp +++ b/config/common_linuxapp @@ -79,9 +79,8 @@ CONFIG_RTE_FORCE_INTRINSICS=n CONFIG_RTE_BUILD_SHARED_LIB=n # -# Combine to one single library +# Combined library name # -CONFIG_RTE_BUILD_COMBINE_LIBS=n CONFIG_RTE_LIBNAME="intel_dpdk" # diff --git a/lib/Makefile b/lib/Makefile index d94355d..c34cf2f 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -77,5 +77,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 56886dc..e8630b6 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -61,12 +61,6 @@ ifeq ($(NO_AUTOLIBS),) LDLIBS += --whole-archive -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y) -LDLIBS += -l$(RTE_LIBNAME) -endif - -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n) - ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y) LDLIBS += -lrte_distributor endif @@ -137,8 +131,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_VHOST), y) LDLIBS += -lrte_vhost endif -endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS - ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y) LDLIBS += -lpcap endif @@ -153,8 +145,6 @@ endif LDLIBS += --start-group -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n) - ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y) LDLIBS += -lrte_kvargs endif @@ -253,8 +243,6 @@ endif endif # plugins -endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS - LDLIBS += $(EXECENV_LDLIBS) LDLIBS += --end-group diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index 0d7482d..d96101a 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -87,24 +87,6 @@ O_TO_S_DO = @set -e; \ $(O_TO_S) && \ echo $(O_TO_S_CMD) > $(call exe2cmd,$(@)) -ifeq ($(RTE_BUILD_SHARED_LIB),n) -O_TO_C = $(AR) crus $(LIB_ONE) $(OBJS-y) -O_TO_C_STR = $(subst ','\'',$(O_TO_C)) #'# fix syntax highlight -O_TO_C_DISP = $(if $(V),"$(O_TO_C_STR)"," AR_C $(@)") -O_TO_C_DO = @set -e; \ - $(lib_dir) \ - $(copy_obj) -else -O_TO_C = $(LD) -shared $(OBJS-y) -o $(LIB_ONE) -O_TO_C_STR = $(subst ','\'',$(O_TO_C)) #'# fix syntax highlight -O_TO_C_DISP = $(if $(V),"$(O_TO_C_STR)"," LD_C $(@)") -O_TO_C_DO = @set -e; \ - $(lib_dir) \ - $(copy_obj) -endif - -copy_obj = cp -f $(OBJS-y) $(RTE_OUTPUT)/build/lib; -lib_dir = [ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib; -include .$(LIB).cmd # @@ -129,15 +111,6 @@ endif $(depfile_missing),\ $(depfile_newer)),\ $(O_TO_S_DO)) - -ifeq ($(RTE_BUILD_COMBINE_LIBS),y) - $(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 $@) @@ -153,14 +126,6 @@ $(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE $(depfile_missing),\ $(depfile_newer)),\ $(O_TO_A_DO)) -ifeq ($(RTE_BUILD_COMBINE_LIBS),y) - $(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 3154457..2b24e74 100644 --- a/mk/rte.sdkbuild.mk +++ b/mk/rte.sdkbuild.mk @@ -93,9 +93,6 @@ $(ROOTDIRS-y): @[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@ @echo "== Build $@" $(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all - @if [ $@ = lib -a $(RTE_BUILD_COMBINE_LIBS) = y ]; then \ - $(MAKE) -f $(RTE_SDK)/lib/Makefile sharelib; \ - fi %_clean: @echo "== Clean $*" diff --git a/mk/rte.sharelib.mk b/mk/rte.sharelib.mk deleted file mode 100644 index de53558..0000000 --- a/mk/rte.sharelib.mk +++ /dev/null @@ -1,101 +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 ($(RTE_BUILD_COMBINE_LIBS),y) -ifeq ($(RTE_BUILD_SHARED_LIB),y) -LIB_ONE := lib$(RTE_LIBNAME).so -else -LIB_ONE := lib$(RTE_LIBNAME).a -endif -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)) \ - -shared $(OBJS) -o $(RTE_OUTPUT)/lib/$(LIB_ONE) -else -O_TO_S = $(LD) $(CPU_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 ($(RTE_BUILD_COMBINE_LIBS),y) -ifeq ($(RTE_BUILD_SHARED_LIB),y) -$(LIB_ONE): FORCE - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - $(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 d2f01b6..fd06175 100644 --- a/mk/rte.vars.mk +++ b/mk/rte.vars.mk @@ -67,10 +67,6 @@ ifneq ($(BUILDING_RTE_SDK),) ifeq ($(RTE_BUILD_SHARED_LIB),) RTE_BUILD_SHARED_LIB := n endif - RTE_BUILD_COMBINE_LIBS := $(CONFIG_RTE_BUILD_COMBINE_LIBS:"%"=%) - ifeq ($(RTE_BUILD_COMBINE_LIBS),) - RTE_BUILD_COMBINE_LIBS := n - endif endif RTE_LIBNAME := $(CONFIG_RTE_LIBNAME:"%"=%)