From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [RFC] mk: filter duplicate configuration entries Date: Tue, 28 Jun 2016 17:11:48 +0100 Message-ID: <5772A1C4.3030700@intel.com> References: <1465830632-25156-1-git-send-email-christian.ehrhardt@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable To: Christian Ehrhardt , thomas.monjalon@6wind.com, dev@dpdk.org Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 095E72C14 for ; Tue, 28 Jun 2016 18:12:30 +0200 (CEST) In-Reply-To: <1465830632-25156-1-git-send-email-christian.ehrhardt@canonical.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 6/13/2016 4:10 PM, Christian Ehrhardt wrote: > Due to the hierarchy and the demand to keep the base config shoing all > options some options end up multiple times in the .config file. >=20 > A suggested solution was to filter for duplicates at the end of the > actual config step which is implemented here. >=20 > Signed-off-by: Christian Ehrhardt > --- > mk/rte.sdkconfig.mk | 5 +++++ > 1 file changed, 5 insertions(+) >=20 > diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk > index a3acfe6..734aa06 100644 > --- a/mk/rte.sdkconfig.mk > +++ b/mk/rte.sdkconfig.mk > @@ -70,6 +70,11 @@ config: notemplate > else > config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile Not sure if this should go under this rule, or "$(RTE_OUTPUT)/.config:" and should work with ".config_tmp". > $(Q)$(MAKE) depdirs > + tac $(RTE_OUTPUT)/.config | awk --field-separator '=3D' '!/^#/ {print= $$1}' | while read config; do \ Why reversing file since already checking all lines one by one in original file? And instead of checking each line, it is possible to get list of duplicates via "sort | uniq -d". Although less important, file comments also tripled in final .config. > + if [ $$(grep "^$${config}=3D" $(RTE_OUTPUT)/.config | wc -l) -gt 1 ]= ; then \ "grep -c" can be used instead of "grep | wc -l" > + sed -i "0,/$${config}/{//d}" $(RTE_OUTPUT)/.config; \ > + fi; \ > + done > @echo "Configuration done" > endif > =20 >=20