[Spread-cvs] commit: r240 - in trunk: . daemon docs examples win32 win32_msvc_net

jonathan at spread.org jonathan at spread.org
Sat Jul 9 18:49:05 EDT 2005


Author: jonathan
Date: 2005-07-09 18:49:04 -0400 (Sat, 09 Jul 2005)
New Revision: 240

Added:
   trunk/CVS_Readme.txt
   trunk/Readme.txt
Removed:
   trunk/daemon/CVS_Readme.txt
   trunk/daemon/Readme.txt
Modified:
   trunk/Makefile.in
   trunk/daemon/Makefile.in
   trunk/docs/Makefile.in
   trunk/examples/Makefile.in
   trunk/win32/flooder.dsp
   trunk/win32/libsp.dsp
   trunk/win32/libtsp.dsp
   trunk/win32/r.dsp
   trunk/win32/s.dsp
   trunk/win32/spread.dsp
   trunk/win32/sptmonitor.dsp
   trunk/win32/tuser.dsp
   trunk/win32_msvc_net/libspread.vcproj
   trunk/win32_msvc_net/libtspread.vcproj
   trunk/win32_msvc_net/spflooder.vcproj
   trunk/win32_msvc_net/spread.vcproj
   trunk/win32_msvc_net/sprecv.vcproj
   trunk/win32_msvc_net/spsend.vcproj
   trunk/win32_msvc_net/sptmonitor.vcproj
   trunk/win32_msvc_net/sptuser.vcproj
Log:
Updated Makefiles, Windows project files and configure script
to support new directory structure.
Also update CVS_Readme.txt and Readme.txt files about new
structure.



Copied: trunk/CVS_Readme.txt (from rev 237, trunk/daemon/CVS_Readme.txt)
===================================================================
--- trunk/daemon/CVS_Readme.txt	2005-07-08 18:32:44 UTC (rev 237)
+++ trunk/CVS_Readme.txt	2005-07-09 22:49:04 UTC (rev 240)
@@ -0,0 +1,80 @@
+Documentation on using Spread from Subversion.
+----------------------------------------------
+The main development is done on the main trunk. (default)
+
+There may be release branches for older releases if needed.
+
+
+To checkout a copy
+
+svn checkout svn+ssh://svn.spread.org/services/spreadcvs/svn/spread/trunk spread
+
+You should now have a 'spread' directory which contains the subdirectories:
+
+    * spread/daemon with the Spread daemon and C library code.
+    * spread/examples with example C programs for a sample user and flooder program.
+    * spread/javalib with the Java library code.
+    * spread/javaapps with sample Java applications.
+    * spread/perl with the Perl library code. 
+
+
+To Build from a clean SVN checkout
+----------------------------------
+You normally just need to run from the top level directory:
+
+./configure
+make -C daemon parser
+make 
+su  (if you use the standard /usr/local install target)
+make install
+
+The only extra is the "make -C daemon parser" line which is needed to build
+the lex/yacc files. They are not auto-generated by the make file
+because of the numerous buggy lex/yacc implementations out there. 
+This way you can make sure you only generate the parsers from a
+machine with a good implementation.
+
+If you want to build in a separate directory so all of the
+generated binary objects and libraries are not in the
+source directory just create a new directory, for example:
+
+mkdir bin_linux
+
+and then enter that directory and run the top level configure.
+cd bin_linux
+../configure
+
+and continue the build as usual.
+
+If you change 'configure.in' or related files, you need to regenerate the 
+configure script.
+
+From the spread/ directory,
+to rebuild the configure script you need to run:
+  
+autoconf -I buildtools
+    
+If you add new header defines you may also need to run
+autoheader -I buildtools
+
+
+To make a new release of Spread
+-------------------------------
+
+- Code Changes in release commit
+
+  x) Update the Java build files javaapps/build.xml 
+     <property name="version" value="3.17.2"/>
+
+     Also update the spread version in SpreadConnection.java
+
+  x) Update Spread version number in daemon/spread_params.h
+     SP_MAJOR_VERSION, SP_MINOR_VERSION, SP_PATCH_VERSION
+
+  x) Update the SPREAD_VERSION define in sp.h
+
+  x) Update build date in spread.c and monitor.c initial Alarm prints.
+ 
+  x) After release source tar is built and parser is built. Make sure
+     lex.yy.c does not #include <unistd.h> without protecting it by 
+     #ifndef ARCH_PC_WIN95 ... #endif

Modified: trunk/Makefile.in
===================================================================
--- trunk/Makefile.in	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/Makefile.in	2005-07-09 22:49:04 UTC (rev 240)
@@ -1,208 +1,22 @@
-.SUFFIXES: .lo .to .tlo
+SUBDIRS=daemon docs examples
 
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@
-sbindir=@sbindir@
-libdir=@libdir@
-includedir=@includedir@
-mandir=@mandir@
-mansubdir=@mansubdir@
-sysconfdir=@sysconfdir@
-piddir=@piddir@
-srcdir=@srcdir@
-top_srcdir=@top_srcdir@
-buildtoolsdir=$(srcdir)/buildtools
+all: $(SUBDIRS) 
+	for dir in $(SUBDIRS); do \
+		( $(MAKE) -C $$dir); \
+	done
 
-DESTDIR=
-VPATH=@srcdir@
-SPREAD_PROGRAM=@sbindir@/spread
-SP_MAJOR_VERSION=@SP_MAJOR_VERSION@
-SP_MINOR_VERSION=@SP_MINOR_VERSION@
-SP_PATCH_VERSION=@SP_PATCH_VERSION@
-VERSION=@SP_MAJOR_VERSION at .@SP_MINOR_VERSION at .@SP_PATCH_VERSION@
-
-#Shared Library version -- Must be changed upon each release 
-#Rules: major  -- inc for incompatible change
-#     : minor  -- inc for bugfix or forward compatible change
-
-LIBVERSION=1.0
-
-PATHS= 
-
-CC=@CC@
-LD=@LD@
-CFLAGS=@CFLAGS@
-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
-LDFLAGS=@LDFLAGS@
-LIBS=@LIBS@
-THLDFLAGS=@THLDFLAGS@
-THLIBS=@THLIBS@
-AR=@AR@
-LEX=@LEX@
-SHCC=@SHCC@
-SHLD=@SHLD@
-SHCFLAGS=@SHCFLAGS@
-SHCPPFLAGS=@SHCPPFLAGS@ -I. -I$(srcdir) 
-SHLDFLAGS=@SHLDFLAGS@
-SHLIBS=@SHLIBS@
-RANLIB=@RANLIB@
-INSTALL=@INSTALL@
-SOFTLINK=@LN_S@
-PERL=@PERL@
-ENT=@ENT@
-EXEEXT=@EXEEXT@
-
-TARGETS=spread$(EXEEXT) spuser$(EXEEXT) spflooder$(EXEEXT) spmonitor$(EXEEXT) sptuser${EXEEXT} @LIBSPSO@ @LIBTSPSO@
-
-LIBSP_OBJS= alarm.o events.o memory.o sp.o
-
-LIBSP_SHOBJS= alarm.lo events.lo memory.lo sp.lo
-
-LIBTSP_OBJS= alarm.to events.to memory.to sp.to
-
-LIBTSP_SHOBJS= alarm.tlo events.tlo memory.tlo sp.tlo
-
-SPREADOBJS= spread.o protocol.o session.o groups.o alarm.o events.o memory.o membership.o data_link.o network.o status.o log.o flow_control.o message.o lex.yy.o y.tab.o configuration.o skiplist.o acm.o acp-permit.o auth-null.o auth-ip.o
-
-MONITOR_OBJS= monitor.o  alarm.o events.o memory.o data_link.o lex.yy.o y.tab.o configuration.o skiplist.o acm.o
-
-TMONITOR_OBJS= monitor.to  alarm.to events.to memory.to data_link.to lex.yy.to y.tab.to configuration.to skiplist.to acm.to
-
-MANPAGES	= docs/SP_connect.3.out docs/SP_disconnect.3.out docs/SP_equal_group_ids.3.out docs/SP_error.3.out docs/SP_join.3.out docs/SP_leave.3.out docs/SP_multicast.3.out docs/SP_multigroup_multicast.3.out docs/SP_multigroup_scat_multicast.3.out docs/SP_poll.3.out docs/SP_receive.3.out docs/SP_scat_multicast.3.out docs/SP_scat_receive.3.out docs/libsp.3.out docs/spread.1.out docs/spuser.1.out docs/sptuser.1.out docs/spmonitor.1.out docs/spflooder.1.out
-MANPAGES_IN	= docs/SP_connect.3 docs/SP_disconnect.3 docs/SP_equal_group_ids.3 docs/SP_error.3 docs/SP_join.3 docs/SP_leave.3 docs/SP_multicast.3 docs/SP_multigroup_multicast.3 docs/SP_multigroup_scat_multicast.3 docs/SP_poll.3 docs/SP_receive.3 docs/SP_scat_multicast.3 docs/SP_scat_receive.3 docs/libsp.3 docs/spread.1 docs/spuser.1 docs/sptuser.1 docs/spmonitor.1 docs/spflooder.1
-MANTYPE		= @MANTYPE@
-
-PATHSUBS	= \
-	-D/etc/spread.conf=$(sysconfdir)/spread.conf \
-        -D/var/run/spread.pid=$(piddir)/spread.pid
-
-FIXPATHSCMD	= $(PERL) $(buildtoolsdir)/fixpaths $(PATHSUBS)
-
-all: $(TARGETS) $(MANPAGES)
-
-$(SPREADOBJS): config.h
-$(MONITOR_OBJS): config.h
-$(TMONITOR_OBJS): config.h
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-.c.to:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -D_REENTRANT -c $< -o $*.to
-
-.c.lo:
-	$(SHCC) $(SHCFLAGS) $(SHCPPFLAGS) -c $< -o $*.lo
-
-.c.tlo:
-	$(SHCC) $(SHCFLAGS) $(SHCPPFLAGS) -D_REENTRANT -c $< -o $*.tlo
-
-parser:
-	$(YACC) -d $(srcdir)/config_parse.y
-	$(LEX) $(srcdir)/config_gram.l
-
-#Disabled now because of timestamp errors causing extra regeneration
-#To build parser run "make parser" after ./configure is run.
-#lex.yy.c:       config_gram.l y.tab.c
-#	$(LEX) config_gram.l
-
-#y.tab.c:        config_parse.y
-#	$(YACC) -d config_parse.y
-
-none:	
-	@echo "Skipping shared library creation."
-
-install-none:
-	@echo "Skipping shared library installation."
-
-libspread.a: $(LIBSP_OBJS)
-	$(AR) rv $@ $(LIBSP_OBJS)
-	$(RANLIB) $@
-
-libspread.dylib:	$(LIBSP_SHOBJS)
-	$(SHLD) -o libspread.$(LIBVERSION).dylib $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS)
-	$(SOFTLINK) -f libspread.$(LIBVERSION).dylib $@
-
-install-libspread.dylib:	libspread.dylib
-	$(INSTALL) -m 0755 libspread.$(LIBVERSION).dylib $(DESTDIR)$(libdir)/libspread.$(LIBVERSION).dylib
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.$(LIBVERSION).dylib libspread.dylib)
-
-libspread.so:	$(LIBSP_SHOBJS)
-	$(SHLD) -o $@ $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS)
-
-install-libspread.so:	libspread.so
-	$(INSTALL) -m 0755 libspread.so $(DESTDIR)$(libdir)/libspread.so.$(LIBVERSION)
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.so.$(LIBVERSION) libspread.so)
-
-libtspread.a: $(LIBTSP_OBJS)
-	$(AR) rv $@ $(LIBTSP_OBJS)
-	$(RANLIB) $@
-
-libtspread.dylib:	$(LIBTSP_SHOBJS)
-	$(SHLD) -o libtspread.$(LIBVERSION).dylib $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS) $(THLIBS)
-	$(SOFTLINK) -f libtspread.$(LIBVERSION).dylib $@
-
-install-libtspread.dylib:	libtspread.dylib
-	$(INSTALL) -m 0755 libtspread.$(LIBVERSION).dylib $(DESTDIR)$(libdir)/libtspread.$(LIBVERSION).dylib
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libtspread.$(LIBVERSION).dylib libtspread.dylib)
-
-libtspread.so:	$(LIBTSP_SHOBJS)
-	$(SHLD) -o $@ $(LIBTSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS) $(THLIBS)
-
-install-libtspread.so:	libtspread.so
-	$(INSTALL) -m 0755 libtspread.so $(DESTDIR)$(libdir)/libtspread.so.$(LIBVERSION)
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libtspread.so.$(LIBVERSION) libtspread.so)
-
-spread$(EXEEXT): $(SPREADOBJS)
-	$(LD) -o $@ $(SPREADOBJS) $(LDFLAGS) $(LIBS)
-
-spuser$(EXEEXT): libspread.a	user.o
-	$(LD) -o $@ user.o $(LDFLAGS) libspread.a $(LIBS)
-
-spflooder$(EXEEXT): libspread.a flooder.o
-	$(LD) -o $@ flooder.o $(LDFLAGS) libspread.a $(LIBS)
-
-spmonitor$(EXEEXT): $(MONITOR_OBJS)
-	$(LD) -o $@ $(MONITOR_OBJS) $(LDFLAGS) $(LIBS) 
-
-sptmonitor$(EXEEXT): $(TMONITOR_OBJS)
-	$(LD) $(THLDFLAGS) -o $@ $(TMONITOR_OBJS) $(LDFLAGS) $(LIBS) $(THLIBS) 
-
-sptuser$(EXEEXT): user.to libtspread.a
-	$(LD) $(THLDFLAGS) -o $@ user.to libtspread.a $(LDFLAGS) $(LIBS) $(THLIBS)
-
-spsimple_user$(EXEEXT): simple_user.o libspread.a
-	$(LD) -o $@ simple_user.o $(LDFLAGS) libspread.a $(LIBS) 
-
-testprog: spsend$(EXEEXT) sprecv$(EXEEXT)
-
-spsend$(EXEEXT): s.o alarm.o data_link.o events.o memory.o
-	$(LD) -o $@ s.o alarm.o data_link.o events.o memory.o $(LDFLAGS) $(LIBS)
-
-sprecv$(EXEEXT): r.o alarm.o data_link.o
-	$(LD) -o $@ r.o alarm.o data_link.o $(LDFLAGS) $(LIBS)
-
-$(MANPAGES): $(MANPAGES_IN)
-	@if [ ! -d docs ]; then \
-		$(buildtoolsdir)/mkinstalldirs docs; \
-	fi
-	@if test "$(MANTYPE)" = "cat"; then \
-		manpage=$(srcdir)/`echo $@ | sed 's/\.[1-9]\.out$$/\.0/'`; \
-	else \
-		manpage=$(srcdir)/`echo $@ | sed 's/\.out$$//'`; \
-	fi; \
-	if test "$(MANTYPE)" = "man"; then \
-		$(FIXPATHSCMD) $${manpage} | $(PERL) $(buildtoolsdir)/mdoc2man.pl > $@; \
-	else \
-		$(FIXPATHSCMD) $${manpage} > $@; \
-	fi
-
 clean:
