On Thu, Apr 09, 2015 at 08:00:26PM +0300, Avi Kivity wrote: > On 04/09/2015 02:19 PM, Neil Horman wrote: > >On Thu, Apr 09, 2015 at 12:06:47PM +0300, Avi Kivity wrote: > >> > >>On 04/09/2015 11:33 AM, Gonzalez Monroy, Sergio wrote: > >>>On 08/04/2015 19:26, Stephen Hemminger wrote: > >>>>On Wed, 8 Apr 2015 16:07:21 +0100 > >>>>Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com> wrote: > >>>> > >>>>>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 > >>>>><sergio.gonzalez.monroy at intel.com> > >>>>No. We use combined library and it greatly simplfies the application > >>>>linking process. > >>>> > >>>After all the opposition this patch had in v2, I did explain the current > >>>issues > >>>(see http://dpdk.org/ml/archives/dev/2015-March/015366.html ) and this was > >>>the agreed solution. > >>> > >>>As I mention in the cover letter (also see patch 2/5), building DPDK > >>>(after applying this patch series) will always generate a very simple > >>>linker script that behaves as a combined library. > >>>I encourage you to apply this patch series and try to build your app > >>>(which links against combined lib). > >>>Your app should build without problem unless I messed up somewhere and it > >>>needs fixing. > >>Is it possible to generate a pkgconfig file (dpdk.pc) that contains all of > >>the setting needed to compile and link with dpdk? That will greatly > >>simplify usage. > >> > >>A linker script is just too esoteric. > >> > >Why esoteric? We're not talking about a linker script in the sense of a > >binary > >layout file, we're talking about a prewritten/generated libdpdk_core.so that > >contains linker directives to include the appropriate libraries. You link it > >just like you do any other library, but it lets you ignore how they are > >broken > >up. > > You mean DT_NEEDED? That's great, but it shouldn't be called a linker > script. > no, I don't mean DT_NEEDED, I mean a linker script, because thats what what sergio wrote is.
> >We could certainly do a pkg-config file, but I don't think thats any more > >adventageous than this solution. > > It solves more problems -- cflags etc. Of course having the right DT_NEEDED > is a good thing regardless. > Thats a good point, pkgconfig doesn't provide that additionally. Perhaps having both is the best solution. As for the DT_NEEDED issues, the earlier threads ennumerated all the problems that were being found with the way the libraries were organized (circular dependencies). Neil