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 -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
88 if [ -d "user_modules" ] ; then
97 RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
98 if [ $RES != "X" ] ; then
99 RES_OUT=`echo $RES | cut -b2-`
100 echo -e "Found entry point in file user_modules/$j/$k"
101 echo -n "\t" >> $C_FILE
102 echo -E "lprintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL($RES_OUT));" >> $C_FILE
103 echo -E "CTDL_MODULE_INIT($RES_OUT) ;" >> $H_FILE
113 echo -e "\n\n" >> $C_FILE
114 echo -e "\tfor (filter = 1; filter != 0; filter = filter << 1)" >> $C_FILE
115 echo -e "\t\tif ((filter & DetailErrorFlags) != 0)" >> $C_FILE
116 echo -e "\t\t\tLogPrintMessages(filter);" >> $C_FILE
117 echo -e "}" >> $C_FILE
120 echo -e "\n#endif /* MODULES_INIT_H */" >> $H_FILE