USING ANONYMOUS CVS: After downloading via anonymous CVS, you'll need to: ./autogen.sh # See REQUIRED TOOLS below # for what you need for this to work ./configure --enable-maintainer-mode --enable-warnings ... other flags ... make -k Most of the time only the last line is needed; as soon as you have configured once with --enable-maintainer-mode, make should rebuild those files automatically. You may need to rerun autogen.sh after doing a "cvs update -dP" to ensure that new subdirectories and changes to some of the building meta files are handled properly. DEBIAN TIPS After upgrading a bunch of Debian 2.1 packages to unstable 2.2 packages, Robert J. Chassell used: make distclean ./autogen.sh ./ltconfig --cache-file=./config.cache --with-gcc \ --with-gnu-ld ./ltmain.sh i686-pc-linux-gnu ./configure --enable-maintainer-mode make -k to build Scwm out of CVS w/o Cassowary. RUNNING SCWM WITHOUT INSTALLING IT: To run Scwm without installing it, you should be sure that your $SCWM_LOAD_PATH environment variable points at the top-level scwm directory containing the checked-out module. The scwm/app subdirectory should have a symlink scwm->../scheme. Also, to use any un-installed C modules with Scwm, be sure your $SCWM_LOAD_PATH includes scwm/modules/lib and you have run make-devtest from within scwm/modules (and after building with "make all"). Note that SCWM_LOAD_PATH and GUILE_LOAD_PATH are both searched for files. See the Guile variables: %load-path, %load-extensions for more information about the exact details of loading. REQUIRED TOOLS: Scwm requires at least autoconf, automake and libtool to generate some of the automatically generated files for the build process. You don't need these if you are just compiling a release or a snapshot, but if you are going to hack on the code and change the Makefiles and such, or if you use the versions from anonymous CVS, you will probably need them. The following are some reccomended versions and locations. Earlier versions may work but we don't guarantee this. autoconf 2.13: ftp://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.13.tar.gz automake 1.4a: ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4a.tar.gz libtool 1.3.3: ftp://ftp.gnu.org/pub/gnu/libtool/libtool-1.3.3.tar.gz Some of these packages may be available as .rpm or .deb packages, or other system-specific packages, but I haven't checked. If you have these tools, and especially if you are hacking the CVS version, it is strongly reccomended that you run configure with the --enable-maintainer-mode flag - this will cause "make" to regenerate automatically generated files as needed, including Makefiles, thus largely removing the need to run the various "auto" tools by hand. However, it may sometimes be necessary to run them without having the Makefile or configure handy. In this case you can run autogen.sh, which will call all these programs for you. DOCUMENTATION TOOLS: To regenerate the documentation from source, you will need the following tools: perl 5.004 or higher (until we start using the Guile version). Parse-RecDescent package from CPAN, version 1.51 or higher (see http://www.metronet.com/perl/authors/Damian_Conway/ -- the package includes the Text::Balanced module which we use) makeinfo 1.67 or higher (it's in Texinfo 3.9 for example). PROJECT IDEAS: All contributions are welcome. See doc/dev/projects for ideas! PREFERRED PATCH FORMAT: If you send in a patch, please do so using "diff -u" if you have a diff that supports it (like GNU diff), or else "diff -c". Patches relative to the current head of the relevant CVS branch are the most useful. SESSION MANAGEMENT PROTOCOL: For details on libSM and libICE, see: ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/{SM,ICE}/*.PS.gz BUILDING RPMS: If you would like to help us by building binary RPMs for your platform, see the instructions in doc/dev/scwm-packaging-rpm.txt.