Added a simple comment to include/ctdl_module.h
authorDave West <davew@uncensored.citadel.org>
Sun, 14 Oct 2007 12:51:28 +0000 (12:51 +0000)
committerDave West <davew@uncensored.citadel.org>
Sun, 14 Oct 2007 12:51:28 +0000 (12:51 +0000)
Added code to automatically include modules into the Makefile

citadel/Makefile.in
citadel/include/ctdl_module.h
citadel/mk_module_init.sh

index 46656c16c02ddbd926f46b5617a445b30e9b3434..8588566a03983d24c7222aa4559c6ecae79f2631 100644 (file)
@@ -29,49 +29,12 @@ EXEEXT=@EXEEXT@
 
 CLIENT_TARGETS=citadel$(EXEEXT) whobbs$(EXEEXT) stress$(EXEEXT)
 SERVER_TARGETS=citserver
-SERV_MODULES=modules/chat/serv_chat.o \
-       modules/upgrade/serv_upgrade.o \
-       modules/smtp/serv_smtp.o \
-       modules/spam/serv_spam.o \
-       modules/pop3/serv_pop3.o \
-       modules/vcard/serv_vcard.o \
-       vcard.o \
-       modules/mrtg/serv_mrtg.o \
-       modules/imap/serv_imap.o \
-       modules/imap/imap_fetch.o \
-       modules/imap/imap_misc.o \
-       modules/imap/imap_search.o \
-       modules/imap/imap_store.o \
-       modules/imap/imap_acl.o \
-       modules/imap/imap_metadata.o \
-       modules/imap/imap_tools.o \
-       modules/imap/imap_list.o \
-       modules/fulltext/serv_fulltext.o \
-       modules/fulltext/ft_wordbreaker.o \
+SERV_MODULES=vcard.o \
        crc16.o \
-       modules/network/serv_network.o \
-       modules/listsub/serv_listsub.o \
-       modules/netfilter/serv_netfilter.o \
-       modules/newuser/serv_newuser.o \
-       modules/notes/serv_notes.o \
-       modules/pas2/serv_pas2.o \
-       modules/pop3client/serv_pop3client.o \
        md5.o \
-       modules/inetcfg/serv_inetcfg.o \
-       modules/rwho/serv_rwho.o \
-       modules/bio/serv_bio.o \
-       modules/expire/serv_expire.o \
-       modules/vandelay/serv_vandelay.o \
-       modules/calendar/serv_calendar.o \
-       modules/crypto/serv_crypto.o \
-       modules/sieve/serv_sieve.o \
-       modules/managesieve/serv_managesieve.o \
-       ical_dezonify.o \
-       modules/ldap/serv_ldap.o \
-       modules/autocompletion/serv_autocompletion.o \
-       modules/funambol/serv_funambol.o \
-       modules/pager/serv_pager.o \
-       modules/test/serv_test.o
+       ical_dezonify.o
+
+include Make_modules
 
 UTIL_TARGETS=aidepost msgform \
        citmail userlist sendcommand \
@@ -113,52 +76,16 @@ SOURCES=aidepost.c auth.c base64.c chkpwd.c chkpw.c citadel.c citadel_ipc.c \
        housekeeping.c html.c ical_dezonify.c \
        internet_addressing.c ecrash.c \
        ipc_c_tcp.c locate_host.c md5.c messages.c  \
-       modules/autocompletion/serv_autocompletion.c \
        mime_parser.c msgbase.c msgform.c parsedate.c policy.c \
        room_ops.c rooms.c routines.c routines2.c tuiconfig.c euidindex.c \
        screen.c sendcommand.c \
