3 # Script to generate $C_FILE
8 #MINUS_e=X`$ECHO -n -e`
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.\n"
28 $ECHO $MINUS_e "This version of echo $ECHO supports $MINUS_e $MINUS_E.\n"
30 #start ofs the files which inturn removes any existing file
32 $ECHO $MINUS_e "/*\n" > $C_FILE
33 $ECHO $MINUS_e " * $C_FILE\n" >> $C_FILE
34 $ECHO $MINUS_e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE\n" >> $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 <time.h>\n" >> $C_FILE
40 #echo $MINUS_e "#include <ctype.h>\n" >> $C_FILE
41 #echo $MINUS_e "#include \"citadel.h\"\n" >> $C_FILE
42 $ECHO $MINUS_e "#include \"modules_init.h\"\n" >> $C_FILE
43 $ECHO $MINUS_e "#include \"sysdep_decls.h\"\n" >> $C_FILE
44 $ECHO $MINUS_e "\n\n\n" >> $C_FILE
45 $ECHO $MINUS_e "void LogPrintMessages(long err);\n" >> $C_FILE
46 $ECHO $MINUS_e "static long DetailErrorFlags;\n" >> $C_FILE
47 $ECHO $MINUS_e "\n\n\n" >> $C_FILE
49 $ECHO $MINUS_e "void initialise_modules (void)\n" >> $C_FILE
50 $ECHO $MINUS_e "{\n" >> $C_FILE
51 $ECHO $MINUS_e "\tlong filter;\n\n" >> $C_FILE
52 $ECHO $MINUS_e "\tnSizErrmsg = 0;\n\n" >> $C_FILE
53 $ECHO $MINUS_e "\t" >> $C_FILE
54 $ECHO $MINUS_E "lprintf (CTDL_INFO, \"New citadel module init proceedure.\\\n\");\n" >> $C_FILE
56 #start the header file
57 $ECHO $MINUS_e "/*\n" > $H_FILE
58 $ECHO $MINUS_e " * $H_FILE\n" >> $H_FILE
59 $ECHO $MINUS_e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE\n" >> $H_FILE
60 $ECHO $MINUS_e " */\n\n\n" >> $H_FILE
61 $ECHO $MINUS_e "#ifndef MODULES_INIT_H\n" >> $H_FILE
62 $ECHO $MINUS_e "#define MODULES_INIT_H\n" >> $H_FILE
63 $ECHO $MINUS_e "#include \"ctdl_module.h\"\n\n" >> $H_FILE
64 $ECHO $MINUS_e "extern size_t nSizErrmsg;\n" >> $H_FILE
65 $ECHO $MINUS_e "void initialise_modules (void) ;\n" >> $H_FILE
70 RES=X`grep CTDL_MODULE_INIT $i | cut -f2 -d\( | cut -f1 -d\)`
71 if [ $RES != "X" ] ; then
72 RES_OUT=`echo $RES | cut -b2-`
73 $ECHO $MINUS_e "Found entry point in file $i\n"
74 $ECHO $MINUS_e "\t" >> $C_FILE
75 $ECHO $MINUS_E "lprintf (CTDL_INFO, \\\"%%s\\\n\\\", CTDL_INIT_CALL($RES_OUT));\n" >> $C_FILE
76 $ECHO $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;\n" >> $H_FILE
81 if [ -d "modules" ] ; then
90 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
91 if [ $RES != "X" ] ; then
92 RES_OUT=`echo $RES | cut -b2-`
93 $ECHO $MINUS_e "Found entry point in file modules/$j/$k\n"
94 $ECHO $MINUS_e "\t" >> $C_FILE
95 $ECHO $MINUS_E "lprintf (CTDL_INFO, \\\"%%s\\\n\\\", CTDL_INIT_CALL($RES_OUT));\n" >> $C_FILE
96 $ECHO $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;\n" >> $H_FILE
107 if [ -d "user_modules" ] ; then
115 if [ -f "$k" ] ; then
116 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
117 if [ $RES != "X" ] ; then
118 RES_OUT=`echo $RES | cut -b2-`
119 $ECHO $MINUS_e "Found entry point in file user_modules/$j/$k\n"
120 $ECHO $MINUS_e "\t" >> $C_FILE
121 $ECHO $MINUS_E "lprintf (CTDL_INFO, \\\"%%s\\\n\\\", CTDL_INIT_CALL($RES_OUT));\n" >> $C_FILE
122 $ECHO $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;\n" >> $H_FILE
133 $ECHO $MINUS_e "\n\n" >> $C_FILE
134 $ECHO $MINUS_e "\tfor (filter = 1; filter != 0; filter = filter << 1)\n" >> $C_FILE
135 $ECHO $MINUS_e "\t\tif ((filter & DetailErrorFlags) != 0)\n" >> $C_FILE
136 $ECHO $MINUS_e "\t\t\tLogPrintMessages(filter);\n" >> $C_FILE
137 $ECHO $MINUS_e "}\n" >> $C_FILE
140 $ECHO $MINUS_e "\n#endif /* MODULES_INIT_H */\n" >> $H_FILE