whobbs.c \
crc16.c journaling.c citadel_dirs.c threads.c
+
include Make_sources
+svn_revision.c: ${SOURCES}
+ ./mk_svn_revision.sh
+
DEP_FILES=$(SOURCES:.c=.d) modules_init.d modules_upgrade.d
client: $(CLIENT_TARGETS)
locate_host.o housekeeping.o \
internet_addressing.o journaling.o \
parsedate.o genstamp.o ecrash.o threads.o\
- clientsocket.o modules_init.o modules_upgrade.o $(AUTH) $(SERV_MODULES)
+ clientsocket.o modules_init.o modules_upgrade.o $(AUTH) $(SERV_MODULES) \
+ svn_revision.o
citserver: $(SERV_OBJS)
$(CC) $(SERV_OBJS) $(LDFLAGS) $(SERVER_LDFLAGS) $(LIBS) $(SERVER_LIBS) $(RESOLV) -o citserver
--- /dev/null
+#!/bin/sh
+#
+# Script to generate svn_revision.c
+#
+
+ECHO=/usr/bin/printf
+
+
+CUR_DIR=`pwd`
+C_FILE="$CUR_DIR/svn_revision.c"
+H_FILE="$CUR_DIR/svn_revision.h"
+
+
+# determine if this code base came from subversion.
+if [ -d .svn ] ; then
+ echo "have subversion repository"
+ SVNVERSION=`which svnversion`
+ if [ -x $SVNVERSION ] ; then
+ echo "have svnversion at $SVNVERSION"
+ BUILD=`svnversion -n .`
+ echo "This code base revision $BUILD"
+ CAN_BUILD_SVN_REVISION="yes"
+ fi
+fi
+
+if [ $CAN_BUILD_SVN_REVISION == "yes" ] ; then
+
+cat <<EOF > $C_FILE
+/*
+ * Subversion revision functions
+ *
+ * Autogenerated at make/release time
+ *
+ * Do not modify this file
+ *
+ */
+
+const char *svn_revision (void)
+{
+ const char *SVN_Version = "$BUILD";
+ return SVN_Version;
+}
+EOF
+
+elif [ ! -f $C_FILE ] ; then
+
+cat <<EOF > $C_FILE
+/*
+ * Subversion revision functions
+ *
+ * Autogenerated at make time
+ *
+ * There should have been one with your source distribution
+ *
+ * Do not modify this file
+ *
+ */
+
+const char *svn_revision (void)
+{
+ const char *SVN_Version = "**UNKNOWN** Built from source without svn and no $C_FILE accompanying";
+ return SVN_Version;
+}
+EOF
+
+fi
void go_threading(void);
+/*
+ * For the subversion revision number
+ */
+const char *svn_revision(void);
/*
* Here's where it all begins.
CtdlLogPrintf(CTDL_NOTICE,
"*** Citadel server engine v%d.%02d ***\n",
(REV_LEVEL/100), (REV_LEVEL%100));
+ CtdlLogPrintf(CTDL_NOTICE,
+ "*** Build number %s ***\n", svn_revision());
CtdlLogPrintf(CTDL_NOTICE,
"Copyright (C) 1987-2008 by the Citadel development team.\n");
CtdlLogPrintf(CTDL_NOTICE,