-	rm -f *.lo *.tlo *.to *.o *.a *.dylib $(TARGETS) spsimple_user
-	rm -f config.cache config.log docs/*.out core
+	for dir in $(SUBDIRS); do \
+		( $(MAKE) -C $$dir clean); \
+	done
+
+	rm -f config.cache config.log core
 	rm -rf autom4te.cache
 
 distclean: clean
+	for dir in $(SUBDIRS); do \
+		( $(MAKE) -C $$dir distclean); \
+	done
 	rm -f Makefile config.h config.status *~
 
 mrproper: distclean
@@ -210,83 +24,17 @@
 veryclean: distclean
 	rm -f configure
 
-catman-do:
-	@for f in $(MANPAGES_IN) ; do \
-		base=`echo $$f | sed 's/\..*$$//'` ; \
-		echo "$$f -> $$base.0" ; \
-		nroff -mandoc $$f | cat -v | sed -e 's/.\^H//g' \
-			>$$base.0 ; \
+install: $(SUBDIRS) 
+	for dir in $(SUBDIRS); do \
+		( $(MAKE) -C $$dir install); \
 	done
 
-distprep: catman-do
-	autoreconf
-
-install: $(TARGETS) install-files install- at LIBSPSO@ install- at LIBTSPSO@
-
-install-files:
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(bindir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sbindir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(includedir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)1
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)3
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(libdir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(includedir)
-	$(INSTALL) -m 0755 -s spmonitor$(EXEEXT) $(DESTDIR)$(bindir)/spmonitor$(EXEEXT)
-	$(INSTALL) -m 0755 -s spuser$(EXEEXT) $(DESTDIR)$(bindir)/spuser$(EXEEXT)
-	$(INSTALL) -m 0755 -s sptuser$(EXEEXT) $(DESTDIR)$(bindir)/sptuser$(EXEEXT)
-	$(INSTALL) -m 0755 -s spflooder$(EXEEXT) $(DESTDIR)$(bindir)/spflooder$(EXEEXT)
-	$(INSTALL) -m 0755 -s spread$(EXEEXT) $(DESTDIR)$(sbindir)/spread$(EXEEXT)
-	$(INSTALL) -m 644 libspread.a $(DESTDIR)$(libdir)/libspread.a
-	$(INSTALL) -m 644 libtspread.a $(DESTDIR)$(libdir)/libtspread.a
-	$(INSTALL) -m 644 $(srcdir)/sp.h $(DESTDIR)$(includedir)/sp.h
-	$(INSTALL) -m 644 $(srcdir)/sp_func.h $(DESTDIR)$(includedir)/sp_func.h
-	$(INSTALL) -m 644 $(srcdir)/sp_events.h $(DESTDIR)$(includedir)/sp_events.h
-	$(INSTALL) -m 644 docs/spread.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	$(INSTALL) -m 644 docs/spuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	$(INSTALL) -m 644 docs/sptuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	$(INSTALL) -m 644 docs/spflooder.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	$(INSTALL) -m 644 docs/spmonitor.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1
-	$(INSTALL) -m 644 docs/libsp.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
-	for page in connect disconnect equal_group_ids error join leave multicast multigroup_multicast multigroup_scat_multicast poll receive scat_multicast scat_receive; \
-	do \
-	  $(INSTALL) -m 644 docs/SP_$$page.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/SP_$$page.3; \
+uninstallall:	uninstall
+	for dir in $(SUBDIRS); do \
+		( $(MAKE) -C $$dir uninstallall); \
 	done
-	if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
-		$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
-	fi
-	if [ ! -f $(DESTDIR)$(sysconfdir)/spread.conf ]; then \
-		$(INSTALL) -m 644 $(srcdir)/sample.spread.conf $(DESTDIR)$(sysconfdir)/spread.conf; \
-	else \
-		echo "$(DESTDIR)$(sysconfdir)/spread.conf already exists, install will not overwrite"; \
-	fi
 
-uninstallall:	uninstall
-	-rm -f $(DESTDIR)$(sysconfdir)/spread.conf
-	-rmdir $(DESTDIR)$(sysconfdir)
-	-rmdir $(DESTDIR)$(bindir)
-	-rmdir $(DESTDIR)$(sbindir)
-	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)1
-	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)3
-	-rmdir $(DESTDIR)$(mandir)
-	-rmdir $(DESTDIR)$(libdir)
-	-rmdir $(DESTDIR)$(includedir)
-
 uninstall: 
-	-rm -f $(DESTDIR)$(bindir)/spuser$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/spmonitor$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/spflooder$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/sptuser$(EXEEXT)
-	-rm -f $(DESTDIR)$(sbindir)/spread$(EXEEXT)
-	-rm -f $(DESTDIR)$(libdir)/libspread.a
-	-rm -f $(DESTDIR)$(libdir)/libtspread.a
-	-rm -f $(DESTDIR)$(includedir)/sp.h
-	-rm -f $(DESTDIR)$(includedir)/sp_func.h
-	-rm -f $(DESTDIR)$(includedir)/sp_events.h
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/SP_*.3
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1
+	for dir in $(SUBDIRS); do \
+		( $(MAKE) -C $$dir uninstall); \
+	done

Copied: trunk/Readme.txt (from rev 237, trunk/daemon/Readme.txt)
===================================================================
--- trunk/daemon/Readme.txt	2005-07-08 18:32:44 UTC (rev 237)
+++ trunk/Readme.txt	2005-07-09 22:49:04 UTC (rev 240)
@@ -0,0 +1,261 @@
+SPREAD: A Reliable Multicast and Group Communication Toolkit
+-----------------------------------------------------------
+
+/===========================================================================\
+| The Spread Group Communication Toolkit.                                   |
+| Copyright (c) 1993-2005 Spread Concepts LLC                               |
+| All rights reserved.                                                      |
+|                                                                           |
+| The Spread package is licensed under the Spread Open-Source License.      |
+| You may only use this software in compliance with the License.            |
+| A copy of the license can be found at http://www.spread.org/license       |
+|                                                                           |
+| This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF     |
+| ANY KIND, either express or implied.                                      |
+|                                                                           |
+| Spread is developed at Spread Concepts LLC and the Center for Networking  |
+| and Distributed Systems, The Johns Hopkins University.                    |
+|                                                                           |
+| Creators:                                                                 |
+|    Yair Amir             yairamir at cs.jhu.edu                              |
+|    Michal Miskin-Amir    michal at spreadconcepts.com                        |
+|    Jonathan Stanton      jstanton at gwu.edu                                 |
+|                                                                           |
+| Major Contributors:                                                       |
+|    Cristina Nita-Rotaru crisn at cs.purdue.edu - GC security.                |
+|    Theo Schlossnagle    jesus at omniti.com - Perl, skiplists, autoconf.     |
+|    Dan Schoenblum       dansch at cnds.jhu.edu - Java interface.             |
+|    John Schultz         jschultz at d-fusion.net - contribution to process   |
+|					          group membership.         |
+|                                                                           |
+| Contributors:                                                             |
+|    Ryan Caudy        wyvern at cnds.jhu.edu - Group membership               |
+|    Ben Laurie	       ben at algroup.co.uk - FreeBSD port and warning fixes   |
+|    Daniel Rall       dlr at finemaltcoding.com - Java & networking fixes,    |
+|                                               configuration improvements  |
+|    Marc Zyngier                        - Windows fixes                    |
+|                                                                           |
+| Special thanks to the following for providing ideas and/or code:          |
+|    Ken Birman, Danny Dolev, Mike Goodrich, Ben Laurie,                    |
+|    David Shaw, Robbert VanRenesse.                                        |
+|                                                                           |
+| Partial funding provided by the Defense Advanced Research Projects Agency |
+| (DARPA) and The National Security Agency (NSA) since 2000. The Spread     |
+| toolkit is not necessarily endorsed by DARPA or the NSA.                  |
+|                                                                           |
+| WWW    : http://www.spread.org  and  http://www.cnds.jhu.edu              |
+| Contact: spread at spread.org                                                |
+|                                                                           |
+| Version 4.0.0  built XX/YYY/2005                                          |
+\===========================================================================/
+
+XXX XX, 2005 Ver 4.0.0
+---------------------------
+See changes in Changelog file.
+
+SOURCE INSTALL:
+---------------
+
+The source install uses autoconf and make to support many Unix and unix-like 
+platforms as well as Windows 95+.
+
+Windows is supported by a set of Visual Studio desktop and project files in
+the win32 subdirectory. These files build the daemon, libraries, and user
+programs.
+
+Any not-specifically supported
+platform that has reasonably close to normal sockets networking should also 
+be easily portable. See the file PORTING for hints on porting.
+
+From the directory where you unpacked the Spread source distribution do 
+the following:
+
+1) Run "./configure"
+
+2) Run "make"
+
+3) Run "make install" as a user with rights to write to the selected
+installation location. (/usr/local/{bin,man,sbin,include,lib} by default)
+
+4) Create a spread.conf file appropriate to your local configuration. For 
+more info on how to do this look at the sample file "sample.spread.conf"
+or below in the binary install instructions.
+
+
+BINARY INSTALL:
+--------
+
+We recommend that if you are experimenting with spread you create a special
+'spread' directory (for example /usr/local/spread or /opt/spread) and keep
+all the files together there so it is easy to find stuff.  That also makes 
+it easier to run multiple architectures as the binaries for each are in their
+own subdirectory. This is not necessary though. You can create that directory
+anywhere (e.g. your own directory).
+
+If you are installing spread for active use it is probably easier to just 
+install the correct version of the binaries, headers, man pages, and 
+libraries into your standard locations.  The directions below assume you 
+are doing this.
+
+1) Unpack the spread.tar.gz file into a temporary directory
+
+2) Look at the Readme for any updates
+
+3) Now you need to copy the files, 
+   I will assume you use /usr/local/{bin,include,lib,man}
+   Replace "ARCH" with the directory for your architecure.
+
+	cp -p include/* /usr/local/include/
+	cp -p ARCH/libspread.a /usr/local/lib/
+	cp -p ARCH/libtspread.a /usr/local/lib/
+	cp -p ARCH/spread /usr/local/bin/
+	cp -p ARCH/spmonitor /usr/local/bin/
+	cp -p ARCH/spuser /usr/local/bin/
+	cp -p ARCH/sptuser /usr/local/bin/
+	cp -p ARCH/spflooder /usr/local/bin/
+	cp -p docs/*.3 /usr/local/man/man3/
+	cp -p docs/*.1 /usr/local/man/man1/
+
+4) To run spread you need to modify the 'spread/sample.spread.conf' file for
+   your network configuration.  Comments in the sample file explain this.
+   Then cp -p sample.spread.conf /usr/local/bin/spread.conf
+   (Notice the name change.  The config file must be named that to be found.
+    Alternatively you can run spread -c <config_file_name> )
+
+    You can run "spread usage" to see the spread running options.
+
+
+To use the Java classes and examples you need to have a copy of the 
+main 'spread' daemon running.  Then the sp.class file gives you the 
+equivelent of the libsp.a as a java class.  The user.java, user.html, 
+and user.class files give you a demonstration applet and source code.  
+The tree.html AllNames.html and packages.html give some documentation 
+for the java interface.
+
+For Windows (95/NT) systems use the spread.exe daemon and the libsp.lib 
+to link with your programs.
+
+
+OVERVIEW:
+---------
+
+Spread consists of two parts, an executable daemon which is executed on 
+each machine which is part of the heavyweight 'machine' group, and a library
+ which provides a programming interface for writing group multicast 
+applications and which is linked into the application.
+
+	The daemon, called "spread", should be run as a non-priveledged 
+user (we created a 'spread' user) and only needs permissions to create a 
+socket in /tmp and read its config file which should be in the same 
+directory as the executable.  By default the daemon binds to and runs 
+off the non-priveledged port 4803 unless the config file indicates otherwise.
+	Each daemon can be started independently and if it does not find 
+any other members of its defined configuration currently active it runs as 
+a machine group of 1 machine.  When other daemons are started they will join
+this machine group.
+
+	The machines which are running a daemon with a common config file 
+form a 'machine group' (in contrast to a 'process group').  The daemons 
+handle multicasting mesages between each other,providing ordering and 
+delivery guarantees, detecting and handling failures of nodes or links, and 
+managing all applications which are connected to each daemon.
+
+	Each application utilizing the spread system needs to link with 
+the 'libspread.a', 'libtspread.a', 'libtspread.lib' or 'libspread.lib' 
+library and needs to use the calls defined in the 'sp.h' and 'sp_func.h' 
+header files. Documentation for the interface is currenly incomplete, but 
+a basic application must do at least the following:
+
+1) Before using any other spread calls you need to 'connect' to a daemon 
+   by calling the
+	SP_connect(...) call.  This will set a mbox which is an integer 
+representing your connection to the daemon.  You use this when making other
+spread calls.  You CAN connect to daemons multiple times from the same 
+application (and we know of times when this is very useful).
+
+2) If you want to receive messages from a group you need to call SP_join().
+Groups are named with standard alphanumeric strings.
+
+3) To send to a group you do NOT need to join it, just call SP_multicast() 
+with an appropriate group name.  You will not receive the messages back if 
+you are not a member of the group.
+
+4) To be nice to everyone else you should call SP_disconnect() when your 
+program is finished using the spread system, if you do not your program's 
+disconnection will eventually be detected. 
+
+Some important observations when writing spread programs:
+
+1) All the messages for a particular connection are received during an 
+SP_receive() call.  This includes messages from different groups and 
+membership messages(like group leave and join), so you must demultiplex 
+them yourself.  This is a feature. You can opt to avoid getting membership 
+messages all together by indicating that to SP_connect().
+
+2) Spread handles endian differences correctly for metadata and our headers 
+but does NOT convert your data for you.  It DOES tell you in the SP_receive 
+call whether or not the data originated at machine with a different 
+endianness then yours so you can easily use this to convert it yourself 
+if necessary. 
+
+3) Each connection to a daemon has a unique 'private group' name which 
+can be used to send a message to a particular, and only to a particular, 
+application connection.  
+
+4) Spread supports the following ordering/delivery guarantees for messages:
+
+	Unreliable	(least)
+	Reliable	(will get there, no ordering)
+	Fifo		(reliable and ordered fifo by source)
+	Causal		(reliable and all mesg from any source of this level
+			are causally ordered)
+	Agreed		(reliable and all mesg from any source of this level 
+			are totally ordered)
+	Safe		(Agreed ordering and mesg will not be delivered to 
+			application until the mesg has reached ALL 
+			receipients' daemons)
+
+For more detail, much of which IS important, see papers on 
+Extended Virtual Sychrony, Transis and Totem.
+
+
+UTILITY PROGRAMS:
+-----------------
+
+	Spread comes with several demonstration programs and useful tools.
+They can be found in the main daemon directory as well as the example 
+directory. 
+
+1) spmonitor:
+	This program has a special interface to spread which allows it to 
+control a machine group.  It can terminate all the spread daemons in the 
+group, change flow control parameters, and monitor the stats for one or all 
+of the machines.  It needs to know the spread.conf file used for a particular
+ set of spread daemons.
+
+2) spuser:
+
+	This program is provided with source and uses all the functions of 
+the spread interface.  It also acts as a simple client which is useful for 
+testing. Reading the source code to this program should show you how to use
+all the features of spread, and answer many questions about syntax details.
+
+3) simple_user:
+
+	This is just about the simplest spread program possible and is 
+provided with source.  It sends and receives text strings.
+
+4) spflooder:
+	
+	This is used as one type of performace test.  It 'floods' a spread 
+group with data messages. It is provided with source.
+
+
+CONTACT:
+--------
+
+If you have any questions please feel free to contact:
+
+	commedia at cnds.jhu.edu
+	yairamir at cs.jhu.edu
+	jonathan at cs.jhu.edu

Deleted: trunk/daemon/CVS_Readme.txt
===================================================================
--- trunk/daemon/CVS_Readme.txt	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/daemon/CVS_Readme.txt	2005-07-09 22:49:04 UTC (rev 240)
@@ -1,67 +0,0 @@
-Documentation on using Spread from CVS.
---------------------------------------
-The main development is done on the HEAD branch. (default)
-
-There may be release branches for older releases if needed.
-
-
-To checkout a copy
-
-cvs -d :ext:cvs.spread.org:/storage/cvsroot checkout spread
-
-You should now have a 'spread' directory which contains the subdirectories:
-
-    * spread/daemon with the Spread daemon and C library code.
-    * spread/javalib with the Java library code.
-    * spread/javaapps with sample Java applications.
-    * spread/perl with the Perl library code. 
-
-
-To Build from a clean CVS checkout
-----------------------------------
-You normally just need to run:
-
-./configure
-make parser
-make 
-su  (if you use the standard /usr/local install target)
-make install
-
-The only extra is the "make parser" line which is needed to build
-the lex/yacc files. They are not auto-generated by the make file
-because of the numerous buggy lex/yacc implementations out there. 
-This way you can make sure you only generate the parsers from a
-machine with a good implementation.
-
-If you change 'configure.in' or related files, you need to regenerate the 
-configure script.
-
-From the spread/daemon/ directory,
-to rebuild the configure script you need to run:
-  
-autoconf -I buildtools
-    
-If you add new header defines you may also need to run
-autoheader -I buildtools
-
-
-To make a new release of Spread
--------------------------------
-
-- Code Changes in release commit
-
-  x) Update the Java build files javaapps/build.xml 
-     <property name="version" value="3.17.2"/>
-
-     Also update the spread version in SpreadConnection.java
-
-  x) Update Spread version number in daemon/spread_params.h
-     SP_MAJOR_VERSION, SP_MINOR_VERSION, SP_PATCH_VERSION
-
-  x) Update the SPREAD_VERSION define in sp.h
-
-  x) Update build date in spread.c and monitor.c initial Alarm prints.
- 
-  x) After release source tar is built and parser is built. Make sure
-     lex.yy.c does not #include <unistd.h> without protecting it by 
-     #ifndef ARCH_PC_WIN95 ... #endif

Modified: trunk/daemon/Makefile.in
===================================================================
--- trunk/daemon/Makefile.in	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/daemon/Makefile.in	2005-07-09 22:49:04 UTC (rev 240)
@@ -12,7 +12,7 @@
 piddir=@piddir@
 srcdir=@srcdir@
 top_srcdir=@top_srcdir@
-buildtoolsdir=$(srcdir)/buildtools
+buildtoolsdir=$(top_srcdir)/buildtools
 
 DESTDIR=
 VPATH=@srcdir@
@@ -33,7 +33,7 @@
 CC=@CC@
 LD=@LD@
 CFLAGS=@CFLAGS@
-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
+CPPFLAGS=-I. -I$(srcdir) -I$(top_srcdir)/include @CPPFLAGS@ $(PATHS) @DEFS@
 LDFLAGS=@LDFLAGS@
 LIBS=@LIBS@
 THLDFLAGS=@THLDFLAGS@
@@ -43,7 +43,7 @@
 SHCC=@SHCC@
 SHLD=@SHLD@
 SHCFLAGS=@SHCFLAGS@
-SHCPPFLAGS=@SHCPPFLAGS@ -I. -I$(srcdir) 
+SHCPPFLAGS=@SHCPPFLAGS@ -I. -I$(srcdir) -I$(top_srcdir)/include 
 SHLDFLAGS=@SHLDFLAGS@
 SHLIBS=@SHLIBS@
 RANLIB=@RANLIB@
@@ -53,7 +53,7 @@
 ENT=@ENT@
 EXEEXT=@EXEEXT@
 
-TARGETS=spread$(EXEEXT) spuser$(EXEEXT) spflooder$(EXEEXT) spmonitor$(EXEEXT) sptuser${EXEEXT} @LIBSPSO@ @LIBTSPSO@
+TARGETS=spread$(EXEEXT) spmonitor$(EXEEXT) libspread.a libtspread.a @LIBSPSO@ @LIBTSPSO@
 
 LIBSP_OBJS= alarm.o events.o memory.o sp.o
 
@@ -69,18 +69,8 @@
 
 TMONITOR_OBJS= monitor.to  alarm.to events.to memory.to data_link.to lex.yy.to y.tab.to configuration.to skiplist.to acm.to
 
-MANPAGES	= docs/SP_connect.3.out docs/SP_disconnect.3.out docs/SP_equal_group_ids.3.out docs/SP_error.3.out docs/SP_join.3.out docs/SP_leave.3.out docs/SP_multicast.3.out docs/SP_multigroup_multicast.3.out docs/SP_multigroup_scat_multicast.3.out docs/SP_poll.3.out docs/SP_receive.3.out docs/SP_scat_multicast.3.out docs/SP_scat_receive.3.out docs/libsp.3.out docs/spread.1.out docs/spuser.1.out docs/sptuser.1.out docs/spmonitor.1.out docs/spflooder.1.out
-MANPAGES_IN	= docs/SP_connect.3 docs/SP_disconnect.3 docs/SP_equal_group_ids.3 docs/SP_error.3 docs/SP_join.3 docs/SP_leave.3 docs/SP_multicast.3 docs/SP_multigroup_multicast.3 docs/SP_multigroup_scat_multicast.3 docs/SP_poll.3 docs/SP_receive.3 docs/SP_scat_multicast.3 docs/SP_scat_receive.3 docs/libsp.3 docs/spread.1 docs/spuser.1 docs/sptuser.1 docs/spmonitor.1 docs/spflooder.1
-MANTYPE		= @MANTYPE@
+all: $(TARGETS)
 
-PATHSUBS	= \
-	-D/etc/spread.conf=$(sysconfdir)/spread.conf \
-        -D/var/run/spread.pid=$(piddir)/spread.pid
-
-FIXPATHSCMD	= $(PERL) $(buildtoolsdir)/fixpaths $(PATHSUBS)
-
-all: $(TARGETS) $(MANPAGES)
-
 $(SPREADOBJS): config.h
 $(MONITOR_OBJS): config.h
 $(TMONITOR_OBJS): config.h
@@ -156,24 +146,12 @@
 spread$(EXEEXT): $(SPREADOBJS)
 	$(LD) -o $@ $(SPREADOBJS) $(LDFLAGS) $(LIBS)
 
-spuser$(EXEEXT): libspread.a	user.o
-	$(LD) -o $@ user.o $(LDFLAGS) libspread.a $(LIBS)
-
-spflooder$(EXEEXT): libspread.a flooder.o
-	$(LD) -o $@ flooder.o $(LDFLAGS) libspread.a $(LIBS)
-
 spmonitor$(EXEEXT): $(MONITOR_OBJS)
 	$(LD) -o $@ $(MONITOR_OBJS) $(LDFLAGS) $(LIBS) 
 
 sptmonitor$(EXEEXT): $(TMONITOR_OBJS)
 	$(LD) $(THLDFLAGS) -o $@ $(TMONITOR_OBJS) $(LDFLAGS) $(LIBS) $(THLIBS) 
 
-sptuser$(EXEEXT): user.to libtspread.a
-	$(LD) $(THLDFLAGS) -o $@ user.to libtspread.a $(LDFLAGS) $(LIBS) $(THLIBS)
-
-spsimple_user$(EXEEXT): simple_user.o libspread.a
-	$(LD) -o $@ simple_user.o $(LDFLAGS) libspread.a $(LIBS) 
-
 testprog: spsend$(EXEEXT) sprecv$(EXEEXT)
 
 spsend$(EXEEXT): s.o alarm.o data_link.o events.o memory.o
@@ -182,21 +160,6 @@
 sprecv$(EXEEXT): r.o alarm.o data_link.o
 	$(LD) -o $@ r.o alarm.o data_link.o $(LDFLAGS) $(LIBS)
 
-$(MANPAGES): $(MANPAGES_IN)
-	@if [ ! -d docs ]; then \
-		$(buildtoolsdir)/mkinstalldirs docs; \
-	fi
-	@if test "$(MANTYPE)" = "cat"; then \
-		manpage=$(srcdir)/`echo $@ | sed 's/\.[1-9]\.out$$/\.0/'`; \
-	else \
-		manpage=$(srcdir)/`echo $@ | sed 's/\.out$$//'`; \
-	fi; \
-	if test "$(MANTYPE)" = "man"; then \
-		$(FIXPATHSCMD) $${manpage} | $(PERL) $(buildtoolsdir)/mdoc2man.pl > $@; \
-	else \
-		$(FIXPATHSCMD) $${manpage} > $@; \
-	fi
-
 clean:
 	rm -f *.lo *.tlo *.to *.o *.a *.dylib $(TARGETS) spsimple_user
 	rm -f config.cache config.log docs/*.out core
@@ -210,14 +173,6 @@
 veryclean: distclean
 	rm -f configure
 
-catman-do:
-	@for f in $(MANPAGES_IN) ; do \
-		base=`echo $$f | sed 's/\..*$$//'` ; \
-		echo "$$f -> $$base.0" ; \
-		nroff -mandoc $$f | cat -v | sed -e 's/.\^H//g' \
-			>$$base.0 ; \
-	done
-
 distprep: catman-do
 	autoreconf
 
@@ -239,19 +194,6 @@
 	$(INSTALL) -m 0755 -s spread$(EXEEXT) $(DESTDIR)$(sbindir)/spread$(EXEEXT)
 	$(INSTALL) -m 644 libspread.a $(DESTDIR)$(libdir)/libspread.a
 	$(INSTALL) -m 644 libtspread.a $(DESTDIR)$(libdir)/libtspread.a
-	$(INSTALL) -m 644 $(srcdir)/sp.h $(DESTDIR)$(includedir)/sp.h
-	$(INSTALL) -m 644 $(srcdir)/sp_func.h $(DESTDIR)$(includedir)/sp_func.h
-	$(INSTALL) -m 644 $(srcdir)/sp_events.h $(DESTDIR)$(includedir)/sp_events.h
-	$(INSTALL) -m 644 docs/spread.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	$(INSTALL) -m 644 docs/spuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	$(INSTALL) -m 644 docs/sptuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	$(INSTALL) -m 644 docs/spflooder.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	$(INSTALL) -m 644 docs/spmonitor.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1
-	$(INSTALL) -m 644 docs/libsp.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
-	for page in connect disconnect equal_group_ids error join leave multicast multigroup_multicast multigroup_scat_multicast poll receive scat_multicast scat_receive; \
-	do \
-	  $(INSTALL) -m 644 docs/SP_$$page.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/SP_$$page.3; \
-	done
 	if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
 		$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
 	fi
@@ -266,11 +208,7 @@
 	-rmdir $(DESTDIR)$(sysconfdir)
 	-rmdir $(DESTDIR)$(bindir)
 	-rmdir $(DESTDIR)$(sbindir)
-	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)1
-	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)3
-	-rmdir $(DESTDIR)$(mandir)
 	-rmdir $(DESTDIR)$(libdir)
-	-rmdir $(DESTDIR)$(includedir)
 
 uninstall: 
 	-rm -f $(DESTDIR)$(bindir)/spuser$(EXEEXT)
@@ -280,13 +218,3 @@
 	-rm -f $(DESTDIR)$(sbindir)/spread$(EXEEXT)
 	-rm -f $(DESTDIR)$(libdir)/libspread.a
 	-rm -f $(DESTDIR)$(libdir)/libtspread.a
-	-rm -f $(DESTDIR)$(includedir)/sp.h
-	-rm -f $(DESTDIR)$(includedir)/sp_func.h
-	-rm -f $(DESTDIR)$(includedir)/sp_events.h
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/SP_*.3
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1

Deleted: trunk/daemon/Readme.txt
===================================================================
--- trunk/daemon/Readme.txt	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/daemon/Readme.txt	2005-07-09 22:49:04 UTC (rev 240)
@@ -1,269 +0,0 @@
-SPREAD: A Reliable Multicast and Group Communication Toolkit
------------------------------------------------------------
-
-/===========================================================================\
-| The Spread Group Communication Toolkit.                                   |
-| Copyright (c) 1993-2004 Spread Concepts LLC                               |
-| All rights reserved.                                                      |
-|                                                                           |
-| The Spread package is licensed under the Spread Open-Source License.      |
-| You may only use this software in compliance with the License.            |
-| A copy of the license can be found at http://www.spread.org/license       |
-|                                                                           |
-| This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF     |
-| ANY KIND, either express or implied.                                      |
-|                                                                           |
-| Spread is developed at Spread Concepts LLC and the Center for Networking  |
-| and Distributed Systems, The Johns Hopkins University.                    |
-|                                                                           |
-| Creators:                                                                 |
-|    Yair Amir             yairamir at cs.jhu.edu                              |
-|    Michal Miskin-Amir    michal at spreadconcepts.com                        |
-|    Jonathan Stanton      jstanton at gwu.edu                                 |
-|                                                                           |
-| Major Contributors:                                                       |
-|    Cristina Nita-Rotaru crisn at cs.purdue.edu - GC security.                |
-|    Theo Schlossnagle    jesus at omniti.com - Perl, skiplists, autoconf.     |
-|    Dan Schoenblum       dansch at cnds.jhu.edu - Java interface.             |
-|    John Schultz         jschultz at d-fusion.net - contribution to process   |
-|					          group membership.         |
-|                                                                           |
-| Contributors:                                                             |
-|    Ryan Caudy        wyvern at cnds.jhu.edu - Group membership               |
-|    Ben Laurie	       ben at algroup.co.uk - FreeBSD port and warning fixes   |
-|    Daniel Rall       dlr at finemaltcoding.com - Java & networking fixes,    |
-|                                               configuration improvements  |
-|    Marc Zyngier                        - Windows fixes                    |
-|                                                                           |
-| Special thanks to the following for providing ideas and/or code:          |
-|    Ken Birman, Danny Dolev, Mike Goodrich, Ben Laurie,                    |
-|    David Shaw, Robbert VanRenesse.                                        |
-|                                                                           |
-| Partial funding provided by the Defense Advanced Research Projects Agency |
-| (DARPA) and The National Security Agency (NSA) since 2000. The Spread     |
-| toolkit is not necessarily endorsed by DARPA or the NSA.                  |
-|                                                                           |
-| WWW    : http://www.spread.org  and  http://www.cnds.jhu.edu              |
-| Contact: spread at spread.org                                                |
-|                                                                           |
-| Version 3.17.3 built 15/October/2004                                      |
-\===========================================================================/
-
-XXX XX, 2004 Ver 3.17.x
----------------------------
-See changes in Changelog file.
-
-SOURCE INSTALL:
----------------
-
-The source install uses autoconf and make to support many Unix and unix-like 
-platforms as well as Windows 95+.
-
-Windows is supported by a set of Visual Studio desktop and project files in
-the win32 subdirectory. These files build the daemon, libraries, and user
-programs.
-
-Any not-specifically supported
-platform that has reasonably close to normal sockets networking should also 
-be easily portable. See the file PORTING for hints on porting.
-
-From the directory where you unpacked the Spread source distribution do 
-the following:
-
-1) Run "./configure"
-
-2) Run "make"
-
-3) Run "make install" as a user with rights to write to the selected
-installation location. (/usr/local/{bin,man,sbin,include,lib} by default)
-
-4) Create a spread.conf file appropriate to your local configuration. For 
-more info on how to do this look at the sample file "sample.spread.conf"
-or below in the binary install instructions.
-
-
-BINARY INSTALL:
---------
-
-We recommend that if you are experimenting with spread you create a special
-'spread' directory (for example /usr/local/spread or /opt/spread) and keep
-all the files together there so it is easy to find stuff.  That also makes 
-it easier to run multiple architectures as the binaries for each are in their
-own subdirectory. This is not necessary though. You can create that directory
-anywhere (e.g. your own directory).
-
-If you are installing spread for active use it is probably easier to just 
-install the correct version of the binaries, headers, man pages, and 
-libraries into your standard locations.  The directions below assume you 
-are doing this.
-
-1) Unpack the spread.tar.gz file into a temporary directory
-
-2) Look at the Readme for any updates
-
-3) Select the appropriate architecture:
-	arch-bsdi
-	arch-sgi
-	arch-sunos
-	arch-sunsol
-	arch-pcsol
-	arch-linux
-
-4) Type 'make arch-????' with your architecture as the option to make
-
-5) Now you need to copy the files, 
-   I will assume you use /usr/local/{bin,include,lib,man}
-   Replace "ARCH" with the directory for your architecure.
-
-	cp -p include/* /usr/local/include/
-	cp -p ARCH/libspread.a /usr/local/lib/
-	cp -p ARCH/libtspread.a /usr/local/lib/
-	cp -p ARCH/spread /usr/local/bin/
-	cp -p ARCH/spmonitor /usr/local/bin/
-	cp -p ARCH/spuser /usr/local/bin/
-	cp -p ARCH/sptuser /usr/local/bin/
-	cp -p ARCH/spflooder /usr/local/bin/
-	cp -p docs/*.3 /usr/local/man/man3/
-	cp -p docs/*.1 /usr/local/man/man1/
-
-6) To run spread you need to modify the 'spread/sample.spread.conf' file for
-   your network configuration.  Comments in the sample file explain this.
-   Then cp -p sample.spread.conf /usr/local/bin/spread.conf
-   (Notice the name change.  The config file must be named that to be found.
-    Alternatively you can run spread -c <config_file_name> )
-
-    You can run "spread usage" to see the spread running options.
-
-
-To use the Java classes and examples you need to have a copy of the 
-main 'spread' daemon running.  Then the sp.class file gives you the 
-equivelent of the libsp.a as a java class.  The user.java, user.html, 
-and user.class files give you a demonstration applet and source code.  
-The tree.html AllNames.html and packages.html give some documentation 
-for the java interface.
-
-For Windows (95/NT) systems use the spread.exe daemon and the libsp.lib 
-to link with your programs.
-
-
-OVERVIEW:
----------
-
-Spread consists of two parts, an executable daemon which is executed on 
-each machine which is part of the heavyweight 'machine' group, and a library
- which provides a programming interface for writing group multicast 
-applications and which is linked into the application.
-
-	The daemon, called "spread", should be run as a non-priveledged 
-user (we created a 'spread' user) and only needs permissions to create a 
-socket in /tmp and read its config file which should be in the same 
-directory as the executable.  By default the daemon binds to and runs 
-off the non-priveledged port 4803 unless the config file indicates otherwise.
-	Each daemon can be started independently and if it does not find 
-any other members of its defined configuration currently active it runs as 
-a machine group of 1 machine.  When other daemons are started they will join
-this machine group.
-
-	The machines which are running a daemon with a common config file 
-form a 'machine group' (in contrast to a 'process group').  The daemons 
-handle multicasting mesages between each other,providing ordering and 
-delivery guarantees, detecting and handling failures of nodes or links, and 
-managing all applications which are connected to each daemon.
-
-	Each application utilizing the spread system needs to link with 
-the 'libspread.a', 'libtspread.a', 'libtspread.lib' or 'libspread.lib' 
-library and needs to use the calls defined in the 'sp.h' and 'sp_func.h' 
-header files. Documentation for the interface is currenly incomplete, but 
-a basic application must do at least the following:
-
-1) Before using any other spread calls you need to 'connect' to a daemon 
-   by calling the
-	SP_connect(...) call.  This will set a mbox which is an integer 
-representing your connection to the daemon.  You use this when making other
-spread calls.  You CAN connect to daemons multiple times from the same 
-application (and we know of times when this is very useful).
-
-2) If you want to receive messages from a group you need to call SP_join().
-Groups are named with standard alphanumeric strings.
-
-3) To send to a group you do NOT need to join it, just call SP_multicast() 
-with an appropriate group name.  You will not receive the messages back if 
-you are not a member of the group.
-
-4) To be nice to everyone else you should call SP_disconnect() when your 
-program is finished using the spread system, if you do not your program's 
-disconnection will eventually be detected. 
-
-Some important observations when writing spread programs:
-
-1) All the messages for a particular connection are received during an 
-SP_receive() call.  This includes messages from different groups and 
-membership messages(like group leave and join), so you must demultiplex 
-them yourself.  This is a feature. You can opt to avoid getting membership 
-messages all together by indicating that to SP_connect().
-
-2) Spread handles endian differences correctly for metadata and our headers 
-but does NOT convert your data for you.  It DOES tell you in the SP_receive 
-call whether or not the data originated at machine with a different 
-endianness then yours so you can easily use this to convert it yourself 
-if necessary. 
-
-3) Each connection to a daemon has a unique 'private group' name which 
-can be used to send a message to a particular, and only to a particular, 
-application connection.  
-
-4) Spread supports the following ordering/delivery guarantees for messages:
-
-	Unreliable	(least)
-	Reliable	(will get there, no ordering)
-	Fifo		(reliable and ordered fifo by source)
-	Causal		(reliable and all mesg from any source of this level
-			are causally ordered)
-	Agreed		(reliable and all mesg from any source of this level 
-			are totally ordered)
-	Safe		(Agreed ordering and mesg will not be delivered to 
-			application until the mesg has reached ALL 
-			receipients' daemons)
-
-For more detail, much of which IS important, see papers on 
-Extended Virtual Sychrony, Transis and Totem.
-
-
-UTILITY PROGRAMS:
------------------
-
-	Spread comes with several demonstration programs and useful tools.
-
-1) spmonitor:
-	This program has a special interface to spread which allows it to 
-control a machine group.  It can terminate all the spread daemons in the 
-group, change flow control parameters, and monitor the stats for one or all 
-of the machines.  It needs to know the spread.conf file used for a particular
- set of spread daemons.
-
-2) spuser:
-
-	This program is provided with source and uses all the functions of 
-the spread interface.  It also acts as a simple client which is useful for 
-testing. Reading the source code to this program should show you how to use
-all the features of spread, and answer many questions about syntax details.
-
-3) simple_user:
-
-	This is just about the simplest spread program possible and is 
-provided with source.  It sends and receives text strings.
-
-4) spflooder:
-	
-	This is used as one type of performace test.  It 'floods' a spread 
-group with data messages. It is provided with source.
-
-
-CONTACT:
---------
-
-If you have any questions please feel free to contact:
-
-	commedia at cnds.jhu.edu
-	yairamir at cs.jhu.edu
-	jonathan at cs.jhu.edu

Modified: trunk/docs/Makefile.in
===================================================================
--- trunk/docs/Makefile.in	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/docs/Makefile.in	2005-07-09 22:49:04 UTC (rev 240)
@@ -12,65 +12,20 @@
 piddir=@piddir@
 srcdir=@srcdir@
 top_srcdir=@top_srcdir@
-buildtoolsdir=$(srcdir)/buildtools
+buildtoolsdir=$(top_srcdir)/buildtools
 
 DESTDIR=
 VPATH=@srcdir@
-SPREAD_PROGRAM=@sbindir@/spread
-SP_MAJOR_VERSION=@SP_MAJOR_VERSION@
-SP_MINOR_VERSION=@SP_MINOR_VERSION@
-SP_PATCH_VERSION=@SP_PATCH_VERSION@
-VERSION=@SP_MAJOR_VERSION at .@SP_MINOR_VERSION at .@SP_PATCH_VERSION@
 
-#Shared Library version -- Must be changed upon each release 
-#Rules: major  -- inc for incompatible change
-#     : minor  -- inc for bugfix or forward compatible change
 
-LIBVERSION=1.0
-
 PATHS= 
 
-CC=@CC@
-LD=@LD@
-CFLAGS=@CFLAGS@
-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
-LDFLAGS=@LDFLAGS@
-LIBS=@LIBS@
-THLDFLAGS=@THLDFLAGS@
-THLIBS=@THLIBS@
-AR=@AR@
-LEX=@LEX@
-SHCC=@SHCC@
-SHLD=@SHLD@
-SHCFLAGS=@SHCFLAGS@
-SHCPPFLAGS=@SHCPPFLAGS@ -I. -I$(srcdir) 
-SHLDFLAGS=@SHLDFLAGS@
-SHLIBS=@SHLIBS@
-RANLIB=@RANLIB@
 INSTALL=@INSTALL@
 SOFTLINK=@LN_S@
 PERL=@PERL@
-ENT=@ENT@
-EXEEXT=@EXEEXT@
 
-TARGETS=spread$(EXEEXT) spuser$(EXEEXT) spflooder$(EXEEXT) spmonitor$(EXEEXT) sptuser${EXEEXT} @LIBSPSO@ @LIBTSPSO@
-
-LIBSP_OBJS= alarm.o events.o memory.o sp.o
-
-LIBSP_SHOBJS= alarm.lo events.lo memory.lo sp.lo
-
-LIBTSP_OBJS= alarm.to events.to memory.to sp.to
-
-LIBTSP_SHOBJS= alarm.tlo events.tlo memory.tlo sp.tlo
-
-SPREADOBJS= spread.o protocol.o session.o groups.o alarm.o events.o memory.o membership.o data_link.o network.o status.o log.o flow_control.o message.o lex.yy.o y.tab.o configuration.o skiplist.o acm.o acp-permit.o auth-null.o auth-ip.o
-
-MONITOR_OBJS= monitor.o  alarm.o events.o memory.o data_link.o lex.yy.o y.tab.o configuration.o skiplist.o acm.o
-
-TMONITOR_OBJS= monitor.to  alarm.to events.to memory.to data_link.to lex.yy.to y.tab.to configuration.to skiplist.to acm.to
-
-MANPAGES	= docs/SP_connect.3.out docs/SP_disconnect.3.out docs/SP_equal_group_ids.3.out docs/SP_error.3.out docs/SP_join.3.out docs/SP_leave.3.out docs/SP_multicast.3.out docs/SP_multigroup_multicast.3.out docs/SP_multigroup_scat_multicast.3.out docs/SP_poll.3.out docs/SP_receive.3.out docs/SP_scat_multicast.3.out docs/SP_scat_receive.3.out docs/libsp.3.out docs/spread.1.out docs/spuser.1.out docs/sptuser.1.out docs/spmonitor.1.out docs/spflooder.1.out
-MANPAGES_IN	= docs/SP_connect.3 docs/SP_disconnect.3 docs/SP_equal_group_ids.3 docs/SP_error.3 docs/SP_join.3 docs/SP_leave.3 docs/SP_multicast.3 docs/SP_multigroup_multicast.3 docs/SP_multigroup_scat_multicast.3 docs/SP_poll.3 docs/SP_receive.3 docs/SP_scat_multicast.3 docs/SP_scat_receive.3 docs/libsp.3 docs/spread.1 docs/spuser.1 docs/sptuser.1 docs/spmonitor.1 docs/spflooder.1
+MANPAGES	= SP_connect.3.out SP_disconnect.3.out SP_equal_group_ids.3.out SP_error.3.out SP_join.3.out SP_leave.3.out SP_multicast.3.out SP_multigroup_multicast.3.out SP_multigroup_scat_multicast.3.out SP_poll.3.out SP_receive.3.out SP_scat_multicast.3.out SP_scat_receive.3.out libsp.3.out spread.1.out spuser.1.out sptuser.1.out spmonitor.1.out spflooder.1.out
+MANPAGES_IN	= SP_connect.3 SP_disconnect.3 SP_equal_group_ids.3 SP_error.3 SP_join.3 SP_leave.3 SP_multicast.3 SP_multigroup_multicast.3 SP_multigroup_scat_multicast.3 SP_poll.3 SP_receive.3 SP_scat_multicast.3 SP_scat_receive.3 libsp.3 spread.1 spuser.1 sptuser.1 spmonitor.1 spflooder.1
 MANTYPE		= @MANTYPE@
 
 PATHSUBS	= \
@@ -79,113 +34,9 @@
 
 FIXPATHSCMD	= $(PERL) $(buildtoolsdir)/fixpaths $(PATHSUBS)
 
-all: $(TARGETS) $(MANPAGES)
+all: $(MANPAGES)
 
-$(SPREADOBJS): config.h
-$(MONITOR_OBJS): config.h
-$(TMONITOR_OBJS): config.h
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-.c.to:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -D_REENTRANT -c $< -o $*.to
-
-.c.lo:
-	$(SHCC) $(SHCFLAGS) $(SHCPPFLAGS) -c $< -o $*.lo
-
-.c.tlo:
-	$(SHCC) $(SHCFLAGS) $(SHCPPFLAGS) -D_REENTRANT -c $< -o $*.tlo
-
-parser:
-	$(YACC) -d $(srcdir)/config_parse.y
-	$(LEX) $(srcdir)/config_gram.l
-
-#Disabled now because of timestamp errors causing extra regeneration
-#To build parser run "make parser" after ./configure is run.
-#lex.yy.c:       config_gram.l y.tab.c
-#	$(LEX) config_gram.l
-
-#y.tab.c:        config_parse.y
-#	$(YACC) -d config_parse.y
-
-none:	
-	@echo "Skipping shared library creation."
-
-install-none:
-	@echo "Skipping shared library installation."
-
-libspread.a: $(LIBSP_OBJS)
-	$(AR) rv $@ $(LIBSP_OBJS)
-	$(RANLIB) $@
-
-libspread.dylib:	$(LIBSP_SHOBJS)
-	$(SHLD) -o libspread.$(LIBVERSION).dylib $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS)
-	$(SOFTLINK) -f libspread.$(LIBVERSION).dylib $@
-
-install-libspread.dylib:	libspread.dylib
-	$(INSTALL) -m 0755 libspread.$(LIBVERSION).dylib $(DESTDIR)$(libdir)/libspread.$(LIBVERSION).dylib
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.$(LIBVERSION).dylib libspread.dylib)
-
-libspread.so:	$(LIBSP_SHOBJS)
-	$(SHLD) -o $@ $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS)
-
-install-libspread.so:	libspread.so
-	$(INSTALL) -m 0755 libspread.so $(DESTDIR)$(libdir)/libspread.so.$(LIBVERSION)
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.so.$(LIBVERSION) libspread.so)
-
-libtspread.a: $(LIBTSP_OBJS)
-	$(AR) rv $@ $(LIBTSP_OBJS)
-	$(RANLIB) $@
-
-libtspread.dylib:	$(LIBTSP_SHOBJS)
-	$(SHLD) -o libtspread.$(LIBVERSION).dylib $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS) $(THLIBS)
-	$(SOFTLINK) -f libtspread.$(LIBVERSION).dylib $@
-
-install-libtspread.dylib:	libtspread.dylib
-	$(INSTALL) -m 0755 libtspread.$(LIBVERSION).dylib $(DESTDIR)$(libdir)/libtspread.$(LIBVERSION).dylib
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libtspread.$(LIBVERSION).dylib libtspread.dylib)
-
-libtspread.so:	$(LIBTSP_SHOBJS)
-	$(SHLD) -o $@ $(LIBTSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS) $(THLIBS)
-
-install-libtspread.so:	libtspread.so
-	$(INSTALL) -m 0755 libtspread.so $(DESTDIR)$(libdir)/libtspread.so.$(LIBVERSION)
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libtspread.so.$(LIBVERSION) libtspread.so)
-
-spread$(EXEEXT): $(SPREADOBJS)
-	$(LD) -o $@ $(SPREADOBJS) $(LDFLAGS) $(LIBS)
-
-spuser$(EXEEXT): libspread.a	user.o
-	$(LD) -o $@ user.o $(LDFLAGS) libspread.a $(LIBS)
-
-spflooder$(EXEEXT): libspread.a flooder.o
-	$(LD) -o $@ flooder.o $(LDFLAGS) libspread.a $(LIBS)
-
-spmonitor$(EXEEXT): $(MONITOR_OBJS)
-	$(LD) -o $@ $(MONITOR_OBJS) $(LDFLAGS) $(LIBS) 
-
-sptmonitor$(EXEEXT): $(TMONITOR_OBJS)
-	$(LD) $(THLDFLAGS) -o $@ $(TMONITOR_OBJS) $(LDFLAGS) $(LIBS) $(THLIBS) 
-
-sptuser$(EXEEXT): user.to libtspread.a
-	$(LD) $(THLDFLAGS) -o $@ user.to libtspread.a $(LDFLAGS) $(LIBS) $(THLIBS)
-
-spsimple_user$(EXEEXT): simple_user.o libspread.a
-	$(LD) -o $@ simple_user.o $(LDFLAGS) libspread.a $(LIBS) 
-
-testprog: spsend$(EXEEXT) sprecv$(EXEEXT)
-
-spsend$(EXEEXT): s.o alarm.o data_link.o events.o memory.o
-	$(LD) -o $@ s.o alarm.o data_link.o events.o memory.o $(LDFLAGS) $(LIBS)
-
-sprecv$(EXEEXT): r.o alarm.o data_link.o
-	$(LD) -o $@ r.o alarm.o data_link.o $(LDFLAGS) $(LIBS)
-
 $(MANPAGES): $(MANPAGES_IN)
-	@if [ ! -d docs ]; then \
-		$(buildtoolsdir)/mkinstalldirs docs; \
-	fi
 	@if test "$(MANTYPE)" = "cat"; then \
 		manpage=$(srcdir)/`echo $@ | sed 's/\.[1-9]\.out$$/\.0/'`; \
 	else \
@@ -198,9 +49,7 @@
 	fi
 
 clean:
-	rm -f *.lo *.tlo *.to *.o *.a *.dylib $(TARGETS) spsimple_user
-	rm -f config.cache config.log docs/*.out core
-	rm -rf autom4te.cache
+	rm -f *.out 
 
 distclean: clean
 	rm -f Makefile config.h config.status *~
@@ -221,36 +70,21 @@
 distprep: catman-do
 	autoreconf
 
-install: $(TARGETS) install-files install- at LIBSPSO@ install- at LIBTSPSO@
+install: install-files 
 
 install-files:
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(bindir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sbindir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(includedir)
 	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)
 	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)1
 	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)3
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(libdir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(includedir)
-	$(INSTALL) -m 0755 -s spmonitor$(EXEEXT) $(DESTDIR)$(bindir)/spmonitor$(EXEEXT)
-	$(INSTALL) -m 0755 -s spuser$(EXEEXT) $(DESTDIR)$(bindir)/spuser$(EXEEXT)
-	$(INSTALL) -m 0755 -s sptuser$(EXEEXT) $(DESTDIR)$(bindir)/sptuser$(EXEEXT)
-	$(INSTALL) -m 0755 -s spflooder$(EXEEXT) $(DESTDIR)$(bindir)/spflooder$(EXEEXT)
-	$(INSTALL) -m 0755 -s spread$(EXEEXT) $(DESTDIR)$(sbindir)/spread$(EXEEXT)
-	$(INSTALL) -m 644 libspread.a $(DESTDIR)$(libdir)/libspread.a
-	$(INSTALL) -m 644 libtspread.a $(DESTDIR)$(libdir)/libtspread.a
-	$(INSTALL) -m 644 $(srcdir)/sp.h $(DESTDIR)$(includedir)/sp.h
-	$(INSTALL) -m 644 $(srcdir)/sp_func.h $(DESTDIR)$(includedir)/sp_func.h
-	$(INSTALL) -m 644 $(srcdir)/sp_events.h $(DESTDIR)$(includedir)/sp_events.h
-	$(INSTALL) -m 644 docs/spread.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	$(INSTALL) -m 644 docs/spuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	$(INSTALL) -m 644 docs/sptuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	$(INSTALL) -m 644 docs/spflooder.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	$(INSTALL) -m 644 docs/spmonitor.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1
-	$(INSTALL) -m 644 docs/libsp.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
+	$(INSTALL) -m 644 spread.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
+	$(INSTALL) -m 644 spuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
+	$(INSTALL) -m 644 sptuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
+	$(INSTALL) -m 644 spflooder.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
+	$(INSTALL) -m 644 spmonitor.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1
+	$(INSTALL) -m 644 libsp.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
 	for page in connect disconnect equal_group_ids error join leave multicast multigroup_multicast multigroup_scat_multicast poll receive scat_multicast scat_receive; \
 	do \
-	  $(INSTALL) -m 644 docs/SP_$$page.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/SP_$$page.3; \
+	  $(INSTALL) -m 644 SP_$$page.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/SP_$$page.3; \
 	done
 	if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
 		$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
@@ -262,27 +96,11 @@
 	fi
 
 uninstallall:	uninstall
-	-rm -f $(DESTDIR)$(sysconfdir)/spread.conf
-	-rmdir $(DESTDIR)$(sysconfdir)
-	-rmdir $(DESTDIR)$(bindir)
-	-rmdir $(DESTDIR)$(sbindir)
 	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)1
 	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)3
 	-rmdir $(DESTDIR)$(mandir)
-	-rmdir $(DESTDIR)$(libdir)
-	-rmdir $(DESTDIR)$(includedir)
 
 uninstall: 
-	-rm -f $(DESTDIR)$(bindir)/spuser$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/spmonitor$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/spflooder$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/sptuser$(EXEEXT)
-	-rm -f $(DESTDIR)$(sbindir)/spread$(EXEEXT)
-	-rm -f $(DESTDIR)$(libdir)/libspread.a
-	-rm -f $(DESTDIR)$(libdir)/libtspread.a
-	-rm -f $(DESTDIR)$(includedir)/sp.h
-	-rm -f $(DESTDIR)$(includedir)/sp_func.h
-	-rm -f $(DESTDIR)$(includedir)/sp_events.h
 	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/SP_*.3
 	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
 	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1

Modified: trunk/examples/Makefile.in
===================================================================
--- trunk/examples/Makefile.in	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/examples/Makefile.in	2005-07-09 22:49:04 UTC (rev 240)
@@ -12,7 +12,7 @@
 piddir=@piddir@
 srcdir=@srcdir@
 top_srcdir=@top_srcdir@
-buildtoolsdir=$(srcdir)/buildtools
+buildtoolsdir=$(top_srcdir)/buildtools
 
 DESTDIR=
 VPATH=@srcdir@
@@ -22,30 +22,18 @@
 SP_PATCH_VERSION=@SP_PATCH_VERSION@
 VERSION=@SP_MAJOR_VERSION at .@SP_MINOR_VERSION at .@SP_PATCH_VERSION@
 
-#Shared Library version -- Must be changed upon each release 
-#Rules: major  -- inc for incompatible change
-#     : minor  -- inc for bugfix or forward compatible change
-
-LIBVERSION=1.0
-
 PATHS= 
 
 CC=@CC@
 LD=@LD@
 CFLAGS=@CFLAGS@
-CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
+CPPFLAGS=-I. -I$(srcdir) -I$(top_srcdir)/include @CPPFLAGS@ $(PATHS) @DEFS@
 LDFLAGS=@LDFLAGS@
 LIBS=@LIBS@
 THLDFLAGS=@THLDFLAGS@
 THLIBS=@THLIBS@
 AR=@AR@
 LEX=@LEX@
-SHCC=@SHCC@
-SHLD=@SHLD@
-SHCFLAGS=@SHCFLAGS@
-SHCPPFLAGS=@SHCPPFLAGS@ -I. -I$(srcdir) 
-SHLDFLAGS=@SHLDFLAGS@
-SHLIBS=@SHLIBS@
 RANLIB=@RANLIB@
 INSTALL=@INSTALL@
 SOFTLINK=@LN_S@
@@ -53,38 +41,10 @@
 ENT=@ENT@
 EXEEXT=@EXEEXT@
 
-TARGETS=spread$(EXEEXT) spuser$(EXEEXT) spflooder$(EXEEXT) spmonitor$(EXEEXT) sptuser${EXEEXT} @LIBSPSO@ @LIBTSPSO@
+TARGETS=spuser$(EXEEXT) spflooder$(EXEEXT) sptuser${EXEEXT} 
 
-LIBSP_OBJS= alarm.o events.o memory.o sp.o
+all: $(TARGETS) 
 
-LIBSP_SHOBJS= alarm.lo events.lo memory.lo sp.lo
-
-LIBTSP_OBJS= alarm.to events.to memory.to sp.to
-
-LIBTSP_SHOBJS= alarm.tlo events.tlo memory.tlo sp.tlo
-
-SPREADOBJS= spread.o protocol.o session.o groups.o alarm.o events.o memory.o membership.o data_link.o network.o status.o log.o flow_control.o message.o lex.yy.o y.tab.o configuration.o skiplist.o acm.o acp-permit.o auth-null.o auth-ip.o
-
-MONITOR_OBJS= monitor.o  alarm.o events.o memory.o data_link.o lex.yy.o y.tab.o configuration.o skiplist.o acm.o
-
-TMONITOR_OBJS= monitor.to  alarm.to events.to memory.to data_link.to lex.yy.to y.tab.to configuration.to skiplist.to acm.to
-
-MANPAGES	= docs/SP_connect.3.out docs/SP_disconnect.3.out docs/SP_equal_group_ids.3.out docs/SP_error.3.out docs/SP_join.3.out docs/SP_leave.3.out docs/SP_multicast.3.out docs/SP_multigroup_multicast.3.out docs/SP_multigroup_scat_multicast.3.out docs/SP_poll.3.out docs/SP_receive.3.out docs/SP_scat_multicast.3.out docs/SP_scat_receive.3.out docs/libsp.3.out docs/spread.1.out docs/spuser.1.out docs/sptuser.1.out docs/spmonitor.1.out docs/spflooder.1.out
-MANPAGES_IN	= docs/SP_connect.3 docs/SP_disconnect.3 docs/SP_equal_group_ids.3 docs/SP_error.3 docs/SP_join.3 docs/SP_leave.3 docs/SP_multicast.3 docs/SP_multigroup_multicast.3 docs/SP_multigroup_scat_multicast.3 docs/SP_poll.3 docs/SP_receive.3 docs/SP_scat_multicast.3 docs/SP_scat_receive.3 docs/libsp.3 docs/spread.1 docs/spuser.1 docs/sptuser.1 docs/spmonitor.1 docs/spflooder.1
-MANTYPE		= @MANTYPE@
-
-PATHSUBS	= \
-	-D/etc/spread.conf=$(sysconfdir)/spread.conf \
-        -D/var/run/spread.pid=$(piddir)/spread.pid
-
-FIXPATHSCMD	= $(PERL) $(buildtoolsdir)/fixpaths $(PATHSUBS)
-
-all: $(TARGETS) $(MANPAGES)
-
-$(SPREADOBJS): config.h
-$(MONITOR_OBJS): config.h
-$(TMONITOR_OBJS): config.h
-
 .c.o:
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
 
@@ -97,110 +57,21 @@
 .c.tlo:
 	$(SHCC) $(SHCFLAGS) $(SHCPPFLAGS) -D_REENTRANT -c $< -o $*.tlo
 
-parser:
-	$(YACC) -d $(srcdir)/config_parse.y
-	$(LEX) $(srcdir)/config_gram.l
+spuser$(EXEEXT): ../daemon/libspread.a	user.o
+	$(LD) -o $@ user.o $(LDFLAGS) ../daemon/libspread.a $(LIBS)
 
-#Disabled now because of timestamp errors causing extra regeneration
-#To build parser run "make parser" after ./configure is run.
-#lex.yy.c:       config_gram.l y.tab.c
-#	$(LEX) config_gram.l
+spflooder$(EXEEXT):  ../daemon/libspread.a flooder.o
+	$(LD) -o $@ flooder.o $(LDFLAGS)  ../daemon/libspread.a $(LIBS)
 
-#y.tab.c:        config_parse.y
-#	$(YACC) -d config_parse.y
+sptuser$(EXEEXT): user.to  ../daemon/libtspread.a
+	$(LD) $(THLDFLAGS) -o $@ user.to  ../daemon/libtspread.a $(LDFLAGS) $(LIBS) $(THLIBS)
 
-none:	
-	@echo "Skipping shared library creation."
+spsimple_user$(EXEEXT): simple_user.o  ../daemon/libspread.a
+	$(LD) -o $@ simple_user.o $(LDFLAGS) ../daemon/ libspread.a $(LIBS) 
 
-install-none:
-	@echo "Skipping shared library installation."
-
-libspread.a: $(LIBSP_OBJS)
-	$(AR) rv $@ $(LIBSP_OBJS)
-	$(RANLIB) $@
-
-libspread.dylib:	$(LIBSP_SHOBJS)
-	$(SHLD) -o libspread.$(LIBVERSION).dylib $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS)
-	$(SOFTLINK) -f libspread.$(LIBVERSION).dylib $@
-
-install-libspread.dylib:	libspread.dylib
-	$(INSTALL) -m 0755 libspread.$(LIBVERSION).dylib $(DESTDIR)$(libdir)/libspread.$(LIBVERSION).dylib
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.$(LIBVERSION).dylib libspread.dylib)
-
-libspread.so:	$(LIBSP_SHOBJS)
-	$(SHLD) -o $@ $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS)
-
-install-libspread.so:	libspread.so
-	$(INSTALL) -m 0755 libspread.so $(DESTDIR)$(libdir)/libspread.so.$(LIBVERSION)
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.so.$(LIBVERSION) libspread.so)
-
-libtspread.a: $(LIBTSP_OBJS)
-	$(AR) rv $@ $(LIBTSP_OBJS)
-	$(RANLIB) $@
-
-libtspread.dylib:	$(LIBTSP_SHOBJS)
-	$(SHLD) -o libtspread.$(LIBVERSION).dylib $(LIBSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS) $(THLIBS)
-	$(SOFTLINK) -f libtspread.$(LIBVERSION).dylib $@
-
-install-libtspread.dylib:	libtspread.dylib
-	$(INSTALL) -m 0755 libtspread.$(LIBVERSION).dylib $(DESTDIR)$(libdir)/libtspread.$(LIBVERSION).dylib
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libtspread.$(LIBVERSION).dylib libtspread.dylib)
-
-libtspread.so:	$(LIBTSP_SHOBJS)
-	$(SHLD) -o $@ $(LIBTSP_SHOBJS) $(SHLDFLAGS) $(SHLIBS) $(THLIBS)
-
-install-libtspread.so:	libtspread.so
-	$(INSTALL) -m 0755 libtspread.so $(DESTDIR)$(libdir)/libtspread.so.$(LIBVERSION)
-	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libtspread.so.$(LIBVERSION) libtspread.so)
-
-spread$(EXEEXT): $(SPREADOBJS)
-	$(LD) -o $@ $(SPREADOBJS) $(LDFLAGS) $(LIBS)
-
-spuser$(EXEEXT): libspread.a	user.o
-	$(LD) -o $@ user.o $(LDFLAGS) libspread.a $(LIBS)
-
-spflooder$(EXEEXT): libspread.a flooder.o
-	$(LD) -o $@ flooder.o $(LDFLAGS) libspread.a $(LIBS)
-
-spmonitor$(EXEEXT): $(MONITOR_OBJS)
-	$(LD) -o $@ $(MONITOR_OBJS) $(LDFLAGS) $(LIBS) 
-
-sptmonitor$(EXEEXT): $(TMONITOR_OBJS)
-	$(LD) $(THLDFLAGS) -o $@ $(TMONITOR_OBJS) $(LDFLAGS) $(LIBS) $(THLIBS) 
-
-sptuser$(EXEEXT): user.to libtspread.a
-	$(LD) $(THLDFLAGS) -o $@ user.to libtspread.a $(LDFLAGS) $(LIBS) $(THLIBS)
-
-spsimple_user$(EXEEXT): simple_user.o libspread.a
-	$(LD) -o $@ simple_user.o $(LDFLAGS) libspread.a $(LIBS) 
-
-testprog: spsend$(EXEEXT) sprecv$(EXEEXT)
-
-spsend$(EXEEXT): s.o alarm.o data_link.o events.o memory.o
-	$(LD) -o $@ s.o alarm.o data_link.o events.o memory.o $(LDFLAGS) $(LIBS)
-
-sprecv$(EXEEXT): r.o alarm.o data_link.o
-	$(LD) -o $@ r.o alarm.o data_link.o $(LDFLAGS) $(LIBS)
-
-$(MANPAGES): $(MANPAGES_IN)
-	@if [ ! -d docs ]; then \
-		$(buildtoolsdir)/mkinstalldirs docs; \
-	fi
-	@if test "$(MANTYPE)" = "cat"; then \
-		manpage=$(srcdir)/`echo $@ | sed 's/\.[1-9]\.out$$/\.0/'`; \
-	else \
-		manpage=$(srcdir)/`echo $@ | sed 's/\.out$$//'`; \
-	fi; \
-	if test "$(MANTYPE)" = "man"; then \
-		$(FIXPATHSCMD) $${manpage} | $(PERL) $(buildtoolsdir)/mdoc2man.pl > $@; \
-	else \
-		$(FIXPATHSCMD) $${manpage} > $@; \
-	fi
-
 clean:
 	rm -f *.lo *.tlo *.to *.o *.a *.dylib $(TARGETS) spsimple_user
-	rm -f config.cache config.log docs/*.out core
-	rm -rf autom4te.cache
+	rm -f core
 
 distclean: clean
 	rm -f Makefile config.h config.status *~
@@ -210,83 +81,21 @@
 veryclean: distclean
 	rm -f configure
 
-catman-do:
-	@for f in $(MANPAGES_IN) ; do \
-		base=`echo $$f | sed 's/\..*$$//'` ; \
-		echo "$$f -> $$base.0" ; \
-		nroff -mandoc $$f | cat -v | sed -e 's/.\^H//g' \
-			>$$base.0 ; \
-	done
-
-distprep: catman-do
+distprep: 
 	autoreconf
 
 install: $(TARGETS) install-files install- at LIBSPSO@ install- at LIBTSPSO@
 
 install-files:
 	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(bindir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sbindir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(includedir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)1
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)3
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(libdir)
-	$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(includedir)
-	$(INSTALL) -m 0755 -s spmonitor$(EXEEXT) $(DESTDIR)$(bindir)/spmonitor$(EXEEXT)
 	$(INSTALL) -m 0755 -s spuser$(EXEEXT) $(DESTDIR)$(bindir)/spuser$(EXEEXT)
 	$(INSTALL) -m 0755 -s sptuser$(EXEEXT) $(DESTDIR)$(bindir)/sptuser$(EXEEXT)
 	$(INSTALL) -m 0755 -s spflooder$(EXEEXT) $(DESTDIR)$(bindir)/spflooder$(EXEEXT)
-	$(INSTALL) -m 0755 -s spread$(EXEEXT) $(DESTDIR)$(sbindir)/spread$(EXEEXT)
-	$(INSTALL) -m 644 libspread.a $(DESTDIR)$(libdir)/libspread.a
-	$(INSTALL) -m 644 libtspread.a $(DESTDIR)$(libdir)/libtspread.a
-	$(INSTALL) -m 644 $(srcdir)/sp.h $(DESTDIR)$(includedir)/sp.h
-	$(INSTALL) -m 644 $(srcdir)/sp_func.h $(DESTDIR)$(includedir)/sp_func.h
-	$(INSTALL) -m 644 $(srcdir)/sp_events.h $(DESTDIR)$(includedir)/sp_events.h
-	$(INSTALL) -m 644 docs/spread.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	$(INSTALL) -m 644 docs/spuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	$(INSTALL) -m 644 docs/sptuser.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	$(INSTALL) -m 644 docs/spflooder.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	$(INSTALL) -m 644 docs/spmonitor.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1
-	$(INSTALL) -m 644 docs/libsp.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
-	for page in connect disconnect equal_group_ids error join leave multicast multigroup_multicast multigroup_scat_multicast poll receive scat_multicast scat_receive; \
-	do \
-	  $(INSTALL) -m 644 docs/SP_$$page.3.out $(DESTDIR)$(mandir)/$(mansubdir)3/SP_$$page.3; \
-	done
-	if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \
-		$(buildtoolsdir)/mkinstalldirs $(DESTDIR)$(sysconfdir); \
-	fi
-	if [ ! -f $(DESTDIR)$(sysconfdir)/spread.conf ]; then \
-		$(INSTALL) -m 644 $(srcdir)/sample.spread.conf $(DESTDIR)$(sysconfdir)/spread.conf; \
-	else \
-		echo "$(DESTDIR)$(sysconfdir)/spread.conf already exists, install will not overwrite"; \
-	fi
 
 uninstallall:	uninstall
-	-rm -f $(DESTDIR)$(sysconfdir)/spread.conf
-	-rmdir $(DESTDIR)$(sysconfdir)
 	-rmdir $(DESTDIR)$(bindir)
-	-rmdir $(DESTDIR)$(sbindir)
-	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)1
-	-rmdir $(DESTDIR)$(mandir)/$(mansubdir)3
-	-rmdir $(DESTDIR)$(mandir)
-	-rmdir $(DESTDIR)$(libdir)
-	-rmdir $(DESTDIR)$(includedir)
 
 uninstall: 
 	-rm -f $(DESTDIR)$(bindir)/spuser$(EXEEXT)
-	-rm -f $(DESTDIR)$(bindir)/spmonitor$(EXEEXT)
 	-rm -f $(DESTDIR)$(bindir)/spflooder$(EXEEXT)
 	-rm -f $(DESTDIR)$(bindir)/sptuser$(EXEEXT)
-	-rm -f $(DESTDIR)$(sbindir)/spread$(EXEEXT)
-	-rm -f $(DESTDIR)$(libdir)/libspread.a
-	-rm -f $(DESTDIR)$(libdir)/libtspread.a
-	-rm -f $(DESTDIR)$(includedir)/sp.h
-	-rm -f $(DESTDIR)$(includedir)/sp_func.h
-	-rm -f $(DESTDIR)$(includedir)/sp_events.h
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/SP_*.3
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)3/libsp.3
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spread.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spuser.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/sptuser.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spflooder.1
-	-rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/spmonitor.1

Modified: trunk/win32/flooder.dsp
===================================================================
--- trunk/win32/flooder.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/flooder.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -52,7 +52,7 @@
 # Name "flooder - Win32 Release"
 # Begin Source File
 
-SOURCE=..\Flooder.c
+SOURCE=..\daemon\Flooder.c
 # End Source File
 # Begin Source File
 

Modified: trunk/win32/libsp.dsp
===================================================================
--- trunk/win32/libsp.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/libsp.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -51,23 +51,23 @@
 # Name "libsp - Win32 Release"
 # Begin Source File
 
-SOURCE=..\Alarm.c
+SOURCE=..\daemon\Alarm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\arch.c
+SOURCE=..\daemon\arch.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Events.c
+SOURCE=..\daemon\Events.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\memory.c
+SOURCE=..\daemon\memory.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Sp.c
+SOURCE=..\daemon\Sp.c
 # End Source File
 # End Target
 # End Project

Modified: trunk/win32/libtsp.dsp
===================================================================
--- trunk/win32/libtsp.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/libtsp.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -51,23 +51,23 @@
 # Name "libtsp - Win32 Release"
 # Begin Source File
 
-SOURCE=..\alarm.c
+SOURCE=..\daemon\alarm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\arch.c
+SOURCE=..\daemon\arch.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\events.c
+SOURCE=..\daemon\events.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\memory.c
+SOURCE=..\daemon\memory.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\sp.c
+SOURCE=..\daemon\sp.c
 # End Source File
 # End Target
 # End Project

Modified: trunk/win32/r.dsp
===================================================================
--- trunk/win32/r.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/r.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -52,27 +52,27 @@
 # Name "r - Win32 Release"
 # Begin Source File
 
-SOURCE=..\Alarm.c
+SOURCE=..\daemon\Alarm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\arch.c
+SOURCE=..\daemon\arch.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\data_link.c
+SOURCE=..\daemon\data_link.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Events.c
+SOURCE=..\daemon\Events.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\memory.c
+SOURCE=..\daemon\memory.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\r.c
+SOURCE=..\daemon\r.c
 # End Source File
 # End Target
 # End Project

Modified: trunk/win32/s.dsp
===================================================================
--- trunk/win32/s.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/s.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -52,27 +52,27 @@
 # Name "s - Win32 Release"
 # Begin Source File
 
-SOURCE=..\Alarm.c
+SOURCE=..\daemon\Alarm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\arch.c
+SOURCE=..\daemon\arch.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\data_link.c
+SOURCE=..\daemon\data_link.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Events.c
+SOURCE=..\daemon\Events.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\memory.c
+SOURCE=..\daemon\memory.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\s.c
+SOURCE=..\daemon\s.c
 # End Source File
 # End Target
 # End Project

Modified: trunk/win32/spread.dsp
===================================================================
--- trunk/win32/spread.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/spread.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -52,95 +52,95 @@
 # Name "spread - Win32 Release"
 # Begin Source File
 
-SOURCE=..\acm.c
+SOURCE=..\daemon\acm.c
 # End Source File
 # Begin Source File
 
-SOURCE="..\acp-permit.c"
+SOURCE="..\daemon\acp-permit.c"
 # End Source File
 # Begin Source File
 
-SOURCE=..\Alarm.c
+SOURCE=..\daemon\Alarm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\arch.c
+SOURCE=..\daemon\arch.c
 # End Source File
 # Begin Source File
 
-SOURCE="..\auth-ip.c"
+SOURCE="..\daemon\auth-ip.c"
 # End Source File
 # Begin Source File
 
-SOURCE="..\auth-null.c"
+SOURCE="..\daemon\auth-null.c"
 # End Source File
 # Begin Source File
 
-SOURCE=..\Configuration.c
+SOURCE=..\daemon\Configuration.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Data_link.c
+SOURCE=..\daemon\Data_link.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Events.c
+SOURCE=..\daemon\Events.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Flow_control.c
+SOURCE=..\daemon\Flow_control.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Groups.c
+SOURCE=..\daemon\Groups.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\lex.yy.c
+SOURCE=..\daemon\lex.yy.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Log.c
+SOURCE=..\daemon\Log.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Membership.c
+SOURCE=..\daemon\Membership.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\memory.c
+SOURCE=..\daemon\memory.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\message.c
+SOURCE=..\daemon\message.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Network.c
+SOURCE=..\daemon\Network.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Protocol.c
+SOURCE=..\daemon\Protocol.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Session.c
+SOURCE=..\daemon\Session.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\skiplist.c
+SOURCE=..\daemon\skiplist.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Spread.c
+SOURCE=..\daemon\Spread.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\Status.c
+SOURCE=..\daemon\Status.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\y.tab.c
+SOURCE=..\daemon\y.tab.c
 # End Source File
 # End Target
 # End Project

Modified: trunk/win32/sptmonitor.dsp
===================================================================
--- trunk/win32/sptmonitor.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/sptmonitor.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -52,47 +52,47 @@
 # Name "sptmonitor - Win32 Release"
 # Begin Source File
 
-SOURCE=..\acm.c
+SOURCE=..\daemon\acm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\alarm.c
+SOURCE=..\daemon\alarm.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\arch.c
+SOURCE=..\daemon\arch.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\configuration.c
+SOURCE=..\daemon\configuration.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\data_link.c
+SOURCE=..\daemon\data_link.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\events.c
+SOURCE=..\daemon\events.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\lex.yy.c
+SOURCE=..\daemon\lex.yy.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\memory.c
+SOURCE=..\daemon\memory.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\monitor.c
+SOURCE=..\daemon\monitor.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\skiplist.c
+SOURCE=..\daemon\skiplist.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\y.tab.c
+SOURCE=..\daemon\y.tab.c
 # End Source File
 # End Target
 # End Project

Modified: trunk/win32/tuser.dsp
===================================================================
--- trunk/win32/tuser.dsp	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32/tuser.dsp	2005-07-09 22:49:04 UTC (rev 240)
@@ -53,7 +53,7 @@
 # Name "tuser - Win32 Release"
 # Begin Source File
 
-SOURCE=..\user.c
+SOURCE=..\daemon\user.c
 # End Source File
 # Begin Source File
 

Modified: trunk/win32_msvc_net/libspread.vcproj
===================================================================
--- trunk/win32_msvc_net/libspread.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/libspread.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;ARCH_PC_WIN95"
 				StringPooling="TRUE"
 				RuntimeLibrary="4"
@@ -51,19 +51,19 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\alarm.c">
+			RelativePath="..\daemon\alarm.c">
 		</File>
 		<File
-			RelativePath="..\arch.c">
+			RelativePath="..\daemon\arch.c">
 		</File>
 		<File
-			RelativePath="..\events.c">
+			RelativePath="..\daemon\events.c">
 		</File>
 		<File
-			RelativePath="..\memory.c">
+			RelativePath="..\daemon\memory.c">
 		</File>
 		<File
-			RelativePath="..\sp.c">
+			RelativePath="..\daemon\sp.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/libtspread.vcproj
===================================================================
--- trunk/win32_msvc_net/libtspread.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/libtspread.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;ARCH_PC_WIN95;_REENTRANT"
 				StringPooling="TRUE"
 				RuntimeLibrary="0"
@@ -51,19 +51,19 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\alarm.c">
+			RelativePath="..\daemon\alarm.c">
 		</File>
 		<File
-			RelativePath="..\arch.c">
+			RelativePath="..\daemon\arch.c">
 		</File>
 		<File
-			RelativePath="..\events.c">
+			RelativePath="..\daemon\events.c">
 		</File>
 		<File
-			RelativePath="..\memory.c">
+			RelativePath="..\daemon\memory.c">
 		</File>
 		<File
-			RelativePath="..\sp.c">
+			RelativePath="..\daemon\sp.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/spflooder.vcproj
===================================================================
--- trunk/win32_msvc_net/spflooder.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/spflooder.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARCH_PC_WIN95"
 				StringPooling="TRUE"
 				RuntimeLibrary="4"
@@ -61,7 +61,7 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\flooder.c">
+			RelativePath="..\daemon\flooder.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/spread.vcproj
===================================================================
--- trunk/win32_msvc_net/spread.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/spread.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARCH_PC_WIN95"
 				StringPooling="TRUE"
 				RuntimeLibrary="4"
@@ -61,73 +61,73 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\acm.c">
+			RelativePath="..\daemon\acm.c">
 		</File>
 		<File
-			RelativePath="..\acp-permit.c">
+			RelativePath="..\daemon\acp-permit.c">
 		</File>
 		<File
-			RelativePath="..\alarm.c">
+			RelativePath="..\daemon\alarm.c">
 		</File>
 		<File
-			RelativePath="..\arch.c">
+			RelativePath="..\daemon\arch.c">
 		</File>
 		<File
-			RelativePath="..\auth-ip.c">
+			RelativePath="..\daemon\auth-ip.c">
 		</File>
 		<File
-			RelativePath="..\auth-null.c">
+			RelativePath="..\daemon\auth-null.c">
 		</File>
 		<File
-			RelativePath="..\configuration.c">
+			RelativePath="..\daemon\configuration.c">
 		</File>
 		<File
-			RelativePath="..\data_link.c">
+			RelativePath="..\daemon\data_link.c">
 		</File>
 		<File
-			RelativePath="..\events.c">
+			RelativePath="..\daemon\events.c">
 		</File>
 		<File
-			RelativePath="..\flow_control.c">
+			RelativePath="..\daemon\flow_control.c">
 		</File>
 		<File
-			RelativePath="..\groups.c">
+			RelativePath="..\daemon\groups.c">
 		</File>
 		<File
-			RelativePath="..\lex.yy.c">
+			RelativePath="..\daemon\lex.yy.c">
 		</File>
 		<File
-			RelativePath="..\log.c">
+			RelativePath="..\daemon\log.c">
 		</File>
 		<File
-			RelativePath="..\membership.c">
+			RelativePath="..\daemon\membership.c">
 		</File>
 		<File
-			RelativePath="..\memory.c">
+			RelativePath="..\daemon\memory.c">
 		</File>
 		<File
-			RelativePath="..\message.c">
+			RelativePath="..\daemon\message.c">
 		</File>
 		<File
-			RelativePath="..\network.c">
+			RelativePath="..\daemon\network.c">
 		</File>
 		<File
-			RelativePath="..\protocol.c">
+			RelativePath="..\daemon\protocol.c">
 		</File>
 		<File
-			RelativePath="..\session.c">
+			RelativePath="..\daemon\session.c">
 		</File>
 		<File
-			RelativePath="..\skiplist.c">
+			RelativePath="..\daemon\skiplist.c">
 		</File>
 		<File
-			RelativePath="..\spread.c">
+			RelativePath="..\daemon\spread.c">
 		</File>
 		<File
-			RelativePath="..\status.c">
+			RelativePath="..\daemon\status.c">
 		</File>
 		<File
-			RelativePath="..\y.tab.c">
+			RelativePath="..\daemon\y.tab.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/sprecv.vcproj
===================================================================
--- trunk/win32_msvc_net/sprecv.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/sprecv.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARCH_PC_WIN95"
 				StringPooling="TRUE"
 				RuntimeLibrary="4"
@@ -61,22 +61,22 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\alarm.c">
+			RelativePath="..\daemon\alarm.c">
 		</File>
 		<File
-			RelativePath="..\arch.c">
+			RelativePath="..\daemon\arch.c">
 		</File>
 		<File
-			RelativePath="..\data_link.c">
+			RelativePath="..\daemon\data_link.c">
 		</File>
 		<File
-			RelativePath="..\events.c">
+			RelativePath="..\daemon\events.c">
 		</File>
 		<File
-			RelativePath="..\memory.c">
+			RelativePath="..\daemon\memory.c">
 		</File>
 		<File
-			RelativePath="..\r.c">
+			RelativePath="..\daemon\r.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/spsend.vcproj
===================================================================
--- trunk/win32_msvc_net/spsend.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/spsend.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="ARCH_PC_WIN95;WIN32;NDEBUG;_CONSOLE"
 				StringPooling="TRUE"
 				RuntimeLibrary="4"
@@ -61,22 +61,22 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\alarm.c">
+			RelativePath="..\daemon\alarm.c">
 		</File>
 		<File
-			RelativePath="..\arch.c">
+			RelativePath="..\daemon\arch.c">
 		</File>
 		<File
-			RelativePath="..\data_link.c">
+			RelativePath="..\daemon\data_link.c">
 		</File>
 		<File
-			RelativePath="..\events.c">
+			RelativePath="..\daemon\events.c">
 		</File>
 		<File
-			RelativePath="..\memory.c">
+			RelativePath="..\daemon\memory.c">
 		</File>
 		<File
-			RelativePath="..\s.c">
+			RelativePath="..\daemon\s.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/sptmonitor.vcproj
===================================================================
--- trunk/win32_msvc_net/sptmonitor.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/sptmonitor.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARCH_PC_WIN95;_REENTRANT"
 				StringPooling="TRUE"
 				RuntimeLibrary="0"
@@ -61,37 +61,37 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\acm.c">
+			RelativePath="..\daemon\acm.c">
 		</File>
 		<File
-			RelativePath="..\alarm.c">
+			RelativePath="..\daemon\alarm.c">
 		</File>
 		<File
-			RelativePath="..\arch.c">
+			RelativePath="..\daemon\arch.c">
 		</File>
 		<File
-			RelativePath="..\configuration.c">
+			RelativePath="..\daemon\configuration.c">
 		</File>
 		<File
-			RelativePath="..\data_link.c">
+			RelativePath="..\daemon\data_link.c">
 		</File>
 		<File
-			RelativePath="..\events.c">
+			RelativePath="..\daemon\events.c">
 		</File>
 		<File
-			RelativePath="..\lex.yy.c">
+			RelativePath="..\daemon\lex.yy.c">
 		</File>
 		<File
-			RelativePath="..\memory.c">
+			RelativePath="..\daemon\memory.c">
 		</File>
 		<File
-			RelativePath="..\monitor.c">
+			RelativePath="..\daemon\monitor.c">
 		</File>
 		<File
-			RelativePath="..\skiplist.c">
+			RelativePath="..\daemon\skiplist.c">
 		</File>
 		<File
-			RelativePath="..\y.tab.c">
+			RelativePath="..\daemon\y.tab.c">
 		</File>
 	</Files>
 	<Globals>

Modified: trunk/win32_msvc_net/sptuser.vcproj
===================================================================
--- trunk/win32_msvc_net/sptuser.vcproj	2005-07-08 19:23:59 UTC (rev 239)
+++ trunk/win32_msvc_net/sptuser.vcproj	2005-07-09 22:49:04 UTC (rev 240)
@@ -21,7 +21,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\"
+				AdditionalIncludeDirectories="..\daemon\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARCH_PC_WIN95;_REENTRANT"
 				StringPooling="TRUE"
 				RuntimeLibrary="0"
@@ -61,7 +61,7 @@
 	</Configurations>
 	<Files>
 		<File
-			RelativePath="..\user.c">
+			RelativePath="..\daemon\user.c">
 		</File>
 	</Files>
 	<Globals>




More information about the Spread-cvs mailing list