[dpdk-dev] [PATCH v2 1/4] mk: Remove combined library and related options

Gonzalez Monroy, Sergio sergio.gonzalez.monroy at intel.com
Fri Mar 13 12:48:59 CET 2015


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


More information about the dev mailing list