Make lint script executable, otherwise invocation fails.
[coreboot.git] / util / lint / lint-001-no-global-config-in-romstage
1 #!/bin/sh
2 # DESCR: Check that no symbols #defined in any romstage.c is used elsewhere
3 DEFINES=`grep "#define" src/mainboard/*/*/romstage.c |sed 's,.*#define[\t ]\([^\t ]*\)[\t ].*,\1,' | grep -v "(" | sort -u`
4 SCANBUCKET=`mktemp`
5 LC_ALL=C export LC_ALL
6 find src -name .svn -type d -prune -o -name mainboard -type d -prune -o -name examples -type d -prune -o -type f -exec sed -nf `dirname $0`/remccoms3.sed {} + > $SCANBUCKET
7  
8 for define in $DEFINES; do
9         if [ `egrep -c "([^_A-Za-z0-9]$define[^_A-Za-z0-9]|^$define[^_A-Za-z0-9]|[^_A-Za-z0-9]$define\$)" $SCANBUCKET` -gt 0 ]; then
10                 echo "$define is defined in mainboard(s) and used elsewhere"
11         fi
12 done
13
14 rm -f $SCANBUCKET