[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