#!/bin/sh # # This script generates the required file for supporting the debug # channels used throught the code. # The generated file is # include/debugdefs.h # The script must be run in the root directory of the project. # # Dimitrie O. Paun <dimi@cs.toronto.edu> # Patrik Stridvall <ps@leissner.se> # DEBUG_CHANNELS=`tools/find_debug_channels` exec > include/debugdefs.h cat <<EOF /* Do not modify this file -- it is automatically generated! */ #include "debugtools.h" #define DEBUG_CLASS_COUNT __DBCL_COUNT static const char * const debug_cl_name[] = { "fixme", "err", "warn", "trace" }; EOF chno=0 for ch in $DEBUG_CHANNELS do echo "char dbch_$ch[] = \"\\003$ch\";" chno=`expr $chno + 1` done echo echo "#define DEBUG_CHANNEL_COUNT $chno" count=1 echo echo 'static char * const debug_channels[DEBUG_CHANNEL_COUNT] = {' for ch in $DEBUG_CHANNELS do if [ "${count}" != "${chno}" ]; then echo " dbch_${ch}," else echo " dbch_${ch}" fi count=`expr $count + 1` done echo '};' for cls in err fixme warn trace do cat <<EOF int dbg_header_$cls( const char *dbg_channel, const char *func ) { return dbg_printf( "$cls:%s:%s ", dbg_channel + 1, func ); } EOF done