3 # Script to generate $C_FILE
9 if [ $MINUS_e != "X" ] ; then
15 MINUS_E=X`$ECHO -n -E`
16 if [ $MINUS_E != "X" ] ; then
24 C_FILE="$CUR_DIR/modules_init.c"
25 H_FILE="$CUR_DIR/modules_init.h"
27 $ECHO $MINUS_e "Scanning extension modules for entry points."
28 $ECHO $MINUS_e "This version of echo $ECHO supports $MINUS_e $MINUS_E."
30 #start ofs the files which inturn removes any existing file
32 $ECHO $MINUS_e "/*" > $C_FILE
33 $ECHO $MINUS_e " * $C_FILE" >> $C_FILE
34 $ECHO $MINUS_e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE" >> $C_FILE
35 $ECHO $MINUS_e " */\n\n\n" >> $C_FILE
37 #echo $MINUS_e "#include \"sysdep.h\"\n" >> $C_FILE
38 $ECHO $MINUS_e "#include <stdlib.h>\n" >> $C_FILE
39 #echo $MINUS_e "#include <ctype.h>\n" >> $C_FILE
40 #echo $MINUS_e "#include \"citadel.h\"\n" >> $C_FILE
41 $ECHO $MINUS_e "#include \"modules_init.h\"\n" >> $C_FILE
42 $ECHO $MINUS_e "#include \"sysdep_decls.h\"\n" >> $C_FILE
43 $ECHO $MINUS_e "\n\n\n" >> $C_FILE
44 $ECHO $MINUS_e "void LogPrintMessages(long err);" >> $C_FILE
45 $ECHO $MINUS_e "static long DetailErrorFlags;" >> $C_FILE
46 $ECHO $MINUS_e "\n\n\n" >> $C_FILE
48 $ECHO $MINUS_e "void initialise_modules (void)" >> $C_FILE
49 $ECHO $MINUS_e "{" >> $C_FILE
50 $ECHO $MINUS_e "\tlong filter;\n\n" >> $C_FILE
51 $ECHO $MINUS_e -n "\t" >> $C_FILE
52 $ECHO $MINUS_E "lprintf (CTDL_INFO, \"New citadel module init proceedure.\n\");" >> $C_FILE
54 #start the header file
55 $ECHO $MINUS_e "/*" > $H_FILE
56 $ECHO $MINUS_e " * $H_FILE" >> $H_FILE
57 $ECHO $MINUS_e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE" >> $H_FILE
58 $ECHO $MINUS_e " */\n\n\n" >> $H_FILE
59 $ECHO $MINUS_e "#ifndef MODULES_INIT_H" >> $H_FILE
60 $ECHO $MINUS_e "#define MODULES_INIT_H\n" >> $H_FILE
61 $ECHO $MINUS_e "#include \"ctdl_module.h\"\n" >> $H_FILE
62 $ECHO $MINUS_e "void initialise_modules (void) ;\n" >> $H_FILE
67 RES=X`grep CTDL_MODULE_INIT $i | cut -f2 -d\( | cut -f1 -d\)`
68 if [ $RES != "X" ] ; then
69 RES_OUT=`echo $RES | cut -b2-`
70 echo $MINUS_e "Found entry point in file $i"
71 echo $MINUS_e -n "\t" >> $C_FILE
72 echo $MINUS_E "lprintf (CTDL_INFO, \"%s\n\", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
73 echo $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
78 if [ -d "modules" ] ; then
87 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
88 if [ $RES != "X" ] ; then
89 RES_OUT=`echo $RES | cut -b2-`
90 echo $MINUS_e "Found entry point in file modules/$j/$k"
91 echo $MINUS_e -n "\t" >> $C_FILE
92 echo $MINUS_E "lprintf (CTDL_INFO, \"%s\n\", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
93 echo $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
104 if [ -d "user_modules" ] ; then
112 if [ -f "$k" ] ; then
113 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
114 if [ $RES != "X" ] ; then
115 RES_OUT=`echo $RES | cut -b2-`
116 echo $MINUS_e "Found entry point in file user_modules/$j/$k"
117 echo $MINUS_e -n "\t" >> $C_FILE
118 echo $MINUS_E "lprintf (CTDL_INFO, \"%s\n\", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
119 echo $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
130 $ECHO $MINUS_e "\n\n" >> $C_FILE
131 $ECHO $MINUS_e "\tfor (filter = 1; filter != 0; filter = filter << 1)" >> $C_FILE
132 $ECHO $MINUS_e "\t\tif ((filter & DetailErrorFlags) != 0)" >> $C_FILE
133 $ECHO $MINUS_e "\t\t\tLogPrintMessages(filter);" >> $C_FILE
134 $ECHO $MINUS_e "}" >> $C_FILE
137 $ECHO $MINUS_e "\n#endif /* MODULES_INIT_H */" >> $H_FILE