This directory contains the source code for James A. Bednar's version of LISSOM, maintained using the CVS version control system. For information about using CVS, see http://www.cvshome.org, and especially the CVS manual at http://www.cvshome.org/docs/manual/. OBTAINING LISSOM VIA CVS The CVS version of LISSOM is available read-only to anyone in the world, and read-write for LISSOM developers. (First contact jbednar@inf.ed.ac.uk if you want to become a LISSOM developer.) In either case, you will need a username and password. For read-only access, just use the username "anon" and the password "anon". For read-write access, visit: http://www.inf.ed.ac.uk/systems/cvs/new/ and make up a username and password, then select the "jbcvsglobal" repository (NOT "jbcvslocal"). You will get email when your username and password have been approved. Once you have a username and password, go to a new directory with at least 100MB free and type these commands (i.e. the lines beginning with "$"): $ cvs -d :pserver:uname@cvs.inf.ed.ac.uk:/disk/cvs/jbcvsglobal login Logging in to :pserver:uname@cvs.inf.ed.ac.uk:2401/disk/cvs/jbcvsglobal CVS password: $ cvs -d :pserver:uname@cvs.inf.ed.ac.uk:/disk/cvs/jbcvsglobal checkout lissom cvs server: Updating lissom U lissom/.cvsignore .... Here, replace "uname" with your chosen CVS username (or "anon"), and supply your chosen password (or "anon"). The result will be a subdirectory named "lissom" in your current directory, where you can build LISSOM as described in INSTALL. STATUS OF THE CVS VERSION Although LISSOM is not currently under intensive development, at any point the CVS files are likely to be somewhat out of sync with each other and with the documentation. In particular, the latest revisions may not have been tested on all architectures or at all. The safest and most general versions have been tagged with an official release number which looks like "release-*_*". To make your checked-out copy match such a version, find the latest appropriate tag in those listed by "cvs status -v src/lissom.c", e.g. release-2-1, then do e.g. "cvs update -r release-2-1". There will usually be a more recent version that is coherent yet has not received enough testing or documentation to be suitable for an official release. Contact the author for information about the status of these. You can also get an idea what the changes are by first checking the major revision list in ./README.First and then using something like 'cvs log -N -d ">February 19, 1999" *' to see changes made after the latest date mentioned therein. FILES INCLUDED The CVS repository contains several items not usually included in the public release, including: ./README.CVS This file ./TODO Projects/extensions/fixes remaining uncompleted. ./ChangeLog Listing of all code changes made. Changes before 1998-05-30, when CVS took over logging, were entered by hand; those since that date correspond to every CVS version of each file checked in (updated periodically using the rcs2log command). ./sequential/ Makefiles for building single-processor versions, even on T3E. There are also some files with sample code in gui/ that are not usually released; these are and other deleted files are listed in ./Makefile under the "distclean:" target. The distribution is also missing a file and a directory included in the public release, namely ./USERDOC and ./CODEDOC/. The USERDOC file is automatically generated whenever "make", "make ansi", or "make documentation" is performed in the root directory of the distribution. The CODEDOC is automatically generated whenever "make CODEDOC" or "make all_documentation" is performed in the root directory of the distribution. The CODEDOC is not always included in the release, because it is very large and few people are likely to need it. MAKING A PUBLIC RELEASE To make a public release, follow these steps: 1. Ensure that no one besides yourself has any modified files checked out in CVS; if they do, make sure all of it gets checked in or does not need to be included in the release, and ensure that none of it will be checked in until the release is complete. 2. Generate any sample files to be included in the release, and put them into the samples/directory of your checked-out tree, editing samples/README as appropriate. 3. Update the documentation files README.First, INSTALL, and FILES as appropriate. Also check the generated documentation, especially the introductory and overview sections; these are not always updated when the rest of the code is changed. 4. Increment the VERSION number in ./Makefile, and do "make updateversion". 5. Comment out references to any optional libraries or utilities not expected to be universally available; leaving it to the user to enable them specifically. (Readline library, xv, etc.) 6. Do "make depend" to ensure that all makefiles have up-to-date dependencies, and do "make maintainer-clean" to ensure that no old copies of the documentation remain. 7. Check in any modified files into CVS. 8. Save all open files from within any editor, and do a "make dist" to create a candidate distribution archive. (To ensure that all files are saved in Emacs, you can do "M-x compile RET make dist".) 9. Unpack the distribution archive and examine it: a) Use "ls -lFRA" or "find ." to ensure that no stray files were included; if they were, edit "distclean:" in ./Makefile to delete them from the generated distribution. b) Look over the generated documentation to ensure that it is complete and was generated properly. For ASCII files, ensure that there are no avoidable overly-long lines by inspecting the result of: grep '................................................................................' USERDOC c) Compile the source on various platforms using "make" or "make ansi" as appropriate, and ensure that there are no errors or warnings. Also perform a self-test on the various platforms ("make tests"). Platform-specific notes from previous releases are attached below. 10. If you find problems, go back to step 6 and start over. 11. When the package is ready for release, copy it to the public FTP/HTML site and update any pages that describe the software to include the new changes from README.First. 12. Tag the files in cvs with the release version number (e.g. "cvs rtag release-2-1 lissom") and notify the other developers, if any, that they may once again check in new code to the CVS repository. James A. Bednar jbednar@inf.ed.ac.uk ------------------------------------------------------------------------------- Platform-specific notes relevant for most recent version of INSTALL: 1. Red Hat Linux 7.0 Athlon XP 1.48GHz 768MB EGCS 1.1.2 doozy.ots.utexas.edu (Private machine of jbednar@cs.utexas.edu) /usr/local/bin/g++ doozy:~> date ; cat /etc/issue ; cat /proc/cpuinfo ; free ; /usr/local/bin/g++ -v Sat Jan 11 03:16:02 CST 2003 Red Hat Linux release 7.0 (Guinness) Kernel 2.2.19-7.0.1smp on an i686 model name : AMD Athlon(tm) Processor cpu MHz : 1480.540 cache size : 256 KB total used free shared buffers cached Mem: 785932 780484 5448 0 54772 150312 -/+ buffers/cache: 575400 210532 Swap: 875492 696 874796 Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release) 2. Red Hat Linux 6.0 Pentium III-600 1024MB EGCS 1.1.2 pale.csres.utexas.edu pale:~> date ; cat /etc/issue ; cat /proc/cpuinfo ; free ; g++ -v Sat Jan 11 03:19:20 CST 2003 Red Hat Linux release 6.0 (Hedwig) Kernel 2.2.12-25 on an i686 model name : Pentium III (Katmai) cpu MHz : 601.372469 total used free shared buffers cached Mem: 1036380 879812 156568 38348 226580 159968 -/+ buffers/cache: 493264 543116 Swap: 530104 920 529184 Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) 3. Red Hat Linux 7.0 Athlon XP 1.48GHz 768MB GCC 3.2 doozy.ots.utexas.edu (Private machine of jbednar@cs.utexas.edu) /alt/bin/g++ doozy:~> date ; cat /etc/issue ; cat /proc/cpuinfo ; free ; /alt/bin/g++ -v Sat Jan 11 03:17:03 CST 2003 Red Hat Linux release 7.0 (Guinness) Kernel 2.2.19-7.0.1smp on an i686 model name : AMD Athlon(tm) Processor cpu MHz : 1480.540 cache size : 256 KB total used free shared buffers cached Mem: 785932 780564 5368 0 54772 150396 -/+ buffers/cache: 575396 210536 Swap: 875492 696 874796 Reading specs from /alt/lib/gcc-lib/i686-pc-linux-gnu/3.2/specs Configured with: ./configure --prefix=/alt Thread model: posix gcc version 3.2 4. Red Hat Linux 7.0 Athlon XP 1.48GHz 768MB GCC 2.96 (Red Hat 7.1) doozy.ots.utexas.edu (Private machine of jbednar@cs.utexas.edu) /usr/bin/g++ doozy:~> date ; cat /etc/issue ; free ; /usr/bin/g++ -v Sat Jan 11 03:16:30 CST 2003 Red Hat Linux release 7.0 (Guinness) Kernel 2.2.19-7.0.1smp on an i686 model name : AMD Athlon(tm) Processor cpu MHz : 1480.540 cache size : 256 KB total used free shared buffers cached Mem: 785932 780484 5448 0 54772 150312 -/+ buffers/cache: 575400 210532 Swap: 875492 696 874796 Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-85) 5. SunOS 5.8 Sun Ultra-10/440 256MB GCC 3.0.3 ahab.cs.utexas.edu ahab:~> date ; ( sysinfo | & tail -3 ) ; ( sysinfo | & grep page ) ; g++ -v ; whatami ; grep `basename $HOST .cs.utexas.edu` /lusr/share/etc/hosts.groups Sat Jan 11 02:47:01 CST 2003 SUNW,Ultra-5_10 cpu0 is a "440 MHz SUNW,UltraSPARC-IIi" CPU kbd is a "Sun Type-5 US Unix" Keyboard System memory page size is 8192 Total number of pages of physical memory is 32768 Number of pages of physical memory not currently in use is 7032 Reading specs from /lusr/gnu/lib/gcc-lib/sparc-sun-solaris2.7/3.0.3/specs Configured with: ../gcc/configure --prefix=/lusr/gnu --enable-shared --enable-java-gc=boehm --enable-threads=posix --with-as=/lusr/gnu/bin/as --with-ld=/lusr/gnu/bin/ld Thread model: posix gcc version 3.0.3 sun4u sunos=58 pubultra10 ahab:~> cshosts help pubultra10 help pubultra10 The public Ultra-10/440 in TAY 1.102 256.0 <= (/ (* 8192.0 32768.0) 1024.0 1024.0) => memsize 6. Debian Linux 3.0 Pentium IV Xeon 1.4GHz 256MB GCC 3.0.3 svartalfheim.cs.utexas.edu svartalfheim:~> date ; cat /etc/issue ; free ; g++ -v ; whatami ; grep `basename $HOST .cs.utexas.edu` /lusr/share/etc/hosts.groups Sat Jan 11 02:48:12 CST 2003 Linux Version 2.4.18 Compiled #2 SMP Mon Aug 5 09:31:54 CDT 2002 Two 1.40GHz Intel Pentium IV Xeon Processors 255M RAM total used free shared buffers cached Mem: 254736 54780 199956 0 4460 29728 -/+ buffers/cache: 20592 234144 Swap: 530136 6768 523368 Reading specs from /lusr/gnu/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/specs Configured with: ../gcc/configure --prefix=/lusr/gnu --enable-shared --enable-java-gc=boehm --enable-threads=posix --enable-static Thread model: posix gcc version 3.0.3 i686 linux=3.0 7. Mac OS X 10.2.3 PowerPC G4 933 512MB GCC 2.95.2 (Apple gcc-937.2) sake.csres.utexas.edu (Office machine of chaput@cs.utexas.edu) Sake:~> date ; gcc -v Sat Jan 11 03:14:27 CST 2003 Reading specs from /usr/libexec/gcc/darwin/ppc/3.1/specs Thread model: posix Apple Computer, Inc. GCC version 1151, based on gcc version 3.1 20020420 (prerelease) 8. Windows NT 4.0 Celeron-466A (2 processor) 512MB GCC 3.2 (MingW 2.0.0 and MSYS 1.0.8) sponge.ots.utexas.edu (Private machine of jbednar@cs.utexas.edu) ------------------------------------------------------------------------------- $Header: /disk/cvs/jbcvsglobal/lissom/README.CVS,v 1.28 2005/06/20 20:44:44 jbednar Exp $