| #!/bin/sh |
| # |
| # This script scans the whole source code for symbols of the form dprintf_xxx, |
| # generates the necessary macro definitions and puts them into the files |
| # include/stddebug.h and include/debug.h . This script must be started with |
| # cwd = rootdir of the Wine-distribution. |
| # |
| # Michael Patra <micky@marie.physik.tu-berlin.de> |
| # |
| makedepend -s"# /* Do not remove this line or change anything below this line */" -finclude/debug.h |
| echo " " >> include/debug.h |
| grep -h dprintf_ */*.c | tr -d '[:blank:]' | cut -d"(" -f1 | sort | uniq | \ |
| cut -d"_" -f2 > temp.$$ |
| echo " " >> include/debug.h |
| echo "#ifdef DEBUG_NONE_EXT" >> include/debug.h |
| cat temp.$$ | |
| { |
| while read x |
| do |
| y=`echo $x | tr a-z A-Z` |
| echo "#undef DEBUG_$y" >> include/debug.h |
| done |
| } |
| echo "#endif" >> include/debug.h |
| echo " " >> include/debug.h |
| echo " " >> include/debug.h |
| echo "#ifdef DEBUG_ALL_EXT" >> include/debug.h |
| cat temp.$$ | |
| { |
| while read x |
| do |
| y=`echo $x | tr a-z A-Z` |
| echo "#define DEBUG_$y" >> include/debug.h |
| done |
| } |
| echo "#endif" >> include/debug.h |
| echo " " >> include/debug.h |
| echo " " >> include/debug.h |
| echo "#ifdef DEBUG_RUNTIME" >> include/debug.h |
| echo "#ifdef DEBUG_DEFINE_VARIABLES" >> include/debug.h |
| echo "short debug_msg_enabled[]={" >> include/debug.h |
| i=0; |
| cat temp.$$ | |
| { |
| while read x |
| do |
| y=`echo $x | tr a-z A-Z` |
| echo "#ifdef DEBUG_$y" >> include/debug.h |
| echo "1," >> include/debug.h |
| echo "#else" >> include/debug.h |
| echo "0," >> include/debug.h |
| echo "#endif" >> include/debug.h |
| done |
| } |
| echo "0};" >> include/debug.h |
| echo "#else" >> include/debug.h |
| echo "extern short debug_msg_enabled[];" >> include/debug.h |
| echo "#endif" >> include/debug.h |
| echo "#endif" >> include/debug.h |
| echo " " >> include/debug.h |
| echo " " >> include/debug.h |
| i=0 |
| cat temp.$$ | |
| { |
| while read x |
| do |
| y=`echo $x | tr a-z A-Z` |
| echo "#ifdef DEBUG_RUNTIME" >> include/debug.h |
| echo "#define dprintf_$x if(debug_msg_enabled[$i]) fprintf" >> include/debug.h |
| echo "#else" >> include/debug.h |
| echo "#ifdef DEBUG_$y" >> include/debug.h |
| echo "#define dprintf_$x fprintf" >> include/debug.h |
| echo "#else" >> include/debug.h |
| echo "#define dprintf_$x" >> include/debug.h |
| echo "#endif" >> include/debug.h |
| echo "#endif" >> include/debug.h |
| echo " " >> include/debug.h |
| let i=$i+1 |
| done |
| } |
| makedepend -s"# /* Do not remove this line or change anything below this line */" -finclude/stddebug.h |
| echo " " >> include/stddebug.h |
| echo "#ifdef DEBUG_NONE" >> include/stddebug.h |
| cat temp.$$ | |
| { |
| while read x |
| do |
| y=`echo $x | tr a-z A-Z` |
| echo "#undef DEBUG_$y" >> include/stddebug.h |
| done |
| } |
| echo "#endif" >> include/stddebug.h |
| echo " " >> include/stddebug.h |
| echo " " >> include/stddebug.h |
| echo "#ifdef DEBUG_ALL" >> include/stddebug.h |
| cat temp.$$ | |
| { |
| while read x |
| do |
| y=`echo $x | tr a-z A-Z` |
| echo "#define DEBUG_$y" >> include/stddebug.h |
| done |
| } |
| echo "#endif" >> include/stddebug.h |
| echo " " >> include/debug.h |
| echo " " >> include/debug.h |
| echo "#ifdef DEBUG_RUNTIME" >> include/debug.h |
| echo "#ifdef DEBUG_DEFINE_VARIABLES" >> include/debug.h |
| echo "static char *debug_msg_name[] = {" >> include/debug.h |
| cat temp.$$ | |
| { |
| while read x |
| do |
| echo "\"$x\"," >> include/debug.h |
| done |
| } |
| echo "\"\"};" >> include/debug.h |
| echo "#endif" >> include/debug.h |
| echo "#endif" >> include/debug.h |
| rm temp.$$ |