From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Gonzalez Monroy, Sergio" Subject: Re: [PATCH v2 1/4] mk: Remove combined library and related options Date: Fri, 13 Mar 2015 11:48:59 +0000 Message-ID: <5502CEAB.8060801@intel.com> References: <1422544811-26385-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1426177681-16931-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1426177681-16931-2-git-send-email-sergio.gonzalez.monroy@intel.com> <5502C7D9.2060503@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: "dev-VfR2kkLFssw@public.gmane.org" To: "Kavanagh, Mark B" Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On 13/03/2015 11:34, Kavanagh, Mark B wrote: >> 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 >>> >>>> - > > (snip) > > >>>> -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 > Hey Sergio, > > We use the CONFIG_RTE_BUILD_COMBINE_LIBS and CONFIG_RTE_LINBNAME flags to build a single static DPDK library, named 'libintel_dpdk.a', which OVS links against. Removing the combined library option breaks compatibility with any application that links against the combined DPDK library. > > Is there a strong technical motivation for removing these options? > > Thanks, > Mark From a shared library point of view, it just does not make sense to have applications linked against a 'combined' library that may have different features built in it. Removing these options, aside from the obvious 'less build config option', it simplifies maintenance of makefiles as we currently have a separated makefile with specific rules just for combined library. It is pretty straight forward to build a single combined archive out of multiple archives, would it be acceptable to have a script to do this? Thanks, Sergio