-       modules/bio/serv_bio.c \
-       modules/calendar/serv_calendar.c \
-       modules/chat/serv_chat.c \
-       modules/crypto/serv_crypto.c \
-       modules/expire/serv_expire.c \
-       modules/imap/serv_imap.c \
-       modules/imap/imap_search.c \
-       modules/imap/imap_store.c \
-       modules/imap/imap_tools.c \
-       modules/imap/imap_fetch.c \
-       modules/imap/imap_misc.c \
-       modules/imap/imap_acl.c \
-       modules/imap/imap_list.c \
-       modules/imap/imap_metadata.c \
-       modules/inetcfg/serv_inetcfg.c \
-       modules/listsub/serv_listsub.c \
-       modules/mrtg/serv_mrtg.c \
-       modules/netfilter/serv_netfilter.c \
-       modules/network/serv_network.c \
-       modules/ldap/serv_ldap.c \
-       modules/newuser/serv_newuser.c \
-       modules/pas2/serv_pas2.c \
-       modules/pop3client/serv_pop3client.c \
-       modules/pop3/serv_pop3.c \
-       modules/rwho/serv_rwho.c \
-       modules/smtp/serv_smtp.c \
-       modules/spam/serv_spam.c \
-       modules/upgrade/serv_upgrade.c \
-       modules/vandelay/serv_vandelay.c \
-       modules/vcard/serv_vcard.c \
-       modules/managesieve/serv_managesieve.c \
        server_main.c \
-       modules/sieve/serv_sieve.c \
-       modules/funambol/serv_funambol.c \
        setup.c snprintf.c \
        stress.c support.c sysdep.c tools.c user_ops.c userlist.c \
        whobbs.c vcard.c \
-       modules/notes/serv_notes.c \
-       modules/fulltext/serv_fulltext.c \
-       modules/fulltext/ft_wordbreaker.c \
-       crc16.c journaling.c citadel_dirs.c \
-       modules/test/serv_test.c
+       crc16.c journaling.c citadel_dirs.c
+
+include Make_sources
 
 DEP_FILES=$(SOURCES:.c=.d) modules_init.d
 
@@ -185,8 +112,12 @@ citadel$(EXEEXT): citadel.o citadel_ipc.o client_chat.o client_passwords.o \
 
 parsedate.o: parsedate.c
 
-modules_init.c: mk_module_init.sh $(SOURCES)
-               $(srcdir)/mk_module_init.sh
+Make_sources: modules_init.c
+
+Make_modules: modules_init.c
+
+modules_init.c: mk_module_init.sh $(SOURCES) 
+       $(srcdir)/mk_module_init.sh
 
 SERV_OBJS = server_main.o \
        user_ops.o citserver.o sysdep.o serv_extensions.o \
@@ -393,7 +324,7 @@ clean:
 
 cleaner: clean
        rm -rf $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) $(UTILBIN_TARGETS) database_cleanup.sh *.la
-       rm -rf modules_init.c modules_init.h
+       rm -rf modules_init.c modules_init.h Make_modules Make_sources
 
 distclean: cleaner
        find . -name '*~' -o -name '.#*' | xargs rm -f
index 5d8764db436878461b570a806d6f343bd41570a1..750b7a58f458565b61abe702306be77b0cfb317b 100644 (file)
 
 #define CTDL_INIT_CALL(module_name) ctdl_module_##module_name##_init ()
 
+
+/*
+ * Hook functions available to modules.
+ */
+
 void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
 void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType);
 
index 8db772c68982f188f51afbe560a5ec6a8370a011..49c0f47dd6c4e93b1e47510a5f15c69dc6bcad56 100755 (executable)
@@ -23,13 +23,37 @@ ECHO=/usr/bin/printf
 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"
+
 
 /usr/bin/printf "Scanning extension modules for entry points.\n"
-/usr/bin/printf "This version of echo $ECHO supports $MINUS_e $MINUS_E.\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
+#
+
+EOF
+
+# start the c file
 cat <<EOF  >$C_FILE
 /*
  * $C_FILE
@@ -106,13 +130,28 @@ if [ -d "modules" ] ; then
                        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-`
                                                /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
@@ -135,6 +174,10 @@ if [ -d "user_modules" ] ; then
                        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) $k
+EOF
                                        RES=X`grep CTDL_MODULE_INIT $k | cut -f2 -d\( | cut -f1 -d\)`
                                        if [ $RES != "X" ] ; then
                                                RES_OUT=`echo $RES | cut -b2-`