DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Gonzalez Monroy, Sergio" <sergio.gonzalez.monroy@intel.com>
To: "Kavanagh, Mark B" <mark.b.kavanagh@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2 1/4] mk: Remove combined library and related options
Date: Fri, 13 Mar 2015 11:19:53 +0000	[thread overview]
Message-ID: <5502C7D9.2060503@intel.com> (raw)
In-Reply-To: <DC5AD7FA266D86499789B1BCAEC715F846D52C87@irsmsx105.ger.corp.intel.com>

On 13/03/2015 10:49, Kavanagh, Mark B wrote:
>> ---
>> config/common_bsdapp                        |   6 --
>> config/common_linuxapp                      |   6 --
>> config/defconfig_ppc_64-power8-linuxapp-gcc |   2 -
>> 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                              |   9 ---
>> 9 files changed, 175 deletions(-)
>> delete mode 100644 mk/rte.sharelib.mk
>>
>> diff --git a/config/common_bsdapp b/config/common_bsdapp
>> index 8ff4dc2..7ee5ecf 100644
>> --- a/config/common_bsdapp
>> +++ b/config/common_bsdapp
>> @@ -79,12 +79,6 @@ CONFIG_RTE_FORCE_INTRINSICS=n
>> CONFIG_RTE_BUILD_SHARED_LIB=n
>>
>> #
>> -# Combine to one single library
>> -#
>> -CONFIG_RTE_BUILD_COMBINE_LIBS=n
>> -CONFIG_RTE_LIBNAME=intel_dpdk
> Hi Sergio,
>
> Removing these options breaks compatibility with OVS. While it may be feasible to link to individual static libraries, in our experience, a single combined library provides a much more convenient way of linking.
>
> Thanks,
> Mark
>
>> -
>> -#
>> # Compile Environment Abstraction Layer
>> #
>> CONFIG_RTE_LIBRTE_EAL=y
>> diff --git a/config/common_linuxapp b/config/common_linuxapp
>> index 97f1c9e..ae13805 100644
>> --- a/config/common_linuxapp
>> +++ b/config/common_linuxapp
>> @@ -79,12 +79,6 @@ CONFIG_RTE_FORCE_INTRINSICS=n
>> CONFIG_RTE_BUILD_SHARED_LIB=n
>>
>> #
>> -# Combine to one single library
>> -#
>> -CONFIG_RTE_BUILD_COMBINE_LIBS=n
>> -CONFIG_RTE_LIBNAME="intel_dpdk"
>> -
>> -#
>> # Compile Environment Abstraction Layer
>> #
>> CONFIG_RTE_LIBRTE_EAL=y
>> diff --git a/config/defconfig_ppc_64-power8-linuxapp-gcc b/config/defconfig_ppc_64-power8-
>> linuxapp-gcc
>> index d97a885..f1af518 100644
>> --- a/config/defconfig_ppc_64-power8-linuxapp-gcc
>> +++ b/config/defconfig_ppc_64-power8-linuxapp-gcc
>> @@ -39,8 +39,6 @@ CONFIG_RTE_ARCH_64=y
>> CONFIG_RTE_TOOLCHAIN="gcc"
>> CONFIG_RTE_TOOLCHAIN_GCC=y
>>
>> -CONFIG_RTE_LIBNAME="powerpc_dpdk"
>> -
>> # Note: Power doesn't have this support
>> CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
>>
>> 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 63a41e2..e2baa49 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..7b6f53d 100644
>> --- a/mk/rte.vars.mk
>> +++ b/mk/rte.vars.mk
>> @@ -67,15 +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:"%"=%)
>> -ifeq ($(RTE_LIBNAME),)
>> -RTE_LIBNAME := intel_dpdk
>> endif
>>
>> # RTE_TARGET is deducted from config when we are building the SDK.
>> --
>> 1.9.3
Hi Mark,

How does this patch break compatibility with OVS?

Thanks,
Sergio

  reply	other threads:[~2015-03-13 11:19 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-29 15:20 [dpdk-dev] [PATCH 0/8] Improve build process Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 1/8] mk: remove combined library and related options Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 2/8] core: create new librte_core Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 3/8] mk: new corelib makefile Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 4/8] lib: update DEPDIRS variable Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 5/8] lib: set LDLIBS for each library Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 6/8] mk: use LDLIBS when linking shared libraries Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 7/8] mk: update LDLIBS for app building Sergio Gonzalez Monroy
