CUR_DIR=`pwd`
C_FILE="$CUR_DIR/modules_init.c"
H_FILE="$CUR_DIR/modules_init.h"
+MOD_FILE="$CUR_DIR/Make_modules"
+SRC_FILE="$CUR_DIR/Make_sources"
-$ECHO $MINUS_e "Scanning extension modules for entry points.\n"
-$ECHO $MINUS_e "This version of echo $ECHO supports $MINUS_e $MINUS_E.\n"
-#start ofs the files which inturn removes any existing file
+/usr/bin/printf "Scanning extension modules for entry points.\n"
+
+
+#start of the files which inturn removes any existing file
+#
+
+# start the Makefile included file for $SERV_MODULES
+cat <<EOF >$MOD_FILE
+#
+# Make_modules
+# This file is to be included by Makefile to dynamically add modules to the build process
+# THIS FILE WAS AUTO GENERATED BY mk_modules_init.sh DO NOT EDIT THIS FILE
+#
+
+EOF
+
+# start the Makefile included file for $SOURCES
+cat <<EOF >$SRC_FILE
+#
+# Make_sources
+# This file is to be included by Makefile to dynamically add modules to the build process
+# THIS FILE WAS AUTO GENERATED BY mk_modules_init.sh DO NOT EDIT THIS FILE
#
-$ECHO $MINUS_e "/*\n" > $C_FILE
-$ECHO $MINUS_e " * $C_FILE\n" >> $C_FILE
-$ECHO $MINUS_e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE\n" >> $C_FILE
-$ECHO $MINUS_e " */\n\n\n" >> $C_FILE
-
-#echo $MINUS_e "#include \"sysdep.h\"\n" >> $C_FILE
-$ECHO $MINUS_e "#include <stdlib.h>\n" >> $C_FILE
-$ECHO $MINUS_e "#include <time.h>\n" >> $C_FILE
-#echo $MINUS_e "#include <ctype.h>\n" >> $C_FILE
-#echo $MINUS_e "#include \"citadel.h\"\n" >> $C_FILE
-$ECHO $MINUS_e "#include \"modules_init.h\"\n" >> $C_FILE
-$ECHO $MINUS_e "#include \"sysdep_decls.h\"\n" >> $C_FILE
-$ECHO $MINUS_e "\n\n\n" >> $C_FILE
-$ECHO $MINUS_e "void LogPrintMessages(long err);\n" >> $C_FILE
-$ECHO $MINUS_e "static long DetailErrorFlags;\n" >> $C_FILE
-$ECHO $MINUS_e "\n\n\n" >> $C_FILE
-
-$ECHO $MINUS_e "void initialise_modules (void)\n" >> $C_FILE
-$ECHO $MINUS_e "{\n" >> $C_FILE
-$ECHO $MINUS_e "\tlong filter;\n\n" >> $C_FILE
-$ECHO $MINUS_e "\t" >> $C_FILE
-$ECHO $MINUS_E "lprintf (CTDL_INFO, \"New citadel module init proceedure.\\\n\");\n" >> $C_FILE
+
+EOF
+
+# start the c file
+cat <<EOF >$C_FILE
+/*
+ * $C_FILE
+ * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE
+ */
+
+
+
+#include "sysdep.h"
+#include <stdlib.h>
+#include <time.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include "citadel.h"
+#include "modules_init.h"
+#include "sysdep_decls.h"
+
+
+void LogPrintMessages(long err);
+extern long DetailErrorFlags;
+
+
+
+void initialise_modules (int threading)
+{
+ long filter;
+ nSizErrmsg = 0;
+
+ if (threading)
+ CtdlLogPrintf (CTDL_INFO, "Initialise modules, CtdlThreads enabled.\n");
+ else
+ CtdlLogPrintf (CTDL_INFO, "Initialise modules, CtdlThreads not yet enabled.\n");
+EOF
+
#start the header file
-$ECHO $MINUS_e "/*\n" > $H_FILE
-$ECHO $MINUS_e " * $H_FILE\n" >> $H_FILE
-$ECHO $MINUS_e " * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE\n" >> $H_FILE
-$ECHO $MINUS_e " */\n\n\n" >> $H_FILE
-$ECHO $MINUS_e "#ifndef MODULES_INIT_H\n" >> $H_FILE
-$ECHO $MINUS_e "#define MODULES_INIT_H\n" >> $H_FILE
-$ECHO $MINUS_e "#include \"ctdl_module.h\"\n" >> $H_FILE
-$ECHO $MINUS_e "void initialise_modules (void) ;\n" >> $H_FILE
+cat <<EOF > $H_FILE
+/*
+ * $H_FILE
+ * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE
+ */
+
+
+#ifndef MODULES_INIT_H
+#define MODULES_INIT_H
+#include "ctdl_module.h"
+extern size_t nSizErrmsg;
+void initialise_modules (int threading);
+EOF
for i in serv_*.c
do
RES=X`grep CTDL_MODULE_INIT $i | cut -f2 -d\( | cut -f1 -d\)`
if [ $RES != "X" ] ; then
RES_OUT=`echo $RES | cut -b2-`
- $ECHO $MINUS_e "Found entry point in file $i\n"
- $ECHO $MINUS_e "\t" >> $C_FILE
- $ECHO $MINUS_E "lprintf (CTDL_INFO, \\\"%%s\\\n\\\", CTDL_INIT_CALL($RES_OUT));\n" >> $C_FILE
- $ECHO $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;\n" >> $H_FILE
+ /usr/bin/printf "Found entry point in file $i\n"
+cat <<EOF >> $C_FILE
+ lprintf (CTDL_INFO, "%%s\n", CTDL_INIT_CALL($RES_OUT));
+
+EOF
+cat <<EOF >>$H_FILE
+CTDL_MODULE_INIT($RES_OUT);
+EOF
fi
done
for k in *.c
do
if [ -f "$k" ] ; then
+# Add this .c file to the Makefile included list of SOURCES
+cat <<EOF >> $SRC_FILE
+SOURCES += modules/$j/$k
+EOF
+
+# Generate a .o file name
+O_FILE=`basename $k .c`
+O_FILE="$O_FILE.o"
+# Add this .o file to the Makefile included list of SERV_MODULES
+cat <<EOF >> $MOD_FILE
+SERV_MODULES += modules/$j/$O_FILE
+EOF
+
RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
if [ $RES != "X" ] ; then
RES_OUT=`echo $RES | cut -b2-`
- $ECHO $MINUS_e "Found entry point in file modules/$j/$k\n"
- $ECHO $MINUS_e "\t" >> $C_FILE
- $ECHO $MINUS_E "lprintf (CTDL_INFO, \\\"%%s\\\n\\\", CTDL_INIT_CALL($RES_OUT));\n" >> $C_FILE
- $ECHO $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;\n" >> $H_FILE
+ /usr/bin/printf "Found entry point in file modules/$j/$k\n"
+# Add this entry point to the .c file
+cat <<EOF >> $C_FILE
+ lprintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL($RES_OUT));
+EOF
+# Add this entry point to the .h file
+cat <<EOF >> $H_FILE
+ CTDL_MODULE_INIT($RES_OUT);
+EOF
fi
fi
done
for k in *.c
do
if [ -f "$k" ] ; then
+# Add this .c file to the Makefile included list of SOURCES
+cat <<EOF >> $SRC_FILE
+SOURCES=\$(SOURCES) user_modules/$j/$k
+EOF
+
+# Generate a .o file name
+O_FILE=`basename $k .c`
+O_FILE="$O_FILE.o"
+# Add this .o file to the Makefile included list of SERV_MODULES
+cat <<EOF >> $MOD_FILE
+SERV_MODULES += user_modules/$j/$O_FILE
+EOF
+
RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
if [ $RES != "X" ] ; then
RES_OUT=`echo $RES | cut -b2-`
- $ECHO $MINUS_e "Found entry point in file user_modules/$j/$k\n"
- $ECHO $MINUS_e "\t" >> $C_FILE
- $ECHO $MINUS_E "lprintf (CTDL_INFO, \\\"%%s\\\n\\\", CTDL_INIT_CALL($RES_OUT));\n" >> $C_FILE
- $ECHO $MINUS_E "CTDL_MODULE_INIT($RES_OUT) ;\n" >> $H_FILE
+ /usr/bin/printf "Found entry point in file user_modules/$j/$k\n"
+cat <<EOF >> $C_FILE
+ lprintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL($RES_OUT));
+EOF
+cat <<EOF >> $H_FILE
+CTDL_MODULE_INIT($RES_OUT);
+EOF
fi
fi
done
cd $CUR_DIR
-$ECHO $MINUS_e "\n\n" >> $C_FILE
-$ECHO $MINUS_e "\tfor (filter = 1; filter != 0; filter = filter << 1)\n" >> $C_FILE
-$ECHO $MINUS_e "\t\tif ((filter & DetailErrorFlags) != 0)\n" >> $C_FILE
-$ECHO $MINUS_e "\t\t\tLogPrintMessages(filter);\n" >> $C_FILE
-$ECHO $MINUS_e "}\n" >> $C_FILE
+/usr/bin/printf "\n\n" >> $C_FILE
+/usr/bin/printf "\tfor (filter = 1; filter != 0; filter = filter << 1)\n" >> $C_FILE
+/usr/bin/printf "\t\tif ((filter & DetailErrorFlags) != 0)\n" >> $C_FILE
+/usr/bin/printf "\t\t\tLogPrintMessages(filter);\n" >> $C_FILE
+/usr/bin/printf "}\n" >> $C_FILE
-$ECHO $MINUS_e "\n#endif /* MODULES_INIT_H */\n" >> $H_FILE
+/usr/bin/printf "\n#endif /* MODULES_INIT_H */\n" >> $H_FILE