[csw-devel] SF.net SVN: gar:[2940] csw/mgar/pkg
dmichelsen at users.sourceforge.net
dmichelsen at users.sourceforge.net
Fri Jan 30 14:45:08 CET 2009
Revision: 2940
http://gar.svn.sourceforge.net/gar/?rev=2940&view=rev
Author: dmichelsen
Date: 2009-01-30 13:45:07 +0000 (Fri, 30 Jan 2009)
Log Message:
-----------
spider: Initial commit of legacy build description
Added Paths:
-----------
csw/mgar/pkg/spider/
csw/mgar/pkg/spider/branches/
csw/mgar/pkg/spider/tags/
csw/mgar/pkg/spider/trunk/
csw/mgar/pkg/spider/trunk/Makefile
csw/mgar/pkg/spider/trunk/files/
csw/mgar/pkg/spider/trunk/files/CSWpackage.gspec
csw/mgar/pkg/spider/trunk/legacy/
csw/mgar/pkg/spider/trunk/legacy/BUILD.NOTES
csw/mgar/pkg/spider/trunk/legacy/README
csw/mgar/pkg/spider/trunk/legacy/copyright
csw/mgar/pkg/spider/trunk/legacy/depend
csw/mgar/pkg/spider/trunk/legacy/pkginfo
csw/mgar/pkg/spider/trunk/legacy/prototype
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/CJSA.install
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Imakefile
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/MANIFEST
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile.sunpro
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/PATCH.zoo
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/README
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/SPIDERv1r1p1a.zoo
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/assert.h
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/copyright.h
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/defs.h
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.controls
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.examples
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.intro
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.misc
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.rules
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.summary
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/events.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/face.bm
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/gfx.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/globals.h
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/main.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/movelog.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/patchlevel.h
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/rank.bm
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/spider.bm
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/spider.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/spider.info
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/spider.man
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/suit.bm
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/util.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/version.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/windows.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/xaw_stubs.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/xaw_ui.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/xaw_ui.h
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/xv_stubs.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/xv_ui.c
csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/xv_ui.h
csw/mgar/pkg/spider/trunk/legacy/src/
csw/mgar/pkg/spider/trunk/legacy/src/Makefile
csw/mgar/pkg/spider/trunk/legacy/src/spider-1.1.1.tar.gz
Property changes on: csw/mgar/pkg/spider/trunk
___________________________________________________________________
Added: svn:ignore
+ cookies
download
work
Added: svn:externals
+ gar https://gar.svn.sf.net/svnroot/gar/csw/mgar/gar/v2
Added: csw/mgar/pkg/spider/trunk/Makefile
===================================================================
--- csw/mgar/pkg/spider/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/spider/trunk/Makefile 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,23 @@
+GARNAME = package
+GARVERSION = 1.0
+CATEGORIES = category
+
+DESCRIPTION = Brief description
+define BLURB
+ Long description
+endef
+
+MASTER_SITES =
+DISTFILES = $(GARNAME)-$(GARVERSION).tar.gz
+DISTFILES += $(call admfiles,CSWpackage,)
+
+# We define upstream file regex so we can be notifed of new upstream software release
+UFILES_REGEX = -(\d+(?:\.\d+)*).tar.gz
+
+# If the url used to check for software update is different of MASTER_SITES, then
+# uncomment the next line. Otherwise it is set by default to the value of MASTER_SITES
+# UPSTREAM_MASTER_SITES =
+
+CONFIGURE_ARGS = $(DIRPATHS)
+
+include gar/category.mk
Added: csw/mgar/pkg/spider/trunk/files/CSWpackage.gspec
===================================================================
--- csw/mgar/pkg/spider/trunk/files/CSWpackage.gspec (rev 0)
+++ csw/mgar/pkg/spider/trunk/files/CSWpackage.gspec 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,4 @@
+%var bitname package
+%var pkgname CSWpackage
+%include url file://%{PKGLIB}/csw_dyndepend.gspec
+%copyright url file://%{WORKSRC}/LICENSE
Added: csw/mgar/pkg/spider/trunk/legacy/BUILD.NOTES
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/BUILD.NOTES (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/BUILD.NOTES 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,32 @@
+###############################################################################
+# FILE: BUILD.NOTES
+#
+# DESCRIPTION: Build notes for the SPIDER package. These are notes concerning
+# the compiling and testing of this package.
+#
+# Use the detailed instructions in the README file for package
+# creation.
+#
+# PACKAGE: CSWspider
+#
+# CUR VER: Spider Version 1.1.1,REV=2006.11.18
+#
+# REVISION: 11-18-06
+###############################################################################
+
+-------------------------------------------------------------------------------
+HISTORY:
+-------------------------------------------------------------------------------
+Date: Version: Notes:
+-------------------------------------------------------------------------------
+10-23-04 1.1.1 Initial package build
+11-18-06 1.1.1,REV=2006.11.18 New release with 150 perfect games
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+SPARC & INTEL:
+-------------------------------------------------------------------------------
+
+make:
+
+ * Numerous non-fatal warning messages are issues [too many to list]
Added: csw/mgar/pkg/spider/trunk/legacy/README
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/README (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/README 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,162 @@
+###############################################################################
+# FILE: README
+#
+# DESCRIPTION: Instructions for creating the SPIDER package. Refer to the
+# BUILD.NOTES file for specific information about the actual
+# build and testing of the current version.
+#
+# PACKAGE: CSWspider
+#
+# REVISION: 11-18-06
+#
+# NOTES: * Primary source code is located at:
+# - ftp://ftp.uu.net/usenet/comp.sources.x/volume7/spider
+# * Patch #2 is located at:
+# - ftp://ftp.uu.net/usenet/comp.sources.x/volume10/spider
+###############################################################################
+
+-------------------------------------------------------------------------------
+01: Switch to the correct build machine
+-------------------------------------------------------------------------------
+
+ SPARC:
+ or
+ INTEL:
+
+-------------------------------------------------------------------------------
+02: Update the pkginfo file
+-------------------------------------------------------------------------------
+
+ cd ${HOME}/pkgs/spider
+ vi pkginfo
+ [edit the version info: must include REV= portion if applicable]
+ [edit the ARCH line for either a 'sparc' or 'i386' build]
+
+-------------------------------------------------------------------------------
+03: Unpack and/or download the software and game files
+-------------------------------------------------------------------------------
+ cd src
+ make unpack
+
+-------------------------------------------------------------------------------
+04: Update the copyright file (only needs to be done once per release)
+-------------------------------------------------------------------------------
+
+ cd spider*[0-9]
+ cp copyright.h ${HOME}/pkgs/spider/copyright
+
+-------------------------------------------------------------------------------
+05: Set the proper build environment
+-------------------------------------------------------------------------------
+
+ SPARC: export CC='cc -xarch=v8 -xstrconst -xildoff'
+ or
+ INTEL: export CC='cc -xtarget=pentium -xstrconst -xildoff'
+
+-------------------------------------------------------------------------------
+06: Compile the software
+-------------------------------------------------------------------------------
+
+ xmkmf
+ make clean
+ make
+
+-------------------------------------------------------------------------------
+07: Install executable in a staging directory
+-------------------------------------------------------------------------------
+
+ rm -rf cswstage
+ stagepkg INSTALL_ROOT=$PWD/cswstage install-csw
+
+-------------------------------------------------------------------------------
+08: Update the prototype file (2nd build can use existing prototype file)
+-------------------------------------------------------------------------------
+
+ cd cswstage
+ grep '^[df]' prototype | grep -v 'root bin'
+ [check 'f'iles & 'd'irs have owner/group 'root bin']
+ vi prototype
+ [if necessary ...]
+ [change all owners/groups to 'root bin']
+ [change file permissions from 0444 to 0644]
+ [change file permissions from 0555 to 0755]
+ [add following 'i' line as third line in file]
+ i depend
+
+-------------------------------------------------------------------------------
+09: Check changes in prototype from previous release and update file
+-------------------------------------------------------------------------------
+
+ diff ${HOME}/pkgs/spider/prototype prototype | less -+e
+ [if any odd differences, investigate and fix]
+
+ cp prototype ${HOME}/pkgs/spider
+
+-------------------------------------------------------------------------------
+10: Create the package spider-*-SunOS5.8-{sparc,386i}-CSW.pkg.gz
+-------------------------------------------------------------------------------
+
+ cd ${HOME}/pkgs/spider
+ createpkg -r ${HOME}/pkgs/spider/src/spider*[0-9]/cswstage
+
+ [The package name should follow this format:]
+
+ <name>-<version>[,REV=YYYY.MM.DD]-<OSname><OSrel>-<arch>-CSW.pkg.gz
+
+-------------------------------------------------------------------------------
+11: Examine list of libraries used to see if any new CSW dependencies exist
+-------------------------------------------------------------------------------
+
+ If a new library is found, check package dependency:
+
+ pkgchk -l -p /opt/csw/lib/lib<...>
+
+ Add entry to the depend file:
+
+ P CSW<pkg>
+
+ Now repeat from step 09 and recreate the package
+
+-------------------------------------------------------------------------------
+12: Rebuild again on other build platform
+-------------------------------------------------------------------------------
+
+ Start over and rebuild the Solaris-x86 version
+
+-------------------------------------------------------------------------------
+13: Clean up
+-------------------------------------------------------------------------------
+
+ cd ${HOME}/pkgs/spider/src/spider*[0-9]
+ rm -rf cswstage
+ make clean
+
+-------------------------------------------------------------------------------
+14: Archive source code
+-------------------------------------------------------------------------------
+
+ cd ..
+ make pack
+ make clean
+
+-------------------------------------------------------------------------------
+15: Copy the new package to the installation area
+-------------------------------------------------------------------------------
+
+ cd pkgs/spider
+ cp spider-*.pkg.gz /export/medusa/newpkgs
+
+-------------------------------------------------------------------------------
+16: Copy the source code tarball to the holding area
+-------------------------------------------------------------------------------
+
+ cd src
+ cp spider-*.gz /export/medusa/src
+
+-------------------------------------------------------------------------------
+17: Notify package administrator
+-------------------------------------------------------------------------------
+
+ * Email phil at bolthole.com (Philip Brown) describing the update
+
+-----------------------------------------------------------------------------
Added: csw/mgar/pkg/spider/trunk/legacy/copyright
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/copyright (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/copyright 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,108 @@
+/*
+ * Copyright 1990 Heather Rose and Sun Microsystems, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the names of Donald Woods and Sun Microsystems not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Heather Rose and Sun Microsystems not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Heather Rose and Sun Microsystems make
+ * no representations about the suitability of this software for any purpose.
+ * It is provided "as is" without express or implied warranty.
+ *
+ * THE ABOVE-NAMED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT
+ * SHALL HEATHER ROSE OR SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ *
+ * Author:
+ * Heather Rose
+ * hrose at sun.com
+ *
+ * Sun Microsystems, Inc.
+ * 2550 Garcia Avenue
+ * Mountain View, CA 94043
+ */
+
+/*
+ * Copyright 1990 David Lemke and Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Network Computing Devices not be
+ * used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. Network Computing
+ * Devices makes no representations about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied
+ * warranty.
+ *
+ * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+ * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
+ * OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:
+ * Dave Lemke
+ * lemke at ncd.com
+ *
+ * Network Computing Devices, Inc
+ * 350 North Bernardo Ave
+ * Mountain View, CA 94043
+ *
+ * @(#)copyright.h 2.2 90/04/27
+ *
+ */
+
+/*
+% Copyright (c) 1989, Donald R. Woods and Sun Microsystems, Inc.
+%
+% Permission to use, copy, modify, distribute, and sell this software and its
+% documentation for any purpose is hereby granted without fee, provided that
+% the above copyright notice appear in all copies and that both that copyright
+% notice and this permission notice appear in supporting documentation, and
+% that the names of Donald Woods and Sun Microsystems not be used in
+% advertising or publicity pertaining to distribution of the software without
+% specific, written prior permission. Donald Woods and Sun Microsystems make
+% no representations about the suitability of this software for any purpose.
+% It is provided "as is" without express or implied warranty.
+%
+% THE ABOVE-NAMED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+% INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT
+% SHALL DONALD WOODS OR SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+% CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+% DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+% TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+% OF THIS SOFTWARE.
+%
+% History: Spider is a solitaire card game that can be found in various books
+% of same; the rules are presumed to be in the public domain. The author's
+% first computer implementation was on the Stanford Artificial Intelligence Lab
+% system (SAIL). It was later ported to the Xerox Development Environment.
+% The card images are loosely based on scanned-in images but were largely
+% redrawn by the author with help from Larry Rosenberg.
+%
+% This program is written entirely in NeWS and runs on OPEN WINDOWS 1.0.
+% It could be made to run much faster if parts of it were written in C, using
+% NeWS mainly for its display and input capabilities, but that is left as an
+% exercise for the reader. Spider may also run with little or no modification
+% on subsequent releases of OPEN WINDOWS, but no guarantee is made on this
+% point (nor any other; see above!). To run Spider, feed this file to 'psh'.
+%
+% Author: Don Woods
+% woods at sun.com
+%
+% Sun Microsystems, Inc.
+% 2550 Garcia Avenue
+% Mountain View, CA 94043
+*/
Added: csw/mgar/pkg/spider/trunk/legacy/depend
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/depend (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/depend 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1 @@
+P CSWcommon
Added: csw/mgar/pkg/spider/trunk/legacy/pkginfo
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/pkginfo (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/pkginfo 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,9 @@
+PKG=CSWspider
+NAME=spider - Solitaire Card Game
+VERSION=1.1.1,REV=2006.11.18
+ARCH=i386
+CATEGORY=application
+CSW_CATEGORY="fun, user"
+VENDOR=ftp://ftp.uu.net/usenet/comp.sources.x/ - packaged for CSW by C. Jeffery Small
+HOTLINE=http://www.blastwave.org/bugtrack/
+EMAIL=jeff at blastwave.org
Added: csw/mgar/pkg/spider/trunk/legacy/prototype
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/prototype (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/prototype 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,169 @@
+i pkginfo
+i copyright
+i depend
+d none /opt/csw/share 0755 root bin
+d none /opt/csw/share/man 0755 root bin
+d none /opt/csw/share/man/man6 0755 root bin
+f none /opt/csw/share/man/man6/spider.6 0644 root bin
+d none /opt/csw/share/spider 0755 root bin
+d none /opt/csw/share/spider/help 0755 root bin
+f none /opt/csw/share/spider/help/doc.controls 0644 root bin
+f none /opt/csw/share/spider/help/doc.examples 0644 root bin
+f none /opt/csw/share/spider/help/doc.intro 0644 root bin
+f none /opt/csw/share/spider/help/doc.misc 0644 root bin
+f none /opt/csw/share/spider/help/doc.rules 0644 root bin
+f none /opt/csw/share/spider/help/doc.summary 0644 root bin
+d none /opt/csw/share/spider/games 0755 root bin
+f none /opt/csw/share/spider/games/README 0644 root bin
+f none /opt/csw/share/spider/games/1000.001 0644 root bin
+f none /opt/csw/share/spider/games/1000.002 0644 root bin
+f none /opt/csw/share/spider/games/1000.003 0644 root bin
+f none /opt/csw/share/spider/games/1000.004 0644 root bin
+f none /opt/csw/share/spider/games/1000.005 0644 root bin
+f none /opt/csw/share/spider/games/1000.006 0644 root bin
+f none /opt/csw/share/spider/games/1000.007 0644 root bin
+f none /opt/csw/share/spider/games/1000.008 0644 root bin
+f none /opt/csw/share/spider/games/1000.009 0644 root bin
+f none /opt/csw/share/spider/games/1000.010 0644 root bin
+f none /opt/csw/share/spider/games/1000.011 0644 root bin
+f none /opt/csw/share/spider/games/1000.012 0644 root bin
+f none /opt/csw/share/spider/games/1000.013 0644 root bin
+f none /opt/csw/share/spider/games/1000.014 0644 root bin
+f none /opt/csw/share/spider/games/1000.015 0644 root bin
+f none /opt/csw/share/spider/games/1000.016 0644 root bin
+f none /opt/csw/share/spider/games/1000.017 0644 root bin
+f none /opt/csw/share/spider/games/1000.018 0644 root bin
+f none /opt/csw/share/spider/games/1000.019 0644 root bin
+f none /opt/csw/share/spider/games/1000.020 0644 root bin
+f none /opt/csw/share/spider/games/1000.021 0644 root bin
+f none /opt/csw/share/spider/games/1000.022 0644 root bin
+f none /opt/csw/share/spider/games/1000.023 0644 root bin
+f none /opt/csw/share/spider/games/1000.024 0644 root bin
+f none /opt/csw/share/spider/games/1000.025 0644 root bin
+f none /opt/csw/share/spider/games/1000.026 0644 root bin
+f none /opt/csw/share/spider/games/1000.027 0644 root bin
+f none /opt/csw/share/spider/games/1000.028 0644 root bin
+f none /opt/csw/share/spider/games/1000.029 0644 root bin
+f none /opt/csw/share/spider/games/1000.030 0644 root bin
+f none /opt/csw/share/spider/games/1000.031 0644 root bin
+f none /opt/csw/share/spider/games/1000.032 0644 root bin
+f none /opt/csw/share/spider/games/1000.033 0644 root bin
+f none /opt/csw/share/spider/games/1000.034 0644 root bin
+f none /opt/csw/share/spider/games/1000.035 0644 root bin
+f none /opt/csw/share/spider/games/1000.036 0644 root bin
+f none /opt/csw/share/spider/games/1000.037 0644 root bin
+f none /opt/csw/share/spider/games/1000.038 0644 root bin
+f none /opt/csw/share/spider/games/1000.039 0644 root bin
+f none /opt/csw/share/spider/games/1000.040 0644 root bin
+f none /opt/csw/share/spider/games/1000.041 0644 root bin
+f none /opt/csw/share/spider/games/1000.042 0644 root bin
+f none /opt/csw/share/spider/games/1000.043 0644 root bin
+f none /opt/csw/share/spider/games/1000.044 0644 root bin
+f none /opt/csw/share/spider/games/1000.045 0644 root bin
+f none /opt/csw/share/spider/games/1000.046 0644 root bin
+f none /opt/csw/share/spider/games/1000.047 0644 root bin
+f none /opt/csw/share/spider/games/1000.048 0644 root bin
+f none /opt/csw/share/spider/games/1000.049 0644 root bin
+f none /opt/csw/share/spider/games/1000.050 0644 root bin
+f none /opt/csw/share/spider/games/1000.051 0644 root bin
+f none /opt/csw/share/spider/games/1000.052 0644 root bin
+f none /opt/csw/share/spider/games/1000.053 0644 root bin
+f none /opt/csw/share/spider/games/1000.054 0644 root bin
+f none /opt/csw/share/spider/games/1000.055 0644 root bin
+f none /opt/csw/share/spider/games/1000.056 0644 root bin
+f none /opt/csw/share/spider/games/1000.057 0644 root bin
+f none /opt/csw/share/spider/games/1000.058 0644 root bin
+f none /opt/csw/share/spider/games/1000.059 0644 root bin
+f none /opt/csw/share/spider/games/1000.060 0644 root bin
+f none /opt/csw/share/spider/games/1000.061 0644 root bin
+f none /opt/csw/share/spider/games/1000.062 0644 root bin
+f none /opt/csw/share/spider/games/1000.063 0644 root bin
+f none /opt/csw/share/spider/games/1000.064 0644 root bin
+f none /opt/csw/share/spider/games/1000.065 0644 root bin
+f none /opt/csw/share/spider/games/1000.066 0644 root bin
+f none /opt/csw/share/spider/games/1000.067 0644 root bin
+f none /opt/csw/share/spider/games/1000.068 0644 root bin
+f none /opt/csw/share/spider/games/1000.069 0644 root bin
+f none /opt/csw/share/spider/games/1000.070 0644 root bin
+f none /opt/csw/share/spider/games/1000.071 0644 root bin
+f none /opt/csw/share/spider/games/1000.072 0644 root bin
+f none /opt/csw/share/spider/games/1000.073 0644 root bin
+f none /opt/csw/share/spider/games/1000.074 0644 root bin
+f none /opt/csw/share/spider/games/1000.075 0644 root bin
+f none /opt/csw/share/spider/games/1000.076 0644 root bin
+f none /opt/csw/share/spider/games/1000.077 0644 root bin
+f none /opt/csw/share/spider/games/1000.078 0644 root bin
+f none /opt/csw/share/spider/games/1000.079 0644 root bin
+f none /opt/csw/share/spider/games/1000.080 0644 root bin
+f none /opt/csw/share/spider/games/1000.081 0644 root bin
+f none /opt/csw/share/spider/games/1000.082 0644 root bin
+f none /opt/csw/share/spider/games/1000.083 0644 root bin
+f none /opt/csw/share/spider/games/1000.084 0644 root bin
+f none /opt/csw/share/spider/games/1000.085 0644 root bin
+f none /opt/csw/share/spider/games/1000.086 0644 root bin
+f none /opt/csw/share/spider/games/1000.087 0644 root bin
+f none /opt/csw/share/spider/games/1000.088 0644 root bin
+f none /opt/csw/share/spider/games/1000.089 0644 root bin
+f none /opt/csw/share/spider/games/1000.090 0644 root bin
+f none /opt/csw/share/spider/games/1000.091 0644 root bin
+f none /opt/csw/share/spider/games/1000.092 0644 root bin
+f none /opt/csw/share/spider/games/1000.093 0644 root bin
+f none /opt/csw/share/spider/games/1000.094 0644 root bin
+f none /opt/csw/share/spider/games/1000.095 0644 root bin
+f none /opt/csw/share/spider/games/1000.096 0644 root bin
+f none /opt/csw/share/spider/games/1000.097 0644 root bin
+f none /opt/csw/share/spider/games/1000.098 0644 root bin
+f none /opt/csw/share/spider/games/1000.099 0644 root bin
+f none /opt/csw/share/spider/games/1000.100 0644 root bin
+f none /opt/csw/share/spider/games/1000.101 0644 root bin
+f none /opt/csw/share/spider/games/1000.102 0644 root bin
+f none /opt/csw/share/spider/games/1000.103 0644 root bin
+f none /opt/csw/share/spider/games/1000.104 0644 root bin
+f none /opt/csw/share/spider/games/1000.105 0644 root bin
+f none /opt/csw/share/spider/games/1000.106 0644 root bin
+f none /opt/csw/share/spider/games/1000.107 0644 root bin
+f none /opt/csw/share/spider/games/1000.108 0644 root bin
+f none /opt/csw/share/spider/games/1000.109 0644 root bin
+f none /opt/csw/share/spider/games/1000.110 0644 root bin
+f none /opt/csw/share/spider/games/1000.111 0644 root bin
+f none /opt/csw/share/spider/games/1000.112 0644 root bin
+f none /opt/csw/share/spider/games/1000.113 0644 root bin
+f none /opt/csw/share/spider/games/1000.114 0644 root bin
+f none /opt/csw/share/spider/games/1000.115 0644 root bin
+f none /opt/csw/share/spider/games/1000.116 0644 root bin
+f none /opt/csw/share/spider/games/1000.117 0644 root bin
+f none /opt/csw/share/spider/games/1000.118 0644 root bin
+f none /opt/csw/share/spider/games/1000.119 0644 root bin
+f none /opt/csw/share/spider/games/1000.120 0644 root bin
+f none /opt/csw/share/spider/games/1000.121 0644 root bin
+f none /opt/csw/share/spider/games/1000.122 0644 root bin
+f none /opt/csw/share/spider/games/1000.123 0644 root bin
+f none /opt/csw/share/spider/games/1000.124 0644 root bin
+f none /opt/csw/share/spider/games/1000.125 0644 root bin
+f none /opt/csw/share/spider/games/1000.126 0644 root bin
+f none /opt/csw/share/spider/games/1000.127 0644 root bin
+f none /opt/csw/share/spider/games/1000.128 0644 root bin
+f none /opt/csw/share/spider/games/1000.129 0644 root bin
+f none /opt/csw/share/spider/games/1000.130 0644 root bin
+f none /opt/csw/share/spider/games/1000.131 0644 root bin
+f none /opt/csw/share/spider/games/1000.132 0644 root bin
+f none /opt/csw/share/spider/games/1000.133 0644 root bin
+f none /opt/csw/share/spider/games/1000.134 0644 root bin
+f none /opt/csw/share/spider/games/1000.135 0644 root bin
+f none /opt/csw/share/spider/games/1000.136 0644 root bin
+f none /opt/csw/share/spider/games/1000.137 0644 root bin
+f none /opt/csw/share/spider/games/1000.138 0644 root bin
+f none /opt/csw/share/spider/games/1000.139 0644 root bin
+f none /opt/csw/share/spider/games/1000.140 0644 root bin
+f none /opt/csw/share/spider/games/1000.141 0644 root bin
+f none /opt/csw/share/spider/games/1000.142 0644 root bin
+f none /opt/csw/share/spider/games/1000.143 0644 root bin
+f none /opt/csw/share/spider/games/1000.144 0644 root bin
+f none /opt/csw/share/spider/games/1000.145 0644 root bin
+f none /opt/csw/share/spider/games/1000.146 0644 root bin
+f none /opt/csw/share/spider/games/1000.147 0644 root bin
+f none /opt/csw/share/spider/games/1000.148 0644 root bin
+f none /opt/csw/share/spider/games/1000.149 0644 root bin
+f none /opt/csw/share/spider/games/1000.150 0644 root bin
+d none /opt/csw/bin 0755 root bin
+f none /opt/csw/bin/spider 0755 root bin
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/CJSA.install
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/CJSA.install (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/CJSA.install 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,6 @@
+set -x
+make install
+make install.man
+make install.doc
+chown -R games.games /usr/local/Games/bin/spider
+chown -R games.games /usr/local/Games/lib/spider
Property changes on: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/CJSA.install
___________________________________________________________________
Added: svn:executable
+ *
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Imakefile
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Imakefile (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Imakefile 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,320 @@
+/**/# Run imake -DUseInstalled -I/usr/lib/X11/config to make a Makefile.
+/**/# This is an R4 style Imakefile, so will need the R4 config files to
+/**/# to make a Makefile. It also assume that X11 is installed in /usr/lib.
+
+ SHAR = shar -a
+ COMPRESS = compress
+ BTOA = btoa
+ SPLIT = split
+ CAT = cat
+/***** Note: probably want to define this to be something else *****/
+ HELPDIR = /usr/local/Games/lib/spider
+
+/***** Note: Used to over-ride some declarations in the default Imakefile
+ configurations. If you want to use some of these things, then
+ set OverrideDefs to YES below and change the corresponding
+ definitions to what you would like them to be below. Delete
+ or comment out those you do not wish to use *****/
+#ifndef OverrideDefs
+#define OverrideDefs YES
+#endif
+
+#if OverrideDefs
+
+# ifdef ManSuffix
+# undef ManSuffix
+# define ManSuffix 6
+# else
+# define ManSuffix 6
+# endif
+ MANSUFFIX = ManSuffix
+ MANDIR = /usr/local/Games/man/man$(MANSUFFIX)
+ BINDIR = /usr/local/Games/bin
+ MKDIRHIER = /usr/openwin/bin/mkdirhier
+
+#endif /* OverrideDefs */
+
+/***** Note: if your OS or libc does not have usleep defined, set this
+ to YES. (SunOS is one that does have usleep in libc) *****/
+#ifndef NeedsLocalUsleep
+#define NeedsLocalUsleep NO
+#endif
+
+/***** Note: if your OS or libc does not have strdup defined, set this
+ to YES. (SunOS is one that does have strdup in libc) *****/
+#ifndef NeedsLocalStrdup
+#define NeedsLocalStrdup NO
+#endif
+
+/***** Note: only need XViewHasOlgx when using XView 2.0 or greater *****/
+#ifndef XViewNeedsOlgx
+#define XViewNeedsOlgx YES
+#endif
+
+/***** Note: cannot have CompileXlibOnly, CompileXView, and CompileXAW
+ all be true. Need to pick one *****/
+#ifndef CompileXlibOnly
+#define CompileXlibOnly NO
+#endif
+
+#ifndef CompileXView
+#define CompileXView NO
+#endif
+
+#ifndef CompileXAW
+#define CompileXAW YES
+#endif
+
+#if CompileXlibOnly
+# if CompileXView
+# undef CompileXView
+# endif
+# if CompileXAW
+# undef CompileXAW
+# endif
+#elif CompileXView
+# if CompileXAW
+# undef CompileXAW
+# endif
+#endif
+
+/***** Note: cannot have both Round Cards and Small Cards be true *****/
+#ifndef RoundCards
+#define RoundCards YES
+#endif
+
+#ifndef SmallCards
+#define SmallCards NO
+#endif
+
+#if SmallCards
+# if RoundCards
+# undef RoundCards
+# endif
+#endif
+
+#if CompileXView
+/**/# If these are not defined in the site.def file, define them now.
+/**/# set up compile time dependencies for XView clients.
+ # XVTOP = $(XVIEWHOME)
+ XVTOP = $(OPENWINHOME)
+ XVLIBSRC = $(XVTOP)/lib
+# if UseInstalled
+ DEPXVIEWLIB =
+ DEPOLGXLIB =
+# else
+ DEPXVIEWLIB = $(XVLIBSRC)/libxview.a
+# if XViewNeedsOlgx
+ DEPOLGXLIB = $(XVLIBSRC)/libolgx.a
+# else
+ DEPOLGXLIB =
+# endif
+# endif
+ XVIEWLIB = -L$(XVLIBSRC) -lxview
+# if XViewNeedsOlgx
+ OLGXLIB = -L$(XVLIBSRC) -lolgx
+# else
+ OLGXLIB =
+# endif
+#endif /* CompileXView */
+
+ KL_DIST = main.c
+#if CompileXlibOnly
+# if RoundCards
+ DEPLIBS = $(DEPXMULIB) $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XMULIB) $(XLIB)
+# else
+ DEPLIBS = $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XLIB)
+# endif
+ TKOBJS = main.o
+
+ TKSRCS = main.c
+
+ TKHEADERS =
+
+ TKBITMAPS =
+
+ TKDOCS =
+
+ TKDEFINES = -DKITLESS
+
+ TKINCLUDES =
+
+ TARGET = spider
+#endif /* CompileXlibOnly */
+
+ XVIEW_DIST = xv_ui.c xv_stubs.c xv_ui.h spider.info
+#if CompileXView
+# if RoundCards
+ DEPLIBS = $(DEPXVIEWLIB) $(DEPOLGXLIB) $(DEPXMULIB) $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XVIEWLIB) $(OLGXLIB) $(XMULIB) $(XLIB)
+# else
+ DEPLIBS = $(DEPXVIEWLIB) $(DEPOLGXLIB) $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XVIEWLIB) $(OLGXLIB) $(XLIB)
+# endif
+ TKOBJS = xv_ui.o xv_stubs.o
+
+ TKSRCS = xv_ui.c xv_stubs.c
+
+ TKHEADERS = xv_ui.h
+
+ TKBITMAPS =
+
+ TKDOCS = spider.info
+
+ TKDEFINES = -DXVIEW
+
+ TKINCLUDES = -I$(XVTOP)/include
+
+ TARGET = spider
+#endif /* CompileXView */
+
+ XAW_DIST = xaw_ui.c xaw_stubs.c xaw_ui.h
+#if CompileXAW
+ DEPLIBS = $(DEPXAWLIB) $(DEPXTOOLLIB) $(DEPXMULIB) $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XAWLIB) $(XTOOLLIB) $(XMULIB) $(XLIB)
+
+ TKOBJS = xaw_ui.o xaw_stubs.o
+
+ TKSRCS = xaw_ui.c xaw_stubs.c
+
+ TKHEADERS = xaw_ui.h
+
+ TKBITMAPS =
+
+ TKDOCS =
+
+ TKDEFINES = -DXAW
+
+ TKINCLUDES =
+
+ TARGET = spider
+#endif /* CompileXAW */
+
+BASE_OBJS = gfx.o spider.o events.o windows.o movelog.o util.o version.o
+OBJS = $(BASE_OBJS) $(TKOBJS)
+
+BASE_SRCS = gfx.c spider.c events.c windows.c movelog.c util.c version.c
+SRCS = $(BASE_SRCS) $(TKSRCS)
+
+BASE_HEADERS = globals.h defs.h assert.h
+HEADERS = $(BASE_HEADERS) $(TKHEADERS)
+
+BASE_BITMAPS = rank.bm suit.bm face.bm spider.bm cards.bm.aa cards.bm.ab
+BITMAPS = $(BASE_BITMAPS) $(TKBITMAPS)
+
+BASE_DOCS = doc.intro doc.rules doc.controls doc.examples doc.misc doc.summary
+DOCS = $(BASE_DOCS) $(TKDOCS)
+
+MISC = Imakefile Makefile.sunpro README spider.man
+
+ALL_SRCS = $(MISC) $(BASE_SRCS) $(BASE_HEADERS) $(BASE_BITMAPS) $(BASE_DOCS) \
+ $(XVIEW_DIST) $(XAW_DIST) $(KL_DIST)
+
+#if NeedsLocalUsleep
+# if NeedsLocalStrdup
+UTILDEFS = -DLOCAL_USLEEP -DLOCAL_STRDUP
+# else
+UTILDEFS = -DLOCAL_USLEEP
+# endif
+#else
+# if NeedsLocalStrdup
+UTILDEFS = -DLOCAL_STRDUP
+# else
+UTILDEFS =
+# endif
+#endif
+
+#if SmallCards
+DEFINES = $(TKDEFINES) -DSMALL_CARDS -DHELPDIR="\"$(HELPDIR)\"" $(UTILDEFS)
+#else
+# if RoundCards
+DEFINES = $(TKDEFINES) -DROUND_CARDS -DHELPDIR="\"$(HELPDIR)\"" $(UTILDEFS)
+# else
+DEFINES = $(TKDEFINES) -DHELPDIR="\"$(HELPDIR)\"" $(UTILDEFS)
+# endif
+#endif
+
+INCLUDES = -I. $(TKINCLUDES)
+
+CPPFLAGS =
+
+all:: $(TARGET)
+
+#if SmallCards
+all::
+ - at if [ ! -f cards.bm ]; then cat cards.bm.aa cards.bm.ab > cards.bm; fi
+#endif
+#if OverrideDefs
+MakeDirectories(install,$(BINDIR))
+MakeDirectories(install.man, $(MANDIR))
+#endif
+
+ComplexProgramTarget($(TARGET))
+
+#ifdef SparcArchitecture
+/**/# SunOS4.0.3 sparc optimizer slimes this file
+util.o: util.c
+ $(CC) $(CPPFLAGS) $(DEFINES) $(INCLUDES) -c util.c
+#endif
+
+version.o: version.c
+ $(CC) -DDATE="\"`date`\"" -c version.c
+
+MakeDirectories(install.doc,$(HELPDIR))
+InstallMultipleDest(install.doc,$(DOCS),$(HELPDIR))
+
+World::
+ @echo ""
+ @echo "Begin build of the $(TARGET) application for the"
+#if CompileXView
+ @echo "XView toolkit version."
+#else
+# if CompileXlibOnly
+ @echo "Xlib only, no toolkit version."
+# else
+# if CompileXAW
+ @echo "Athena Widget toolkit version."
+# endif
+# endif
+#endif
+#if SmallCards
+ @echo "Using cards with small bitmaps for a low resolution display."
+#else
+# if RoundCards
+ @echo "Using cards with normal bitmaps and optional rounded edges."
+# else
+ @echo "Using cards with normal bitmaps."
+# endif
+#endif
+ @echo ""
+ @date
+ @echo ""
+ $(MAKE) $(MFLAGS) clean
+ $(MAKE) $(MFLAGS) depend
+ $(MAKE) $(MFLAGS)
+ @echo ""
+ @date
+ @echo ""
+ @echo "Begin installation... "
+ $(MAKE) $(MFLAGS) -k install
+ $(MAKE) $(MFLAGS) -k install.doc
+ $(MAKE) $(MFLAGS) -k install.man
+ @echo ""
+ @date
+ @echo ""
+ @echo "Installation complete...now type 'make clean'"
+
+clean::
+ $(RM) spider.shar spider.a spider.a.a?a cards.bm
+
+shar::
+ $(SHAR) $(ALL_SRCS) > spider.shar
+
+dist:: shar
+ $(RM) spider.shar.Z
+ $(COMPRESS) spider.shar
+ $(CAT) spider.shar.Z | $(BTOA) > spider.a
+ $(SPLIT) spider.a spider.a.
+
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/MANIFEST
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/MANIFEST (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/MANIFEST 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,38 @@
+ File Name Archive # Description
+-----------------------------------------------------------
+ Imakefile 1
+ MANIFEST 1 This shipping list
+ Makefile.sunpro 1
+ README 1
+ assert.h 1
+ cards.bm.aa 9
+ cards.bm.ab 7
+ copyright.h 2
+ defs.h 2
+ doc.controls 2
+ doc.examples 8
+ doc.intro 1
+ doc.misc 1
+ doc.rules 1
+ doc.summary 1
+ events.c 2
+ face.bm 6
+ gfx.c 5
+ globals.h 1
+ main.c 1
+ movelog.c 3
+ rank.bm 1
+ spider.bm 1
+ spider.c 4
+ spider.info 2
+ spider.man 1
+ suit.bm 1
+ util.c 1
+ version.c 1
+ windows.c 1
+ xaw_stubs.c 2
+ xaw_ui.c 3
+ xaw_ui.h 1
+ xv_stubs.c 4
+ xv_ui.c 3
+ xv_ui.h 1
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,751 @@
+# Makefile generated by imake - do not edit!
+# $XConsortium: imake.c,v 1.89 94/08/12 00:45:51 gildea Exp $
+
+# -----------------------------------------------------------------------
+# Makefile generated from "Imake.tmpl" and <Imakefile>
+# $XConsortium: Imake.tmpl,v 1.219 94/05/13 15:58:31 matt Exp $
+# $SunSoft: @(#)Imake.tmpl 1.1 01/13/97 16:16:22 $
+#
+
+# **************************************************************************
+# NOTE:
+#
+# If the user does not define DESTDIR and/or BINDIR in the local Imakefile,
+# 'make install' will install the resultant binaries in /usr/openwin/bin.
+# This usually fails because of lack of write permission in that directory
+# for non-root users.
+#
+# The reason is that the default definition of ProjectRoot is /usr/openwin.
+# This value determines all other definitions, e.g. the binary, library and
+# manual page directories, etc. The destination directory, DESTDIR, is not
+# defined and BINDIR is defined as $(ProjectRoot)/bin in Project.tmpl.
+#
+# Care must be taken when changing ProjectRoot. It affects the inclusion
+# path of 'imake' in finding the *.cf, *.def, *.tmpl and *.rules files,
+# which are in /usr/openwin/lib/X11/config/, and the default inclusion path
+# of X11 header files and libraries. Therefore, if ProjectRoot is changed
+# not only these configuration files need to be copied to a proper location,
+# defined by IRULESRC, so 'make Makefile' can work properly, the header file
+# inclusion path, /usr/openwin/include, and the library search path,
+# /usr/openwin/lib, also need to be defined properly either in the local
+# Imakefile or one of the configuration files to avoid compilation errors
+# for programs that use X11 header files or libraries.
+#
+# Please refer to Project.tmpl, Imake.tmpl, site.def, etc. in
+# /usr/openwin/lib/X11/config/ for details.
+# **************************************************************************
+
+.SUFFIXES: .i
+
+# $XConsortium: Imake.cf,v 1.12 94/03/29 15:42:08 gildea Exp $
+# $SunSoft: @(#)Imake.cf 1.1 01/13/97 16:16:21 $
+
+# -----------------------------------------------------------------------
+# site-specific configuration parameters that need to come before
+# the platform-specific parameters - edit site.def to change
+
+# site: $XConsortium: site.sample,v 1.11 94/06/03 19:50:12 matt Exp $
+# site: $SunSoft: @(#)site.def 1.1 01/13/97 16:16:27$
+
+# -----------------------------------------------------------------------
+# platform-specific configuration parameters - edit sun.cf to change
+
+# platform: $XConsortium: sun.cf,v 1.133 94/07/08 12:23:12 gildea Exp $
+# platform: $SunSoft: @(#)sun.cf 1.11 05/04/01 13:49:33 $
+
+# operating system: SunOS 5.9
+
+# SUNSOFT SUNSOFT_LOADABLE
+
+# $XConsortium: svr4.cf,v 1.6 94/04/08 18:56:33 rws Exp $
+# $SunSoft: @(#)svr4.cf 1.1 01/13/97 16:16:29 $
+
+# $XConsortium: sv4Lib.rules,v 1.14 94/04/09 12:00:10 rws Exp $
+# $SunSoft: @(#)sv4Lib.rules 1.1 01/13/97 16:16:28 $
+
+# SUNSOFT SUNSOFT_LOADABLE
+
+ TROFFTOPS = /usr/lib/lp/postscript/dpost | /usr/lib/lp/postscript/postreverse -r
+
+# -----------------------------------------------------------------------
+# site-specific configuration parameters that go after
+# the platform-specific parameters - edit site.def to change
+
+# site: $XConsortium: site.sample,v 1.11 94/06/03 19:50:12 matt Exp $
+# site: $SunSoft: @(#)site.def 1.1 01/13/97 16:16:27$
+
+INSTALLFLAGS = -o bin -g bin -m 0644
+
+USRINCLUDEDIR = /usr/local/C/include
+USRINCDIR = /usr/local/C/include
+
+APPDEFDIR = /usr/local/X11/lib/app-defaults
+APPDEFDIR1 = /usr/openwin/lib/app-defaults
+APPDEFDIR2 = /usr/dt/app-defaults/C
+
+# -----------------------------------------------------------------------
+# Imake rules for building libraries, programs, scripts, and data files
+# rules: $XConsortium: Imake.rules,v 1.193 94/04/10 17:39:55 rws Exp $
+# rules: $SunSoft: @(#)Imake.rules 1.1 01/13/97 16:16:21 $
+
+# SUNSOFT SUNSOFT_LOADABLE
+
+ PATHSEP = /
+ SHELL = /bin/sh
+
+ TOP = .
+ CURRENT_DIR = .
+
+ IMAKE = imake
+ DEPEND = makedepend
+ MKDIRHIER = mkdirhier
+ CONFIGSRC = $(TOP)/config
+ IMAKESRC = $(CONFIGSRC)/imake
+ DEPENDSRC = $(CONFIGSRC)/makedepend
+ IXXSRC = $(UNSUPPORTEDSRC)/programs/ixx
+ IXX = ixx
+ IXXFLAGS = -s BaseObject -m TypeObj -r RequestObj -p Xf
+ IXXINCLUDES = -i '<X11/Fresco/enter-scope.h>'
+
+ INCROOT = /usr/openwin/include
+ USRLIBDIR = /usr/local/C/lib
+ SHLIBDIR = /usr/local/C/lib
+ LINTLIBDIR = $(USRLIBDIR)
+ MANPATH = /usr/local/X11/man
+ MANSOURCEPATH = /usr/local/X11/man/man
+ MANDIR = $(MANSOURCEPATH)1
+ LIBMANDIR = $(MANSOURCEPATH)3
+ FILEMANDIR = $(MANSOURCEPATH)$(FILEMANSUFFIX)
+
+ AR = /usr/ccs/bin/ar cq
+ BOOTSTRAPCFLAGS = -DSVR4
+ CC = gcc -fpcc-struct-return
+ AS = /usr/ccs/bin/as
+
+ COMPRESS = compress
+ CPP = /usr/ccs/lib/cpp $(STD_CPP_DEFINES)
+ PREPROCESSCMD = gcc -fpcc-struct-return -E $(STD_CPP_DEFINES)
+ INSTALL = /usr/local/bin/install
+ INSTALLFLAGS = -c
+ LD = /usr/ccs/bin/ld
+ LEX = /usr/ccs/bin/lex
+ LEXLIB = -ll
+ YACC = /usr/ccs/bin/yacc
+ CCYACC = /usr/ccs/bin/yacc
+ LINT = lint
+ LINTLIBFLAG = -y -o
+ LINTOPTS = -b -h -Xc
+ LN = ln -s
+ MAKE = /usr/ccs/bin/make
+ MV = mv
+ CP = cp
+
+ RM = rm -f
+ MANSUFFIX = 1
+ LIBMANSUFFIX = 3
+ FILEMANSUFFIX = 4
+ TROFF = troff -t -Tpost
+ MSMACROS = -ms
+ TBL = tbl
+ EQN = eqn
+
+ DVIPS = dvips
+ LATEX = latex
+
+ STD_INCLUDES = -I/usr/local/C/include -I/usr/sfw/include -I/opt/csw/include -I/opt/sfw/include
+ STD_CPP_DEFINES = -Dsun -Dsparc -DSVR4 -DSYSV
+ STD_DEFINES = -Dsun -Dsparc -DSVR4 -DSYSV
+ EXTRA_LOAD_FLAGS = -L/usr/local/C/lib -R/usr/local/C/lib -L/usr/sfw/lib -R/usr/sfw/lib -L/opt/csw/lib -R/opt/csw/lib -L/opt/sfw/lib -R/opt/sfw/lib
+ EXTRA_LDOPTIONS =
+ EXTRA_LIBRARIES = -lsocket -lnsl
+ TAGS = ctags
+
+ SHAREDCODEDEF =
+ SHLIBDEF =
+
+ SHLIBLDFLAGS = -G -z text -M mapfile
+
+ PICFLAGS = -fpic
+
+ CXXPICFLAGS = -K PIC
+
+ PROTO_DEFINES =
+
+ INSTPGMFLAGS = -s -o bin -g bin -m 0755
+
+ INSTBINFLAGS = -s -o bin -g bin -m 0755
+ INSTUIDFLAGS = -o bin -g bin -m 04755
+ INSTLIBFLAGS = -o bin -g bin -m 0644
+ INSTINCFLAGS = -o bin -g bin -m 0644
+ INSTMANFLAGS = -o bin -g bin -m 0644
+ INSTDATFLAGS = -o bin -g bin -m 0644
+ INSTKMEMFLAGS = -o bin -g kmem -m 02755
+
+ PROJECTROOT = /usr/openwin
+
+ TOP_INCLUDES = -I$(INCROOT)
+
+ CDEBUGFLAGS = -O
+ CCOPTIONS =
+
+ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES)
+ CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
+ LDPRELIB = -L$(USRLIBDIR)
+ LDPOSTLIB =
+ LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB)
+ CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB)
+
+ LDLIBS = $(LDPOSTLIB) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+
+ CCENVSETUP = LD_RUN_PATH=$(USRLIBDIR)
+ CCLINK = $(CCENVSETUP) $(CC)
+
+ CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIR)
+ CXXLINK = $(CXXENVSETUP) $(CXX)
+
+ LDSTRIPFLAGS = -x
+ LDCOMBINEFLAGS = -r
+ DEPENDFLAGS =
+
+ MACROFILE = sun.cf
+ RM_CMD = $(RM)
+
+ IMAKE_DEFINES =
+
+ IRULESRC = $(CONFIGDIR)
+ IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
+
+ ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Project.tmpl \
+ $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \
+ $(EXTRA_ICONFIGFILES)
+
+# -----------------------------------------------------------------------
+# X Window System Build Parameters and Rules
+# $XConsortium: Project.tmpl,v 1.242 94/04/13 14:58:40 rws Exp $
+# $SunSoft: @(#)Project.tmpl 1.6 05/30/02 19:12:02 $
+
+# SUNSOFT SUNSOFT_LOADABLE
+
+# -----------------------------------------------------------------------
+# X Window System make variables; these need to be coordinated with rules
+
+ BINDIR = /usr/local/X11/bin
+ BUILDINCROOT = $(TOP)
+ BUILDINCDIR = $(BUILDINCROOT)/X11
+ BUILDINCTOP = ..
+ BUILDLIBDIR = $(TOP)/usrlib
+ BUILDLIBTOP = ..
+ INCDIR = $(INCROOT)/X11
+ ADMDIR = /usr/adm
+ LIBDIR = /usr/local/X11/lib
+
+ FONTDIR = $(LIBDIR)/fonts
+ XINITDIR = $(LIBDIR)/xinit
+ XDMDIR = $(LIBDIR)/xdm
+ TWMDIR = $(LIBDIR)/twm
+ NLSDIR = $(LIBDIR)/nls
+ XLOCALEDIR = $(PROJECTROOT)/lib/locale
+ PEXAPIDIR = $(LIBDIR)/PEX
+ XAPPLOADDIR = $(LIBDIR)/app-defaults
+ FONTCFLAGS = -t
+
+ INSTAPPFLAGS = $(INSTDATFLAGS)
+
+ RGB = rgb
+ FONTC = bdftopcf
+ MKFONTDIR = mkfontdir
+
+ DOCUTILSRC = $(TOP)/doc/util
+ XDOCMACROS = $(DOCUTILSRC)/macros.t
+ XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
+ PROGRAMSRC = $(TOP)/programs
+ LIBSRC = $(TOP)/lib
+ FONTSRC = $(TOP)/fonts
+ INCLUDESRC = $(TOP)/X11
+ SERVERSRC = $(TOP)/programs/Xserver
+ CONTRIBSRC = $(TOP)/../contrib
+ UNSUPPORTEDSRC = $(TOP)/unsupported
+ DOCSRC = $(TOP)/doc
+ RGBSRC = $(TOP)/programs/rgb
+ BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
+ MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
+ FONTSERVERSRC = $(PROGRAMSRC)/xfs
+ FONTINCSRC = $(TOP)/include/fonts
+ EXTINCSRC = $(TOP)/include/extensions
+ TRANSCOMMSRC = $(LIBSRC)/xtrans
+ TRANS_INCLUDES = -I$(TRANSCOMMSRC)
+
+# $XConsortium: sunLib.tmpl,v 1.37 95/05/23 14:31:40 matt Exp $
+# SunSoft: @(#)sunLib.tmpl 1.4 05/30/02 17:00:20
+
+# $XConsortium: sv4Lib.tmpl,v 1.19 93/12/03 10:48:36 kaleb Exp $
+# $SunSoft: @(#)sv4Lib.tmpl 1.1 01/13/97 16:16:29 $
+
+XMULIBONLY = -lXmu -lm
+XMULIB = -lXmu -lm
+
+ SERVERLIB = /usr/openwin/server/lib
+
+ SERVERMODULES = /usr/openwin/server/modules
+
+ SERVERETC = /usr/openwin/server/etc
+
+SHLIBLDFLAGS = -G -z text -M mapfile
+PICFLAGS = -fpic
+MAPFILE = mapfile
+
+ XLIBSRC = $(LIBSRC)/X11
+
+SOXLIBREV = 4
+DEPXONLYLIB =
+XONLYLIB = -lX11
+
+LINTXONLY = $(LINTLIBDIR)/llib-lX11.ln
+
+ XLIBONLY = $(XONLYLIB)
+
+ XEXTLIBSRC = $(LIBSRC)/Xext
+
+SOXEXTREV = 0
+DEPEXTENSIONLIB =
+EXTENSIONLIB = -lXext
+
+LINTEXTENSION = $(LINTLIBDIR)/llib-lXext.ln
+
+LINTEXTENSIONLIB = $(LINTEXTENSION)
+ DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
+ XLIB = $(EXTENSIONLIB) $(XONLYLIB)
+ LINTXLIB = $(LINTXONLYLIB)
+
+ XAUTHSRC = $(LIBSRC)/Xau
+
+DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
+XAUTHLIB = -lXau
+
+LINTXAUTH = $(LINTLIBDIR)/llib-lXau.ln
+
+ XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+
+DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
+XDMCPLIB = -lXdmcp
+
+LINTXDMCP = $(LINTLIBDIR)/llib-lXdmcp.ln
+
+ XMUSRC = $(LIBSRC)/Xmu
+
+SOXMUREV = 4
+DEPXMULIB =
+XMULIB = -lXmu
+
+LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln
+
+XMULIB = -lXmu -lm
+
+ XCONFIGSRC = $(LIBSRC)/Xconfig
+
+SOXCONFIGREV = 0
+DEPXCONFIGLIB =
+XCONFIGLIB = -lXconfig
+
+LINTXCONFIG = $(LINTLIBDIR)/llib-lXconfig.ln
+
+ DGASRC = $(LIBSRC)/dga
+
+SODGAREV = 1
+DEPDGASRCLIB =
+DGASRCLIB = -ldga
+
+LINTDGASRC = $(LINTLIBDIR)/llib-ldga.ln
+
+ MISRC = $(SERVERSRC)/mi
+
+SOMIREV = 1
+DEPMILIB =
+MILIB = -lmi
+
+LINTMI = $(LINTLIBDIR)/llib-lmi.ln
+
+ MFBSRC = $(SERVERSRC)/mfb
+
+SOMFBREV = 1
+DEPMFBLIB =
+MFBLIB = -lmfb
+
+LINTMFB = $(LINTLIBDIR)/llib-lmfb.ln
+
+ CFBSRC = $(SERVERSRC)/cfb
+
+SOCFBREV = 1
+DEPCFBLIB =
+CFBLIB = -lcfb
+
+LINTCFB = $(LINTLIBDIR)/llib-lcfb.ln
+
+ OLDXLIBSRC = $(LIBSRC)/oldX
+
+SOOLDXREV = 6
+DEPOLDXLIB =
+OLDXLIB = -loldX
+
+LINTOLDX = $(LINTLIBDIR)/llib-loldX.ln
+
+ TOOLKITSRC = $(LIBSRC)/Xt
+
+SOXTREV = 4
+DEPXTOOLONLYLIB =
+XTOOLONLYLIB = -lXt
+
+LINTXTOOLONLY = $(LINTLIBDIR)/llib-lXt.ln
+
+ DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
+ XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
+ LINTXTOOLLIB = $(LINTXTOOLONLYLIB)
+
+ AWIDGETSRC = $(LIBSRC)/Xaw
+
+SOXAWREV = 5
+DEPXAWLIB =
+XAWLIB = -lXaw
+
+LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln
+
+ XTFSRC = $(TOP)/workInProgress/Xtf
+
+SOXTFREV = 0.7
+DEPXTFLIB =
+XTFLIB = -lXtf
+
+LINTXTF = $(LINTLIBDIR)/llib-lXtf.ln
+
+ FRESCOSRC = $(TOP)/workInProgress/Fresco
+
+SOFRESCOREV = 0.7
+DEPFRESCOLIB =
+FRESCOLIB = -lFresco
+
+LINTFRESCO = $(LINTLIBDIR)/llib-lFresco.ln
+
+ XILIBSRC = $(LIBSRC)/Xi
+
+SOXINPUTREV = 5
+DEPXILIB =
+XILIB = -lXi
+
+LINTXI = $(LINTLIBDIR)/llib-lXi.ln
+
+ XTESTLIBSRC = $(LIBSRC)/Xtst
+
+SOXTESTREV = 1
+DEPXTESTLIB =
+XTESTLIB = -lXtst
+
+LINTXTEST = $(LINTLIBDIR)/llib-lXtst.ln
+
+ PEXLIBSRC = $(LIBSRC)/PEX5
+
+SOPEXREV = 6
+DEPPEXLIB =
+PEXLIB = -lPEX5
+
+LINTPEX = $(LINTLIBDIR)/llib-lPEX5.ln
+
+SODPSREV = 5
+SOSERVERDPSREV = 5
+
+ DPSLIBSRC = $(LIBSRC)/DPS
+
+SODPSREV = 5
+DEPDPSLIB =
+DPSLIB = -lDPS
+
+LINTDPS = $(LINTLIBDIR)/llib-lDPS.ln
+
+ XIELIBSRC = $(LIBSRC)/XIE
+
+SOXIEREV = 6
+DEPXIELIB =
+XIELIB = -lXIE
+
+LINTXIE = $(LINTLIBDIR)/llib-lXIE.ln
+
+ PHIGSLIBSRC = $(LIBSRC)/PHIGS
+
+DEPPHIGSLIB = $(USRLIBDIR)/libphigs.a
+PHIGSLIB = -lphigs
+
+LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln
+
+DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a
+XBSDLIB = -lXbsd
+
+LINTXBSD = $(LINTLIBDIR)/llib-lXbsd.ln
+
+ ICESRC = $(LIBSRC)/ICE
+
+SOICEREV = 6
+DEPICELIB =
+ICELIB = -lICE
+
+LINTICE = $(LINTLIBDIR)/llib-lICE.ln
+
+ SMSRC = $(LIBSRC)/SM
+
+SOSMREV = 6
+DEPSMLIB =
+SMLIB = -lSM
+
+LINTSM = $(LINTLIBDIR)/llib-lSM.ln
+
+ FSLIBSRC = $(LIBSRC)/FS
+
+SOFSREV = 5
+DEPFSLIB =
+FSLIB = -lFS
+
+LINTFS = $(LINTLIBDIR)/llib-lFS.ln
+
+ FONTLIBSRC = $(LIBSRC)/font
+
+DEPFONTLIB = $(USRLIBDIR)/libfont.a
+FONTLIB = -lfont
+
+LINTFONT = $(LINTLIBDIR)/llib-lfont.ln
+
+ XRENDERLIBSRC = $(LIBSRC)/Xrender
+
+SOXRENDERREV = 1
+DEPXRENDERLIB =
+XRENDERLIB = -lXrender
+
+LINTXRENDER = $(LINTLIBDIR)/llib-lXrender.ln
+
+XRENDERLIB = -L/usr/openwin/sfw/lib -R/usr/openwin/lib:/usr/openwin/sfw/lib -lXrender
+
+ DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+ DEPLIBS1 = $(DEPLIBS)
+ DEPLIBS2 = $(DEPLIBS)
+ DEPLIBS3 = $(DEPLIBS)
+
+ CONFIGDIR = $(LIBDIR)/config
+
+# -----------------------------------------------------------------------
+# start of Imakefile
+
+# Run imake -DUseInstalled -I/usr/lib/X11/config to make a Makefile.
+# This is an R4 style Imakefile, so will need the R4 config files to
+# to make a Makefile. It also assume that X11 is installed in /usr/lib.
+
+ SHAR = shar -a
+ COMPRESS = compress
+ BTOA = btoa
+ SPLIT = split
+ CAT = cat
+
+ HELPDIR = /usr/local/Games/lib/spider
+
+ MANSUFFIX = 6
+ MANDIR = /usr/local/Games/man/man$(MANSUFFIX)
+ BINDIR = /usr/local/Games/bin
+ MKDIRHIER = /usr/openwin/bin/mkdirhier
+
+ KL_DIST = main.c
+
+ XVIEW_DIST = xv_ui.c xv_stubs.c xv_ui.h spider.info
+
+ XAW_DIST = xaw_ui.c xaw_stubs.c xaw_ui.h
+
+ DEPLIBS = $(DEPXAWLIB) $(DEPXTOOLLIB) $(DEPXMULIB) $(DEPXLIB)
+ LOCAL_LIBRARIES = $(XAWLIB) $(XTOOLLIB) $(XMULIB) $(XLIB)
+
+ TKOBJS = xaw_ui.o xaw_stubs.o
+
+ TKSRCS = xaw_ui.c xaw_stubs.c
+
+ TKHEADERS = xaw_ui.h
+
+ TKBITMAPS =
+
+ TKDOCS =
+
+ TKDEFINES = -DXAW
+
+ TKINCLUDES =
+
+ TARGET = spider
+
+BASE_OBJS = gfx.o spider.o events.o windows.o movelog.o util.o version.o
+OBJS = $(BASE_OBJS) $(TKOBJS)
+
+BASE_SRCS = gfx.c spider.c events.c windows.c movelog.c util.c version.c
+SRCS = $(BASE_SRCS) $(TKSRCS)
+
+BASE_HEADERS = globals.h defs.h assert.h
+HEADERS = $(BASE_HEADERS) $(TKHEADERS)
+
+BASE_BITMAPS = rank.bm suit.bm face.bm spider.bm cards.bm.aa cards.bm.ab
+BITMAPS = $(BASE_BITMAPS) $(TKBITMAPS)
+
+BASE_DOCS = doc.intro doc.rules doc.controls doc.examples doc.misc doc.summary
+DOCS = $(BASE_DOCS) $(TKDOCS)
+
+MISC = Imakefile Makefile.sunpro README spider.man
+
+ALL_SRCS = $(MISC) $(BASE_SRCS) $(BASE_HEADERS) $(BASE_BITMAPS) $(BASE_DOCS) \
+ $(XVIEW_DIST) $(XAW_DIST) $(KL_DIST)
+
+UTILDEFS =
+
+DEFINES = $(TKDEFINES) -DROUND_CARDS -DHELPDIR="\"$(HELPDIR)\"" $(UTILDEFS)
+
+INCLUDES = -I. $(TKINCLUDES)
+
+CPPFLAGS =
+
+all:: $(TARGET)
+
+install::
+ @case '${MFLAGS}' in *[i]*) set +e;; esac;
+ @for i in $(BINDIR); do if [ -d $(DESTDIR)$$i ]; then \
+ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i); fi \
+ done
+
+install.man::
+ @case '${MFLAGS}' in *[i]*) set +e;; esac;
+ @for i in $(MANDIR); do if [ -d $(DESTDIR)$$i ]; then \
+ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i); fi \
+ done
+
+ PROGRAM = $(TARGET)
+
+all:: $(TARGET)
+
+$(TARGET): $(OBJS) $(DEPLIBS)
+ $(RM) $@
+ $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)
+
+install:: $(TARGET)
+ @if [ -d $(DESTDIR)$(BINDIR) ]; then set +x; \
+ else (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); fi
+ $(INSTALL) $(INSTALLFLAGS) $(INSTPGMFLAGS) $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
+
+install.man:: $(TARGET).man
+ @if [ -d $(DESTDIR)$(MANDIR) ]; then set +x; \
+ else (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); fi
+ instman -$(MANSUFFIX) -M $(MANDIR) -N $(TARGET) $(TARGET).man
+
+depend::
+ $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)
+
+lint:
+ $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS)
+lint1:
+ $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
+
+clean::
+ $(RM) $(TARGET)
+
+# SunOS4.0.3 sparc optimizer slimes this file
+util.o: util.c
+ $(CC) $(CPPFLAGS) $(DEFINES) $(INCLUDES) -c util.c
+
+version.o: version.c
+ $(CC) -DDATE="\"`date`\"" -c version.c
+
+install.doc::
+ @case '${MFLAGS}' in *[i]*) set +e;; esac;
+ @for i in $(HELPDIR); do if [ -d $(DESTDIR)$$i ]; then \
+ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i); fi \
+ done
+
+install.doc:: $(DOCS)
+ @if [ -d $(DESTDIR)$(HELPDIR) ]; then set +x; \
+ else (set -x; $(MKDIRHIER) $(DESTDIR)$(HELPDIR)); fi
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \
+ for i in $(DOCS); do \
+ (set -x; $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $$i $(DESTDIR)$(HELPDIR)); \
+ done
+
+World::
+ @echo ""
+ @echo "Begin build of the $(TARGET) application for the"
+
+ @echo "Athena Widget toolkit version."
+
+ @echo "Using cards with normal bitmaps and optional rounded edges."
+
+ @echo ""
+ @date
+ @echo ""
+ $(MAKE) $(MFLAGS) clean
+ $(MAKE) $(MFLAGS) depend
+ $(MAKE) $(MFLAGS)
+ @echo ""
+ @date
+ @echo ""
+ @echo "Begin installation... "
+ $(MAKE) $(MFLAGS) -k install
+ $(MAKE) $(MFLAGS) -k install.doc
+ $(MAKE) $(MFLAGS) -k install.man
+ @echo ""
+ @date
+ @echo ""
+ @echo "Installation complete...now type 'make clean'"
+
+clean::
+ $(RM) spider.shar spider.a spider.a.a?a cards.bm
+
+shar::
+ $(SHAR) $(ALL_SRCS) > spider.shar
+
+dist:: shar
+ $(RM) spider.shar.Z
+ $(COMPRESS) spider.shar
+ $(CAT) spider.shar.Z | $(BTOA) > spider.a
+ $(SPLIT) spider.a spider.a.
+
+# -----------------------------------------------------------------------
+# common rules for all Makefiles - do not edit
+
+.c.i:
+ $(RM) $@
+ $(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@
+
+emptyrule::
+
+clean::
+ $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
+
+Makefile::
+ - at if [ -f Makefile ]; then set -x; \
+ $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
+ else exit 0; fi
+ $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+
+tags::
+ $(TAGS) -w *.[ch]
+ $(TAGS) -xw *.[ch] > TAGS
+
+man_keywords::
+ catman -M $(DESTDIR)$(MANPATH) -w
+
+# ----------------------------------------------------------------------
+# empty rules for directories that do not have SUBDIRS - do not edit
+
+install::
+ @echo "install in $(CURRENT_DIR) done"
+
+install.man::
+ @echo "install.man in $(CURRENT_DIR) done"
+
+Makefiles::
+
+includes::
+
+depend::
+
+# -----------------------------------------------------------------------
+# dependencies generated by makedepend
+
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile.sunpro
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile.sunpro (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/Makefile.sunpro 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,166 @@
+#/*
+# * Spider
+# *
+# * (c) Copyright 1989, Donald R. Woods and Sun Microsystems, Inc.
+# * (c) Copyright 1990, David Lemke and Network Computing Devices Inc.
+# *
+# * See copyright.h for the terms of the copyright.
+# *
+# * @(#)Makefile 2.1 90/04/27
+# *
+# */
+#
+# SunPro make Makefile for Spider
+#
+CFLAGS = -O
+# define ROUND_CARDS to make them round. this slows things down a bit,
+# but does make them prettier.
+CPPFLAGS = -DROUND_CARDS
+# if SMALL_CARDS is defined *don't* define ROUND_CARDS.
+#CPPFLAGS = -DSMALL_CARDS
+
+# round cards require Xmu.
+#LIBS = -lX11
+LIBS = -lXmu -lX11
+
+# set HELPDIR to be the place where the help files will be installed
+#HELPDIR = .
+HELPDIR = /u6/lemke/games/lib/spider
+# set BINDIR to be the place where the executables will be installed
+BINDIR = .
+
+CPPFLAGS += -DHELPDIR="\"$(HELPDIR)\""
+
+.KEEP_STATE:
+
+OBJS = main.o gfx.o spider.o events.o windows.o movelog.o util.o version.o
+
+SRCS = main.c gfx.c spider.c events.c windows.c movelog.c util.c version.c
+
+HEADERS = globals.h defs.h assert.h copyright.h
+
+XVIEW_OBJS = gfx.o spider.o events.o movelog.o util.o windows.o \
+ xv_ui.o xv_stubs.o version.o
+
+XVIEW_SRCS = gfx.c spider.c events.c movelog.c util.c windows.c \
+ xv_ui.c xv_stubs.c version.c
+
+XVIEW_HEADERS = ${HEADERS} xv_ui.h
+
+XVIEW_DIST = xv_ui.c xv_stubs.c xv_ui.h
+
+XAW_OBJS = gfx.o spider.o events.o movelog.o util.o windows.o \
+ xaw_ui.o xaw_stubs.o version.o
+
+XAW_SRCS = gfx.c spider.c events.c movelog.c util.c windows.c \
+ xaw_ui.c xaw_stubs.c version.c
+
+XAW_HEADERS = ${HEADERS} xaw_ui.h
+
+XAW_DIST = xaw_ui.c xaw_ui.h xaw_stubs.c
+
+BITMAPS = rank.bm suit.bm face.bm spider.bm cards.bm.aa cards.bm.ab
+
+DOCS = doc.intro doc.rules doc.controls doc.examples doc.misc spider.man \
+ spider.info doc.summary
+
+KL_BIN = spider
+XAW_BIN = spider
+XVIEW_BIN = spider
+
+# for make all, these need to be moved
+all:= KL_BIN = spider.kl
+all:= XAW_BIN = spider.xaw
+all:= XVIEW_BIN = spider.xview
+
+debug:= CFLAGS = -g
+debug:= CPPFLAGS += -DDEBUG
+debug:= LDFLAGS = -Bstatic
+debug:= MALLOC = /usr/lib/debug/malloc.o
+
+kl_spider:= CPPFLAGS += -DKITLESS
+
+xv_spider:= OBJS = $(XVIEW_OBJS)
+xv_spider:= SRCS = $(XVIEW_SRCS)
+#
+# NOTE: XVIEW 1.1 requires libolgx. 1.0.1, R4, and 1.0 don't.
+#
+xv_spider:= LIBS = -L$(OPENWINHOME)/usr/lib -lxview -lolgx -lX11
+xv_spider:= CPPFLAGS += -I$(OPENWINHOME)/include -DXVIEW
+
+xaw_spider:= OBJS = $(XAW_OBJS)
+xaw_spider:= SRCS = $(XAW_SRCS)
+xaw_spider:= LIBS = -lXaw -lXmu -lXt -lXext -lX11
+xaw_spider:= CPPFLAGS += -DXAW
+
+
+all: xaw_spider
+debug: xaw_spider
+
+xv_spider: obj
+ mv obj $(XVIEW_BIN)
+
+xaw_spider: obj
+ mv obj $(XAW_BIN)
+
+kl_spider: obj
+ mv obj $(KL_BIN)
+
+
+obj: $$(OBJS)
+ cc -o $@ $(LDFLAGS) $(OBJS) $(MALLOC) $(LIBS)
+
+.c.o:
+ cc $(CPPFLAGS) $(CFLAGS) -c $<
+
+# SunOS4.0.3 sparc optimizer slimes this file
+util.o: util.c
+ cc $(CPPFLAGS) -c $<
+# cc -g $(CPPFLAGS) -c $<
+
+gfx.o: cards.bm
+ cc $(CPPFLAGS) $(CFLAGS) -c $<
+
+version.o: FRC
+ cc -c -DDATE="\"`date`\"" $<
+
+cards.bm: cards.bm.aa cards.bm.ab
+ cat cards.bm.aa cards.bm.ab > $@
+
+install: all
+ mkdir $(HELPDIR)
+ cp $(DOCS) $(HELPDIR)
+ mkdir $(BINDIR)
+ mv $(BINDIR)/$(KL_BIN) $(BINDIR)/$(KL_BIN)-
+ mv $(BINDIR)/$(XAW_BIN) $(BINDIR)/$(XAW_BIN)-
+ mv $(BINDIR)/$(XVIEW_BIN) $(BINDIR)/$(XVIEW_BIN)-
+ cp $(KL_BIN) $(XAW_BIN) $(XVIEW_BIN) $(BINDIR)
+
+
+lint:
+ lint -abchxz $(SRCS)
+
+clean:
+ rm -f core *.o cards.bm.a? spider *~ ,* Part* spider.shar* spider.a spider.a.a?
+
+tags: $$(SRCS) $$(HEADERS) $$(XAW_DIST) $$(XVIEW_DIST)
+ ctags $(SRCS) $(HEADERS) $(XAW_DIST) $(XVIEW_DIST)
+
+kit:
+ split -675 cards.bm cards.bm.
+ makekit -m README Makefile.sunpro Imakefile $(DOCS) $(SRCS) \
+ $(HEADERS) $(XVIEW_DIST) $(XAW_DIST) $(BITMAPS)
+
+shar:
+ split -675 cards.bm cards.bm.
+ shar README Makefile.sunpro Imakefile $(DOCS) $(SRCS) $(HEADERS) \
+ $(XVIEW_DIST) $(XAW_DIST) $(BITMAPS) > spider.shar
+
+dist: shar
+ rm -f spider.shar.Z
+ compress spider.shar
+ cat spider.shar.Z | btoa > spider.a
+ split spider.a spider.a.
+
+FRC::
+
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/PATCH.zoo
===================================================================
(Binary files differ)
Property changes on: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/PATCH.zoo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/README
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/README (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/README 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,99 @@
+Patch level 1:
+ fixed bug, some problems with Imakefile.
+ fixed bug, can no longer see turned-over cards with middle mouse.
+ fixed bug, "f" will use the text field then selection for information.
+ added, patch_level variable to version.c file.
+
+Patch level 2:
+ added advice for choosing a move.
+ added "squish" feature for packing contiguous cards of same suit.
+ added looking in common places in XView for help files if not found.
+ bumped version number to 1.1 from 1.0.1.
+
+Spider is a challenging double decked solitaire game. Unlike most
+soilitaire games, skill is just as important as luck.
+
+The X11 version of spider is based on the NeWS version by Don Woods,
+and uses the same save file format and card images.
+
+The game has three interfaces: raw Xlib, Athena widget and XView. The
+Athena interface was built with the R4 toolkit, and may not work with
+earlier versions. The XView interface requires XView 1.0.1, which was
+shipped on the R4 tape.
+
+Installation:
+
+1. Decide which interfaces you wish to build, and set up the Imakefile
+ appropriately.
+
+2. Set the HELPDIR directory for 'make install' to
+ work correctly, and the help files to be found.
+
+3a. If you plan to run on a small display (less than ~900 pixels wide),
+ define SMALL_CARDS. These aren't as pretty, but its a lot
+ better than having to move the window while playing. (if your
+ display is less than ~500 pixels, you're SOL unless you want
+ to make some smaller cards.)
+
+3b. If you have a wider display, define ROUND_CARDS if you want it to look
+ prettier, at the cost of a considerable amount of performance
+ (although its still quite playable on a reasonable server).
+
+4. Type 'xmkmf' to build the Makefile, and type 'make'.
+
+If you are compiling multiple versions, be sure to do a "make clean"
+before doing a "make" of the next version. This will avoid mixing
+modules which have been compiled with different flags.
+
+Spider has been tested on the following:
+
+Hosts:
+ Sun 3 & 4 running 4.0.x, 4.1.x
+ Solbourne 5 running 4.0x
+ Decstation 3100 Ultrix 3.1
+ Decstation 3100 running OSF/1
+ Textronix 4319 running UTek 4.1
+
+ partially:
+ DG AViiON 5100 running DG/UX 4.20
+ (kitless only, and no usleep() since it doesn't have setitimer(2))
+
+Displays:
+ NCD 16, 19, 17c
+ Sun 3 & 4 running MIT X11R4
+ Sun 3 & 4 running X11/NeWS
+ Decstation 3100, running UWS 2.2
+ Decstation 3100, running MIT X11R4
+ Textronix 4319, running MIT X11R4
+
+Please send any bugs or comments to:
+
+Dave Lemke
+lemke at ncd.com
+uunet!lupine!lemke
+
+I'd especially like to see new interfaces to it, particularly
+non-Xt based toolkits like InterViews, OI or Andrew.
+
+Note on XView version:
+
+The supplied XView code will compile with either XView 1.0.1 (which is
+included on the X11R4 distribution) or XView 2.0 (which will be released
+later this summer).
+
+Before running the XView version of the tool, set the environment variable
+HELPDIR to the location of the spider.info file so spot help will work.
+For XView 2.0, HELPDIR becomes HELPPATH which works similarly to MANPATH.
+
+The XView version also has two extra command line args: -name and
+-resource_file. These allow you to have instances of the Spider tool
+which resources apply to and allow one to use a different resource
+file than the default. The default resource file for the XView version
+is $HOME/.Xdefaults. The spider.info file has more information on
+resources when you prompt it for spot help.
+
+Please send any bugs or comments about the XView front end to:
+
+Heather Rose
+hrose at sun.com
+sun!hrose
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/SPIDERv1r1p1a.zoo
===================================================================
(Binary files differ)
Property changes on: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/SPIDERv1r1p1a.zoo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/assert.h
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/assert.h (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/assert.h 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,17 @@
+/*
+ * Spider
+ *
+ * (c) Copyright 1989, Donald R. Woods and Sun Microsystems, Inc.
+ * (c) Copyright 1990, David Lemke and Network Computing Devices Inc.
+ *
+ * See copyright.h for the terms of the copyright.
+ *
+ * @(#)assert.h 2.1 90/04/25
+ *
+ */
+
+#ifdef DEBUG
+#define assert(ex) {if (!(ex)){(void)fprintf(stderr,"Assertion \"ex\" failed: file \"%s\", line %d\n", __FILE__, __LINE__);abort();}}
+#else
+#define assert(ex)
+#endif
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/copyright.h
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/copyright.h (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/copyright.h 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,108 @@
+/*
+ * Copyright 1990 Heather Rose and Sun Microsystems, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the names of Donald Woods and Sun Microsystems not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Heather Rose and Sun Microsystems not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Heather Rose and Sun Microsystems make
+ * no representations about the suitability of this software for any purpose.
+ * It is provided "as is" without express or implied warranty.
+ *
+ * THE ABOVE-NAMED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT
+ * SHALL HEATHER ROSE OR SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ *
+ * Author:
+ * Heather Rose
+ * hrose at sun.com
+ *
+ * Sun Microsystems, Inc.
+ * 2550 Garcia Avenue
+ * Mountain View, CA 94043
+ */
+
+/*
+ * Copyright 1990 David Lemke and Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Network Computing Devices not be
+ * used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. Network Computing
+ * Devices makes no representations about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied
+ * warranty.
+ *
+ * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+ * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
+ * OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author:
+ * Dave Lemke
+ * lemke at ncd.com
+ *
+ * Network Computing Devices, Inc
+ * 350 North Bernardo Ave
+ * Mountain View, CA 94043
+ *
+ * @(#)copyright.h 2.2 90/04/27
+ *
+ */
+
+/*
+% Copyright (c) 1989, Donald R. Woods and Sun Microsystems, Inc.
+%
+% Permission to use, copy, modify, distribute, and sell this software and its
+% documentation for any purpose is hereby granted without fee, provided that
+% the above copyright notice appear in all copies and that both that copyright
+% notice and this permission notice appear in supporting documentation, and
+% that the names of Donald Woods and Sun Microsystems not be used in
+% advertising or publicity pertaining to distribution of the software without
+% specific, written prior permission. Donald Woods and Sun Microsystems make
+% no representations about the suitability of this software for any purpose.
+% It is provided "as is" without express or implied warranty.
+%
+% THE ABOVE-NAMED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+% INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT
+% SHALL DONALD WOODS OR SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+% CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+% DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+% TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+% OF THIS SOFTWARE.
+%
+% History: Spider is a solitaire card game that can be found in various books
+% of same; the rules are presumed to be in the public domain. The author's
+% first computer implementation was on the Stanford Artificial Intelligence Lab
+% system (SAIL). It was later ported to the Xerox Development Environment.
+% The card images are loosely based on scanned-in images but were largely
+% redrawn by the author with help from Larry Rosenberg.
+%
+% This program is written entirely in NeWS and runs on OPEN WINDOWS 1.0.
+% It could be made to run much faster if parts of it were written in C, using
+% NeWS mainly for its display and input capabilities, but that is left as an
+% exercise for the reader. Spider may also run with little or no modification
+% on subsequent releases of OPEN WINDOWS, but no guarantee is made on this
+% point (nor any other; see above!). To run Spider, feed this file to 'psh'.
+%
+% Author: Don Woods
+% woods at sun.com
+%
+% Sun Microsystems, Inc.
+% 2550 Garcia Avenue
+% Mountain View, CA 94043
+*/
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/defs.h
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/defs.h (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/defs.h 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,241 @@
+/*
+ * Spider
+ *
+ * (c) Copyright 1989, Donald R. Woods and Sun Microsystems, Inc.
+ * (c) Copyright 1990, David Lemke and Network Computing Devices Inc.
+ *
+ * See copyright.h for the terms of the copyright.
+ *
+ * @(#)defs.h 2.2 90/04/30
+ *
+ */
+
+/*
+ * std includes and types
+ */
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xos.h>
+#include <stdio.h>
+#include "assert.h"
+#include "copyright.h"
+
+#ifdef DEBUG
+/*
+ * so i don't have to keep looking up my constants
+ */
+typedef enum {Spade, Heart, Diamond, Club} Suit;
+
+typedef enum {Ace, Deuce, Three, Four, Five, Six, Seven,
+ Eight, Nine, Ten, Jack, Queen, King} Rank;
+
+typedef enum {Faceup, Facedown, Joker} Type;
+
+#else DEBUG
+
+typedef char Suit;
+typedef char Rank;
+typedef char Type;
+
+#define Spade 0
+#define Heart 1
+#define Diamond 2
+#define Club 3
+
+#define Ace 0
+#define Deuce 1
+#define Three 2
+#define Four 3
+#define Five 4
+#define Six 5
+#define Seven 6
+#define Eight 7
+#define Nine 8
+#define Ten 9
+#define Jack 10
+#define Queen 11
+#define King 12
+
+#define Faceup 0
+#define Facedown 1
+#define Joker 2
+
+#endif DEBUG
+
+#define NUM_DECKS 2
+#define NUM_PILES 8
+#define NUM_STACKS 10
+#define NUM_RANKS 13
+#define NUM_SUITS 4
+#define CARDS_PER_DECK (NUM_RANKS * NUM_SUITS)
+#define NUM_CARDS (NUM_DECKS * CARDS_PER_DECK)
+
+/* diff locations for a cardlist */
+#define DECK 0
+
+#define PILE_1 1
+#define PILE_2 2
+#define PILE_3 3
+#define PILE_4 4
+#define PILE_5 5
+#define PILE_6 6
+#define PILE_7 7
+#define PILE_8 8
+
+/* convert a pile value to an array index */
+#define PILE_INDEX(i) ((i) - 1)
+
+#define STACK_1 11
+#define STACK_2 12
+#define STACK_3 13
+#define STACK_4 14
+#define STACK_5 15
+#define STACK_6 16
+#define STACK_7 17
+#define STACK_8 18
+#define STACK_9 19
+#define STACK_10 20
+
+/* convert a stack value to an array index */
+#define STACK_INDEX(i) ((i) - 11)
+
+#define LOC_BEFORE 1
+#define LOC_AFTER 2
+#define LOC_END 3
+#define LOC_START 4
+
+typedef struct _CardStruct {
+ struct _CardStruct *prev;
+ struct _CardStruct *next;
+ struct _CardList *list;
+ int x,y; /* location */
+ Suit suit;
+ Rank rank;
+ Type type;
+ int draw_count;
+} CardStruct, *CardPtr;
+
+#define CARDNULL ((CardPtr) 0)
+
+typedef struct _CardList {
+ CardPtr cards;
+ int place;
+ int card_delta; /* pixels between cards in stack */
+ int x, y;
+} CardListStruct, *CardList;
+
+#define CARDLISTNULL ((CardList) 0)
+
+#ifndef SMALL_CARDS
+#define CARD_DELTA 30
+#else
+#define CARD_DELTA 20
+#endif /* !SMALL_CARDS */
+
+
+#define IS_PILE(list) (((list) != CARDLISTNULL) && (list)->place < STACK_1)
+
+/* gfx defs */
+
+/* card info*/
+#ifndef SMALL_CARDS
+#define CARD_HEIGHT 123
+#define CARD_WIDTH 79
+
+#define FACECARD_WIDTH 47
+#define FACECARD_HEIGHT 92
+
+#define RANK_WIDTH 9
+#define RANK_HEIGHT 14
+
+#define RANK_LOC_X 4
+#define RANK_LOC_Y 7
+
+#define SMALL_LOC_X 4
+#define SMALL_LOC_Y (RANK_HEIGHT + RANK_LOC_Y + 3)
+
+#define MID_CARD_X (CARD_WIDTH/2)
+#define MID_CARD_Y (CARD_HEIGHT/2)
+
+#define CARD_COL1_X (3 * CARD_WIDTH/10)
+#define CARD_COL2_X (CARD_WIDTH/2)
+#define CARD_COL3_X (7 * CARD_WIDTH/10)
+
+/* 5 diff rows for the two main columns */
+/* 1 and 5 are top and bottom, 3 is the middle */
+/* 2 & 4 are for the 10 & 9 */
+#define CARD_ROW1_Y (CARD_HEIGHT/5)
+#define CARD_ROW2_Y (2 * CARD_HEIGHT/5)
+#define CARD_ROW3_Y (CARD_HEIGHT/2)
+#define CARD_ROW4_Y (CARD_HEIGHT - 2 * CARD_HEIGHT/5)
+#define CARD_ROW5_Y (CARD_HEIGHT - CARD_HEIGHT/5)
+
+/* between 1 & 3, 3 & 5 */
+#define CARD_SEVEN_Y (7 * CARD_HEIGHT/20)
+#define CARD_EIGHT_Y (CARD_HEIGHT - 7 * CARD_HEIGHT/20)
+
+/* between rows 1 & 2, 4 & 5 */
+#define CARD_TEN_Y1 (3 * CARD_HEIGHT/10)
+#define CARD_TEN_Y2 (CARD_HEIGHT - 3 * CARD_HEIGHT/10)
+
+/* card positioning */
+#define CARD_INSET_X 10
+#define CARD_INSET_Y (CARD_HEIGHT/8)
+
+#define STACK_WIDTH (CARD_WIDTH + 10)
+#define STACK_LOC_X(i) ((STACK_INDEX(i) * STACK_WIDTH) + CARD_INSET_X)
+#define STACK_LOC_Y (CARD_HEIGHT + 3 * CARD_INSET_Y)
+
+#define PILE_WIDTH STACK_WIDTH
+#define PILE_INSET_X (STACK_WIDTH + CARD_INSET_X + CARD_WIDTH)
+#define PILE_LOC_X(i) ((PILE_INDEX(i) * PILE_WIDTH) + PILE_INSET_X)
+#define PILE_LOC_Y (CARD_INSET_Y)
+
+#define DECK_X CARD_INSET_X
+#define DECK_Y CARD_INSET_Y
+
+#define TABLE_X 10
+#define TABLE_Y 10
+
+#define TABLE_WIDTH (STACK_WIDTH * NUM_STACKS + 2 * CARD_INSET_X)
+#define TABLE_HEIGHT (STACK_LOC_Y + 2 * CARD_HEIGHT)
+#define TABLE_BW 2
+
+/* pip info */
+#define PIP_WIDTH 10
+#define PIP_HEIGHT 10
+
+#else /* SMALL_CARDS */
+
+#define CARD_HEIGHT 60
+#define CARD_WIDTH 40
+
+/* card positioning */
+#define CARD_INSET_X 10
+#define CARD_INSET_Y (CARD_HEIGHT/8)
+
+#define STACK_WIDTH (CARD_WIDTH + 10)
+#define STACK_LOC_X(i) ((STACK_INDEX(i) * STACK_WIDTH) + CARD_INSET_X)
+#define STACK_LOC_Y (CARD_HEIGHT + 4 * CARD_INSET_Y)
+
+#define PILE_WIDTH STACK_WIDTH
+#define PILE_INSET_X (STACK_WIDTH + CARD_INSET_X + CARD_WIDTH)
+#define PILE_LOC_X(i) ((PILE_INDEX(i) * PILE_WIDTH) + PILE_INSET_X)
+#define PILE_LOC_Y (CARD_INSET_Y)
+
+#define DECK_X CARD_INSET_X
+#define DECK_Y CARD_INSET_Y
+
+#define TABLE_X 10
+#define TABLE_Y 10
+
+#define TABLE_WIDTH (STACK_WIDTH * NUM_STACKS + 2 * CARD_INSET_X)
+#define TABLE_HEIGHT (STACK_LOC_Y + 2 * CARD_HEIGHT)
+#define TABLE_BW 2
+
+#endif /* !SMALL_CARDS */
+
+#ifdef KITLESS
+#define MESSAGE_FONT "fixed"
+#define MESSAGE_X 10
+#endif /* KITLESS */
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.controls
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.controls (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.controls 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,117 @@
+ III. T H E S P I D E R P R O G R A M
+
+The stack of cards in the upper left of the Spider window represents
+the undealt cards (initially the full deck; later the "Hand"). The
+eight outlines to the right mark where the eight suits will go as you
+remove them from the tableau. The rest of the window is initially
+empty until you start a game.
+
+To start a game, press the [New Game] button or click either the left
+mouse button over the undealt cards. Playing the game is handled
+entirely within the main window; the control panel provides a few
+ancillary functions, described later. First, the main window:
+
+If you press the left mouse button anywhere within or below a column of
+cards, it says you want to move as many cards as possible from that
+column. If you then move the mouse to another column and let up on the
+button, the program moves as many cards as it can from the first column
+to the second. (If there is no such legal move, the program says so.)
+Note that, unless the destination column is empty (i.e., a "space"),
+there is at most one choice for the number of cards to move.
+
+If you instead use the second mouse button to select within a column,
+it says you want to move the card you're pointing at plus any cards
+covering it. If these cards cannot be moved as a unit (i.e., they are
+not a sequence within a suit), the program says so. Again, if you move
+the mouse to another column and release the button, the program moves
+as the selected cards to the destination. The only time you need to
+use this method (instead of using left) is if you're moving cards into
+a space AND you wish to move fewer than the maximum permitted.
+
+If you click the left button over a single column, the program tries to
+move the specified cards to "the obvious place" by trying the following
+choices, in order: (1) remove them if they form a completed suit, else
+(2) move them onto a card of the same suit, else (3) move them onto a
+card of a different suit, else (4) move them into a space. If it can't
+do any of these, it complains.
+
+You can also remove a completed suit by selecting all 13 cards (using
+the left button), moving the mouse into the region of outlines above
+the tableau, and releasing the button.
+
+To deal a new round, click any button on the facedown stack in the
+upper left. The window footer shows you how many more deals remain.
+Remember that all spaces must be filled before you can deal a new
+round.
+
+If you click with any mouse button in the outline region where the
+removed suits go, the program will tell you which suits (if any) have
+enough cards face-up to form a complete sequence of thirteen.
+
+The game also has a control panel for performing some less frequent
+operations. Many of these also have keyboard accelerators:
+
+[New Game], N or n: Throws away the current game and start a new one.
+
+[Backup: One Move], U or u: Undo the last move. If you undo a move
+that revealed a previously unknown card, the program will chastise you.
+
+[Backup: Start Over], A or a: Play the same hand again. This will
+restart the game with the initial deck, discarding what you've already
+done.
+
+[Backup: Replay], R or r: Show all the moves made so far. This can take
+a while, so any key or button press will abort it.
+
+[Expand], E or e: Expand column. This prompts the user to select a
+column, which is then displayed in textual form. This is useful when
+the window cannot be made larger and the columns are very large.
+
+[Locate], F or f: tries to find a specified card or cards among the
+face-up cards in the tableau. First specify the name of the card to
+look for by putting the rank and suit in the Name item. (The ranks are
+A, 2, 3, ..., 10, J, Q, or K; you can also use T for 10. Suits are C,
+D, H, and S. Lower-case is permitted.) If you omit the suit, [Locate]
+will look for all cards of the specific rank that are not already
+covered by a card of the next lower rank. (Such cards are called
+"unused", "free", or "available".) For example, if you want to move a
+9 out of some pile, you need either a space or a free 10 onto which to
+move it, so you could use [Locate] to find all free 10s.
+
+[Score], S or s: Shows the current score.
+
+[File] is a stack; the default is [Save in File], which writes a file
+containing the current state of the game, including the original deck and all
+the moves made so far. The name of the file is taken from the Name item.
+The file also includes a human-readable text representation of the current
+tableau, similar to those that appear in the examples below.
+
+[File: Resume from File] reads a file created by the [File: Save in File]
+command. The name of the file is taken from the Name item. It can also read
+various partial files; in particular, if all but the first line of the file
+has been deleted, it will restore the most recent position and, if possible,
+the original deck (in case you want to Start Over), but it will not be able
+to Back Up over the moves.
+
+[File: Resume from Selection] restores a position represented by the current
+text selection. This is useful for loading positions from section IV, below.
+
+The window also understands these additional keyboard commands:
+
+D or d: Deals a new round.
+
+L or l: Loads a saved game from the current PRIMARY selection. If the
+selection is a file name, it will be loaded from that file. Otherwise
+it will attempt to load the selection as position. This is useful for
+loading positions from the examples in section IV.
+
+W or w: Saves the current position in the filename contained in the
+PRIMARY selection.
+
+?: Gives a move suggestion. This isn't necessarily the best move, but
+may be helpful for beginners.
+
+#: Displays some game statatistics.
+
+Q: Quit.
+
Added: csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.examples
===================================================================
--- csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.examples (rev 0)
+++ csw/mgar/pkg/spider/trunk/legacy/spider1.1.1/doc.examples 2009-01-30 13:45:07 UTC (rev 2940)
@@ -0,0 +1,980 @@
+ IV. E X A M P L E S A N D C O N U N D R U M S
+
+In all the examples below, the tableau will be given here in the text as best
+as can be done within the limits of the character set. For those who want to
+see the positions more graphically via the program, each example also starts
+with a line of apparent garbage that, if selected, can be read using the
+[File: Resume from Selection] command to display the position. (The line is
+quite long and may wrap around onto more than one line when you display it;
+you have to select it all to restore the position.)
+
+Some of these examples are extremely complex. Novice players may wish to
+step through just the first example, to get an idea of how to play, and save
+the other examples for later. The final example is a deck that is especially
+easy to win with (unless you're trying to win with all eight suits still in
+the tableau), so you might try that one to boost your confidence if you're
+having a lot of trouble getting anywhere.
+
+===========================================================================
+
+J6m\ZM^3>gU82j]`LGMFl8o0WeDimHa;d^1QcHGKQdQAZ6l;oK/QmbbBhNhiMiWe=FOH<jJ]T^1URFDdGj^_7TRgK7lFY52 at aDCd1==>D >Kg74/^ YoT[/6 HCcF/P \MNXm/Q EK25/k 9^0M/c KF0 at W/N \JHY/: 9GLR/L \W8hH/2.
+
+Here, to start you off, is an example of the beginning of a game. We'll step
+through it and look at the rationale behind the recommended moves. Here's
+the initial tableau:
+
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- -- -- -- --
+ -- 10d As -- 3h 9s -- Jh Qh --
+ 6d 4s 3c 7c
+
+The two primary rules of thumb to bear in mind throughout the game, and
+particularly at the start, are (1) try to get a space, and (2) keep your
+options open. The first rule should be fairly clear; the second leads to a
+few common strategic decisions. First, given the choice, make a "natural"
+move instead of an "unnatural" one, where a natural move is one that brings
+together two cards of the same suit. This keeps our options open by allowing
+us to move the newly combined cards as a unit should we turn up an
+appropriate card. Second, given the choice, move a card (or pile) that has
+more than one place it can go. This keeps our options open by allowing us to
+move it to the other place if for some reason we want to dig into the pile
+sitting in the first location. Third, work from the top down. Thus we move
+a 9 onto a 10 before moving an 8 onto the 9 (unless the latter move is
+natural while the former is not), since once we move an unnatural 8 onto the
+9 we won't be able to move the 9. Now, with these ideas in mind, let's look
+at the play of the above tableau.
+
+Our highest-ranking move is Jack onto Queen, and it's also our only natural
+move, so it wins for sure. We move the Jh from column 8 to column 9, and in
+this particular game we chance to turn up a 6s in column 8. Now we have no
+natural moves. We could try for the space by moving the 6s to column 10, but
+that move isn't going to go away, so instead we go from the top down by
+moving the 10d from 2 to 9. This time we turn up a 4c. No hesitation about
+this one! We move the 3c from 7 to 2. (Note that we still have the 4s onto
+which we can, eventually, move the 3h, so we're not giving up our option of
+digging into pile 5. But even if we didn't have the other 4, making the
+natural move would be the better play.) In column 7 the card turned up is a
+2c, which we promptly move to column 2, turning up a 10h. The tableau is
+now:
+
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- -- -- -- --
+ -- 4c -- -- -- -- 10h 6s -- --
+ -- 3c As -- 3h 9s Qh --
+ 6d 2c 4s Jh 7c
+ 10d
+
+Having once again run out of natural moves, we revert to working from the top
+down, and move the 9s from 6 to 9. This also follows the rule of moving a
+pile that has more than one place to go; if we find ourselves interested in
+digging through column 9 we can move the 9s to column 7 instead. But for
+now, since column 7 looks like a more likely place to dig, we'll bury column
+9 a bit more. In column 6 we turn up a Kc. Since we have no place to move
+the 10d from column 9, we are unable to get pile 9 moved onto the newly
+revealed King. Them's the breaks.
+
+Continuing from the top down, we decide it's time to move a 6 onto the 7c.
+Which 6 should we move? Neither is natural, but the one in column 8 looks
+like a better one to move since we're only 3 cards away from getting a space
+in that column. So we move the 6s from 8 to 10 and turn up a 6c. We're
+getting low on things to do now; we can move the 3h or the As. Going by the
+top-down rule, we move the 3h from 5 to 4, turning up a 2h, which we move
+onto the 3h (now in column 4). This time we turn up a 9d:
+
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- -- -- -- --
+ -- -- -- -- 9d -- -- 6c -- --
+ -- 4c -- -- Kc 10h -- --
+ -- 3c As -- Qh --
+ 6d 2c 4s Jh 7c
+ 3h 10d 6s
+ 2h 9s
+
+We could now move the 9d from 5 to 7, but instead we choose to move the As
+from column 3, since there are two places to put it. Column 4 is already
+unnatural, so we'll move it there. The card turned up is the other As. We
+could move this Ace onto the other deuce, but this would lose us our option
+of moving the first Ace there should we want to dig into column 4, so we'll
+let the top-down rule take precedence and move the 9d. But let's not be
+hasty! Instead of moving the 9d from 5 to 7, we'll move the 9s from 9 to 7
+and then move the 9d from 5 to 9; this puts the 9d with a 10d, which it can't
+hurt to do. This time we turn up a Qh. Since we're so close to a space now,
+we keep going by moving the Qh from 5 to 6, turning up a 10d:
+
+ -- -- -- -- 10d -- -- -- -- --
+ -- -- -- -- -- -- -- -- --
+ -- -- -- -- -- -- 6c -- --
+ -- 4c As -- Kc 10h -- --
+ -- 3c -- Qh 9s Qh --
+ 6d 2c 4s Jh 7c
+ 3h 10d 6s
+ 2h 9d
+ As
+
+Only one move left to try: we move the As from 3 to 2, turning up a 7h. Once
+again, we shuffle things around a bit so keep as many piles natural as
+possible; we move the 6s from 10 to 3 and the 6c from 8 to 10, turning up a
+5d. We move the 5d from 8 to 1 (natural) and turn up a 3s:
+
+ -- -- -- -- 10d -- -- 3s -- --
+ -- -- -- -- -- -- -- --
+ -- -- 7h -- -- -- -- --
+ -- 4c 6s -- Kc 10h -- --
+ -- 3c -- Qh 9s Qh --
+ 6d 2c 4s Jh 7c
+ 5d As 3h 10d 6c
+ 2h 9d
+ As
+
+We have no more moves (aside from useless maneuvers such as moving the 9d
+from 9 to 5), so it's now time to deal a new round. We never did get a
+space, but we got two piles down to a single card each, so we are quite
+likely to get a space soon after the new deal. This game is going somewhat
+better than average and will very likely be won with proper play. If you
+actually do get a space in the first round, you're doing particularly well.
+
+===========================================================================
+
+1;]mcD96:2o6j1J7Fj>N/\j?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?P O DLV/7V[ N=^cfil 8_/R<3d9NC4I^SDY?F\bfKl16[ k;]>Hhn ak\k/Z\2O[<@FkLPWZ[;>CdINS 9A C L75/1;\aFJo.
+
+Now, for your first "Spider problem", here is a relatively simple position.
+In the tableau shown below, what should you do? First off, what are your
+options? On what should you base your choice? (After the tableau is the
+"solution", so don't read further until you're ready!)
+
+10h (sp) -- Ad -- Qc -- 3s Qh --
+ -- 7d -- Jh -- 2s --
+ -- 6d Kh 10d -- --
+ 8s 5d Qc 6c -- 7d
+ 7s Qs Jc 4c Qd 6d
+ 6s Js 10c 3d Jd 5d
+ 10d 9c 2d 10h 4d
+ 8c Js 3d
+ 7c 10s 2c
+ 6c 9s As
+ 5c 8h
+ 4c 7h
+ 3c 6h
+ 2c 5h
+ Ac 4s
+ Qd 3h
+ 10c 10s
+ 9c 8c
+ 8s 7h
+ 7s 6h
+ 6s 5h
+ 5s 4h
+ 4s 3h
+ 3s 2h
+ 2s Ah
+
+Solution:
+
+First, the options. There's no way to get through column 5 or 7 to turn up a
+new card. (This should be pretty obvious; we'll save detailed analyses of
+this sort of thing for cases where it's not as clear.) Nor does it do us any
+good to dig into column 4 or 6. We don't have any complete suits showing, so
+there's no way we can try to put one together. That leaves three fairly
+simple options: (1) we could move the 8-6s from column 3 into the space,
+turning up a new card, (2) we could dig through column 10 (moving the Ace
+onto a deuce, the 2c into the space, 5-3d onto the 6s in column 3, 2c out of
+the space and back onto the 5-3d, and finally the 7-6d into the space) and
+turn up a new card there, or (3) we could fill in the space and deal a new
+round.
+
+It's usually a good idea to turn up more cards when possible rather than bury
+everything under a new deal, so we'll discount the third option. That leaves
+us with the choice of which column to dig through, 3 or 10. The two are
+equally close to becoming new spaces (three face-down cards each), so that's
+not a consideration here. Let's consider what the face-down card might be
+that will be revealed. If it's a Jack, 4, or King, we can get back the space
+(which we'll have lost in the process of getting to the new card). If it's a
+9 or 8, we MIGHT get the space back right away; it depends on whether we
+moved the 8 (from column 3) or the 7 (from column 10) into the space.
+Looking at the tableau, we see there are five 8's visible, but only three
+9's. Thus it's more likely we'll turn up a 9, so we should go for column 3.
+(Sorry for all this gory detail, but this is after all intended as an
+introductory example.)
+
+So it looks like the best thing to do is move the 8-6s from column 3 into the
+space. But wait! Suppose the card turned up isn't a Jack, 4, King, or 9,
+and furthermore isn't an Ace or 5 (which we would be able to move elsewhere
+immediately)? Is there anything we can do ahead of time to hedge our bets?
+Yes! We can move the spade Ace from column 10 to column 5, then use the
+space to swap the deuces in columns 6 and 10 (move one deuce into the space,
+move the other deuce to the other column, and move the first deuce out of the
+space). Now column 10 contains just the 7 through deuce of diamonds, and if
+we chance to turn up an 8 in column 3 we can move the 7-2d onto it. Note
+that we have to do this BEFORE we move the 8-6s into the space, since we need
+the space to swap the deuces. In fact, in the game where this particular
+tableau arose, the card turned up in column 3 was the diamond 8. The
+preparations made in column 10 eventually produced not one but TWO spaces!
+(Play it out using the program and see for yourself.)
+
+===========================================================================
+
+?jT\Ne61gU/3`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?P LF^Q/lLQ7[]`8Qe^_ B\^</D:[l6^cO K/jc\D= <\e G`j/T;j_Qf9maEBo P/5Ql ^:[/eQWeU[>CO9M at 4I] Q=Lh/C;aS2o D0/b6;[MEXM.
+
+Turn up another face-down card WITHOUT dealing more cards or "using up" the
+space. (You may, of course, use the space, so long as you are sure you can
+get it back no matter what the card turned up turns out to be.) Note that
+there are enough clubs and hearts showing to form complete sets of those
+suits. Here's the tableau (again, the solution follows the tableau):
+
+ -- -- (sp) -- Qh -- -- -- -- --
+ -- -- Ks Jh -- Jc -- -- --
+ -- -- 2s 7h -- 8h -- -- Kh
+ -- -- As As 7h Kc -- Qc
+ Jc Kd 9h 9h Qc Kc Jh
+10h 9d 8d 8s Jd 7s Js
+ 9c 8d 7c 5s 6s 3d
+ 8s 7d 6c 4h Qh 2c
+ 7d 3h 5c 3c Js Ad
+ 6h 2h 4h 2c 8c 8h
+ 5d Ah 3s Ac
+ 3d 2d 2s 10s
+ 2d 5c 9s
+ Ah 6d 8c
+ 9s 5h 7s
+10c 6s
+ 5s
+ 4c
+
+Solution:
+
+First, we ascertain that we can't get a second space. The only place where
+we might be able to do so is column 5, and to move the Q-Jh we need to find a
+King that doesn't already have a Queen on it. (We'll call this a "free
+King", for short.) There are three free Kings, but the one in column 9 is
+useless since we need another free King to get to it, and those in columns 2
+and 4 are inaccessible since there are no free 3's. Hence, whatever we do,
+we have to do it using only the one space.
+
+Next, can we remove a complete set of clubs or hearts? Well, hearts are out,
+because the only Kh showing is in column 10, and the only 10h is in column 1,
+and getting to each of them requires that we move a 3 onto a free 4. Since
+there's only one free 4 (in column 8), we lose. How about clubs? They don't
+work out, either, but the proof is trickier. The only 9c is in column 1 and
+getting to it will require our sole free 4. Thus we can't use the Qc in
+column 10, and must instead use the Qc from column 8. To reach it we need a
+free 6; we have exactly one free 6, namely in column 9. We CAN get to this
+6, without losing the space, by a fairly convoluted sequence of moves. You
+may want to figure out how it can be done before reading on. . . . Ready?
+Okay, proceed as follows: 7h from 5 to 10, 10c from 1 to 5, 8c from 9 to 1,
+Js from 9 to 3 (into the space), 10c from 5 to 3, Jh from 5 to 9, 10c from 3
+to 9, Js from 3 to 5, 10c from 9 to 5, Q-Jh from 9 to 3, 7-6s from 9 to 4,
+and finally Q-Jh from 3 to 9, getting the space back.
+
+Having determined that we can, if desired, obtain a free 6, let's get back to
+the question of the clubs. The only 7c is in column 6, and getting to it
+requires a free 6. But we need the free 6 to get to the Qc as well. So we
+again lose. We are thus reduced to uncovering a card without removing any
+suits and without getting any more spaces. Which column is it to be? It
+obviously can't be a column containing a King, since (given that we can't
+remove any completed suits) the only place a King can go is into the space.
+And it can't be column 1 or 7, since that would require a free Queen, and
+there isn't any. So it must be column 6. We can get through that column by
+first digging through to the free 6 as described earlier, and then playing:
+5h from 6 to 4, 6d from 6 to 10, 5c from 6 to 10, 3-2s from 6 to 3, 4h from 6
+to 4, 3-2s from 3 to 4, 7-5c from 6 to 1. The tableau now looks like this:
+
+ -- -- (sp) -- Qh -- -- -- -- --
+ -- -- Ks Js -- Jc -- -- --
+ -- -- 2s 10c -- 8h -- -- Kh
+ -- -- As As 7h Kc -- Qc
+ Jc Kd 9h 9h Qc Kc Jh
+10h 9d 8d 8s Jd Qh Js
+ 9c 8d 7s 5s Jh 3d
+ 8s 7d 6s 4h 2c
+ 7d 3h 5h 3c Ad
+ 6h 2h 4h 2c 8h
+ 5d Ah 3s Ac 7h
+ 3d 2d 2s 10s 6d
+ 2d 9s 5c
+ Ah 8c
+ 9s 7s
+ 8c 6s
+ 7c 5s
+ 6c 4c
+ 5c
+
+Once again, it's time to make contingency plans. If we just move the 9h-8s
+onto the 10c and the As onto the 2s, we could be in trouble if we turn up a
+King. The lone space won't be sufficient for us to be able to move the stuff
+out of column 5 onto the King. So we undo some of what we did in the course
+of getting the free 6: Jh from 9 to 3, 10c from 5 to 3, Js from 5 to 9, 10c
+from 3 to 9, Jh from 3 to 5. While we're at it, it can't hurt to move the 4c
+from 8 to 1, and in a moment we'll match the 8s with a 9s, too. We now
+proceed: 8s from 6 to 3, 9h from 6 to 9, 8-5c from 1 to 9, 8s from 3 to 1,
+and finally As from 6 to 4. (Once again, preparation pays off; in the game
+where this took place, the card turned up was indeed a King.)
+
+===========================================================================
+
+?jT\Ne61gU/3`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?Pe:O`5J_0EZo at Uj?P LF^Q/lLR4Y^cDjm3 XCkS/QENCCAV`O 3 ]:na6K<1F[LAV =Dil1W9>CgJN b P 4:[/eQW8\afKl16 @J/8\QA7o279 C.
+
+Again, complete sets of clubs and hearts are available. Without dealing any
+more cards or turning up any face-down cards, remove a set of clubs AND a set
+of hearts (not necessarily in that order). Can you remove them in the other
+order?
+
+ -- -- 8c Ks Kh 5c Kc -- (sp) --
+ -- -- Qh Qh -- --
+ -- -- Jc Jh -- Kh
+ -- -- 10c 10c Kc Qc
+ Jc Kd 9c 9h Qc Jh
+10h 9d 8c 8d Jd Js
+ 9s 8d 7c 7d 10h 3d
+ 8s 7d 6c 6d 9h 2c
+ 7s 3h 5c 5d 8h Ad
+ 6s 2h 4c 4h 7h 8h
+ 5s Ah 3c 3d 6h 7h
+ 4s 2d 2c 2d 5h
+ 3c Ah Ac 4h
+ 2s 3h
+ As
+
+Solution:
+
+The clubs look like the better bet, since the Jack through Ace are already
+assembled and there's a King-Queen in column 8. Let's see what can be done.
+Since there are no free 9's or 6's, we have to remove the first completed
+suit without the benefit of any additional spaces. Since we are also short
+on free 4's, this means we can't use the Qc in column 10. That seems okay;
+the one in column 8 looks easier to get to anyhow. All we have to do is move
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list