From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 0FA09568F for ; Fri, 13 Mar 2015 17:32:10 +0100 (CET) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1YWSVJ-0000Ex-1o; Fri, 13 Mar 2015 12:32:06 -0400 Date: Fri, 13 Mar 2015 12:32:04 -0400 From: Neil Horman To: Stephen Hemminger Message-ID: <20150313163204.GI28191@hmsreliant.think-freely.org> 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> <20150313090759.6173dc49@urahara> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150313090759.6173dc49@urahara> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2 1/4] 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: , X-List-Received-Date: Fri, 13 Mar 2015 16:32:10 -0000 On Fri, Mar 13, 2015 at 09:07:59AM -0700, Stephen Hemminger wrote: > On Thu, 12 Mar 2015 16:27:58 +0000 > Sergio Gonzalez Monroy wrote: > > > Remove CONFIG_RTE_BUILD_COMBINE_LIBS and CONFIG_RTE_LIBNAME. > > > > Signed-off-by: Sergio Gonzalez Monroy > > --- > > NAK. The combined library is good and useful for those who want simplicity > and build with static library. > No one is removing the ability to link against a single library, its simple to do by hand. The only thing this does is the codification of doing so as part of the DPDK link process. > It is not clear what you are trying to solve. > In my mind, the problem is that using combined libs breaks the versioning infrastrucure. Because .o files can only be linked into .so files once, the combined lib in the dpdk tree links all .o files at the same time. But because version maps are specified per individual library, and we can only specify one at link time, we are left with a decision as to how to bring both together: 1) We can write a script to merge all the versioning files into one, and apply that to the master link 2) Drop the combined libraries all together, and use a linker script to simulate the merging of the libraries Option two seems a bit rickety, and prone to failure, whereas option two seems both easy and clean (at least in my view). Just create a file libdpdk.so, that is actually a text file with the contents: INPUT(-lrte_malloc -lrte_mempool ....etc) That will allow you to link applications to a single library -ldpdk, and things will just work. The only additional requriement that puts on your head is that the individual libraries need to be installed locally on the target system, but thats a run time requirement, not build time, and is easily managed with whatever run time software management tools you care to use Neil