As we move forward, I would like to a see all submitted code warning free at submission time. It is such a maintenance burden to address them later.
We need printf format helper strings for mode_t and wchar_t to fix the format warnings in cpukit and some of the tests. Gedare Bloom <[email protected]> wrote: If we are going to require a fix for the warning, we should enforce the check at bsp submission time instead to reduce maintenance overhead. On Mon, Sep 23, 2013 at 9:28 AM, Joel Sherrill <[email protected]> wrote: > I just noticed that the bsp hooks like startup, predriver, etc which > implement methods in bootcard.h don't always have it > > This is also a compile warning so may not be worth a check. > > > > Gedare Bloom <[email protected]> wrote: > > > committed. please verify. > > On Sat, Sep 21, 2013 at 2:17 PM, Vipul Nayyar <[email protected]> wrote: >> --- >> merge-helpers/check_submission | 382 >> ++++++++++++++++++++--------------------- >> 1 file changed, 189 insertions(+), 193 deletions(-) >> >> diff --git a/merge-helpers/check_submission b/merge-helpers/check_submission >> index 90908f1..47ea6cf 100755 >> --- a/merge-helpers/check_submission >> +++ b/merge-helpers/check_submission >> @@ -1,9 +1,7 @@ >> -#! /bin/bash >> >> # Bash Script to find discrepancies in BSP file organization. >> # Author : Vipul Nayyar <[email protected]> >> >> - >> filename="0" >> # Passing --verbose turns verbose to 1 & gives the whole story, otherwise >> '0' to give only important stuff. >> verbose="0" >> @@ -12,7 +10,7 @@ faults="0" >> warnings="0" >> flag="0" >> >> -calling_path=`pwd` >> +calling_path=$(pwd) >> path="" >> >> important="1" >> @@ -25,17 +23,18 @@ format="1" >> # Finds all rtems internal functions ( name starting with '_' & type >> specifier) >> # that are defined in cpukit & libcpu >> function find_rtems_internal(){ >> - if [[ $internal_done == "1" ]]; then >> + >> + if [[ "$internal_done" == "1" ]]; then >> return >> fi >> echo "Compiling list of RTEMS Internal functions ..." >> internal_files="" >> >> - for k in `find -name *.c` >> + for k in $(find -name *.c) >> do >> - for j in `grep -oE "[a-z|A-Z|0-9|_]+[\ |^][_]+[a-z|A-Z|0-9|_]*[\ ]*\(" >> $k` >> + for j in $(grep -oE "[a-z|A-Z|0-9|_]+[\ |^][_]+[a-z|A-Z|0-9|_]*[\ ]*\(" >> $k) >> do >> - if [[ $j == "_"* ]]; then >> + if [[ "$j" == "_"* ]]; then >> j=${j%%\(} >> internal_files="$j $internal_files" >> fi >> @@ -43,11 +42,11 @@ function find_rtems_internal(){ >> done >> done >> >> - for k in `find ../c/src/lib/libcpu/ -name *.c` >> + for k in $(find ../c/src/lib/libcpu/ -name *.c) >> do >> - for j in `grep -oE "[a-z|A-Z|0-9|_]+[\ |^][_]+[a-z|A-Z|0-9|_]*[\ ]*\(" >> $k` >> + for j in $(grep -oE "[a-z|A-Z|0-9|_]+[\ |^][_]+[a-z|A-Z|0-9|_]*[\ ]*\(" >> $k) >> do >> - if [[ $j == "_"* ]]; then >> + if [[ "$j" == "_"* ]]; then >> j=${j%%\(} >> internal_files="$j $internal_files" >> fi >> @@ -57,7 +56,7 @@ function find_rtems_internal(){ >> >> for k in $internal_files >> do >> - if echo $rtems_internal |grep -q $k ; then >> + if echo $rtems_internal |grep -q "$k" ; then >> echo > /dev/null >> else >> rtems_internal="$k $rtems_internal" >> @@ -69,39 +68,40 @@ function find_rtems_internal(){ >> >> # Finds all internal functions common in bsp and (cpukit + libcpu) >> function find_bsp_internal(){ >> + >> bsp_methods="" >> common_internal_methods="" >> >> -# Searching for internal functions starting with '_' called(i.e ending with >> a ';') >> - for i in `find -name *.c` >> + # Searching for internal functions starting with '_' called(i.e ending >> with a ';') >> + for i in $( find -name *.c ) >> do >> - file_contents=`tr -d '\n' < $i | grep -oE "[ |^][_]+[a-z|A-Z|0-9|_]*[ >> ]*[\n]*\([^;]*\)[ ]*;" | tr -d '\n' ` >> - >> - for j in `echo "$file_contents" | grep -oE "[_]+[a-z|A-Z|0-9|_]*[ ]*\("` >> + file_contents=$(tr -d '\n' < $i | grep -oE "[ |^][_]+[a-z|A-Z|0-9|_]*[ >> ]*[\n]*\([^;\{]*\)[ ]*;" | tr -d '\n') >> + for j in $( echo "$file_contents" | grep -oE "[_]+[a-z|A-Z|0-9|_]*[ >> ]*\(" ) >> do >> - if `echo "$bsp_methods" |grep -q "${j%%\(}"` ; then >> + if $(echo "$bsp_methods" | grep -q "${j%%\(}") ; then >> echo > /dev/null >> else >> bsp_methods="${j%%\(} $bsp_methods" >> fi >> + >> done >> done >> >> -# Identifying common fucntions between $rtems_interval & $bsp_methods >> + # Identifying common fucntions between $rtems_interval & $bsp_methods >> for i in $rtems_internal >> do >> - if [[ $i == "__asm__" || $i == "__attribute__" || $i == "__volatile__" >> || $i == "__"* ]];then >> + if [[ "$i" == "__asm__" || "$i" == "__attribute__" || "$i" == >> "__volatile__" || "$i" == "__"* ]];then >> continue >> fi >> for j in $bsp_methods >> do >> - if [[ $i == $j ]]; then >> + if [[ "$i" == "$j" ]]; then >> common_internal_methods="$j $common_internal_methods" >> fi >> done >> done >> >> - if [[ $common_internal_methods != "" ]]; then >> + if [[ "$common_internal_methods" != "" ]]; then >> echo -e "$bsp : RTEMS Internal functions used : \c" >> for i in $common_internal_methods >> do >> @@ -111,10 +111,10 @@ function find_bsp_internal(){ >> fi >> } >> >> - >> # Passing 1 initially to any check function states that the >> file/method/header >> # being checked is of critical nature >> function check_file(){ >> + >> filename="0" >> if [[ $1 == 1 ]]; then >> important="1" >> @@ -123,27 +123,27 @@ function check_file(){ >> important="0" >> fi >> >> -#Grabbing the path of file being evaluated from Makefile.am >> + #Grabbing the path of file being evaluated from Makefile.am >> if grep -wqE "[ ]*[^\ ]*/($1)" Makefile.am ; then >> - file_path=`grep -woE "[ ]*[^\ ]*/($1)" Makefile.am | head --lines=1` >> - cd `dirname $file_path` >> - filename=$1 >> - file_path=`pwd` >> + file_path="$(grep -woE "[ ]*[^\ ]*/($1)" Makefile.am | head --lines=1)" >> + cd "$(dirname $file_path)" >> + filename="$1" >> + file_path="$(pwd)" >> >> cd - > /dev/null >> shift >> >> -# Checking if file lies in correct directory path >> - for i in $* >> + # Checking if file lies in correct directory path >> + for i in $@ >> do >> - if [[ -d $i ]]; then >> - cd $i >> + if [[ -d "$i" ]]; then >> + cd "$i" >> else >> continue >> fi >> >> >> - if [[ "$file_path" == `pwd` ]]; then >> + if [[ "$file_path" == $(pwd) ]]; then >> filename="$file_path/$filename" >> cd - >/dev/null >> return >> @@ -167,6 +167,7 @@ function check_file(){ >> >> # Checking presence of functions in specific files >> function check_methods(){ >> + >> if [[ $1 == 1 ]]; then >> important="1" >> shift >> @@ -174,31 +175,31 @@ function check_methods(){ >> important="0" >> fi >> >> - for i in $* >> + for i in $@ >> do >> >> -# When correct file for this function does not exist >> - if [[ $filename == "0" ]];then >> + # When correct file for this function does not exist >> + if [[ "$filename" == "0" ]];then >> if grep -rqlE "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" * ;then >> if [[ $warnings -eq "1" || $important -eq "1" || $verbose -eq "1" >> ]];then >> - echo $bsp : ${i%(*}"()" present in file `grep -rlE >> "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" *` >> + echo $bsp : ${i%(*}"()" present in file $(grep -rlE >> "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" *) >> fi >> fi >> else >> >> -# When correct file for this function exists >> - if grep -Eq "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" $filename ; then >> + # When correct file for this function exists >> + if grep -Eq "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" "$filename" ; then >> if [[ $verbose -eq "1" ]] ;then >> - echo "$bsp : `basename $filename` : ${i%(*}() present in file" >> + echo "$bsp : $(basename $filename) : ${i%(*}() present in file" >> fi >> else >> if grep -rqlE "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" * ;then >> if [[ $warnings -eq "1" || $important -eq "1" || $verbose -eq >> "1" ]];then >> - echo $bsp : ${i%(*}"()" present in file `grep -rlE >> "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" *` >> + echo $bsp : ${i%(*}"()" present in file $(grep -rlE >> "[a-z|A-Z|0-9|_]+[ ]*$i[ ]*\(" *) >> fi >> else >> if [[ $warnings -eq "1" || $important -eq "1" || $verbose -eq "1" >> ]]; then >> - echo "$bsp : `basename $filename` : ${i%(*}() function does not >> exist in $filename " >> + echo "$bsp : $(basename $filename) : ${i%(*}() function does >> not exist in $filename " >> flag="1" >> fi >> faults="1" >> @@ -211,6 +212,7 @@ function check_methods(){ >> >> # Checking presence of headers installed by bsp >> function check_header(){ >> + >> if [[ $1 == 1 ]]; then >> important="1" >> shift >> @@ -218,15 +220,15 @@ function check_header(){ >> important="0" >> fi >> >> - for i in $* >> + for i in $@ >> do >> if grep -wq "$i" Makefile.am ;then >> if [[ ! -f "$i" && ! -f "${i}.in" ]] ;then >> continue >> fi >> if [[ $verbose -eq "1" ]] ;then >> - cd `dirname $i` >> - echo "$bsp : `basename $i` installed from directory" >> ${PWD##*/c/src/lib/} >> + cd $(dirname $i) >> + echo "$bsp : $(basename $i) installed from directory" >> ${PWD##*/c/src/lib/} >> cd - > /dev/null >> fi >> return >> @@ -234,80 +236,77 @@ function check_header(){ >> done >> >> if [[ $warnings -eq "1" || $important -eq "1" || $verbose -eq "1" ]]; then >> - echo "${bsp%%[\ ]*} : `basename $1` not installed " >> + echo "${bsp%%[\ ]*} : $(basename $1) not installed " >> flag="1" >> fi >> filename="0" >> faults="1" >> return >> - >> } >> >> -test_its_there() >> -{ >> - if [ $# -ne 2 ] ; then >> +function test_its_there(){ >> + >> + if [[ $# -ne 2 ]]; then >> echo Usage: $0 FILE pattern >> fi >> grep ${2} ${1} >/dev/null >> - if [ $? -ne 0 ] ; then >> + if [[ $? -ne 0 ]]; then >> echo "$bsp : ${2} is NOT in ${1##./}" >> fi >> - >> } >> >> -test_its_there_all_case() >> -{ >> - if [ $# -ne 2 ] ; then >> +function test_its_there_all_case(){ >> + >> + if [[ $# -ne 2 ]]; then >> echo Usage: $0 FILE pattern >> fi >> grep -i ${2} ${1} >/dev/null >> - if [ $? -ne 0 ] ; then >> + if [[ $? -ne 0 ]]; then >> echo "$bsp : ${2} is NOT in ${1##./} - case independent check" >> fi >> - >> } >> >> -test_its_NOT_there_all_case() >> -{ >> - if [ $# -lt 2 ] ; then >> +function test_its_NOT_there_all_case(){ >> + >> + if [[ $# -lt 2 ]]; then >> echo Usage: $0 FILE pattern >> fi >> FILE=$1 >> shift >> grep -i "${*}" ${FILE} >/dev/null >> - if [ $? -eq 0 ] ; then >> + if [[ $? -eq 0 ]]; then >> echo "$bsp : (${*}) SHOULD NOT BE IN ${FILE##./} - case independent >> check" >> fi >> } >> >> -test_its_NOT_there() >> -{ >> - if [ $# -lt 2 ] ; then >> +function test_its_NOT_there(){ >> + >> + if [[ $# -lt 2 ]]; then >> echo Usage: $0 FILE pattern >> fi >> FILE=$1 >> shift >> grep "${*}" ${FILE} >/dev/null >> - if [ $? -eq 0 ] ; then >> + if [[ $? -eq 0 ]]; then >> echo "$bsp : (${*}) SHOULD NOT BE IN ${FILE##./}" >> fi >> } >> >> -find_source() >> -{ >> +function find_source(){ >> + >> findArgs= >> while getopts "cCdm" OPT >> do >> - case "$OPT" in >> - c) findArgs="${findArgs} -o -name configure.ac" ;; >> - C) findArgs="${findArgs} -o -name *.cfg" ;; >> - d) findArgs="${findArgs} -o -name *.doc" ;; >> - m) findArgs="${findArgs} -o -name Makefile.am" ;; >> - *) echo "bad arg to find_source ($OPT)" ; exit 1 ;; >> - esac >> + case "$OPT" in >> + c) findArgs="${findArgs} -o -name configure.ac" ;; >> + C) findArgs="${findArgs} -o -name *.cfg" ;; >> + d) findArgs="${findArgs} -o -name *.doc" ;; >> + m) findArgs="${findArgs} -o -name Makefile.am" ;; >> + *) echo "bad arg to find_source ($OPT)" ; exit 1 ;; >> + esac >> done >> >> - shiftcount=`expr $OPTIND - 1` >> + shiftcount=$(expr $OPTIND - 1) >> shift $shiftcount >> >> args=$* >> @@ -322,16 +321,16 @@ function check_format(){ >> find_source -m -c -C | while read f >> do >> grep ".\{81,\}" ${f} >/dev/null >> - if [ $? -eq 0 ] ; then >> + if [[ $? -eq 0 ]]; then >> echo -e "\n$bsp : ${f#./} has more than 80 character lines" >> - for i in `grep -n '.\{80,\}' ${f} | cut -f1 -d:` >> + for i in $(grep -n '.\{80,\}' ${f} | cut -f1 -d:) >> do >> echo -e "$i \c" >> - done >> + done >> fi >> done >> >> - # really need to make the copyright strings consistent in BSPs >> + # Copyright strings should be consistent in BSPs >> echo -e "\n=== Checking for copyright notices" >> find_source | while read f >> do >> @@ -356,7 +355,7 @@ function check_format(){ >> echo "=== Checking for spaces at the end of lines" >> find_source -m -c -C | while read f >> do >> - egrep " +$" $f >/dev/null >> + grep -E " +$" $f >/dev/null >> test $? -eq 0 && echo -e "${f##./} \c" >> done >> >> @@ -395,36 +394,36 @@ function main(){ >> fi >> >> # We do not want stdio in a BSP >> - echo "=== Checking for stdio" >> - find_source -m -c -C | while read f >> - do >> - test_its_NOT_there ${f} printf >> - test_its_NOT_there ${f} "puts(" >> - done >> + echo "=== Checking for stdio" >> + find_source -m -c -C | while read f >> + do >> + test_its_NOT_there ${f} printf >> + test_its_NOT_there ${f} "puts(" >> + done >> >> - # BSPs should include RTEMS_BSP_CLEANUP_OPTIONS and maybe >> - # RTEMS_BSP_BOOTCARD_OPTIONS >> - if [ -r configure.ac ] ; then >> - echo "=== Checking for RTEMS_BSP_BOOTCARD_OPTIONS in BSP configure.ac" >> - test_its_NOT_there configure.ac RTEMS_BSP_BOOTCARD_OPTIONS >> - echo "=== Checking for RTEMS_BSP_CLEANUP_OPTIONS in BSP configure.ac" >> - test_its_there configure.ac RTEMS_BSP_CLEANUP_OPTIONS >> - fi >> + # BSPs should include RTEMS_BSP_CLEANUP_OPTIONS and maybe >> + # RTEMS_BSP_BOOTCARD_OPTIONS >> + if [[ -r configure.ac ]]; then >> + echo "=== Checking for RTEMS_BSP_BOOTCARD_OPTIONS in BSP configure.ac" >> + test_its_NOT_there configure.ac RTEMS_BSP_BOOTCARD_OPTIONS >> + echo "=== Checking for RTEMS_BSP_CLEANUP_OPTIONS in BSP configure.ac" >> + test_its_there configure.ac RTEMS_BSP_CLEANUP_OPTIONS >> + fi >> >> - # If not using -O2, then we really want to know >> - # BSPs should normally use -O2 >> - echo "=== Checking for not using -O2" >> - grep -H "\-O[013456789]" make/custom/*.cfg >> + # If not using -O2, then we really want to know >> + # BSPs should normally use -O2 >> + echo "=== Checking for not using -O2" >> + grep -H "\-O[013456789]" make/custom/*.cfg >> >> - # BSPs should not turn on extra warnings >> - echo "=== Checking for turning on extra GCC warning checks" >> - grep -H "\-W" make/custom/*.cfg >> + # BSPs should not turn on extra warnings >> + echo "=== Checking for turning on extra GCC warning checks" >> + grep -H "\-W" make/custom/*.cfg >> >> - # Hopefully have some output from the tmtests >> - echo "=== Checking for timing information" >> - c=`ls -1 times* 2>/dev/null | wc -l` >> - if [ ${c} -eq 0 ] ; then >> - echo "Please run the timing tests and include the results." >> + # Hopefully have some output from the tmtests >> + echo "=== Checking for timing information" >> + c=$(ls -1 times* 2>/dev/null | wc -l) >> + if [[ ${c} -eq 0 ]]; then >> + echo "Please run the timing tests and include the results." >> fi >> >> echo -e "\n=== Starting BSP Unified way checks" >> @@ -435,10 +434,10 @@ function main(){ >> if [[ $filename != "0" ]];then >> if grep -wq "start" "$filename" || grep -wq "_start" "$filename"; then >> if [[ $verbose -eq "1" ]] ;then >> - echo "$bsp : `basename $filename` start() present in $filename" >> + echo "$bsp : $(basename $filename) start() present in $filename" >> fi >> else >> - echo "$bsp : `basename $filename` start() does not exist in start.S" >> + echo "$bsp : $(basename $filename) start() does not exist in start.S" >> fi >> fi >> >> @@ -448,7 +447,6 @@ function main(){ >> check_file 1 bspreset.c ../../shared/ ../shared/ startup/ >> check_methods 1 "bsp_reset" >> >> - >> check_file 1 bootcard.c ../../shared/ >> check_header ../../shared/include/bootcard.h >> >> @@ -458,7 +456,6 @@ function main(){ >> check_file 1 bspgetworkarea.c ../../shared/ ../../shared/startup >> ../shared/ ../shared/startup/ startup/ >> check_methods 1 "bsp_work_area_initialize" >> >> - >> check_file 1 bsplibc.c ../../shared/ >> check_methods "bsp_libc_init" >> >> @@ -468,13 +465,11 @@ function main(){ >> check_file 1 bsppredriverhook.c ../../shared/ ../shared/startup/ startup/ >> check_methods "bsp_predriver_hook" >> >> - >> check_file gnatinstallhandler.c ../../shared/ >> >> check_file sbrk.c ../../shared/ ../../shared/ startup/ >> check_methods "sbrk" >> >> - >> check_file stackalloc.c ../../shared/src/ >> check_methods "bsp_stack_allocate_init" "bsp_stack_allocate" >> "bsp_stack_free" >> >> @@ -486,9 +481,7 @@ function main(){ >> check_header 1 include/irq.h >> >> # PIC Support >> - >> check_file irq-default-handler.c ../../shared/src/ >> - >> check_file 1 irq-generic.c ../../shared/src/ >> check_header 1 ../../shared/include/irq-generic.h >> >> @@ -503,7 +496,6 @@ function main(){ >> check_file rtc-config.c rtc/ >> check_methods "bsp_rtc_initialize" "bsp_rtc_get_time" "bsp_rtc_set_time" >> "bsp_rtc_probe" >> >> - >> check_file 1 tod.c ../../shared/ tod/ >> >> # Benchmark Timers >> @@ -512,7 +504,6 @@ function main(){ >> >> >> # Standard Headers >> - >> check_header 1 include/bsp.h >> check_header include/bspopts.h >> check_header 1 ../../shared/include/coverhd.h include/coverhd.h >> @@ -530,86 +521,87 @@ function main(){ >> echo -e "\n" >> fi >> >> - # >> -# Test specific checks >> -# >> - if [ ${do_test} == "1" ] ; then >> + # Test specific checks >> + if [[ ${do_test} == "1" ]]; then >> >> echo -e "\n=== Starting Test specific checks" >> # find all the Makefile.am's with rtems_tests_PROGRAMS in them >> - Makefiles=`find . -name Makefile.am | xargs -e grep -l ^rtems_tests` >> - if [ "X${Makefiles}" = "X" ] ; then >> + Makefiles=$(find . -name Makefile.am | xargs -e grep -l ^rtems_tests) >> + if [[ "X${Makefiles}" = "X" ]]; then >> echo -e "Unable to locate any test Makefile.am files.\n" >> return >> fi >> + >> echo "=== Checking for missing test support files" >> for m in ${Makefiles} >> do >> - directory=`dirname ${m}` >> - if [ ${directory} = "." ] ; then >> - directory=`pwd` >> + directory=$(dirname ${m}) >> + if [[ ${directory} = "." ]]; then >> + directory=$(pwd) >> fi >> - testName=`basename ${directory}` >> + testName=$(basename ${directory}) >> # Does this test have a .doc file? >> - if [ ! -r ${directory}/${testName}.doc ] ; then >> + if [[ ! -r ${directory}/${testName}.doc ]]; then >> echo ${testName}.doc is not present >> fi >> + >> case ${directory} in >> - */*tmtests*) ;; >> - *) >> - # Does this test have a .scn file? >> - if [ ! -r ${directory}/${testName}.scn ] ; then >> - echo ${testName}.scn is not present >> - fi >> - ;; >> + */*tmtests*) ;; >> + *) >> + # Does this test have a .scn file? >> + if [[ ! -r ${directory}/${testName}.scn ]]; then >> + echo ${testName}.scn is not present >> + fi >> + ;; >> esac >> done >> - >> fi >> } >> >> # Verifying if the directory given or pwd is a valid bsp, shared >> architecture, or libbsp directory >> function check_given_dir(){ >> - if echo $cur_dir | grep -Eq "c/src/lib/libbsp/([^/]+)/([^/]+)/([^/]+)*" ; >> then >> + >> + if echo "$cur_dir" | grep -Eq "c/src/lib/libbsp/([^/]+)/([^/]+)/([^/]+)*" >> ; then >> return 0 >> >> - elif echo $cur_dir | grep -Eq "c/src/lib/libbsp/([^/]+)/([^/]+)" ; then >> -# BSP given >> - bsp=${cur_dir##*/} >> + elif echo "$cur_dir" | grep -Eq "c/src/lib/libbsp/([^/]+)/([^/]+)" ; then >> + # BSP given >> + bsp="${cur_dir##*/}" >> >> - if [[ $bsp == "shared" || $bsp == "autom4te.cache" || $bsp == "no_bsp" >> ]]; then >> + if [[ "$bsp" == "shared" || "$bsp" == "autom4te.cache" || "$bsp" == >> "no_bsp" ]]; then >> return 0 >> else >> main >> fi >> - elif echo $cur_dir | grep -Eq "c/src/lib/libbsp/([^/]+)" ; then >> -# Shared architecture given >> - for i in * >> + elif echo "$cur_dir" | grep -Eq "c/src/lib/libbsp/([^/]+)" ; then >> + # Shared architecture given >> + for i in */Makefile.am >> do >> - if [[ -d $i ]]; then >> - if [[ $i == "shared" || $i == "autom4te.cache" || $i == "no_bsp" >> ]]; then >> - echo -n >> + i="$(dirname $i)" >> + if [[ -d "$i" ]]; then >> + if [[ "$i" == "shared" || "$i" == "autom4te.cache" || "$i" == >> "no_bsp" ]]; then >> + echo -n > /dev/null >> else >> - bsp=$i >> + bsp="$i" >> >> - cd $bsp >> + cd "$bsp" >> main >> cd .. > /dev/null >> fi >> fi >> done >> - elif echo $cur_dir | grep -Eq "c/src/lib/libbsp" ; then >> -# libbsp given >> + elif echo "$cur_dir" | grep -Eq "c/src/lib/libbsp" ; then >> + # libbsp given >> for i in */*/Makefile.am >> do >> - i=`dirname $i` >> - if [[ -d $i ]]; then >> - if [[ $i == "shared" || $i == "autom4te.cache" || $i == >> "no_cpu/no_bsp" ]]; then >> + i="$(dirname $i)" >> + if [[ -d "$i" ]]; then >> + if [[ "$i" == "shared" || "$i" == "autom4te.cache" || "$i" == >> "no_cpu/no_bsp" ]]; then >> echo -n >> else >> - bsp=$i >> + bsp="$i" >> >> - cd $bsp >> + cd "$bsp" >> main >> cd ../../ > /dev/null >> fi >> @@ -624,67 +616,71 @@ function check_given_dir(){ >> # Evaluating Command Line Arguments >> function start(){ >> >> - for i in $* >> + path="0" >> + >> + for i in "$@" >> do >> - case $i in >> - "--verbose") verbose="1" # The whole story >> - ;; >> + case "$i" in >> >> - "--warnings") warnings="1" # All warnings >> - verbose="0" >> - ;; >> + "--verbose") # The whole story >> + verbose="1" >> + ;; >> >> - "--no_format") format="0" # Disabling format checks >> - verbose="0" >> - ;; >> + "--warnings") # All warnings >> + warnings="1" >> + verbose="0" >> + ;; >> >> - "--tests") do_test="1" # Enabling check of tests >> - verbose="0" >> - ;; >> + "--no_format") # Disabling format checks >> + format="0" >> + verbose="0" >> + ;; >> >> - "--help") echo "Help to be provided" >> - ;; >> + "--tests") # Enabling check of tests >> + do_test="1" >> + verbose="0" >> + ;; >> >> - "--"* | "-"* ) echo "Invalid options provided" >> - ;; >> + "--help") >> + echo "Help to be provided" >> + ;; >> >> - *) path="$path $i" ;; # If not above options, then assumed to be a >> path for bsp >> - esac >> - done >> + "--"* | "-"* ) >> + echo "Invalid options provided" >> + ;; >> >> -# No path given, search for bsp from pwd >> - if [[ -z $path ]];then >> - path=$PWD >> - cur_dir=`pwd` >> - check_given_dir >> - if [[ $? -eq 1 ]];then >> - echo "Current directory does not seem a valid RTEMS directory" >> - fi >> - >> - else >> - for i in $path >> - do >> - if [[ -d $i ]]; then >> + *) >> + if [[ -d "$i" ]]; then # If not above options, then assumed to be a >> path for bsp >> echo > /dev/null >> else >> echo "$i is an invalid directory." >> - continue >> fi >> >> - cd $i >> - cur_dir=`pwd` >> + cd "$i" >> + cur_dir=$(pwd) >> check_given_dir >> if [[ $? -eq 1 ]];then >> echo "$i does not seem a valid RTEMS directory" >> + else >> + path="1" >> fi >> - cd $calling_path >> + cd "$calling_path" >> + ;; >> + esac >> + done >> >> - done >> + # No path given, search for bsp from pwd >> + if [[ "$path" == "0" ]];then >> + cur_dir=$(pwd) >> + check_given_dir >> + if [[ $? -eq 1 ]];then >> + echo "Current directory does not seem a valid RTEMS directory" >> + fi >> fi >> } >> >> # Let the Game begin !! >> -start $* >> +start "$@" >> >> # End of Checks >> if [[ $faults -eq "0" ]] ; then >> -- >> 1.7.11.7 >> >> _______________________________________________ >> rtems-devel mailing list >> [email protected] >> http://www.rtems.org/mailman/listinfo/rtems-devel > _______________________________________________ > rtems-devel mailing list > [email protected] > http://www.rtems.org/mailman/listinfo/rtems-devel _______________________________________________ rtems-devel mailing list [email protected] http://www.rtems.org/mailman/listinfo/rtems-devel
