[dpdk-dev] [RFC] mk: filter duplicate configuration entries

Ferruh Yigit ferruh.yigit at intel.com
Tue Jun 28 18:11:48 CEST 2016


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.
> 
> A suggested solution was to filter for duplicates at the end of the
> actual config step which is implemented here.
> 
> Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
> ---
>  mk/rte.sdkconfig.mk | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> 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 '=' '!/^#/ {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}=" $(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
>  
> 



More information about the dev mailing list