Hi,
I have some comments about behaviour, naming and coding style.

22/03/2017 09:30, Jerin Jacob:
> +verbose=false
> +linuxapp=false
> +bsdapp=false

linuxapp/bsdapp could be renamed to simpler linux/bsd.

> +x86_64=false
> +arm=false

Why not arm32 for consistency?

> +arm64=false
> +ia_32=false

ia_32 should be x86_32

> +ppc_64=false

[...]
> +     make showconfigs | sed 's,^,\t,'

This is assuming the working dir is the dpdk root.
It is assumed elsewhere in the script.
I suggest adding "cd $(dirname $0)/.." at the beginning of the script.

[...]
> +arm_common()
> +{
> +     find_sources "lib/librte_eal/common/arch/arm" '*.[chS]'
> +     find_sources "$source_dirs" '*neon*.[chS]'
> +}
> +
> +arm_sources()
> +{
> +     arm_common
> +     find_sources "lib/librte_eal/common/include/arch/arm" '*.[chS]' \
> +                                     "$skip_64b_files"
> +}
> +
> +arm64_sources()
> +{
> +     arm_common
> +     find_sources "lib/librte_eal/common/include/arch/arm" '*.[chS]' \
> +                                      "$skip_32b_files"
> +     find_sources "$source_dirs" '*arm64.[chS]'
> +}

Same comment about arm32 consistency.

> +ia_common()
> +{
> +     find_sources "lib/librte_eal/common/arch/x86" '*.[chS]'
> +
> +     find_sources "examples/performance-thread/common/arch/x86" '*.[chS]'
> +     find_sources "$source_dirs" '*_sse*.[chS]'
> +     find_sources "$source_dirs" '*_avx*.[chS]'
> +     find_sources "$source_dirs" '*x86.[chS]'
> +}
> +
> +i686_sources()
> +{
> +     ia_common
> +     find_sources "lib/librte_eal/common/include/arch/x86" '*.[chS]' \
> +                                     "$skip_64b_files"
> +}
> +
> +x86_64_sources()
> +{
> +     ia_common
> +     find_sources "lib/librte_eal/common/include/arch/x86" '*.[chS]' \
> +                                     "$skip_32b_files"
> +}

... and here x86/x86_32 instead of ia/i686


> +config_file()
> +{
> +     if [ -f $RTE_SDK/$RTE_TARGET/include/rte_config.h ]; then
> +             ls $RTE_SDK/$RTE_TARGET/include/rte_config.h
> +     fi
> +}

RTE_TARGET is used to define the build directory.
It will not be defined in this script and it does not really
make sense to enforce it.
I suggest to remove rte_config.h from this script.
Other argument: you can have several build directories
with different configs.

[...]
> +check_valid_config()

It is not a config but a target.
Yes the target is checked against existing config template names.

> +{
> +     cfgfound=false
> +     allconfigs=$(make showconfigs)
> +     for cfg in $allconfigs
> +     do

This "do" keyword could be on the previous line, like you did for if...then.

> +             if [ "$cfg" = "$1" ] ; then
> +                     cfgfound=true
> +             fi
> +     done
> +     $cfgfound || echo "Invalid config: $1"
> +     $cfgfound || print_usage
> +     $cfgfound || exit 0

Better to use an "if" block here.

[...]
> +     if [ $(echo $2 | grep -c "linuxapp-") -gt 0 ]; then
> +             linuxapp=true
> +     fi

More compact grep:
        if echo $2 | grep -q "linuxapp-" ; then

[...]
> +else
> +     linuxapp=true
> +     bsdapp=true
> +     x86_64=true
> +     arm=true
> +     arm64=true
> +     ia_32=true
> +     ppc_64=true
> +fi

You could define them as true by default.
So the above grep would become:
        echo $2 | grep -q "linuxapp-" || linux=false

[...]
> +all_sources()
> +{
> +     common_sources
> +     $linuxapp && linuxapp_sources
> +     $bsdapp && bsdapp_sources
> +     $x86_64 && x86_64_sources
> +     $ia_32 && i686_sources
> +     $arm && arm_sources
> +     $arm64 && arm64_sources
> +     $ppc_64 && ppc64_sources

I am a bit surprised by these constructs.
When using sh -e, we should not have a false statement.
I think it should be:
        if $linuxapp ; then linuxapp_sources ; fi

[...]
> +show_flags()
> +{
> +     $verbose && echo "mode:     $1"
> +     $verbose && echo "config:   $2"
> +     $verbose && echo "linuxapp: $linuxapp"
> +     $verbose && echo "bsdapp:   $bsdapp"
> +     $verbose && echo "ia_32:    $ia_32"
> +     $verbose && echo "x86_64:   $x86_64"
> +     $verbose && echo "arm:      $arm"
> +     $verbose && echo "arm64:    $arm64"
> +     $verbose && echo "ppc_64:   $ppc_64"

Please use an "if" block here.

> +++ b/mk/rte.sdkroot.mk
> +.PHONY: cscope gtags tags etags
> +cscope gtags tags etags:
> +ifdef T
> +     $(Q)$(RTE_SDK)/devtools/build-tags.sh $@ ${T}
> +else
> +     $(Q)$(RTE_SDK)/devtools/build-tags.sh $@
> +endif

No need of ifdef.

Thanks Jerin

Reply via email to