[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:19:53 CET 2015


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


More information about the dev mailing list