2015-01-29 15:20 ` [dpdk-dev] [PATCH 8/8] mk: add -lpthread to linuxapp EXECENV_LDLIBS Sergio Gonzalez Monroy
2015-01-29 16:38 ` [dpdk-dev] [PATCH 0/8] Improve build process Neil Horman
2015-01-29 17:02   ` Thomas Monjalon
2015-01-29 17:04   ` Gonzalez Monroy, Sergio
2015-01-29 19:45     ` Neil Horman
2015-01-30 13:39       ` Gonzalez Monroy, Sergio
2015-01-30 14:05         ` Neil Horman
2015-01-30 17:38           ` Gonzalez Monroy, Sergio
2015-01-30 18:12             ` Neil Horman
2015-02-11 11:11               ` Gonzalez Monroy, Sergio
2015-02-12  5:41                 ` Neil Horman
2015-02-12  9:17                   ` Gonzalez Monroy, Sergio
2015-02-12 12:16                     ` Neil Horman
2015-02-12  9:22                 ` Panu Matilainen
2015-02-12 10:03                   ` Gonzalez Monroy, Sergio
2015-02-12 12:23                     ` Neil Horman
2015-02-12 14:07                       ` Panu Matilainen
2015-02-12 15:52                         ` Neil Horman
2015-02-13 10:14                           ` Panu Matilainen
2015-02-13 11:08                             ` Gonzalez Monroy, Sergio
2015-02-13 12:51                               ` Neil Horman
2015-02-20 14:31                                 ` Gonzalez Monroy, Sergio
2015-02-22 23:37                                   ` Neil Horman
2015-02-23 10:25                                     ` Gonzalez Monroy, Sergio
2015-02-23 13:52                                       ` Neil Horman
2015-02-23 14:58                                         ` Gonzalez Monroy, Sergio
2015-02-23 18:23                                           ` Neil Horman
2015-02-24 13:24                                             ` Gonzalez Monroy, Sergio
2015-03-12 16:27 ` [dpdk-dev] [PATCH v2 0/4] " Sergio Gonzalez Monroy
2015-03-12 16:27   ` [dpdk-dev] [PATCH v2 1/4] mk: Remove combined library and related options Sergio Gonzalez Monroy
2015-03-13 10:49     ` Kavanagh, Mark B
2015-03-13 11:19       ` Gonzalez Monroy, Sergio [this message]
2015-03-13 11:34         ` Kavanagh, Mark B
2015-03-13 11:48           ` Gonzalez Monroy, Sergio
2015-03-13 13:16             ` Kavanagh, Mark B
2015-03-13 14:11               ` Gonzalez Monroy, Sergio
2015-03-13 13:17             ` Neil Horman
2015-03-13 14:12               ` Stefan Puiu
2015-03-13 15:18                 ` Neil Horman
2015-03-13 15:28                   ` Gonzalez Monroy, Sergio
2015-03-13 16:16                     ` Neil Horman
2015-03-13 16:07     ` Stephen Hemminger
2015-03-13 16:32       ` Neil Horman
2015-03-13 16:38       ` Gonzalez Monroy, Sergio
2015-03-18 12:11     ` Gonzalez Monroy, Sergio
2015-03-18 12:59       ` Thomas Monjalon
2015-03-18 15:30         ` Stefan Puiu
2015-03-18 15:52           ` Gonzalez Monroy, Sergio
2015-03-18 16:48           ` Neil Horman
2015-03-26  8:52         ` Gonzalez Monroy, Sergio
2015-03-26 10:30           ` Neil Horman
2015-03-18 16:41       ` Neil Horman
2015-03-12 16:27   ` [dpdk-dev] [PATCH v2 2/4] lib: Set LDLIBS for each library Sergio Gonzalez Monroy
2015-03-12 16:28   ` [dpdk-dev] [PATCH v2 3/4] mk: Use LDLIBS when linking shared libraries Sergio Gonzalez Monroy
2015-03-12 16:28   ` [dpdk-dev] [PATCH v2 4/4] mk: update LDLIBS for app building Sergio Gonzalez Monroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5502C7D9.2060503@intel.com \
    --to=sergio.gonzalez.monroy@intel.com \
    --cc=dev@dpdk.org \
    --cc=mark.b.kavanagh@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).