3 # Script to generate $C_FILE
9 C_FILE="$CUR_DIR/modules_init.c"
10 H_FILE="$CUR_DIR/modules_init.h"
12 $ECHO -e "Scanning extension modules for entry points."
15 #start ofs the files which inturn removes any existing file
17 $ECHO -e "/*" > $C_FILE
18 $ECHO -e " * $C_FILE" >> $C_FILE
19 $ECHO -e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE" >> $C_FILE
20 $ECHO -e " */\n\n\n" >> $C_FILE
22 #echo -e "#include \"sysdep.h\"\n" >> $C_FILE
23 $ECHO -e "#include <stdlib.h>\n" >> $C_FILE
24 #echo -e "#include <ctype.h>\n" >> $C_FILE
25 #echo -e "#include \"citadel.h\"\n" >> $C_FILE
26 $ECHO -e "#include \"modules_init.h\"\n" >> $C_FILE
27 $ECHO -e "#include \"sysdep_decls.h\"\n" >> $C_FILE
28 $ECHO -e "\n\n\n" >> $C_FILE
29 $ECHO -e "void LogPrintMessages(long err);" >> $C_FILE
30 $ECHO -e "static long DetailErrorFlags;" >> $C_FILE
31 $ECHO -e "\n\n\n" >> $C_FILE
33 $ECHO -e "void initialise_modules (void)" >> $C_FILE
34 $ECHO -e "{" >> $C_FILE
35 $ECHO -e "\tlong filter;\n\n" >> $C_FILE
36 $ECHO -e -n "\t" >> $C_FILE
37 $ECHO -E "lprintf(CTDL_INFO, \"New citadel module init proceedure.\n\");" >> $C_FILE
39 #start the header file
40 $ECHO -e "/*" > $H_FILE
41 $ECHO -e " * $H_FILE" >> $H_FILE
42 $ECHO -e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE" >> $H_FILE
43 $ECHO -e " */\n\n\n" >> $H_FILE
44 $ECHO -e "#ifndef MODULES_INIT_H" >> $H_FILE
45 $ECHO -e "#define MODULES_INIT_H\n" >> $H_FILE
46 $ECHO -e "#include \"ctdl_module.h\"\n" >> $H_FILE
47 $ECHO -e "void initialise_modules (void) ;\n" >> $H_FILE
52 RES=X`grep CTDL_MODULE_INIT $i | cut -f2 -d\( | cut -f1 -d\)`
53 if [ $RES != "X" ] ; then
54 RES_OUT=`echo $RES | cut -b2-`
55 echo -e "Found entry point in file $i"
56 echo -e -n "\t" >> $C_FILE
57 echo -E "lprintf (CTDL_INFO, \"%s\n\", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
58 echo -E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
63 if [ -d "modules" ] ; then
72 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
73 if [ $RES != "X" ] ; then
74 RES_OUT=`echo $RES | cut -b2-`
75 echo -e "Found entry point in file modules/$j/$k"
76 echo -e -n "\t" >> $C_FILE
77 echo -E "lprintf (CTDL_INFO, \"%s\n\", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
78 echo -E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
89 if [ -d "user_modules" ] ; then
98 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
99 if [ $RES != "X" ] ; then
100 RES_OUT=`echo $RES | cut -b2-`
101 echo -e "Found entry point in file user_modules/$j/$k"
102 echo -e -n "\t" >> $C_FILE
103 echo -E "lprintf (CTDL_INFO, \"%s\n\", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
104 echo -E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
115 $ECHO -e "\n\n" >> $C_FILE
116 $ECHO -e "\tfor (filter = 1; filter != 0; filter = filter << 1)" >> $C_FILE
117 $ECHO -e "\t\tif ((filter & DetailErrorFlags) != 0)" >> $C_FILE
118 $ECHO -e "\t\t\tLogPrintMessages(filter);" >> $C_FILE
119 $ECHO -e "}" >> $C_FILE
122 $ECHO -e "\n#endif /* MODULES_INIT_H */" >> $H_FILE