From: Olivier MATZ <olivier.matz@6wind.com>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v6 1/2] Simplify the ifdefs in rte.app.mk.
Date: Mon, 04 May 2015 17:34:13 +0200 [thread overview]
Message-ID: <55479175.3040101@6wind.com> (raw)
In-Reply-To: <D7A5B3C0-D386-44E7-A6B2-DD1FD903539D@intel.com>
On 05/04/2015 05:09 PM, Wiles, Keith wrote:
>
>
> Sent from my iPhone
>
>> On May 4, 2015, at 2:19 AM, Olivier MATZ <olivier.matz@6wind.com> wrote:
>>
>> Hi Keith,
>>
>>> On 05/01/2015 04:22 PM, Keith Wiles wrote:
>>> Trying to simplify the ifdefs in rte.app.mk to make the code
>>> more readable and maintainable by moving LDLIBS variable to use
>>> the same style as LDLIBS-y being used in the rest of the code.
>>>
>>> Added a new variable called EXTRA_LDLIBS to be used by example apps
>>> instead of using LDLIBS directly. The new internal variable _LDLIBS
>>> should not be used outside of the rte.app.mk file. The makefiles
>>> can still use LDLIBS, but I would suggest using EXTRA_LDLIBS instead.
>>
>> Why are you suggesting to change LIBS to EXTRA_LIBS?
>> We discussed in a previous thread that EXTRA_* variables should
>> (as much as possible) be kept empty in Makefiles as it allows a
>> user to append things in them.
>>
>> By the way, it would be easier to follow the different versions
>> of your patches if you add "--in-reply-to <Message-ID>" in your
>> git-send-email command, as described in http://dpdk.org/dev
>
> One more reason email handling is not working too many details and on github this would not have happened.
Sorry but that's not the debate here. I'm just suggesting that you
use --in-reply-to to help other people to review your patches.
Thanks,
Olivier
>
> Regards
> ++Keith
>>
>> Regards,
>> Olivier
>>
>>
>>>
>>> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
>>> ---
>>> examples/dpdk_qat/Makefile | 4 +-
>>> examples/vm_power_manager/Makefile | 2 +-
>>> mk/rte.app.mk | 242 +++++++++----------------------------
>>> 3 files changed, 63 insertions(+), 185 deletions(-)
>>>
>>> diff --git a/examples/dpdk_qat/Makefile b/examples/dpdk_qat/Makefile
>>> index f1e06a1..90ca1d3 100644
>>> --- a/examples/dpdk_qat/Makefile
>>> +++ b/examples/dpdk_qat/Makefile
>>> @@ -77,8 +77,8 @@ else
>>> ICP_LIBRARY_PATH = $(ICP_ROOT)/build/libicp_qa_al.a
>>> endif
>>>
>>> -LDLIBS += -L$(ICP_ROOT)/build
>>> -LDLIBS += $(ICP_LIBRARY_PATH) \
>>> +EXTRA_LDLIBS += -L$(ICP_ROOT)/build
>>> +EXTRA_LDLIBS += $(ICP_LIBRARY_PATH) \
>>> -lz \
>>> -losal \
>>> -ladf_proxy \
>>> diff --git a/examples/vm_power_manager/Makefile b/examples/vm_power_manager/Makefile
>>> index 113dbc4..8fb78d4 100644
>>> --- a/examples/vm_power_manager/Makefile
>>> +++ b/examples/vm_power_manager/Makefile
>>> @@ -48,7 +48,7 @@ SRCS-y += channel_monitor.c
>>> CFLAGS += -O3 -I$(RTE_SDK)/lib/librte_power/
>>> CFLAGS += $(WERROR_FLAGS)
>>>
>>> -LDLIBS += -lvirt
>>> +EXTRA_LDLIBS += -lvirt
>>>
>>> # workaround for a gcc bug with noreturn attribute
>>> # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
>>> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
>>> index 62a76ae..b8030d2 100644
>>> --- a/mk/rte.app.mk
>>> +++ b/mk/rte.app.mk
>>> @@ -1,7 +1,7 @@
>>> # BSD LICENSE
>>> #
>>> -# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
>>> -# Copyright(c) 2014 6WIND S.A.
>>> +# Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
>>> +# Copyright(c) 2014-2015 6WIND S.A.
>>> # All rights reserved.
>>> #
>>> # Redistribution and use in source and binary forms, with or without
>>> @@ -51,7 +51,7 @@ LDSCRIPT = $(RTE_LDSCRIPT)
>>> endif
>>>
>>> # default path for libs
>>> -LDLIBS += -L$(RTE_SDK_BIN)/lib
>>> +_LDLIBS-y += -L$(RTE_SDK_BIN)/lib
>>>
>>> #
>>> # Include libraries depending on config if NO_AUTOLIBS is not set
>>> @@ -59,215 +59,93 @@ LDLIBS += -L$(RTE_SDK_BIN)/lib
>>> #
>>> ifeq ($(NO_AUTOLIBS),)
>>>
>>> -LDLIBS += --whole-archive
>>> +_LDLIBS-y += --whole-archive
>>>
>>> -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
>>> -LDLIBS += -l$(RTE_LIBNAME)
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_BUILD_COMBINE_LIBS) += -l$(RTE_LIBNAME)
>>>
>>> ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)
>>> -LDLIBS += -lrte_distributor
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_REORDER),y)
>>> -LDLIBS += -lrte_reorder
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += -lrte_distributor
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER) += -lrte_reorder
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
>>> ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y)
>>> -LDLIBS += -lrte_kni
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_KNI) += -lrte_kni
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += -lrte_ivshmem
>>> endif
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_IVSHMEM),y)
>>> -ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y)
>>> -LDLIBS += -lrte_ivshmem
>>> -endif
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE) += -lrte_pipeline
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE) += -lrte_table
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT) += -lrte_port
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER) += -lrte_timer
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_HASH) += -lrte_hash
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += -lrte_jobstats
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_LPM) += -lrte_lpm
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_POWER) += -lrte_power
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_METER) += -lrte_meter
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PIPELINE),y)
>>> -LDLIBS += -lrte_pipeline
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrte_sched
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y)
>>> -LDLIBS += -lrte_table
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PORT),y)
>>> -LDLIBS += -lrte_port
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_TIMER),y)
>>> -LDLIBS += -lrte_timer
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
>>> -LDLIBS += -lrte_hash
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_JOBSTATS),y)
>>> -LDLIBS += -lrte_jobstats
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
>>> -LDLIBS += -lrte_lpm
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_POWER),y)
>>> -LDLIBS += -lrte_power
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
>>> -LDLIBS += -lrte_acl
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_METER),y)
>>> -LDLIBS += -lrte_meter
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
>>> -LDLIBS += -lrte_sched
>>> -LDLIBS += -lm
>>> -LDLIBS += -lrt
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_VHOST), y)
>>> -LDLIBS += -lrte_vhost
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost
>>>
>>> endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
>>> -LDLIBS += -lpcap
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lpcap
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_VHOST)$(CONFIG_RTE_LIBRTE_VHOST_USER),yn)
>>> -LDLIBS += -lfuse
>>> +ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n)
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse
>>> endif
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_MLX4_PMD),y)
>>> -LDLIBS += -libverbs
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -libverbs
>>>
>>> -LDLIBS += --start-group
>>> +_LDLIBS-y += --start-group
>>>
>>> ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y)
>>> -LDLIBS += -lrte_kvargs
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_MBUF),y)
>>> -LDLIBS += -lrte_mbuf
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
>>> -LDLIBS += -lrte_ip_frag
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_ETHER),y)
>>> -LDLIBS += -lethdev
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_MALLOC),y)
>>> -LDLIBS += -lrte_malloc
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_MEMPOOL),y)
>>> -LDLIBS += -lrte_mempool
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_RING),y)
>>> -LDLIBS += -lrte_ring
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_EAL),y)
>>> -LDLIBS += -lrte_eal
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
>>> -LDLIBS += -lrte_cmdline
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_CFGFILE),y)
>>> -LDLIBS += -lrte_cfgfile
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
>>> -LDLIBS += -lrte_pmd_bond
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_XENVIRT),y)
>>> -LDLIBS += -lrte_pmd_xenvirt
>>> -LDLIBS += -lxenstore
>>> -endif
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_KVARGS) += -lrte_kvargs
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_MBUF) += -lrte_mbuf
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += -lrte_ip_frag
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_ETHER) += -lethdev
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_MALLOC) += -lrte_malloc
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += -lrte_mempool
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_RING) += -lrte_ring
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lrte_eal
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_CMDLINE) += -lrte_cmdline
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE) += -lrte_cfgfile
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond
>>> +
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lrte_pmd_xenvirt
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lxenstore
>>>
>>> ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
>>> # plugins (link only if static libraries)
>>>
>>> -ifeq ($(CONFIG_RTE_LIBRTE_VMXNET3_PMD),y)
>>> -LDLIBS += -lrte_pmd_vmxnet3_uio
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_PMD),y)
>>> -LDLIBS += -lrte_pmd_virtio
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_ENIC_PMD),y)
>>> -LDLIBS += -lrte_pmd_enic
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_I40E_PMD),y)
>>> -LDLIBS += -lrte_pmd_i40e
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_FM10K_PMD),y)
>>> -LDLIBS += -lrte_pmd_fm10k
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
>>> -LDLIBS += -lrte_pmd_ixgbe
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_E1000_PMD),y)
>>> -LDLIBS += -lrte_pmd_e1000
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_MLX4_PMD),y)
>>> -LDLIBS += -lrte_pmd_mlx4
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
>>> -LDLIBS += -lrte_pmd_ring
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
>>> -LDLIBS += -lrte_pmd_pcap
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_AF_PACKET),y)
>>> -LDLIBS += -lrte_pmd_af_packet
>>> -endif
>>> -
>>> -ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
>>> -LDLIBS += -lrte_pmd_null
>>> -endif
>>> -
>>> -endif # plugins
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += -lrte_pmd_vmxnet3_uio
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += -lrte_pmd_virtio
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += -lrte_pmd_enic
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += -lrte_pmd_i40e
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += -lrte_pmd_fm10k
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -lrte_pmd_mlx4
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING) += -lrte_pmd_ring
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet
>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += -lrte_pmd_null
>>> +
>>> +endif # ! $(CONFIG_RTE_BUILD_SHARED_LIB)
>>>
>>> endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS
>>>
>>> -LDLIBS += $(EXECENV_LDLIBS)
>>> -
>>> -LDLIBS += --end-group
>>> -
>>> -LDLIBS += --no-whole-archive
>>> +_LDLIBS-y += $(EXECENV_LDLIBS)
>>> +_LDLIBS-y += --end-group
>>> +_LDLIBS-y += --no-whole-archive
>>>
>>> endif # ifeq ($(NO_AUTOLIBS),)
>>>
>>> -LDLIBS += $(CPU_LDLIBS)
>>> +LDLIBS += $(_LDLIBS-y) $(EXTRA_LDLIBS)
>>>
>>> .PHONY: all
>>> all: install
>>>
next prev parent reply other threads:[~2015-05-04 15:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-01 14:22 Keith Wiles
2015-05-01 14:22 ` [dpdk-dev] [PATCH v6 2/2] Update Docs for new EXTRA_LDLIBS variable Keith Wiles
2015-05-04 9:18 ` [dpdk-dev] [PATCH v6 1/2] Simplify the ifdefs in rte.app.mk Olivier MATZ
2015-05-04 14:36 ` Wiles, Keith
2015-05-04 15:26 ` Olivier MATZ
2015-05-04 16:50 ` Wiles, Keith
2015-05-05 7:33 ` Olivier MATZ
2015-05-06 2:12 ` Wiles, Keith
2015-05-04 15:09 ` Wiles, Keith
2015-05-04 15:34 ` Olivier MATZ [this message]
2015-05-04 16:51 ` Wiles, Keith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55479175.3040101@6wind.com \
--to=olivier.matz@6wind.com \
--cc=dev@dpdk.org \
--cc=keith.wiles@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).