http://www.tienza.es/crux/src/www.jwz.org/xscreensaver/xscreensaver-5.04.tar.gz
authorZygo Blaxell <zblaxell@hungrycats.org>
Mon, 2 Mar 2009 05:43:47 +0000 (00:43 -0500)
committerZygo Blaxell <zblaxell@faye.furryterror.org>
Fri, 8 Feb 2013 17:54:45 +0000 (12:54 -0500)
-rw-r--r-- 1 zblaxell zblaxell 5438905 Nov 13  2007 xscreensaver-5.04.tar.gz
1733ba7ee46b758453ef9ded0fc4ee084b7420a9  xscreensaver-5.04.tar.gz

75 files changed:
Makefile.in
OSX/._XScreenSaver.icns
OSX/Makefile
OSX/SaverTester.plist
OSX/XScreenSaver.plist
OSX/XScreenSaverGLView.m
OSX/XScreenSaverView.m
OSX/bindist.rtf
README
README.hacking
configure
configure.in
driver/Makefile.in
driver/XScreenSaver.ad.in
driver/XScreenSaver_ad.h
driver/demo-Gtk-conf.c
driver/demo-Xm.c
driver/lock.c
driver/splash.c
driver/subprocs.c
driver/xscreensaver.c
hacks/Makefile.in
hacks/abstractile.c [new file with mode: 0644]
hacks/abstractile.man [new file with mode: 0644]
hacks/compile_axp.com
hacks/compile_decc.com
hacks/config/README
hacks/config/abstractile.xml [new file with mode: 0644]
hacks/config/deco.xml
hacks/config/eruption.xml [changed mode: 0755->0644]
hacks/config/flag.xml
hacks/config/gears.xml
hacks/config/glcells.xml
hacks/config/lockward.xml [new file with mode: 0644]
hacks/config/moebiusgears.xml [new file with mode: 0644]
hacks/config/pong.xml
hacks/config/rd-bomb.xml
hacks/config/rdbomb.xml
hacks/config/voronoi.xml
hacks/config/xflame.xml
hacks/cwaves.c
hacks/deco.c
hacks/deco.man
hacks/fireworkx.c
hacks/glx/Makefile.in
hacks/glx/fps.c
hacks/glx/gears.c
hacks/glx/gears.man
hacks/glx/glcells.c
hacks/glx/glcells.man
hacks/glx/glknots.c
hacks/glx/involute.c [new file with mode: 0644]
hacks/glx/involute.h [new file with mode: 0644]
hacks/glx/lockward.c [new file with mode: 0644]
hacks/glx/lockward.man [new file with mode: 0644]
hacks/glx/moebiusgears.c [new file with mode: 0644]
hacks/glx/moebiusgears.man [new file with mode: 0644]
hacks/glx/molecule.c
hacks/glx/molecule.man
hacks/glx/pinion.c
hacks/glx/tube.c
hacks/glx/tube.h
hacks/glx/voronoi.c
hacks/pong.c
hacks/pong.man
hacks/rd-bomb.c
hacks/webcollage
hacks/xmatrix.c
po/Makefile.in.in
po/POTFILES.in
setup.com
utils/Makefile.in
utils/version.h
xscreensaver.spec
xscreensaver.xcodeproj/project.pbxproj

index c9ec0db3f8fd74cb0fd251b4417f135bd64d5ba6..8f74c1f20622b4c5d73c91409f8f88195531cdb8 100644 (file)
@@ -143,7 +143,7 @@ bump-version::
   if [ -f $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz ]; then                \
     echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz already exists.";\
   fi ;                                                                     \
-  echo -n "Bumping $$MAJOR.$$MINOR to $$MAJOR.$$NEW ($$D), ok? ";          \
+  /bin/echo -n "Bumping $$MAJOR.$$MINOR to $$MAJOR.$$NEW ($$D), ok? ";     \
   read line;                                                               \
   if [ "x$$line" != "xyes" -a  "x$$line" != "xy" ]; then                   \
     exit 1 ;                                                               \
@@ -152,7 +152,7 @@ bump-version::
   sed -e "s/\([0-9]\.[0-9][0-9]*\)/$$MAJOR.$$NEW/"                         \
       -e "s/\(([0-9][0-9]*-[A-Za-z][a-z][a-z]-[0-9][0-9][0-9]*\))/($$D)/"   \
         $$SRC > $$TMP ;                                                            \
-  echo -n "New version and date are ";                                     \
+  /bin/echo -n "New version and date are ";                                \
   sed -n "s/[^0-9]*\([0-9]\.[0-9][0-9]*\) (\([-A-Za-z0-9]*\)).*/\1, \2./p"  \
      $$TMP;                                                                \
   cat $$TMP > $$SRC ;                                                      \
@@ -170,7 +170,7 @@ version-date::
   D=`date '+%d-%b-%Y'`;                                                            \
   TMP=/tmp/bv.$$ ;                                                         \
   sed -e "s/([0-9][^()]*)/($$D)/" < $$SRC > $$TMP ;                        \
-  echo -n "Updating date in $$SRC to \"$$D\"... " ;                        \
+  /bin/echo -n "Updating date in $$SRC to \"$$D\"... " ;                   \
   if cmp -s $$SRC $$TMP ; then                                             \
     echo "unchanged." ;                                                            \
   else                                                                     \
@@ -184,7 +184,7 @@ update_spec_version::
        @S=$(srcdir)/xscreensaver.spec ;                                    \
        U=$(srcdir)/utils/version.h ;                                       \
        VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' < $$U` ;      \
-       echo -n "Updating $$S to \"$$VERS\"... " ;                          \
+       /bin/echo -n "Updating $$S to \"$$VERS\"... " ;                     \
        T=/tmp/xs.$$$$ ;                                                    \
        sed "s/^\(%define.version[^0-9]*\)\(.*\)/\1$$VERS/"                 \
          < $$S > $$T ;                                                     \
@@ -300,14 +300,14 @@ www::
   fi ;                                                                     \
   chmod a-w $$NAME ;                                                       \
   if [ -f $$DNAME ]; then                                                  \
-    echo -n "WARNING: $$DNAME already exists!  Overwrite? ";               \
+    /bin/echo -n "WARNING: $$DNAME already exists!  Overwrite? ";          \
     read line;                                                             \
     if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then                  \
       exit 1 ;                                                                     \
     fi ;                                                                   \
   fi ;                                                                     \
   if [ -f $$DNAME2 ]; then                                                 \
-    echo -n "WARNING: $$DNAME2 already exists!  Overwrite? ";              \
+    /bin/echo -n "WARNING: $$DNAME2 already exists!  Overwrite? ";         \
     read line;                                                             \
     if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then                  \
       exit 1 ;                                                                     \
@@ -325,7 +325,7 @@ www::
   echo '' ;                                                                \
                                                                            \
   OLDEST=`ls xscreensaver*.tar.gz | head -1` ;                             \
-  echo -n "Delete $$DEST/$$OLDEST? ";                                      \
+  /bin/echo -n "Delete $$DEST/$$OLDEST? ";                                 \
   read line;                                                               \
   if [ "x$$line" = "xyes" -o "x$$line" = "xy" ]; then                      \
     set -x ;                                                               \
@@ -343,7 +343,7 @@ www::
   cvs diff -U0 changelog.html ;                                                    \
   set +x ;                                                                 \
                                                                            \
-  echo -n "Ok? ";                                                          \
+  /bin/echo -n "Ok? ";                                                     \
   read line;                                                               \
   if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then                            \
     exit 1 ;                                                               \
@@ -370,7 +370,7 @@ check_years::
 
 count::
        @ \
-  echo -n "Current hack count: " ; \
+  /bin/echo -n "Current hack count: " ; \
   ( ( cd hacks;     make -s INSTALL=true install-program install-scripts ) ; \
     ( cd hacks/glx; make -s INSTALL=true install-program ) ) | \
     grep true | \
index efc1fbf027c2420b1a311c59a152b8afa289a35c..4ec02b270045e5c5d5031f8f1541f0ba26027fd1 100644 (file)
Binary files a/OSX/._XScreenSaver.icns and b/OSX/._XScreenSaver.icns differ
index f57fcb1cb4092f68eae32d41f146a84a438188be..3f847f0575569c768540f2571f68b6ad11064adc 100644 (file)
@@ -20,9 +20,14 @@ distdepend:: update_plist_version
 debug:
        cd ..; xcodebuild -target $(XCODE_TARGET) -configuration Debug   build
 
-release:
+release::
        cd ..; xcodebuild -target $(XCODE_TARGET) -configuration Release build
 
+release:: sign
+
+sign:
+       codesign -vfs 'Jamie Zawinski' build/Release/*.saver
+
 echo_tarfiles:
        @echo `find . \
          \( \( -name '.??*' -o -name build -o -name CVS -o -name '*~*' \
@@ -38,7 +43,7 @@ update_plist_version:
   V=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' $$SRC` ;                \
   T=/tmp/xs.$$$$ ;                                                           \
   for S in XScreenSaver.plist SaverTester.plist ; do                         \
-    echo -n "Updating version number in $$S to \"$$V\"... " ;                \
+    /bin/echo -n "Updating version number in $$S to \"$$V\"... " ;           \
     KEYS="CFBundleVersion|CFBundleShortVersionString" ;                              \
     perl -0777 -pne                                                          \
       "s@(<key>($$KEYS)</key>\s*<string>)[^<>]+(</string>)@\$${1}$$V\$${3}@g" \
index 0b6c514f8be4f4f0e5eda2a00a956e9d3f2e789a..cba2d95cc8167bb825796cd52789e27a7d3a74fa 100644 (file)
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
-       <string>5.03</string>
+       <string>5.04</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>5.03</string>
+       <string>5.04</string>
        <key>LSMinimumSystemVersion</key>
        <string>10.4.0</string>
        <key>NSMainNibFile</key>
index 250279305882079caa41550bb1e971bd4fe80089..1d327d77a272aecab0a1826abc7c1bf555240464 100644 (file)
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>5.03</string>
+       <string>5.04</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>5.03</string>
+       <string>5.04</string>
        <key>LSMinimumSystemVersion</key>
        <string>10.4.0</string>
        <key>NSMainNibFile</key>
index 8d17eb64065f38298c2d1bf13204c6cb9370fb6b..265654a1e9b95c54e62b2aa83a91f38f9241f6a3 100644 (file)
@@ -156,8 +156,10 @@ init_GL (ModeInfo *mi)
   // Enable multi-threading, if possible.  This runs most OpenGL commands
   // and GPU management on a second CPU.
   {
+#   ifndef  kCGLCEMPEngine
+#    define kCGLCEMPEngine 313  // Added in MacOS 10.4.8 + XCode 2.4.
+#   endif
     CGLContextObj cctx = CGLGetCurrentContext();
-#   define kCGLCEMPEngine 313  // #### new in MacOS 10.4.8 + XCode 2.4
     CGLError err = CGLEnable (cctx, kCGLCEMPEngine);
     if (err != kCGLNoError) {
       NSLog (@"enabling multi-threaded OpenGL failed: %d", err);
index 2d60982d4e69b6355084b79ab12f11b9bb3a2c7b..6caf2e8cbf5a45e0beca364f004814de154822e9 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2006, 2007 Jamie Zawinski <jwz@jwz.org>
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
@@ -313,7 +313,18 @@ add_default_options (const XrmOptionDescRec *opts,
     XClearWindow (xdpy, xwindow);
     
     [[self window] setAcceptsMouseMovedEvents:YES];
-    
+
+    /* In MacOS 10.5, this enables "QuartzGL", meaning that the Quartz
+       drawing primitives will run on the GPU instead of the CPU.
+       It seems like it might make things worse rather than better,
+       though...  Plus it makes us binary-incompatible with 10.4.
+
+# if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+    [[self window] setPreferredBackingLocation:
+                     NSWindowBackingLocationVideoMemory];
+# endif
+     */
+
     /* Kludge: even though the init_cb functions are declared to take 2 args,
       actually call them with 3, for the benefit of xlockmore_init() and
       xlockmore_setup().
index b9e13eef10ecad1be9ecf45250db5cf1e82e930e..e269d761db75e1190d5644eb0f6e278a362c2619 100644 (file)
@@ -15,7 +15,7 @@ XScreenSaver
 \f1\b0 \
 by Jamie Zawinski \uc0\u8232 and many others\
 \
-version 5.03 \uc0\u8232 17-Jul-2007\
+version 5.04 \uc0\u8232 13-Nov-2007\
 \
 {\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\
 \pard\pardeftab720\li720
diff --git a/README b/README
index 5fbf2300eb6bc86a8ff9d6ddd8ddf1e2d64f1196..9d5a60b67efff0a0e308069f57f5d49e36a68ee9 100644 (file)
--- a/README
+++ b/README
@@ -25,7 +25,7 @@ To compile on a Unix system with X11:
 
 To compile on MacOS X:
 
-    Use the included XCode project.  Requires XCode 2.2 and MacOS X 10.4.0
+    Use the included XCode project.  Requires XCode 2.4 and MacOS X 10.4.0
     or newer.
 
 Interested in writing a new screen saver?
@@ -38,6 +38,17 @@ XScreenSaver has an extensive manual -- please read it!
 
 ===============================================================================
 
+Changes since 5.03:   * Fixed a possible crash in the unlock dialog (more
+                        fallout from the recent PAM changes...)
+                      * New hacks, `moebiusgears', `abstractile', and
+                        `lockward'.
+                      * Rewrote `gears' to use better (involute) gear models,
+                        and to be more random.
+                      * Minor updates to `cwaves', `voronoi', `deco',
+                        `glcells', `rd-bomb', `fireworkx' and `webcollage'.
+                      * `pong' can now display the current time as the score.
+                      * `xmatrix -mode pipe' works better.
+                      * Minor tweaks for compilation on MacOS 10.5.0.
 Changes since 5.02:   * New hacks, `cwaves', `glcells', `m6502', and `voronoi'.
                       * Minor fixes to `bsod'.
                       * Fixed possible crash with PAM USB-dongle auth.
index 2b0db90af7cebe9386a807363a5db2da4320d622..28767a5fb7ebe30936a756769f168c73484c01bd 100644 (file)
@@ -157,7 +157,7 @@ The MacOS X Port
 
   To compile on MacOS, use the XCode project included in the source
   distribution.  You shouldn't need to have X11 installed, and shouldn't
-  need to run "configure" first.  MacOS 10.4.0 and XCode 2.2 or newer are
+  need to run "configure" first.  MacOS 10.4.0 and XCode 2.5 or newer are
   required.
 
 ==========================================================================
index 3bbf0ad3db081ebe8e29284d9853a0edfcddfa40..6260432c7b793fac80c99d8d168378e94208d3f9 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60.
+# Generated by GNU Autoconf 2.61.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -10,7 +10,8 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -19,10 +20,13 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
+
 
 
 # PATH needs CR
@@ -215,7 +219,7 @@ test \$exitcode = 0) || { (exit 1); exit 1; }
 else
   as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
@@ -233,7 +237,6 @@ IFS=$as_save_IFS
         # Try only shells that exist, to save several forks.
         if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
                { ("$as_shell") 2> /dev/null <<\_ASEOF
-# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -242,10 +245,12 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
 
 :
 _ASEOF
@@ -253,7 +258,6 @@ _ASEOF
   CONFIG_SHELL=$as_shell
               as_have_required=yes
               if { "$as_shell" 2> /dev/null <<\_ASEOF
-# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -262,10 +266,12 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
 
 :
 (as_func_return () {
@@ -512,19 +518,28 @@ else
   as_mkdir_p=false
 fi
 
-# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
-# systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  as_executable_p="test -x"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
 else
-  as_executable_p=:
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+       case $1 in
+        -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
 fi
-rm -f conf$$.file
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -565,36 +580,36 @@ ac_unique_file="driver/subprocs.c"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
-#if HAVE_STDINT_H
+#ifdef HAVE_STDINT_H
 # include <stdint.h>
 #endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
@@ -771,6 +786,7 @@ target_alias
 CC
 CFLAGS
 LDFLAGS
+LIBS
 CPPFLAGS
 CPP
 XMKMF'
@@ -879,10 +895,10 @@ do
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
     eval enable_$ac_feature=no ;;
 
   -docdir | --docdir | --docdi | --doc | --do)
@@ -898,10 +914,10 @@ do
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
     eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
@@ -1095,19 +1111,19 @@ do
   -with-* | --with-*)
     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
     eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
     eval with_$ac_package=no ;;
 
   --x)
@@ -1437,6 +1453,7 @@ Some influential environment variables:
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
@@ -1506,7 +1523,7 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.60
+generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -1520,7 +1537,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.60.  Invocation command line was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
 
@@ -2253,6 +2270,11 @@ fi
 ###############################################################################
 ###############################################################################
 
+# WTF!  autoconf emits this *way* too late.  Do it earlier.
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+
 # random compiler setup
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2391,7 +2413,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2431,7 +2453,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2488,7 +2510,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2529,7 +2551,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2587,7 +2609,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2631,7 +2653,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2772,7 +2794,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
 # so that the user can short-circuit this test for compilers unknown to
 # Autoconf.
-for ac_file in $ac_files
+for ac_file in $ac_files ''
 do
   test -f "$ac_file" || continue
   case $ac_file in
@@ -2800,6 +2822,12 @@ done
 test "$ac_cv_exeext" = no && ac_cv_exeext=
 
 else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
@@ -2811,8 +2839,6 @@ See \`config.log' for more details." >&2;}
 fi
 
 ac_exeext=$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
 
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
@@ -2990,27 +3016,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3065,27 +3074,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3120,27 +3112,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3176,27 +3151,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3312,27 +3270,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
@@ -3610,17 +3551,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3654,17 +3588,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -3729,17 +3656,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3773,17 +3693,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -3835,10 +3748,10 @@ main ()
 #ifndef __cplusplus
   /* Ultrix mips cc rejects this.  */
   typedef int charset[2];
-  const charset x;
+  const charset cs;
   /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *ccp;
-  char **p;
+  char const *const *pcpcc;
+  char **ppc;
   /* NEC SVR4.0.2 mips cc rejects this.  */
   struct point {int x, y;};
   static struct point const zero = {0,0};
@@ -3847,11 +3760,11 @@ main ()
      an arm of an if-expression whose if-part is not a constant
      expression */
   const char *g = "string";
-  ccp = &g + (g ? g-g : 0);
+  pcpcc = &g + (g ? g-g : 0);
   /* HPUX 7.0 cc rejects these. */
-  ++ccp;
-  p = (char**) ccp;
-  ccp = (char const *const *) p;
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
   { /* SCO 3.2v4 cc rejects this.  */
     char *t;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
@@ -3878,7 +3791,7 @@ main ()
     const int foo = 10;
     if (!foo) return 0;
   }
-  return !x[0] && !zero.x;
+  return !cs[0] && !zero.x;
 #endif
 
   ;
@@ -3898,27 +3811,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_c_const=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3972,27 +3868,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_c_inline=$ac_kw
 else
   echo "$as_me: failed program was:" >&5
@@ -4083,7 +3962,7 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
@@ -4241,7 +4120,7 @@ do
   for ac_prog in grep ggrep; do
   for ac_exec_ext in '' $ac_executable_extensions; do
     ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
+    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
     # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4323,7 +4202,7 @@ do
   for ac_prog in egrep; do
   for ac_exec_ext in '' $ac_executable_extensions; do
     ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
+    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
     # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4419,27 +4298,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4615,27 +4477,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -4698,27 +4543,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4754,17 +4582,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4860,27 +4681,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_mode_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4940,27 +4744,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_pid_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5020,27 +4807,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5098,27 +4868,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
@@ -5174,27 +4927,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_time=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5258,27 +4994,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_sys_wait_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5343,27 +5062,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -5436,27 +5138,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
@@ -5465,7 +5151,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext
   if test "${ac_cv_search_opendir+set}" = set; then
   break
@@ -5536,27 +5222,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
@@ -5565,7 +5235,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext
   if test "${ac_cv_search_opendir+set}" = set; then
   break
@@ -5624,27 +5294,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_gettimeofday_args=2
 else
   echo "$as_me: failed program was:" >&5
@@ -5679,27 +5332,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_gettimeofday_args=1
 else
   echo "$as_me: failed program was:" >&5
@@ -5814,27 +5450,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -5843,7 +5463,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -5927,27 +5547,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -5956,7 +5560,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -6037,27 +5641,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -6066,7 +5654,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -6146,27 +5734,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_have_icmp=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6246,27 +5817,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_have_icmphdr=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6325,27 +5879,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6381,17 +5918,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6470,7 +6000,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6638,17 +6168,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   # We can compile using X headers with no special include directory.
 ac_x_includes=
 else
@@ -6671,7 +6194,7 @@ if test "$ac_x_libraries" = no; then
   # See if we find them without any special options.
   # Don't add to $LIBS permanently.
   ac_save_LIBS=$LIBS
-  LIBS="-lXt $LIBS"
+  LIBS="-lX11 $LIBS"
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -6700,27 +6223,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   LIBS=$ac_save_LIBS
 # We can link X programs with no special library path.
 ac_x_libraries=
@@ -6733,7 +6240,7 @@ for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
 do
   # Don't even attempt the hair of trying to link an X program!
   for ac_extension in a so sl; do
-    if test -r "$ac_dir/libXt.$ac_extension"; then
+    if test -r "$ac_dir/libX11.$ac_extension"; then
       ac_x_libraries=$ac_dir
       break 2
     fi
@@ -6741,7 +6248,7 @@ do
 done
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi # $ac_x_libraries = no
 
@@ -6796,12 +6303,12 @@ else
     X_LIBS="$X_LIBS -L$x_libraries"
     # For Solaris; some versions of Sun CC require a space after -R and
     # others require no space.  Words are not sufficient . . . .
-    case `(uname -sr) 2>/dev/null` in
-    "SunOS 5"*)
-      { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
+    { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; }
-      ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
-      cat >conftest.$ac_ext <<_ACEOF
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6829,44 +6336,20 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_R_nospace=yes
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_R_nospace=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-      if test $ac_R_nospace = yes; then
-       { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-       X_LIBS="$X_LIBS -R$x_libraries"
-      else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
-       cat >conftest.$ac_ext <<_ACEOF
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6894,48 +6377,30 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_R_space=yes
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+         X_LIBS="$X_LIBS -R $x_libraries"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_R_space=no
+       { echo "$as_me:$LINENO: result: neither works" >&5
+echo "${ECHO_T}neither works" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
-       if test $ac_R_space = yes; then
-         { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-         X_LIBS="$X_LIBS -R $x_libraries"
-       else
-         { echo "$as_me:$LINENO: result: neither works" >&5
-echo "${ECHO_T}neither works" >&6; }
-       fi
-      fi
-      LIBS=$ac_xsave_LIBS
-    esac
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
   fi
 
   # Check for system-dependent libraries X programs must link with.
@@ -6984,27 +6449,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -7052,27 +6501,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dnet_dnet_ntoa=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7081,7 +6514,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_dnet_dnet_ntoa=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -7134,27 +6567,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dnet_stub_dnet_ntoa=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7163,7 +6580,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_dnet_stub_dnet_ntoa=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -7176,7 +6593,7 @@ fi
     fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     LIBS="$ac_xsave_LIBS"
 
@@ -7251,27 +6668,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_gethostbyname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7280,7 +6681,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_gethostbyname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
@@ -7329,27 +6730,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_nsl_gethostbyname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7358,7 +6743,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_nsl_gethostbyname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -7411,27 +6796,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_bsd_gethostbyname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7440,7 +6809,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_bsd_gethostbyname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -7523,27 +6892,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_connect=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7552,7 +6905,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_connect=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
@@ -7601,27 +6954,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_socket_connect=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7630,7 +6967,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_socket_connect=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -7706,27 +7043,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_remove=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7735,7 +7056,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_remove=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
@@ -7784,27 +7105,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_posix_remove=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7813,7 +7118,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_posix_remove=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -7889,27 +7194,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_shmat=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7918,7 +7207,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_shmat=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
@@ -7967,27 +7256,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_ipc_shmat=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7996,7 +7269,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_ipc_shmat=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -8060,27 +7333,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_ICE_IceConnectionNumber=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8089,7 +7346,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_ICE_IceConnectionNumber=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -8360,27 +7617,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_gen_regcmp=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8389,7 +7630,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_gen_regcmp=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -8423,6 +7664,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8451,27 +7693,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_xpointer=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8504,16 +7729,6 @@ echo $ECHO_N "checking whether this is MacOS X... $ECHO_C" >&6; }
 echo "${ECHO_T}$ac_macosx" >&6; }
 
 
-if test "$ac_macosx" = yes; then
-  if test -n "$GCC"; then
-    # Without these, every link against libGL gets a bunch of useless warnings.
-    osx_crud="-bind_at_load -multiply_defined suppress"
-    { echo "$as_me:$LINENO: result: adding \"$osx_crud\" to LDFLAGS" >&5
-echo "${ECHO_T}adding \"$osx_crud\" to LDFLAGS" >&6; }
-     LDFLAGS="$LDFLAGS $osx_crud"
-  fi
-fi
-
 ###############################################################################
 #
 #       Gettext support
@@ -8594,7 +7809,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8672,7 +7887,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8712,7 +7927,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8768,47 +7983,30 @@ int
 main ()
 {
 if ((ac__type_new_ *) 0)
-  return 0;
-if (sizeof (ac__type_new_))
-  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
+  return 0;
+if (sizeof (ac__type_new_))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8867,27 +8065,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_working_alloca_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8896,7 +8078,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_working_alloca_h=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
@@ -8927,7 +8109,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  if HAVE_ALLOCA_H
+#  ifdef HAVE_ALLOCA_H
 #   include <alloca.h>
 #  else
 #   ifdef _AIX
@@ -8963,27 +8145,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_alloca_works=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8992,7 +8158,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_alloca_works=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
@@ -9112,27 +8278,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -9141,7 +8291,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -9278,27 +8428,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9334,17 +8467,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9470,27 +8596,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -9499,7 +8609,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -9556,21 +8666,21 @@ $ac_includes_default
 #include <fcntl.h>
 #include <sys/mman.h>
 
-#if !STDC_HEADERS && !HAVE_STDLIB_H
+#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
 char *malloc ();
 #endif
 
 /* This mess was copied from the GNU getpagesize.h.  */
-#if !HAVE_GETPAGESIZE
+#ifndef HAVE_GETPAGESIZE
 /* Assume that all systems that can run configure have sys/param.h.  */
-# if !HAVE_SYS_PARAM_H
+# ifndef HAVE_SYS_PARAM_H
 #  define HAVE_SYS_PARAM_H 1
 # endif
 
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
-#  if HAVE_SYS_PARAM_H
+#  ifdef HAVE_SYS_PARAM_H
 #   include <sys/param.h>
 #   ifdef EXEC_PAGESIZE
 #    define getpagesize() EXEC_PAGESIZE
@@ -9747,27 +8857,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9803,17 +8896,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9950,27 +9036,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -9979,7 +9049,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -10028,27 +9098,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   am_cv_val_LC_MESSAGES=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10057,7 +9111,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        am_cv_val_LC_MESSAGES=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
@@ -10115,27 +9169,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10171,17 +9208,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10264,27 +9294,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   gt_cv_func_dgettext_libc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10293,7 +9307,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        gt_cv_func_dgettext_libc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5
@@ -10342,27 +9356,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_intl_bindtextdomain=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10371,7 +9369,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_intl_bindtextdomain=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -10425,27 +9423,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_intl_dgettext=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10454,7 +9436,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_intl_dgettext=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -10572,42 +9554,26 @@ main ()
 return $ac_func ();
   ;
   return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -10616,7 +9582,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -10648,7 +9614,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10736,27 +9702,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   CATOBJEXT=.gmo
                 DATADIRNAME=share
 else
@@ -10767,7 +9717,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
                 DATADIRNAME=lib
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
              INSTOBJEXT=.mo
            fi
@@ -10890,27 +9840,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10946,17 +9879,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11065,6 +9991,7 @@ have_xmu=no
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/Xmu/Error.h" >&5
 echo $ECHO_N "checking for X11/Xmu/Error.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_Xmu_Error_h+set}" = set; then
@@ -11095,27 +10022,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_Xmu_Error_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11201,27 +10111,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_sunos_xmu_bug=no
 else
   echo "$as_me: failed program was:" >&5
@@ -11230,7 +10124,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_sunos_xmu_bug=yes
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
                     LDFLAGS="$ac_save_LDFLAGS"
 fi
@@ -11272,27 +10166,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_ld_static=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11301,7 +10179,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_ld_static=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
                     LDFLAGS="$ac_save_LDFLAGS"
 fi
@@ -11347,9 +10225,7 @@ fi
 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
 
 # Expand HACKDIR as HACKDIR_FULL
-eval HACKDIR_FULL=${HACKDIR}
-eval HACKDIR_FULL=${HACKDIR_FULL}
-eval HACKDIR_FULL=${HACKDIR_FULL}
+HACKDIR_FULL=`eval eval eval eval eval eval eval eval eval echo $HACKDIR`
 
 # This option used to be called --enable-subdir; make sure that is no longer
 # used, since configure brain-damagedly ignores unknown --enable options.
@@ -11474,6 +10350,7 @@ if test "$with_sgi" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/XScreenSaver.h" >&5
 echo $ECHO_N "checking for X11/extensions/XScreenSaver.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_XScreenSaver_h+set}" = set; then
@@ -11502,27 +10379,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_XScreenSaver_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11621,6 +10481,7 @@ if test "$with_xidle" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/xidle.h" >&5
 echo $ECHO_N "checking for X11/extensions/xidle.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_xidle_h+set}" = set; then
@@ -11649,27 +10510,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_xidle_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11769,6 +10613,7 @@ if test "$with_sgivc" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/XSGIvc.h" >&5
 echo $ECHO_N "checking for X11/extensions/XSGIvc.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_XSGIvc_h+set}" = set; then
@@ -11797,27 +10642,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_XSGIvc_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11857,6 +10685,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5
 echo $ECHO_N "checking for XSGIvcQueryGammaMap in -lXsgivc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xsgivc_XSGIvcQueryGammaMap+set}" = set; then
@@ -11899,27 +10729,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xsgivc_XSGIvcQueryGammaMap=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11928,7 +10742,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xsgivc_XSGIvcQueryGammaMap=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -12031,6 +10845,7 @@ if test "$with_dpms" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/dpms.h" >&5
 echo $ECHO_N "checking for X11/extensions/dpms.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_dpms_h+set}" = set; then
@@ -12060,27 +10875,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_dpms_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12122,6 +10920,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for DPMSInfo in -lXext" >&5
 echo $ECHO_N "checking for DPMSInfo in -lXext... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xext_DPMSInfo+set}" = set; then
@@ -12164,27 +10964,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xext_DPMSInfo=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12193,7 +10977,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xext_DPMSInfo=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -12229,6 +11013,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for DPMSInfo in -lXdpms" >&5
 echo $ECHO_N "checking for DPMSInfo in -lXdpms... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xdpms_DPMSInfo+set}" = set; then
@@ -12271,27 +11057,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xdpms_DPMSInfo=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12300,7 +11070,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xdpms_DPMSInfo=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -12405,6 +11175,7 @@ if test "$with_xinerama" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5
 echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then
@@ -12433,27 +11204,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_Xinerama_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12495,6 +11249,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXext" >&5
 echo $ECHO_N "checking for XineramaQueryScreens in -lXext... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xext_XineramaQueryScreens+set}" = set; then
@@ -12526,38 +11282,22 @@ return XineramaQueryScreens ();
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
 if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xext_XineramaQueryScreens=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12566,7 +11306,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xext_XineramaQueryScreens=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -12602,6 +11342,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXinerama" >&5
 echo $ECHO_N "checking for XineramaQueryScreens in -lXinerama... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xinerama_XineramaQueryScreens+set}" = set; then
@@ -12644,27 +11386,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xinerama_XineramaQueryScreens=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12673,7 +11399,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xinerama_XineramaQueryScreens=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -12779,6 +11505,7 @@ if test "$with_xf86vmode" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/xf86vmode.h" >&5
 echo $ECHO_N "checking for X11/extensions/xf86vmode.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_xf86vmode_h+set}" = set; then
@@ -12807,27 +11534,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_xf86vmode_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12867,6 +11577,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
 echo $ECHO_N "checking for XF86VidModeGetViewPort in -lXxf86vm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort+set}" = set; then
@@ -12909,27 +11621,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12938,7 +11634,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13047,6 +11743,7 @@ if test "$with_xf86gamma" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/xf86vmode.h" >&5
 echo $ECHO_N "checking for X11/extensions/xf86vmode.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_xf86vmode_h+set}" = set; then
@@ -13075,27 +11772,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_xf86vmode_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13136,6 +11816,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XF86VidModeSetGamma in -lXxf86vm" >&5
 echo $ECHO_N "checking for XF86VidModeSetGamma in -lXxf86vm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xxf86vm_XF86VidModeSetGamma+set}" = set; then
@@ -13178,27 +11860,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xxf86vm_XF86VidModeSetGamma=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13207,7 +11873,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xxf86vm_XF86VidModeSetGamma=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13245,6 +11911,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XF86VidModeSetGammaRamp in -lXxf86vm" >&5
 echo $ECHO_N "checking for XF86VidModeSetGammaRamp in -lXxf86vm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp+set}" = set; then
@@ -13287,27 +11955,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13316,7 +11968,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13435,6 +12087,7 @@ if test "$with_randr" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5
 echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then
@@ -13463,27 +12116,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_Xrandr_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13525,6 +12161,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XRenderSetSubpixelOrder in -lXrender" >&5
 echo $ECHO_N "checking for XRenderSetSubpixelOrder in -lXrender... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xrender_XRenderSetSubpixelOrder+set}" = set; then
@@ -13567,27 +12205,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xrender_XRenderSetSubpixelOrder=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13596,7 +12218,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xrender_XRenderSetSubpixelOrder=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13632,6 +12254,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XRRGetScreenInfo in -lXext" >&5
 echo $ECHO_N "checking for XRRGetScreenInfo in -lXext... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xext_XRRGetScreenInfo+set}" = set; then
@@ -13674,27 +12298,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xext_XRRGetScreenInfo=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13703,7 +12311,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xext_XRRGetScreenInfo=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13739,6 +12347,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XRRGetScreenInfo in -lXrandr" >&5
 echo $ECHO_N "checking for XRRGetScreenInfo in -lXrandr... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xrandr_XRRGetScreenInfo+set}" = set; then
@@ -13781,27 +12391,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xrandr_XRRGetScreenInfo=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13810,7 +12404,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xrandr_XRRGetScreenInfo=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13869,6 +12463,8 @@ if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XF86MiscSetGrabKeysState in -lXxf86misc" >&5
 echo $ECHO_N "checking for XF86MiscSetGrabKeysState in -lXxf86misc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState+set}" = set; then
@@ -13911,27 +12507,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13940,7 +12520,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -13980,6 +12560,7 @@ echo $ECHO_N "checking for XHPDisableReset in X11/XHPlib.h... $ECHO_C" >&6; }
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14221,6 +12802,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14249,27 +12831,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_pam=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14340,27 +12905,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14369,7 +12918,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_dl_dlopen=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -14405,46 +12954,30 @@ extern "C"
 char sigtimedwait ();
 int
 main ()
-{
-return sigtimedwait ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
+{
+return sigtimedwait ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_c_sigtimedwait=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14453,7 +12986,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_c_sigtimedwait=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -14506,27 +13039,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_rt_sigtimedwait=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14535,7 +13052,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_rt_sigtimedwait=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -14583,27 +13100,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_pam_strerror_args=2
 else
   echo "$as_me: failed program was:" >&5
@@ -14640,27 +13140,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_pam_strerror_args=1
 else
   echo "$as_me: failed program was:" >&5
@@ -14730,27 +13213,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_pam_fail_delay=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14759,7 +13226,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_pam_fail_delay=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
       ac_cv_pam_fail_delay=$ac_pam_fail_delay,
       LDFLAGS=$ac_save_LDFLAGS
@@ -14858,6 +13325,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14886,27 +13354,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_kerberos=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14931,6 +13382,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14959,27 +13411,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_kerberos5=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15031,6 +13466,8 @@ _ACEOF
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for krb_get_tf_realm in -lkrb4" >&5
 echo $ECHO_N "checking for krb_get_tf_realm in -lkrb4... $ECHO_C" >&6; }
 if test "${ac_cv_lib_krb4_krb_get_tf_realm+set}" = set; then
@@ -15073,27 +13510,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_krb4_krb_get_tf_realm=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15102,7 +13523,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_krb4_krb_get_tf_realm=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -15160,6 +13581,8 @@ echo "$as_me: WARNING: Cannot find compat lib (libkrb4) needed to use Kerberos 5
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
 echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; }
 if test "${ac_cv_lib_crypt_crypt+set}" = set; then
@@ -15202,27 +13625,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_crypt_crypt=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15231,7 +13638,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_crypt_crypt=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -15315,27 +13722,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_res_search=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15344,7 +13735,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_res_search=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_res_search" >&5
@@ -15394,27 +13785,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_resolv_res_search=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15423,7 +13798,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_resolv_res_search=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -15532,6 +13907,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15566,27 +13942,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_sun_adjunct=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15626,6 +13985,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15664,27 +14024,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_enhanced_passwd=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15749,27 +14092,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_prot_getprpwnam=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15778,7 +14105,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_prot_getprpwnam=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -15818,38 +14145,22 @@ return getprpwnam ();
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
 if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_security_getprpwnam=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15858,7 +14169,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_security_getprpwnam=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -15891,6 +14202,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15925,27 +14237,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_hpux_passwd=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16007,27 +14302,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sec_bigcrypt=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16036,7 +14315,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_sec_bigcrypt=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -16100,6 +14379,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -16133,27 +14413,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_shadow=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16215,27 +14478,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_c_getspnam=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16244,7 +14491,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_c_getspnam=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -16297,27 +14544,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_gen_getspnam=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16326,7 +14557,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_gen_getspnam=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -16393,27 +14624,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_c_crypt=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16422,7 +14637,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_c_crypt=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -16475,27 +14690,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_crypt_crypt=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16504,7 +14703,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_crypt_crypt=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -16670,7 +14869,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -16838,7 +15037,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_pkg_config="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -17003,7 +15202,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_gnome_open_program="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -17045,7 +15244,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_gnome_url_show_program="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -17147,6 +15346,7 @@ if test "$with_motif" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for Xm/Xm.h" >&5
 echo $ECHO_N "checking for Xm/Xm.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_Xm_Xm_h+set}" = set; then
@@ -17177,27 +15377,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_Xm_Xm_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17231,6 +15414,7 @@ if test "$have_motif" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for Xm/ComboBox.h" >&5
 echo $ECHO_N "checking for Xm/ComboBox.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_Xm_ComboBox_h+set}" = set; then
@@ -17261,27 +15445,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_Xm_ComboBox_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17325,6 +15492,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -17353,27 +15521,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_have_lesstif=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17408,6 +15559,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "$cross_compiling" = yes; then
   ac_cv_lesstif_version=unknown
                      ac_cv_lesstif_version_string=unknown
@@ -17490,6 +15642,7 @@ else
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "$cross_compiling" = yes; then
   ac_cv_motif_version=unknown
                      ac_cv_motif_version_string=unknown
@@ -17619,6 +15772,8 @@ if test "$have_motif" = yes ; then
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XpQueryExtension in -lXp" >&5
 echo $ECHO_N "checking for XpQueryExtension in -lXp... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xp_XpQueryExtension+set}" = set; then
@@ -17661,27 +15816,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xp_XpQueryExtension=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17690,7 +15829,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xp_XpQueryExtension=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17734,6 +15873,8 @@ if test "$have_motif" = yes ; then
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for _Xsetlocale in -lXintl" >&5
 echo $ECHO_N "checking for _Xsetlocale in -lXintl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_Xintl__Xsetlocale+set}" = set; then
@@ -17776,27 +15917,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_Xintl__Xsetlocale=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17805,7 +15930,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_Xintl__Xsetlocale=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17901,6 +16026,7 @@ if test "$with_gl" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_GL_gl_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for GL/gl.h" >&5
 echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6; }
@@ -17935,27 +16061,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17991,17 +16100,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18065,6 +16167,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for GL/glx.h" >&5
 echo $ECHO_N "checking for GL/glx.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_GL_glx_h+set}" = set; then
@@ -18093,27 +16196,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_GL_glx_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18149,12 +16235,16 @@ if test "${ac_cv_have_mesa_gl+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_cv_have_mesa_gl=no
+       if test "$ac_macosx" = no; then
+         # WTF! MacOS 10.5.0 ships the Mesa GL headers!
+         # It's not really Mesa, is it?
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 rm -f conftest*
 
   CPPFLAGS="$ac_save_CPPFLAGS"
-
+       fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_have_mesa_gl" >&5
 echo "${ECHO_T}$ac_cv_have_mesa_gl" >&6; }
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
 
-
     gl_lib_1=""
     GL_LIBS=""
 
+    if test "$ac_macosx" = yes; then
+
+      # Without these, every link against libGL gets a bunch of useless
+      # warnings.
+      #
+      osx_crud="-bind_at_load -multiply_defined suppress"
+      { echo "$as_me:$LINENO: result: adding \"$osx_crud\" to GL_LIBS" >&5
+echo "${ECHO_T}adding \"$osx_crud\" to GL_LIBS" >&6; }
+      GL_LIBS="$GL_LIBS $osx_crud"
+      unset osx_crud
+
+      # New lossage in 10.5.0: without this, we get:
+      #   ld: cycle in dylib re-exports with /usr/X11/lib/libGL.dylib
+      #
+      osx_crud="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
+      osx_crud="-Wl,-dylib_file,${osx_crud}:${osx_crud}"
+
+      { echo "$as_me:$LINENO: result: adding \"$osx_crud\" to GL_LIBS" >&5
+echo "${ECHO_T}adding \"$osx_crud\" to GL_LIBS" >&6; }
+      GL_LIBS="$GL_LIBS $osx_crud"
+      unset osx_crud
+    fi
+
 
     # Some versions of MesaGL are compiled to require -lpthread.
     # So if the Mesa headers exist, and -lpthread exists, then always
@@ -18229,27 +16341,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_pthread_pthread_create=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18258,7 +16354,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_pthread_pthread_create=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -18294,6 +16390,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for glXCreateContext in -lMesaGL" >&5
 echo $ECHO_N "checking for glXCreateContext in -lMesaGL... $ECHO_C" >&6; }
 if test "${ac_cv_lib_MesaGL_glXCreateContext+set}" = set; then
@@ -18336,27 +16434,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_MesaGL_glXCreateContext=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18365,7 +16447,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_MesaGL_glXCreateContext=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -18400,6 +16482,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for glXCreateContext in -lGL" >&5
 echo $ECHO_N "checking for glXCreateContext in -lGL... $ECHO_C" >&6; }
 if test "${ac_cv_lib_GL_glXCreateContext+set}" = set; then
@@ -18442,27 +16526,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_GL_glXCreateContext=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18471,7 +16539,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_GL_glXCreateContext=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -18524,7 +16592,7 @@ if test "${ac_cv_mesagl_version_string+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 18531 "configure"
+#line 16599 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 #ifndef MESA_MAJOR_VERSION
@@ -18620,6 +16688,8 @@ echo "${ECHO_T}$ac_cv_mesagl_version_string" >&6; }
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   as_ac_Lib=`echo "ac_cv_lib_$gl_lib_1''_glBindTexture" | $as_tr_sh`
 { echo "$as_me:$LINENO: checking for glBindTexture in -l$gl_lib_1" >&5
 echo $ECHO_N "checking for glBindTexture in -l$gl_lib_1... $ECHO_C" >&6; }
@@ -18663,27 +16733,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_Lib=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -18692,7 +16746,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_Lib=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -18795,6 +16849,7 @@ elif test "$with_gle" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for GL/gle.h" >&5
 echo $ECHO_N "checking for GL/gle.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_GL_gle_h+set}" = set; then
@@ -18823,27 +16878,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_GL_gle_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18873,6 +16911,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for GL/gutil.h" >&5
 echo $ECHO_N "checking for GL/gutil.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_GL_gutil_h+set}" = set; then
@@ -18901,27 +16940,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_GL_gutil_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18949,6 +16971,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for GL/tube.h" >&5
 echo $ECHO_N "checking for GL/tube.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_GL_tube_h+set}" = set; then
@@ -18977,27 +17000,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_GL_tube_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19041,6 +17047,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for gleCreateGC in -lgle" >&5
 echo $ECHO_N "checking for gleCreateGC in -lgle... $ECHO_C" >&6; }
 if test "${ac_cv_lib_gle_gleCreateGC+set}" = set; then
@@ -19083,27 +17091,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_gle_gleCreateGC=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19112,7 +17104,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_gle_gleCreateGC=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -19161,6 +17153,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for uview_direction in -lgle" >&5
 echo $ECHO_N "checking for uview_direction in -lgle... $ECHO_C" >&6; }
 if test "${ac_cv_lib_gle_uview_direction+set}" = set; then
@@ -19203,27 +17197,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_gle_uview_direction=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19232,7 +17210,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_gle_uview_direction=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -19266,6 +17244,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for uview_direction_d in -lmatrix" >&5
 echo $ECHO_N "checking for uview_direction_d in -lmatrix... $ECHO_C" >&6; }
 if test "${ac_cv_lib_matrix_uview_direction_d+set}" = set; then
@@ -19308,27 +17288,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_matrix_uview_direction_d=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19337,7 +17301,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_matrix_uview_direction_d=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -19508,6 +17472,7 @@ echo "${ECHO_T}$ac_cv_gdk_pixbuf_config_libs" >&6; }
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for gdk-pixbuf/gdk-pixbuf.h" >&5
 echo $ECHO_N "checking for gdk-pixbuf/gdk-pixbuf.h... $ECHO_C" >&6; }
@@ -19542,27 +17507,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19598,17 +17546,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19674,6 +17615,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for gdk-pixbuf/gdk-pixbuf-xlib.h" >&5
 echo $ECHO_N "checking for gdk-pixbuf/gdk-pixbuf-xlib.h... $ECHO_C" >&6; }
@@ -19708,27 +17650,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19764,17 +17689,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19841,6 +17759,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for gdk-pixbuf-xlib/gdk-pixbuf-xlib.h" >&5
 echo $ECHO_N "checking for gdk-pixbuf-xlib/gdk-pixbuf-xlib.h... $ECHO_C" >&6; }
@@ -19875,27 +17794,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19931,17 +17833,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20028,6 +17923,8 @@ echo "${ECHO_T}checking for gdk_pixbuf usability..." >&6; }
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for gdk_pixbuf_new_from_file in -lc" >&5
 echo $ECHO_N "checking for gdk_pixbuf_new_from_file in -lc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_c_gdk_pixbuf_new_from_file+set}" = set; then
@@ -20058,39 +17955,23 @@ return gdk_pixbuf_new_from_file ();
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
+if { (ac_try="$ac_link"
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_c_gdk_pixbuf_new_from_file=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20099,7 +17980,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_c_gdk_pixbuf_new_from_file=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -20133,6 +18014,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for gdk_pixbuf_xlib_init in -lc" >&5
 echo $ECHO_N "checking for gdk_pixbuf_xlib_init in -lc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_c_gdk_pixbuf_xlib_init+set}" = set; then
@@ -20175,27 +18058,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_c_gdk_pixbuf_xlib_init=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20204,7 +18071,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_c_gdk_pixbuf_xlib_init=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -20305,6 +18172,7 @@ if test "$with_xpm" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/xpm.h" >&5
 echo $ECHO_N "checking for X11/xpm.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_xpm_h+set}" = set; then
@@ -20333,27 +18201,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_xpm_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20473,6 +18324,7 @@ if test "$with_jpeg" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_jpeglib_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for jpeglib.h" >&5
 echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
@@ -20507,27 +18359,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20563,17 +18398,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20650,6 +18478,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for jpeg_start_compress in -ljpeg" >&5
 echo $ECHO_N "checking for jpeg_start_compress in -ljpeg... $ECHO_C" >&6; }
 if test "${ac_cv_lib_jpeg_jpeg_start_compress+set}" = set; then
@@ -20692,27 +18522,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_jpeg_jpeg_start_compress=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20721,7 +18535,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_jpeg_jpeg_start_compress=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -20793,27 +18607,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20849,17 +18646,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20935,6 +18725,8 @@ done
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for forkpty in -lutil" >&5
 echo $ECHO_N "checking for forkpty in -lutil... $ECHO_C" >&6; }
 if test "${ac_cv_lib_util_forkpty+set}" = set; then
@@ -20977,27 +18769,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_util_forkpty=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21006,7 +18782,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_util_forkpty=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -21045,6 +18821,8 @@ if test "$ac_have_forkpty" != yes ; then
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for forkpty in -lc" >&5
 echo $ECHO_N "checking for forkpty in -lc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_c_forkpty+set}" = set; then
@@ -21087,27 +18865,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_c_forkpty=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21116,7 +18878,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_c_forkpty=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -21207,6 +18969,7 @@ if test "$with_xshm" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/XShm.h" >&5
 echo $ECHO_N "checking for X11/extensions/XShm.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_XShm_h+set}" = set; then
@@ -21235,27 +18998,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_XShm_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21284,6 +19030,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_sys_ipc_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for sys/ipc.h" >&5
 echo $ECHO_N "checking for sys/ipc.h... $ECHO_C" >&6; }
@@ -21318,27 +19065,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21374,17 +19104,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21450,6 +19173,7 @@ fi
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   if test "${ac_cv_header_sys_shm_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for sys/shm.h" >&5
 echo $ECHO_N "checking for sys/shm.h... $ECHO_C" >&6; }
@@ -21484,27 +19208,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21540,17 +19247,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21634,6 +19334,8 @@ fi
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   { echo "$as_me:$LINENO: checking for XShmQueryExtension in -lXextSam" >&5
 echo $ECHO_N "checking for XShmQueryExtension in -lXextSam... $ECHO_C" >&6; }
 if test "${ac_cv_lib_XextSam_XShmQueryExtension+set}" = set; then
@@ -21676,27 +19378,11 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_XextSam_XShmQueryExtension=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21705,7 +19391,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_XextSam_XShmQueryExtension=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -21809,6 +19495,7 @@ if test "$with_xdbe" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/Xdbe.h" >&5
 echo $ECHO_N "checking for X11/extensions/Xdbe.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_Xdbe_h+set}" = set; then
@@ -21837,27 +19524,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_Xdbe_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21962,6 +19632,7 @@ if test "$with_readdisplay" = yes; then
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   { echo "$as_me:$LINENO: checking for X11/extensions/readdisplay.h" >&5
 echo $ECHO_N "checking for X11/extensions/readdisplay.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_X11_extensions_readdisplay_h+set}" = set; then
@@ -21990,27 +19661,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_X11_extensions_readdisplay_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22444,12 +20098,7 @@ if test -z "$PO_DATADIR" ; then
   # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/
   # but of course we need to expand all the nested variables to do that...
   #
-  dd=$datadir
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
+  dd=`eval eval eval eval eval eval eval eval eval eval eval echo $datadir`
   PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'`
 fi
 
@@ -22676,7 +20325,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -22685,10 +20335,13 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+
+
 
 
 # PATH needs CR
@@ -22912,19 +20565,28 @@ else
   as_mkdir_p=false
 fi
 
-# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
-# systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  as_executable_p="test -x"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
 else
-  as_executable_p=:
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+       case $1 in
+        -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
 fi
-rm -f conf$$.file
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -22940,7 +20602,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.60.  Invocation command line was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -22969,7 +20631,7 @@ current configuration.
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number, then exit
+  -V, --version    print version number and configuration settings, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
@@ -22993,7 +20655,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.60,
+configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright (C) 2006 Free Software Foundation, Inc.
 # You are in a twisty maze of namespaces and syntaxes, all alike.
 # Fuck the skull of Unix.
 #
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
+bindir=`eval eval eval eval eval eval eval echo $bindir`
+HACKDIR=`eval eval eval eval eval eval eval echo $HACKDIR`
+HACKDIR_CONF_DIR=`eval eval eval eval eval eval eval echo $HACKDIR_CONF_DIR`
 
 # canonicalize slashes.
 bindir=`echo  "${bindir}"              | sed 's@/$@@;s@//*@/@g'`
@@ -24354,7 +22001,7 @@ if test "$do_dir_warning" = no; then
   fi
   echo "User programs will be installed in ${bindir}/"
   echo "Screen savers will be installed in ${HACKDIR}/"
-  echo "Hack configurations will be installed in ${HACK_CONF_DIR}/"
-  echo "Saver configuration will be installed in ${APPDEFAULTS}/"
+  echo "Configuration dialogs will be installed in ${HACK_CONF_DIR}/"
+  echo "System-wide default settings will be installed in ${APPDEFAULTS}/"
   echo ''
 fi
index adab2635a4b0f2be9c671d4578a04dd3c094d1c1..4088bf01a5c33bdfba4c1655d3ae0741a953c30f 100644 (file)
@@ -957,6 +957,7 @@ AC_DEFUN(AC_CHECK_X_HEADER, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_CHECK_HEADER([$1],[$2],[$3],[$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -968,6 +969,7 @@ AC_DEFUN(AC_EGREP_X_HEADER, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_EGREP_HEADER([$1], [$2], [$3], [$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -979,6 +981,7 @@ AC_DEFUN(AC_TRY_X_COMPILE, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_TRY_COMPILE([$1], [$2], [$3], [$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -1003,6 +1006,8 @@ AC_DEFUN(AC_CHECK_X_LIB, [
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
   CPPFLAGS="$ac_save_CPPFLAGS"
   LDFLAGS="$ac_save_LDFLAGS"
@@ -1018,6 +1023,7 @@ AC_DEFUN(AC_TRY_X_RUN, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_TRY_RUN([$1], [$2], [$3], [$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -1087,6 +1093,11 @@ AC_DEFUN(HANDLE_X_PATH_ARG, [
 ###############################################################################
 ###############################################################################
 
+# WTF!  autoconf emits this *way* too late.  Do it earlier.
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+
 # random compiler setup
 AC_CANONICAL_HOST
 AC_PROG_CC_ANSI
@@ -1154,15 +1165,6 @@ AC_MSG_CHECKING(whether this is MacOS X)
 AC_MSG_RESULT($ac_macosx)
 
 
-if test "$ac_macosx" = yes; then
-  if test -n "$GCC"; then
-    # Without these, every link against libGL gets a bunch of useless warnings.
-    osx_crud="-bind_at_load -multiply_defined suppress"
-    AC_MSG_RESULT(adding "$osx_crud" to LDFLAGS)
-     LDFLAGS="$LDFLAGS $osx_crud"
-  fi
-fi
-
 ###############################################################################
 #
 #       Gettext support
@@ -1276,9 +1278,7 @@ fi
 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
 
 # Expand HACKDIR as HACKDIR_FULL
-eval HACKDIR_FULL=${HACKDIR}
-eval HACKDIR_FULL=${HACKDIR_FULL}
-eval HACKDIR_FULL=${HACKDIR_FULL}
+HACKDIR_FULL=`eval eval eval eval eval eval eval eval eval echo $HACKDIR`
 
 # This option used to be called --enable-subdir; make sure that is no longer
 # used, since configure brain-damagedly ignores unknown --enable options.
@@ -2701,14 +2701,37 @@ if test "$with_gl" = yes; then
     #
     AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
       [ac_cv_have_mesa_gl=no
-       AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
-      ])
+       if test "$ac_macosx" = no; then
+         # WTF! MacOS 10.5.0 ships the Mesa GL headers!
+         # It's not really Mesa, is it?
+         AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
+       fi])
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
 
     gl_lib_1=""
     GL_LIBS=""
 
+    if test "$ac_macosx" = yes; then
+
+      # Without these, every link against libGL gets a bunch of useless
+      # warnings.
+      #
+      osx_crud="-bind_at_load -multiply_defined suppress"
+      AC_MSG_RESULT(adding "$osx_crud" to GL_LIBS)
+      GL_LIBS="$GL_LIBS $osx_crud"
+      unset osx_crud
+
+      # New lossage in 10.5.0: without this, we get:
+      #   ld: cycle in dylib re-exports with /usr/X11/lib/libGL.dylib
+      #
+      osx_crud="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
+      osx_crud="-Wl,-dylib_file,${osx_crud}:${osx_crud}"
+
+      AC_MSG_RESULT(adding "$osx_crud" to GL_LIBS)
+      GL_LIBS="$GL_LIBS $osx_crud"
+      unset osx_crud
+    fi
+
 
     # Some versions of MesaGL are compiled to require -lpthread.
     # So if the Mesa headers exist, and -lpthread exists, then always
@@ -3606,12 +3629,7 @@ if test -z "$PO_DATADIR" ; then
   # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/
   # but of course we need to expand all the nested variables to do that...
   #
-  dd=$datadir
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
+  dd=`eval eval eval eval eval eval eval eval eval eval eval echo $datadir`
   PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'`
 fi
 
@@ -4100,24 +4118,9 @@ fi
 # You are in a twisty maze of namespaces and syntaxes, all alike.
 # Fuck the skull of Unix.
 #
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
+bindir=`eval eval eval eval eval eval eval echo $bindir`
+HACKDIR=`eval eval eval eval eval eval eval echo $HACKDIR`
+HACKDIR_CONF_DIR=`eval eval eval eval eval eval eval echo $HACKDIR_CONF_DIR`
 
 # canonicalize slashes.
 bindir=`echo  "${bindir}"              | sed 's@/$@@;s@//*@/@g'`
@@ -4209,7 +4212,7 @@ if test "$do_dir_warning" = no; then
   fi
   echo "User programs will be installed in ${bindir}/"
   echo "Screen savers will be installed in ${HACKDIR}/"
-  echo "Hack configurations will be installed in ${HACK_CONF_DIR}/"
-  echo "Saver configuration will be installed in ${APPDEFAULTS}/"
+  echo "Configuration dialogs will be installed in ${HACK_CONF_DIR}/"
+  echo "System-wide default settings will be installed in ${APPDEFAULTS}/"
   echo ''
 fi
index 5daf8a26f63ec96c591dceb70bbce64601f2e79c..b46239ac1c9a588332c45bcf963c2662626260c8 100644 (file)
@@ -14,6 +14,7 @@ install_prefix        =
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 bindir         = @bindir@
+datarootdir    = @datarootdir@
 datadir                = @datadir@
 localedir      = $(datadir)/locale
 mandir         = @mandir@
@@ -523,7 +524,7 @@ install-gnome:: $(LOGO)
 # ../utils/images/screensaver-*.png
 # into /usr/share/xscreensaver/glade/
 install-gnome::
-       @if [ "$(GTK_GLADEDIR)" != "" ]; then                                 \
+       @if [ "$(GTK_DATADIR)" != "" ]; then                                 \
            if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then               \
              echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)"         ;\
                   $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)"         ;\
@@ -540,7 +541,7 @@ install-gnome::
 # xscreensaver-demo.glade2
 # into /usr/share/xscreensaver/glade/
 install-gnome:: xscreensaver-demo.glade2
-       @if [ "$(GTK_GLADEDIR)" != "" ]; then                                 \
+       @if [ "$(GTK_DATADIR)" != "" ]; then                                  \
          if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then                \
            echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)"          ;\
                 $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)"          ;\
@@ -587,7 +588,7 @@ uninstall-gnome::
 # ../utils/images/screensaver-*.png
 # into /usr/share/xscreensaver/glade/
 uninstall-gnome::
-       @if [ "$(GTK_GLADEDIR)" != "" ]; then                                 \
+       @if [ "$(GTK_DATADIR)" != "" ]; then                                  \
           for target in $(GTK_ICONS) ; do                                    \
             dest=`echo $$target | sed 's@^.*/@@'`                           ;\
             echo rm -f $(install_prefix)$(GTK_GLADEDIR)/$$dest              ;\
@@ -598,7 +599,7 @@ uninstall-gnome::
 # xscreensaver-demo.glade2
 # into /usr/share/xscreensaver/glade/
 uninstall-gnome:: xscreensaver-demo.glade2
-       @if [ "$(GTK_GLADEDIR)" != "" ]; then                                 \
+       @if [ "$(GTK_DATADIR)" != "" ]; then                                  \
          target=xscreensaver-demo.glade2                                    ;\
          echo rm -f $(install_prefix)$(GTK_GLADEDIR)/$$target               ;\
               rm -f $(install_prefix)$(GTK_GLADEDIR)/$$target               ;\
@@ -691,7 +692,7 @@ tags:
        find $(srcdir) -name '*.[chly]' -print | xargs etags -a
 
 echo_tarfiles:
-       @$(MAKE) XScreenSaver_ad.h XScreenSaver_Xm_ad.h 2>&1 >&/dev/null
+       @$(MAKE) XScreenSaver_ad.h XScreenSaver_Xm_ad.h 2>&1 >&/dev/null
        @echo $(TARFILES)
 
 check_men:
@@ -795,7 +796,7 @@ xscreensaver-demo-Gtk: $(DEMO_OBJS) $(GTK_OBJS)
        -lXt -lX11 $(XDPMS_LIBS) $(XINERAMA_LIBS) -lXext $(X_EXTRA_LIBS)
 
 demo-Gtk.o: XScreenSaver_ad.h
-demo-Xm.o:  XScreenSaver_ad_Xm.h
+demo-Xm.o:  XScreenSaver_Xm_ad.h
 
 xscreensaver-getimage: $(GETIMG_OBJS)
        $(CC) $(LDFLAGS) -o $@ $(GETIMG_OBJS) $(GETIMG_LIBS) -lm
index 29f69600daea83b9c5913f872fe5bd5153878eb8..012f4db6eb163e4179b688ed573925d27baa56e6 100644 (file)
@@ -4,8 +4,8 @@
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
-!                              version 5.03
-!                              17-Jul-2007
+!                              version 5.04
+!                              13-Nov-2007
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at http://www.jwz.org/xscreensaver/
@@ -304,6 +304,7 @@ GetViewPortIsFullOfLies: False
                                celtic -root                                \n\
                                cwaves -root                                \n\
                                m6502 -root                                 \n\
+                               abstractile -root                           \n\
 - default-n:                   webcollage -root                            \n\
 - default-n:  "WebCollage (whacked)"                                         \
                                webcollage -root -filter                      \
@@ -392,6 +393,8 @@ GetViewPortIsFullOfLies: False
 @GL_KLUDGE@ GL:                        glschool -root                              \n\
 @GL_KLUDGE@ GL:                        glcells -root                               \n\
 @GL_KLUDGE@ GL:                        voronoi -root                               \n\
+@GL_KLUDGE@ GL:                        moebiusgears -root                          \n\
+@GL_KLUDGE@ GL:                        lockward -root                              \n\
                                                                              \
 -                              xdaliclock -root -font BUILTIN3             \n\
 -                              xplanet -vroot -wait 1 -timewarp 90000        \
@@ -535,6 +538,7 @@ XScreenSaver.bourneShell:           /bin/sh
 *hacks.topblock.name:       TopBlock
 *hacks.glschool.name:       GLSchool
 *hacks.glcells.name:        GLCells
+*hacks.moebiusgears.name:   MoebiusGears
 
 ! obsolete, but still used by xscreensaver-demo-Xm.
 *hacks.documentation.isInstalled: True
index 2f632ab1604d949f3379c5b106cb49cc9e810851..a12ecc94dddcd5da99b49184b2e40cbac667c6fb 100644 (file)
@@ -30,7 +30,7 @@
 "*ignoreUninstalledPrograms: False",
 "*textMode:            file",
 "*textLiteral:         XScreenSaver",
-"*textFile:            /usr/X11R6/README",
+"*textFile:            ",
 "*textProgram:         fortune",
 "*textURL:             http://www.livejournal.com/stats/latest-rss.bml",
 "*overlayTextForeground:       #FFFF00",
                                celtic -root                                \\n\
                                cwaves -root                                \\n\
                                m6502 -root                                 \\n\
+                               abstractile -root                           \\n\
 - default-n:                   webcollage -root                            \\n\
 - default-n:  \"WebCollage (whacked)\"                                       \
                                webcollage -root -filter                      \
           GL:                  glschool -root                              \\n\
           GL:                  glcells -root                               \\n\
           GL:                  voronoi -root                               \\n\
+          GL:                  moebiusgears -root                          \\n\
+          GL:                  lockward -root                              \\n\
                                                                              \
 -                              xdaliclock -root -font BUILTIN3             \\n\
 -                              xplanet -vroot -wait 1 -timewarp 90000        \
 "*hacks.topblock.name:       TopBlock",
 "*hacks.glschool.name:       GLSchool",
 "*hacks.glcells.name:        GLCells",
+"*hacks.moebiusgears.name:   MoebiusGears",
 "*hacks.documentation.isInstalled: True",
index 262e88eb5aa641c4a2ea2ceb3e94c4d02b996a4c..d41b58577c2c524ca8429e8261660c3b70bdc063 100644 (file)
@@ -749,6 +749,7 @@ make_adjustment (const char *filename, parameter *p)
                  : p->value);
   gfloat si = (p->high - p->low) / 100;
   gfloat pi = (p->high - p->low) / 10;
+  gfloat page_size = ((p->type == SLIDER) ? 1 : 0);
 
   if (p->value < p->low || p->value > p->high)
     {
@@ -786,8 +787,8 @@ make_adjustment (const char *filename, parameter *p)
 
   return GTK_ADJUSTMENT (gtk_adjustment_new (value,
                                              p->low,
-                                             p->high + 1,
-                                             si, pi, 1));
+                                             p->high + page_size,
+                                             si, pi, page_size));
 }
 
 
index 65216b3c6d048667a850826adc22eaf1eb6f5a9e..56d1aac5fece36a14b71d84d70fabbb5dec4d6d7 100644 (file)
@@ -509,7 +509,7 @@ selected_hack_number (Widget toplevel)
 static int
 demo_write_init_file (Widget widget, saver_preferences *p)
 {
-  if (!write_init_file (p, short_version, False))
+  if (!write_init_file (XtDisplay (widget), p, short_version, False))
     return 0;
   else
     {
@@ -672,7 +672,7 @@ manual_cb (Widget button, XtPointer client_data, XtPointer ignored)
   s = strrchr (name2, '/');
   if (s) name = s+1;
 
-  cmd = get_string_resource ("manualCommand", "ManualCommand");
+  cmd = get_string_resource (XtDisplay (button), "manualCommand", "ManualCommand");
   if (cmd)
     {
       char *cmd2 = (char *) malloc (strlen (cmd) + (strlen (name2) * 4) + 100);
@@ -968,7 +968,7 @@ populate_hack_list (Widget toplevel, prefs_pair *pair)
     {
       char *pretty_name = (h[0]->name
                            ? strdup (h[0]->name)
-                           : make_hack_name (h[0]->command));
+                           : make_hack_name (XtDisplay (toplevel), h[0]->command));
 
       XmString xmstr = XmStringCreate (pretty_name, XmSTRING_DEFAULT_CHARSET);
       XmListAddItem (list, xmstr, 0);
@@ -1209,13 +1209,13 @@ pixmapify_buttons (Widget toplevel)
 
 
 char *
-get_hack_blurb (screenhack *hack)
+get_hack_blurb (Display *dpy, screenhack *hack)
 {
   char *doc_string;
   char *prog_name = strdup (hack->command);
   char *pretty_name = (hack->name
                        ? strdup (hack->name)
-                       : make_hack_name (hack->command));
+                       : make_hack_name (dpy, hack->command));
   char doc_name[255], doc_class[255];
   char *s, *s2;
 
@@ -1230,7 +1230,7 @@ get_hack_blurb (screenhack *hack)
   free (prog_name);
   free (pretty_name);
 
-  doc_string = get_string_resource (doc_name, doc_class);
+  doc_string = get_string_resource (dpy, doc_name, doc_class);
   if (doc_string)
     {
       for (s = doc_string; *s; s++)
@@ -1329,9 +1329,9 @@ populate_demo_window (Widget toplevel, int which, prefs_pair *pair)
   char *pretty_name = (hack
                        ? (hack->name
                           ? strdup (hack->name)
-                          : make_hack_name (hack->command))
+                          : make_hack_name (XtDisplay (toplevel), hack->command))
                        : 0);
-  char *doc_string = hack ? get_hack_blurb (hack) : 0;
+  char *doc_string = hack ? get_hack_blurb (XtDisplay (toplevel), hack) : 0;
 
   XmString xmstr;
 
@@ -1408,7 +1408,7 @@ maybe_reload_init_file (Widget widget, prefs_pair *pair)
       warning_dialog (widget, b, 100);
       free (b);
 
-      load_init_file (p);
+      load_init_file (XtDisplay (widget), p);
 
       which = selected_hack_number (widget);
       list = name_to_widget (widget, "list");
@@ -1768,7 +1768,7 @@ main (int argc, char **argv)
      was in argv[0].
    */
   p->db = db;
-  load_init_file (p);
+  load_init_file (dpy, p);
   *p2 = *p;
 
   /* Now that Xt has been initialized, and the resources have been read,
index e36b5913bb0fa4d6f704761d71d32cba8be71d82..4e1d0b547a9193c1d00ed8a72386c07fde200362 100644 (file)
@@ -1076,9 +1076,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio)
              pw->user_entry_pixmap = 0;
            }
 
-         pw->user_entry_pixmap = XCreatePixmap(si->dpy, si->passwd_dialog,
-             rects[0].width, rects[0].height, pw->prompt_screen->current_depth);
-
+         pw->user_entry_pixmap = 
+            XCreatePixmap (si->dpy, si->passwd_dialog,
+                           rects[0].width, rects[0].height, 
+                           DefaultDepthOfScreen (pw->prompt_screen->screen));
 
          XFillRectangle (si->dpy, pw->user_entry_pixmap, gc2,
                          0, 0, rects[0].width, rects[0].height);
index ead36d7c1c38179eefc5377dc62650bf65b79fb3..56f66daf5c69f38c62203aab1f4657b299f29153 100644 (file)
@@ -414,7 +414,9 @@ make_splash_dialog (saver_info *si)
                   attrmask, &attrs);
   XSetWindowBackground (si->dpy, si->splash_dialog, sp->background);
 
-  sp->logo_pixmap = xscreensaver_logo (ssi->screen, ssi->current_visual,
+  sp->logo_pixmap = xscreensaver_logo (ssi->screen, 
+                                       /* same visual as si->splash_dialog */
+                                       DefaultVisualOfScreen (ssi->screen),
                                        si->splash_dialog, cmap,
                                        sp->background, 
                                        &sp->logo_pixels, &sp->logo_npixels,
index 2196eadfb1d3d5282fe603d8565a98bc6e3d3d2e..009bb6dc529905286b79573e90a469c959d81194 100644 (file)
@@ -1,5 +1,5 @@
 /* subprocs.c --- choosing, spawning, and killing screenhacks.
- * xscreensaver, Copyright (c) 1991-2006 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2007 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -93,7 +93,7 @@ no_malloc_number_to_string (long num)
       num = -num;
     }
 
-  while ((num > 0) && (num_digits < sizeof(string - 1)))
+  while ((num > 0) && (num_digits < sizeof(string) - 1))
     {
       int digit;
       digit = (int) num % 10;
index 3f0c7409edb20e9a5a062f2731cccb8819282e0d..0c4f0e9a3330ca3f40d39c9d701838a998aa8ebf 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1991-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1991-2007 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -1406,7 +1406,6 @@ main (int argc, char **argv)
   if (!spasswd)
     {
       fprintf(stderr, "Could not figure out who the current user is!\n");
-      fprintf(stderr, "spasswd is %x\n", (unsigned int) spasswd);
       return 1;
     }
 
index b95f56d3d5e616aa7a7ad3417af59f73b40b2488..c678226314203b69d6ba62cab2eceb3545caca70 100644 (file)
@@ -14,6 +14,7 @@ install_prefix        =
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 bindir         = @bindir@
+datarootdir    = @datarootdir@
 datadir                = @datadir@
 mandir         = @mandir@
 libexecdir     = @libexecdir@
@@ -111,7 +112,7 @@ SRCS                = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  fuzzyflakes.c anemotaxis.c memscroller.c substrate.c \
                  intermomentary.c fireworkx.c fireworkx_mmx.S fiberlamp.c \
                  boxfit.c interaggregate.c celtic.c cwaves.c m6502.c \
-                 asm6502.c \
+                 asm6502.c abstractile.c \
                  webcollage-cocoa.m webcollage-helper-cocoa.m
 SCRIPTS                = vidwhacker webcollage ljlatest
 
@@ -150,7 +151,7 @@ OBJS                = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  fuzzyflakes.o anemotaxis.o memscroller.o substrate.o \
                  intermomentary.o fireworkx.o fiberlamp.o boxfit.o \
                  interaggregate.o celtic.o cwaves.o webcollage-cocoa.o \
-                 webcollage-helper-cocoa.o m6502.0 asm6502.o
+                 webcollage-helper-cocoa.o m6502.0 asm6502.o abstractile.o
 
 NEXES          = attraction blitspin bouboule braid bubbles decayscreen deco \
                  drift flag flame forest vines galaxy grav greynetic halo \
@@ -171,7 +172,7 @@ NEXES               = attraction blitspin bouboule braid bubbles decayscreen deco \
                  fontglide apple2 xanalogtv pong  wormhole mismunch \
                  pacman fuzzyflakes anemotaxis memscroller substrate \
                  intermomentary fireworkx fiberlamp boxfit interaggregate \
-                 celtic cwaves m6502 \
+                 celtic cwaves m6502 abstractile \
                  @JPEG_EXES@
 SEXES          = sonar
 JPEG_EXES      = webcollage-helper
@@ -219,7 +220,7 @@ MEN         = anemone.man apollonian.man attraction.man \
                  wormhole.man mismunch.man pacman.man fuzzyflakes.man \
                  anemotaxis.man memscroller.man substrate.man \
                  intermomentary.man fireworkx.man fiberlamp.man boxfit.man \
-                 interaggregate.man celtic.man cwaves.man
+                 interaggregate.man celtic.man cwaves.man abstractile.man
 STAR           = *
 EXTRAS         = README Makefile.in xml2man.pl .gdbinit \
                  euler2d.tex \
@@ -858,6 +859,9 @@ cwaves:             cwaves.o        $(HACK_OBJS) $(COL)
 m6502:         m6502.o         asm6502.o $(HACK_OBJS) $(ATV)
        $(CC_HACK) -o $@ $@.o   asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
 
+abstractile:   abstractile.o   $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
 # The rules for those hacks which follow the `xlockmore' API.
 #
 
@@ -992,6 +996,16 @@ webcollage-helper: webcollage-helper.o
 #
 # DO NOT DELETE: updated by make distdepend
 
+abstractile.o: ../config.h
+abstractile.o: $(srcdir)/screenhackI.h
+abstractile.o: $(srcdir)/screenhack.h
+abstractile.o: $(UTILS_SRC)/colors.h
+abstractile.o: $(UTILS_SRC)/grabscreen.h
+abstractile.o: $(UTILS_SRC)/hsv.h
+abstractile.o: $(UTILS_SRC)/resources.h
+abstractile.o: $(UTILS_SRC)/usleep.h
+abstractile.o: $(UTILS_SRC)/visual.h
+abstractile.o: $(UTILS_SRC)/yarandom.h
 analogtv.o: $(srcdir)/analogtv.h
 analogtv.o: ../config.h
 analogtv.o: $(srcdir)/images/6x10font.xbm
diff --git a/hacks/abstractile.c b/hacks/abstractile.c
new file mode 100644 (file)
index 0000000..6053b7a
--- /dev/null
@@ -0,0 +1,1586 @@
+/* 
+ * Copyright (c) 2004, 2007 Steve Sundstrom
+ *
+ * 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.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
+
+#include "screenhack.h"
+#include "colors.h"
+#include "hsv.h"
+#include <stdio.h>
+#include <math.h>
+#include <sys/time.h>
+/*#include <sys/utsname.h>*/
+
+#define DEBUGFILE       "/tmp/abstractile.dbg"
+
+#define MODE_CREATE            0   /* init, create, then finish sleep */
+#define MODE_ERASE             1   /* erase, then reset colors */
+#define MODE_DRAW              2
+
+#define DIR_NONE               0
+#define DIR_UP                 1
+#define DIR_DOWN               2
+#define DIR_LEFT               3
+#define DIR_RIGHT              4
+
+#define LINE_FORCE             1
+#define LINE_NEW               2
+#define LINE_BRIN              3
+#define LINE_BROUT             4
+
+#define PT_UL                  0
+#define PT_MP                  1
+#define PT_LR                  2
+#define PT_NL                  3
+
+#define D3D_NONE               0
+#define D3D_BLOCK              1 
+#define D3D_NEON               2
+#define D3D_TILED              3
+
+#define TILE_RANDOM            0
+#define TILE_FLAT              1
+#define TILE_THIN              2
+#define TILE_OUTLINE           3
+#define TILE_BLOCK             4
+#define TILE_NEON              5
+#define TILE_TILED             6
+
+#define BASECOLORS             30
+#define SHADES                 12
+#define MAXCOLORS              40
+#define LAYERS                 4
+#define PATTERNS               40
+#define SHAPES                 18
+#define DRAWORDERS             40
+#define COLORMAPS              20
+#define WAVES                  6
+#define STRETCHES              8
+
+const double PI = 3.1415926535;
+
+struct lineStruct {
+    unsigned int x, y, len, obj, color, ndol;
+    int deo;
+    Bool hv;
+};
+
+struct gridStruct {
+    unsigned int line, hl, hr, vu, vd, dhl, dhr, dvu, dvd;
+};
+
+/* basically the same as global variables, but used to keep them in a bucket 
+   and pass them around easier like the original C++ implementation */
+struct state {
+  /* window values */
+  Display *display;
+  Window window;
+  XWindowAttributes xgwa;
+  GC fgc, bgc;
+  XColor colors[255];
+
+  /* memory values */
+  struct lineStruct *dline, *eline;
+  struct gridStruct *grid;
+  unsigned int *zlist, *fdol;
+  Bool *odi;
+    /* draw, erase, fill, init, line, object, z indexes */
+  unsigned int di, ei, fi, ii, bi, li, eli, oi, zi;
+  /* size variables */
+  unsigned int gridx, gridy, gridn;                     /* grid size */
+  int lwid, bwid, swid;/* line width, background width, shadow width */
+  int narray, max_wxh;
+  int elwid, elpu, egridx, egridy; /* for now */
+  /* fill variables */
+  int bnratio;                 /* ratio of branch lines to new lines */
+  int maxlen;                              /* maximum length of line */
+  int forcemax;                  /* make line be max possible length */
+  int olen;                           /* open length set by findopen */
+  int bln;          /* blocking line number set by findopen, -1=edge */
+  /* color variables */
+  int ncolors;                        /* number of colors for screen */
+  int shades;
+  int rco[MAXCOLORS];           /* random ordering of colors for deo */
+  int cmap;
+  int layers;
+  Bool newcols;      /* can we create new colormaps with each screen */
+  /* draw variables */
+  int dmap, emap;  /* pattern by which line draw order is determined */
+  int dvar, evar;             /* random number added to .deo to vary */
+  int ddir, edir;      /* draw/erase in forward direction or reverse */
+  int lpu;            /* lines drawn per update used to adjust speed */
+  int d3d;
+  int round;
+  int outline;
+  /* layered draw variables */
+  int pattern[LAYERS], shape[LAYERS], mix[LAYERS]; 
+  int csw[LAYERS], wsx[LAYERS], wsy[LAYERS], sec[LAYERS]; 
+  int cs1[LAYERS], cs2[LAYERS], cs3[LAYERS]; int cs4[LAYERS]; 
+  int wave[LAYERS], waveh[LAYERS], wavel[LAYERS]; 
+  int rx1[LAYERS], rx2[LAYERS], rx3[LAYERS];
+  int ry1[LAYERS], ry2[LAYERS], ry3[LAYERS];
+  /* misc variables */
+  int mode, sleep, speed, tile, dialog;
+  Bool grid_full, resized;
+  struct timeval time;
+};
+
+static int 
+_min(int a, int b) 
+{
+  if (a<=b)
+    return(a);
+  return(b);
+}
+
+static int 
+_max(int a, int b) 
+{
+  if (a>=b)
+    return(a);
+  return(b);
+}
+
+static int 
+_dist(struct state *st, int x1, int x2, int y1, int y2, int s) 
+{
+  double xd=x1-x2;
+  double yd=y1-y2;
+  switch(s) {
+    case 0:
+      return((int)sqrt(xd*xd+yd*yd));
+    case 1:
+      return((int)sqrt(xd*xd*st->cs1[0]*2+yd*yd));
+    case 2:
+      return((int)sqrt(xd*xd+yd*yd*st->cs2[0]*2));
+    default:
+      return((int)sqrt(xd*xd*st->cs1[0]/st->cs2[0]+yd*yd*st->cs3[0]/st->cs4[0]));
+  }
+}
+
+static int 
+_wave(struct state *st, int x, int h, int l, int wave) 
+{
+  l+=1; 
+  switch(wave) {
+    case 0:                                         /* cos wave*/
+      return((int)(cos((double)x*PI/l)*h));
+    case 1:                                      /* double wave*/
+    case 2:                                      /* double wave*/
+      return((int)(cos((double)x*PI/l)*h)+(int)(sin((double)x*PI/l/st->cs1[1])*h));
+    case 3:                                         /* zig zag */
+      return(abs((x%(l*2)-l))*h/l);
+    case 4:                                   /* giant zig zag */
+      return(abs((x%(l*4)-l*2))*h*3/l);
+    case 5:                                        /* sawtooth */
+      return((x%(l))*h/l); 
+    default:                                       /* no wave */
+      return(0);
+  } 
+}
+
+static int 
+_triangle(struct state *st, int x, int y, int rx, int ry, int t) 
+{
+  switch(t) {
+    case 1:
+      return(_min(_min(x+y+rx-(st->gridx/2),st->gridx-x+y),(st->gridy-y+(ry/2))*3/2));
+    case 2:
+      return(_min(_min(x-rx,y-ry),(rx+ry-x-y)*2/3)); 
+    case 3:
+      return(_min(_min(st->gridx-x-rx,y-ry),(rx+ry-st->gridx+x-y)*2/3));
+    case 4:
+      return(_min(_min(x-rx,st->gridy-y-ry),(rx+ry-x-st->gridy+y)*2/3));
+  } 
+  return(_min(_min(st->gridx-x-rx,st->gridy-y-ry),(rx+ry-st->gridx+x-st->gridy+y)*2/3));
+}
+
+static void 
+_init_zlist(struct state *st) 
+{
+  unsigned int tmp, y, z;
+
+  st->gridx=st->xgwa.width/st->lwid;
+  st->gridy=st->xgwa.height/st->lwid;
+  st->gridn=st->gridx*st->gridy;
+  /* clear grid */
+  for (z=0; z<st->gridn; z++) {
+    st->grid[z].line=st->grid[z].hl=st->grid[z].hr=st->grid[z].vu=st->grid[z].vd=st->grid[z].dhl=st->grid[z].dhr=st->grid[z].dvu=st->grid[z].dvd=0;
+    st->zlist[z]=z;
+  }
+  /* rather than pull x,y points randomly and wait to hit final empy cells a 
+     list of all points is created and mixed so empty cells do get hit last */
+  for (z=0; z<st->gridn; z++) {
+    y=random()%st->gridn;
+    tmp=st->zlist[y];
+    st->zlist[y]=st->zlist[z];
+    st->zlist[z]=tmp;
+  }
+}
+
+static void
+make_color_ramp_rgb (Display *dpy, Colormap cmap,
+    int r1, int g1, int b1,  int r2, int g2, int b2,
+    XColor *colors, int *ncolorsP,
+    Bool closed_p, Bool allocate_p, Bool writable_p)
+{
+    int h1, h2;
+    double s1, s2, v1, v2;
+    rgb_to_hsv(r1, g1, b1, &h1, &s1, &v1);
+    rgb_to_hsv(r2, g2, b2, &h2, &s2, &v2);
+    make_color_ramp(dpy, cmap, h1, s1, v1, h2, s2, v2,
+        colors, ncolorsP, False, allocate_p, writable_p);
+}
+
+
+static void 
+_init_colors(struct state *st)
+{
+  int col[BASECOLORS];
+  int c1, c2, c3, h1, h2, h3; 
+  int r1, g1, b1, r2, g2, b2, r3, g3, b3;
+  double s1, s2, s3, v1, v2, v3;
+  XColor tmp_col1[16], tmp_col2[16], tmp_col3[16];
+
+  unsigned short basecol[BASECOLORS][3]={
+    /* 0  dgray */    {0x3333,0x3333,0x3333},
+    /* 1  dbrown */   {0x6666,0x3333,0x0000},
+    /* 2  dred */     {0x9999,0x0000,0x0000},
+    /* 3  orange */   {0xFFFF,0x6666,0x0000},
+    /* 4  gold */     {0xFFFF,0xCCCC,0x0000},
+    /* 5  olive */    {0x6666,0x6666,0x0000},
+    /* 6  ivy */      {0x0000,0x6666,0x0000},
+    /* 7  dgreen */   {0x0000,0x9999,0x0000},
+    /* 8  bluegray */ {0x3333,0x6666,0x6666},
+    /* 9  dblue */    {0x0000,0x0000,0x9999},
+    /* 10 blue */     {0x3333,0x3333,0xFFFF},
+    /* 11 dpurple */  {0x6666,0x0000,0xCCCC},
+    /* 12 purple */   {0x6666,0x3333,0xFFFF},
+    /* 13 violet */   {0x9999,0x3333,0x9999},
+    /* 14 magenta */  {0xCCCC,0x3333,0xCCCC},
+    /* lights */
+    /* 15 gray */     {0x3333,0x3333,0x3333},
+    /* 16 brown */    {0x9999,0x6666,0x3333},
+    /* 17 tan */      {0xCCCC,0x9999,0x3333},
+    /* 18 red */      {0xFFFF,0x0000,0x0000},
+    /* 19 lorange */  {0xFFFF,0x9999,0x0000},
+    /* 20 yellow */   {0xFFFF,0xFFFF,0x0000},
+    /* 21 lolive */   {0x9999,0x9999,0x0000},
+    /* 22 green */    {0x3333,0xCCCC,0x0000},
+    /* 23 lgreen */   {0x3333,0xFFFF,0x3333},
+    /* 24 cyan */     {0x0000,0xCCCC,0xCCCC},
+    /* 25 sky */      {0x3333,0xFFFF,0xFFFF},
+    /* 26 marine */   {0x3333,0x6666,0xFFFF},
+    /* 27 lblue */    {0x3333,0xCCCC,0xFFFF},
+    /* 28 lpurple */  {0x9999,0x9999,0xFFFF},
+    /* 29 pink */     {0xFFFF,0x9999,0xFFFF}};
+
+  if (st->d3d) {
+    st->shades = (st->d3d==D3D_TILED) ? 5 : st->lwid/2+1;      
+    st->ncolors=4+random()%4;
+    if (st->cmap>0) {                      /* tint the basecolors a bit */
+      for (c1=0; c1<BASECOLORS; c1++)
+        for (c2=0; c2<2; c2++)
+         if (!basecol[c1][c2]) {
+            basecol[c1][c2]+=random()%16000;
+         } else if (basecol[c1][c2]==0xFFFF) {
+            basecol[c1][c2]-=random()%16000;
+          } else {
+            basecol[c1][c2]-=8000;
+            basecol[c1][c2]+=random()%16000;
+          }
+    }
+    switch(st->cmap%4) {
+      case 0:                                            /* all */
+        for (c1=0; c1<st->ncolors; c1++) 
+          col[c1]=random()%BASECOLORS;
+        break;
+      case 1:                                          /* darks */
+        for (c1=0; c1<st->ncolors; c1++) 
+          col[c1]=random()%15;
+        break;
+      case 2:                                   /* semi consecutive darks */
+        col[0]=random()%15;
+        for (c1=1; c1<st->ncolors; c1++) 
+          col[c1]=(col[c1-1]+1+random()%2)%15;
+        break;
+      case 3:                                   /* consecutive darks */
+        col[0]=random()%(15-st->ncolors);
+        for (c1=1; c1<st->ncolors; c1++) 
+          col[c1]=col[c1-1]+1;
+        break;
+    }
+    for (c1=0; c1<st->ncolors; c1++) {
+      /* adjust colors already set */
+      for (h1=c1*st->shades-1; h1>=0; h1--) 
+        st->colors[h1+st->shades]=st->colors[h1];
+      make_color_ramp_rgb(st->display, st->xgwa.colormap,
+        basecol[col[c1]][0], basecol[col[c1]][1], basecol[col[c1]][2], 
+        0xFFFF, 0xFFFF, 0xFFFF, st->colors, &st->shades, 
+        False, True, False);
+    }
+    return;
+  }
+  /* not 3d */
+  st->shades=1;
+  if (st->cmap%2) {                                  /* basecolors */
+    if (random()%3) {           
+      c1=random()%15;                
+      c2=(c1+3+(random()%5))%15;
+      c3=(c2+3+(random()%5))%15;
+    } else {
+      c1=random()%BASECOLORS;                
+      c2=(c1+5+(random()%10))%BASECOLORS;
+      c3=(c2+5+(random()%10))%BASECOLORS;
+    }
+    r1=basecol[c1][0];
+    g1=basecol[c1][1];
+    b1=basecol[c1][2];
+    r2=basecol[c2][0];
+    g2=basecol[c2][1];
+    b2=basecol[c2][2];
+    r3=basecol[c3][0];
+    g3=basecol[c3][1];
+    b3=basecol[c3][2];
+  } else {                                             /* random rgb's */
+    r1=random()%65535;
+    g1=random()%65535;
+    b1=random()%65535;
+    r2=(r1+16384+random()%32768)%65535;
+    g2=(g1+16384+random()%32768)%65535;
+    b2=(b1+16384+random()%32768)%65535;
+    r3=(r2+16384+random()%32768)%65535;
+    g3=(g2+16384+random()%32768)%65535;
+    b3=(b2+16384+random()%32768)%65535;
+ }
+ switch(st->cmap) {
+    case 0:                           /* make_color_ramp color->color */
+    case 1:
+    case 2:                           /* make_color_ramp color->white */
+    case 3:
+      st->ncolors=5+random()%5;
+      if (st->cmap>1)
+        r2=g2=b2=0xFFFF;
+      make_color_ramp_rgb(st->display, st->xgwa.colormap,
+        r1, g1, b1, r2, g2, b2, 
+        st->colors, &st->ncolors, random()%2, True, False);
+      break;
+    case 4:                                /* 3 color make_color_loop */
+    case 5:
+    case 6:
+    case 7:
+      st->ncolors=8+random()%12;
+      rgb_to_hsv(r1, g1, b1, &h1, &s1, &v1);
+      rgb_to_hsv(r2, g2, b2, &h2, &s2, &v2);
+      rgb_to_hsv(r3, g3, b3, &h3, &s3, &v3);
+
+      make_color_loop(st->display, st->xgwa.colormap,
+        h1, s1, v1, h2, s2, v2, h3, s3, v3,
+        st->colors, &st->ncolors, True, False);
+      break;
+    case 8:                                            /* random smooth */
+    case 9:
+      st->ncolors=(random()%4)*6+12;
+      make_smooth_colormap (st->display, st->xgwa.visual, 
+        st->xgwa.colormap, st->colors, &st->ncolors, 
+        True, False, True);
+      break;
+    case 10:                                                 /* rainbow */
+      st->ncolors=(random()%4)*6+12;
+      make_uniform_colormap (st->display, st->xgwa.visual, 
+        st->xgwa.colormap, st->colors, &st->ncolors, 
+        True, False, True);
+      break;
+    case 11:                                     /* dark to light blend */
+    case 12:
+    case 13:
+    case 14:
+      st->ncolors=7;
+      make_color_ramp_rgb(st->display, st->xgwa.colormap,
+        r1, g1, b1, 0xFFFF, 0xFFFF, 0xFFFF, 
+        tmp_col1, &st->ncolors, False, True, False);
+      make_color_ramp_rgb(st->display, st->xgwa.colormap,
+        r2, g2, b2, 0xFFFF, 0xFFFF, 0xFFFF, 
+        tmp_col2, &st->ncolors, False, True, False);
+      if (st->cmap<13) {
+        for(c1=0; c1<=4; c1++) {
+           st->colors[c1*2]=tmp_col1[c1];
+           st->colors[c1*2+1]=tmp_col2[c1];
+        }
+        st->ncolors=10;
+      } else {
+        make_color_ramp_rgb(st->display, st->xgwa.colormap,
+          r3, g3, b3, 0xFFFF, 0xFFFF, 0xFFFF, 
+          tmp_col3, &st->ncolors, False, True, False);
+        for(c1=0; c1<=4; c1++) {
+           st->colors[c1*3]=tmp_col1[c1];
+           st->colors[c1*3+1]=tmp_col2[c1];
+           st->colors[c1*3+2]=tmp_col3[c1];
+        }
+        st->ncolors=15;
+      }
+      break;
+    default:                                                  /* random */
+      st->ncolors=(random()%4)*6+12;
+      make_random_colormap (st->display, st->xgwa.visual, 
+        st->xgwa.colormap, st->colors, &st->ncolors, 
+        False, True, False, True);
+      break;
+  }
+
+  /* set random color order for drawing and erasing */
+  for (c1=0; c1<MAXCOLORS; c1++)
+    st->rco[c1]=c1;
+  for (c1=0; c1<MAXCOLORS; c1++) {
+    c3=random()%MAXCOLORS;
+    c2=st->rco[c1];
+    st->rco[c1]=st->rco[c3];
+    st->rco[c3]=c2;
+  }
+}
+
+static int _comparedeo(const void *i, const void *j)
+{
+        struct lineStruct *h1, *h2;
+                                                                                
+        h1=(struct lineStruct *)i;
+        h2=(struct lineStruct *)j;
+        if (h1->deo > h2->deo)
+                return(1);
+        if (h1->deo < h2->deo)
+                return(-1);
+        return(0);
+}
+
+static int 
+_hv(struct state *st, int x, int y, int d1, int d2, int pn, Bool de)
+{
+  int v1, v2, r;
+
+  switch (d1) {
+    case 0:
+      v1 = (de) ? st->egridx-x : st->gridx-x;
+      break;
+    case 1:
+      v1 = y;
+      break;
+    case 2:
+      v1 = x;
+      break;
+    default:
+      v1 = (de) ? st->egridy-y : st->gridy-y;
+      break;
+  }
+  switch (d2) {
+    case 0:
+      v2 = (de) ? st->egridx-x : st->gridx-x;
+      break;
+    case 1:
+      v2 = y;
+      break;
+    case 2:
+      v2 = x;
+      break;
+    default:
+      v2 = (de) ? st->egridy-y : st->gridy-y;
+      break;
+  }
+  r = (de) ? (st->dline[st->li].hv) ? (v1+10000)*pn : (v2+10000)*-pn :
+    (st->eline[st->li].hv) ? (v1+10000)*pn : (v2+10000)*-pn;
+  return(r);
+}
+       
+static int 
+_getdeo(struct state *st, int x, int y, int map, int de)
+{
+  int cr;
+  switch(map) {
+    case 0:                                        /* horizontal one side */
+      return(x);
+    case 1:                                          /* vertical one side */
+      return(y);
+    case 2:                                        /* horizontal two side */
+      return(_min(x,st->gridx-x)+1); 
+    case 3:                                          /* vertical two side */
+      return(_min(y,st->gridy-y)+1); 
+    case 4:                                                     /* square */
+      return(_max(abs(x-st->rx3[de]),abs(y-st->ry3[de]))+1);
+    case 5:                                                /* two squares */
+      return(_min(_max(abs(x-(st->rx3[de]/2)),abs(y-st->ry3[de])),_max(abs(x-(st->gridx-(st->rx2[de]/2))),abs(y-st->ry2[de])))+1); 
+    case 6:                                       /* horizontal rectangle */
+      return(_max(abs(x-st->rx3[de]),abs(y-(st->ry3[de]))*st->cs1[de])+1); 
+    case 7:                                         /* vertical rectangle */
+      return(_max(abs(x-st->rx3[de])*st->cs1[de],abs(y-(st->ry3[de])))+1); 
+    case 8:                                                    /* + cross */
+      return(_min(abs(x-st->rx3[de]),abs(y-(st->ry3[de])))+1); 
+    case 9:                                                   /* diagonal */
+      return((x*3/4+y)+1);
+    case 10:                                         /* opposite diagonal */
+      return((x*3/4+st->gridy-y)+1); 
+    case 11:                                                   /* diamond */
+      return((abs(x-st->rx3[de])+abs(y-st->ry3[de]))/2+1); 
+    case 12:                                              /* two diamonds */
+      return(_min(abs(x-(st->rx3[de]/2))+abs(y-st->ry3[de]),abs(x-(st->gridx-(st->rx2[de]/2)))+abs(y-st->ry2[de]))/2+1);
+    case 13:                                                    /* circle */
+      return(_dist(st,x,st->rx3[de],y,st->ry3[de],0)+1); 
+    case 14:                                        /* horizontal ellipse */
+      return(_dist(st,x,st->rx3[de],y,st->ry3[de],1)+1); 
+    case 15:                                          /* vertical ellipse */
+      return(_dist(st,x,st->rx3[de],y,st->ry3[de],2)+1); 
+    case 16:                                               /* two circles */
+      return(_min(_dist(st,x,st->rx3[de]/2,y,st->ry3[de],0),_dist(st,x,st->gridx-(st->rx2[de]/2),y,st->ry2[de],0))+1); 
+    case 17:                                  /* horizontal straight wave */
+      return(x+_wave(st,st->gridy+y,st->csw[0]*st->cs1[0],st->csw[0]*st->cs2[0],st->wave[de]));
+    case 18:                                    /* vertical straight wave */
+      return(y+_wave(st,st->gridx+x,st->csw[0]*st->cs1[0],st->csw[0]*st->cs2[0],st->wave[de])); 
+    case 19:                                     /* horizontal wavey wave */
+      return(x+_wave(st,st->gridy+y+((x/5)*st->edir),st->csw[de]*st->cs1[de],st->csw[de]*st->cs2[de],st->wave[de])+1);
+    case 20:                                       /* vertical wavey wave */
+      return(y+_wave(st,st->gridx+x+((y/5)*st->edir),st->csw[de]*st->cs1[de],st->csw[de]*st->cs2[de],st->wave[de])+1);
+/* no d3d for 21,22 */
+    case 21:                                  /* simultaneous directional */
+      return(_hv(st,x,y,st->cs1[0]%2,st->cs2[0]%2,1,de));
+    case 22:                                       /* reverse directional */
+      return(_hv(st,x,y,st->cs1[0]%2,st->cs2[0]%2,-1,de)); 
+    case 23:                                                    /* length */
+      if (de) 
+        return(st->dline[st->li].len*1000+random()%5000); 
+      else 
+        return(st->eline[st->li].len*1000+random()%5000);
+    case 24:                                                    /* object */
+    case 25:                                                    
+    case 26:                                                    
+    case 27:                                                    
+      if (de) 
+        return(st->dline[st->li].obj*100); 
+      else 
+        return(st->eline[st->li].obj*100);
+    default:                                                     /* color */
+      cr = (de) ? st->dline[st->li].color : st->eline[st->li].color;
+      if (map<34) cr=st->rco[cr];
+      if ((map%6<4) || (de))  {                               /* by color */
+        cr*=1000;
+        cr+=random()%1000;
+      } else if (map%6==4) {                      /* by color horizontaly */
+        cr*=st->gridx;
+        cr+=(x+random()%(st->gridx/2));
+      } else {                                     /* by color vertically */
+        cr*=st->gridy;
+        cr+=(y+random()%(st->gridy/2));
+      }
+      return(cr);
+  }
+  return(1);
+}
+
+static void 
+_init_screen(struct state *st)
+{
+  int nstr, x;
+  struct lineStruct *tmp;
+
+  /* malloc memory in case of resize */
+  if (st->resized) {
+    st->max_wxh=st->xgwa.width*st->xgwa.height;
+    if (st->dline!=NULL)
+      free(st->dline);
+    if (st->eline!=NULL)
+      free(st->eline);
+    if (st->grid!=NULL)
+      free(st->grid);
+    if (st->zlist!=NULL)
+      free(st->zlist);
+    if (st->fdol!=NULL)
+      free(st->fdol);
+    if (st->odi!=NULL)
+      free(st->odi);
+    st->narray = (st->xgwa.width+1)*(st->xgwa.height+1)/4+1;
+    st->dline = calloc(st->narray, sizeof(struct lineStruct));
+    st->eline = calloc(st->narray, sizeof(struct lineStruct));
+    st->grid = calloc(st->narray, sizeof(struct gridStruct));
+    st->zlist = calloc(st->narray, sizeof(unsigned int));
+    st->fdol = calloc(st->narray, sizeof(unsigned int));
+    st->odi = calloc(st->narray, sizeof(Bool));
+    if ((st->dline == NULL) || (st->eline == NULL) || 
+      (st->grid == NULL) || (st->zlist == NULL) ||
+      (st->fdol == NULL) || (st->odi == NULL)) {
+      fprintf(stderr, "not enough memory\n");
+      exit(1);
+    }
+    st->dialog = (st->xgwa.width<500) ? 1 : 0;
+    st->resized=False;
+  }
+  if (st->ii) {
+    /* swap st->dline and st->eline pointers to resort and erase */
+    tmp=st->eline;
+    st->eline=st->dline;
+    st->dline=tmp;
+    st->eli=st->li;
+    st->elwid=st->lwid;
+    st->elpu=st->lpu;
+    st->egridx=st->gridx;
+    st->egridy=st->gridy;
+
+    /* create new erase order */
+    for (st->li=1; st->li<=st->eli; st->li++) 
+      st->eline[st->li].deo=(_getdeo(st,st->eline[st->li].x,st->eline[st->li].y,st->emap,0) + (random()%st->evar) + (random()%st->evar))*st->edir;
+    qsort(st->eline, st->eli+1, sizeof(struct lineStruct), _comparedeo);
+  }
+  st->ii++;
+
+  /* clear arrays and other counters */
+  st->di=st->ei=st->fi=st->li=st->oi=st->zi=0;
+  st->grid_full=False;
+  /* li starts from 1 */
+  st->dline[0].x=st->dline[0].y=st->dline[0].len=0; 
+  /* to keep it first after sorting so di is never null */
+  st->dline[0].deo=-999999999; 
+
+  /* set random screen variables */
+  st->lwid = (st->ii==1) ? 3 : 2+((random()%6)%4);
+  st->d3d = ((st->tile==TILE_FLAT) || (st->tile==TILE_THIN) ||
+    (st->tile==TILE_OUTLINE)) ? D3D_NONE :
+    (st->tile==TILE_BLOCK) ? D3D_BLOCK :
+    (st->tile==TILE_NEON) ? D3D_NEON :
+    (st->tile==TILE_TILED) ? D3D_TILED : 
+    /* force TILE_D3D on first screen to properly load all shades */
+    ((st->ii==1) && (!st->newcols)) ? D3D_TILED : (random()%5)%4; 
+/* st->d3d=D3D_BLOCK; st->lwid=2; */
+  st->outline = (st->tile==TILE_OUTLINE) ? 1 :
+     ((st->tile!=TILE_RANDOM) || (random()%5)) ? 0 : 1; 
+  st->round = (st->d3d==D3D_NEON) ? 1 : 
+    ((st->d3d==D3D_BLOCK) || (st->outline) || (random()%6)) ? 0 : 1;
+  if ((st->d3d) || (st->outline) || (st->round))
+    st->lwid+=2;
+  if ((!st->d3d) && (!st->round) && (!st->outline) && (st->lwid>3))
+    st->lwid-=2;
+  if (st->d3d==D3D_TILED)
+    st->lwid++;
+  if (st->tile==TILE_THIN)
+    st->lwid=2;
+  _init_zlist(st);
+
+  st->maxlen=(st->lwid>6) ? 2+(random()%4) :
+                (st->lwid>4) ? 2+(random()%8)%6 :
+                (st->lwid>2) ? 2+(random()%12)%8 : 2+(random()%15)%10;
+  st->bnratio = 4+(random()%4)+(random()%4);
+  st->forcemax = (random()%6) ? 0 : 1;
+
+  if ((st->ii==1) || (st->newcols))
+    _init_colors(st);
+
+  st->dmap = (st->emap+5+(random()%5))%DRAWORDERS;
+
+  st->dmap=20+random()%20;
+  
+  st->dvar = (st->dmap>22) ? 100 : 10+(st->csw[0]*(random()%5));
+  st->ddir= (random()%2) ? 1 : -1;
+  
+  st->emap = (st->dmap+10+(random()%10))%20;
+  st->evar = (st->emap>22) ? 100 : 10+(st->csw[0]*(random()%5));
+  st->edir= (random()%2) ? 1 : -1;
+
+  st->layers= (random()%2) ? 2 : (random()%2) ? 1 : (random()%2) ? 3 : 4;
+  st->cmap=(st->cmap+5+(random()%10))%COLORMAPS;
+
+  for (x=0; x<LAYERS; x++) {
+    st->pattern[x]=random()%PATTERNS;
+    st->shape[x]=random()%SHAPES;
+    st->mix[x]=random()%20;
+    nstr = (st->lwid==2) ? 20+random()%12 :
+      (st->lwid==3) ? 16+random()%8 : 
+      (st->lwid==4) ? 12+random()%6 : 
+      (st->lwid==5) ? 10+random()%5 : 
+      (st->lwid==6) ? 8+random()%4 : 
+        5+random()%5;
+    st->csw[x] = _max(5,st->gridy/nstr);
+    st->wsx[x] = (st->wsx[x]+3+(random()%3))%STRETCHES;
+    st->wsy[x] = (st->wsy[x]+3+(random()%3))%STRETCHES;
+    st->sec[x] = random()%5;
+    if ((!st->dialog) && (st->sec[x]<2)) st->csw[x]/=2;
+    st->cs1[x] = (st->dialog) ? 1+random()%3 : 2+random()%5;
+    st->cs2[x] = (st->dialog) ? 1+random()%3 : 2+random()%5;
+    st->cs3[x] = (st->dialog) ? 1+random()%3 : 2+random()%5;
+    st->cs4[x] = (st->dialog) ? 1+random()%3 : 2+random()%5;
+    st->wave[x]=random()%WAVES;
+    st->wavel[x]=st->csw[x]*(2+random()%6); 
+    st->waveh[x]=st->csw[x]*(1+random()%3);
+    st->rx1[x]=(st->gridx/10+random()%(st->gridx*8/10));
+    st->ry1[x]=(st->gridy/10+random()%(st->gridy*8/10));
+    st->rx2[x]=(st->gridx*2/10+random()%(st->gridx*6/10));
+    st->ry2[x]=(st->gridy*2/10+random()%(st->gridy*6/10));
+    st->rx3[x]=(st->gridx*3/10+random()%(st->gridx*4/10));
+    st->ry3[x]=(st->gridy*3/10+random()%(st->gridy*4/10));
+  }
+}
+
+static int 
+_shape(struct state *st, int x, int y, int rx, int ry, int n)
+{
+  switch(st->shape[n]) {
+    case 0:                                        /* square/rectangle */
+    case 1:
+    case 2:
+      return(1+_max(abs(x-rx)*st->cs1[n]/st->cs2[n],abs(y-ry)*st->cs3[n]/st->cs4[n]));
+    case 3:                                                 /* diamond */
+    case 4:
+      return(1+(abs(x-rx)*st->cs1[n]/st->cs2[n]+abs(y-ry)*st->cs3[n]/st->cs4[n]));
+    case 5:                                            /* 8 point star */
+      return(1+_min(_max(abs(x-rx),abs(y-ry))*3/2,abs(x-rx)+abs(y-ry)));
+    case 6:                                            /* circle/oval */
+    case 7:
+    case 8:
+      return(1+_dist(st,x,rx,y,ry,st->cs1[n]));
+    case 9:                                      /* black hole circle */
+      return(1+(st->gridx*st->gridy/(1+(_dist(st,x,rx,y,ry,st->cs2[n]))))); 
+    case 10:                                                   /* sun */
+      return(1+_min(abs(x-rx)*st->gridx/(abs(y-ry)+1),abs(y-ry)*st->gridx/(abs(x-rx)+1)));
+    case 11:                             /* 2 circles+inverted circle */
+      return(1+(_dist(st,x,rx,y,ry,st->cs1[n])*_dist(st,x,(rx*3)%st->gridx,y,(ry*5)%st->gridy,st->cs1[n])/(1+_dist(st,x,(rx*4)%st->gridx,y,(ry*7)%st->gridy,st->cs1[n])))); 
+    case 12:                                                   /* star */
+      return(1+(int)sqrt(abs((x-rx)*(y-ry))));
+    case 13:                                       /* centered ellipse */
+      return(1+_dist(st,x,rx,y,ry,0)+_dist(st,x,st->gridx-rx,y,st->gridy-ry,0));
+    default:                                               /* triangle */
+      return(1+_triangle(st,x,y,rx,ry,st->cs4[n]));
+  } 
+  return(1+_triangle(st,x,y,rx,ry,st->cs4[n]));
+}
+
+static int 
+_pattern(struct state *st, int x, int y, int n)
+{
+  int v=0, ox;
+  ox=x;
+  switch(st->wsx[n]) {
+    case 0:                                             /* slants */
+      x+=y/(1+st->cs4[n]);
+      break;
+    case 1:
+      x+=(st->gridy-y)/(1+st->cs4[n]);
+      break;
+    case 2:                                             /* curves */
+      x+=_wave(st,y,st->gridx/(1+st->cs1[n]),st->gridy,0);
+      break;
+    case 3:
+      x+=_wave(st,st->gridy-y,st->gridy/(1+st->cs1[n]),st->gridy,0);
+      break;
+    case 4:                                           /* U curves */
+      x+=_wave(st,y,st->cs1[n]*st->csw[n]/2,st->gridy*2/PI,0);
+      break;
+    case 5:
+      x-=_wave(st,y,st->cs1[n]*st->csw[n]/2,st->gridy*2/PI,0);
+      break;
+  }
+  switch(st->wsy[0]) {
+    case 0:                                          /* slants */
+      y+=ox/(1+st->cs1[n]);
+      break;
+    case 1:
+      y+=(st->gridx-ox)/(1+st->cs1[n]);
+      break;
+    case 2:                                           /* curves */
+      y+=_wave(st,ox,st->gridx/(1+st->cs1[n]),st->gridx,0);
+      break;
+    case 3:
+      y+=_wave(st,st->gridx-ox,st->gridx/(1+st->cs1[n]),st->gridx,0);
+      break;
+    case 4:                                         /* U curves */
+      y+=_wave(st,ox,st->cs1[n]*st->csw[n]/2,st->gridy*2/PI,0);
+      break;
+    case 5:
+      y-=_wave(st,ox,st->cs1[n]*st->csw[n]/2,st->gridy*2/PI,0);
+      break;
+  }
+  switch(st->pattern[n]) {
+    case 0:                                          /* horizontal stripes */
+      v=y;
+      break;
+    case 1:                                            /* vertical stripes */
+      v=x;
+      break;
+    case 2:                                            /* diagonal stripes */
+      v=(x+(y*st->cs1[n]/st->cs2[n]));
+      break;
+    case 3:                                    /* reverse diagonal stripes */
+      v=(x-(y*st->cs1[n]/st->cs2[n]));
+      break;
+    case 4:                                               /* checkerboard */
+      v=(y/st->csw[n]*3+x/st->csw[n])*st->csw[n];
+      break;
+    case 5:                                      /* diagonal checkerboard */
+      v=((x+y)/2/st->csw[n]+(x+st->gridy-y)/2/st->csw[n]*3)*st->csw[n];
+      break;
+    case 6:                                                     /* + cross */
+      v=st->gridx+(_min(abs(x-st->rx3[n]),abs(y-st->ry3[n]))*2);
+      break;
+    case 7:                                              /* double + cross */
+      v=_min(_min(abs(x-st->rx2[n]),abs(y-st->ry2[n])),_min(abs(x-st->rx1[n]),abs(y-st->ry1[n])))*2;
+      break;
+    case 8:                                                     /* X cross */
+      v=st->gridx+(_min(abs(x-st->rx3[n])*st->cs1[n]/st->cs2[n]+abs(y-st->ry2[n])*st->cs3[n]/st->cs4[n],abs(x-st->rx3[n])*st->cs1[n]/st->cs2[n]-abs(y-st->ry3[n])*st->cs3[n]/st->cs4[n])*2);
+      break;
+    case 9:                                              /* double X cross */
+      v=_min(_min(abs(x-st->rx2[n])+abs(y-st->ry2[n]),abs(x-st->rx2[n])-abs(y-st->ry2[n])),_min(abs(x-st->rx1[n])+abs(y-st->ry1[n]),abs(x-st->rx1[n])-abs(y-st->ry1[n])))*2;
+      break;
+    case 10:                                   /* horizontal stripes/waves */
+      v=st->gridy+(y+_wave(st,x,st->waveh[n],st->wavel[n],st->wave[n]));
+      break;
+    case 11:                                     /* vertical stripes/waves */
+      v=st->gridx+(x+_wave(st,y,st->waveh[n],st->wavel[n],st->wave[n]));
+      break;
+    case 12:                                     /* diagonal stripes/waves */
+      v=st->gridx+(x+(y*st->cs1[n]/st->cs2[n])+_wave(st,x,st->waveh[n],st->wavel[n],st->wave[n]));
+      break;
+    case 13:                                     /* diagonal stripes/waves */
+      v=st->gridx+(x-(y*st->cs1[n]/st->cs2[n])+_wave(st,y,st->waveh[n],st->wavel[n],st->wave[n]));
+      break;
+    case 14:                                    /* horizontal spikey waves */
+      v=y+(st->csw[n]*st->cs4[n]/st->cs3[n])+_wave(st,x+((y/st->cs3[n])*st->edir),st->csw[n]/2*st->cs1[n]/st->cs2[n],st->csw[n]/2*st->cs2[n]/st->cs1[n],st->wave[n]);
+      break;
+    case 15:                                      /* vertical spikey waves */
+      v=x+(st->csw[n]*st->cs1[n]/st->cs2[n])+_wave(st,y+((x/st->cs3[n])*st->edir),st->csw[n]/2*st->cs1[n]/st->cs2[n],st->csw[n]/2*st->cs3[n]/st->cs4[n],st->wave[n]);
+      break;
+    case 16:                                    /* big slanted hwaves */
+      v=st->gridy-y-(x*st->cs1[n]/st->cs3[n])+(st->csw[n]*st->cs1[n]*st->cs2[n]) +_wave(st,x,st->csw[n]/3*st->cs1[n]*st->cs2[n],st->csw[n]/3*st->cs3[n]*st->cs2[n],st->wave[n]);
+      break;
+    case 17:                                    /* big slanted vwaves */
+      v=x-(y*st->cs1[n]/st->cs3[n])+(st->csw[n]*st->cs1[n]*st->cs2[n]) +_wave(st,y, st->csw[n]/3*st->cs1[n]*st->cs2[n], st->csw[n]/3*st->cs3[n]*st->cs2[n], st->wave[n]);
+      break;
+    case 18:                                          /* double hwave */
+      v=y+(y+st->csw[n]*st->cs3[n])+_wave(st,x,st->csw[n]/3*st->cs3[n],st->csw[n]/3*st->cs2[n],st->wave[n])+_wave(st,x,st->csw[n]/3*st->cs4[n],st->csw[n]/3*st->cs1[n]*3/2,st->wave[n]);
+      break;
+    case 19:                                          /* double vwave */
+      v=x+(x+st->csw[n]*st->cs1[n])+_wave(st,y,st->csw[n]/3*st->cs1[n],st->csw[n]/3*st->cs3[n],st->wave[n])+_wave(st,y,st->csw[n]/3*st->cs2[n],st->csw[n]/3*st->cs4[n]*3/2,st->wave[n]); 
+      break;
+    case 20:                                                 /* one shape */
+    case 21:
+    case 22:
+      v=_shape(st,x, y, st->rx3[n], st->ry3[n], n);
+      break;
+    case 23:                                                /* two shapes */
+    case 24:
+    case 25:
+      v=_min(_shape(st,x, y, st->rx1[n], st->ry1[n], n),_shape(st,x, y, st->rx2[n], st->ry2[n], n));
+      break;
+    case 26:                                      /* two shapes opposites */
+    case 27:
+      v=_min(_shape(st,x, y, st->rx2[n], st->ry2[n], n),_shape(st,x, y, st->gridx-st->rx2[n], st->gridy-st->rx2[n], n));
+      break;
+    case 28:                                    /* two shape checkerboard */
+    case 29:
+      v=((_shape(st,x, y, st->rx1[n], st->ry1[n], n)/st->csw[n])+(_shape(st,x, y, st->rx2[n], st->ry2[n], n)/st->csw[n]))*st->csw[n];
+      break;
+    case 30:                                            /* two shape blob */
+    case 31:
+      v=(_shape(st,x, y, st->rx1[n], st->ry1[n], n)+_shape(st,x, y, st->rx2[n], st->ry2[n], n))/2;
+      break;
+    case 32:                                   /* inverted two shape blob */
+    case 33:
+      v=(_shape(st,x, y, st->rx1[n], st->ry1[n], n)+_shape(st,st->gridx-x, st->gridy-y, st->rx1[n], st->ry1[n], n))/2;
+      break;
+    case 34:                                              /* three shapes */
+    case 35:
+      v=_min(_shape(st,x, y, st->rx3[n], st->ry3[n], n),_min(_shape(st,x, y, st->rx1[n], st->ry1[n], n),_shape(st,x, y, st->rx2[n], st->ry2[n], n)));
+      break;
+    case 36:                                          /* three shape blob */
+    case 37:
+      v=(_shape(st,x, y, st->rx1[n], st->ry1[n], n)+_shape(st,x, y, st->rx2[n], st->ry2[n], n)+_shape(st,x, y, st->rx3[n], st->ry3[n], n))/3;
+      break;
+    case 38:                                                 /* 4 shapes */    
+      v=(_min(_shape(st,x, y, st->rx2[n], st->ry2[n], n),_shape(st,x, y, st->gridx-st->rx2[n], st->gridy-st->ry2[n], n)),_min(_shape(st,x, y, st->gridx-st->rx2[n], st->ry2[n], n),_shape(st,x, y, st->rx2[n], st->gridy-st->ry2[n], n)));
+      break;
+    case 39:                                           /* four rainbows */
+      v=(_min(_shape(st,x, y, st->gridx-st->rx2[n]/2, st->csw[n], n),_shape(st,x, y, st->csw[n], st->ry2[n]/2, n)),_min(_shape(st,x, y, st->rx2[n]/2, st->gridy-st->csw[n], n),_shape(st,x, y, st->gridx-st->csw[n], st->gridy-(st->ry2[n]/2), n))); 
+      break;
+  }
+  /* stretch or contract stripe */
+  switch(st->sec[n]) {
+    case 0:
+      v=(int)sqrt((int)sqrt(abs(v)*st->gridx)*st->gridx);
+      break;
+    case 1:
+      v=((int)pow(v,2)/st->gridx);
+      break;
+  }
+  return (abs(v));
+}
+
+static int 
+_getcolor(struct state *st, int x, int y)
+{
+  int n, cv[LAYERS];
+  
+  for (n=0; n<st->layers; n++) {
+    cv[n]=_pattern(st,x,y,n);
+                  /* first wave/shape */
+    cv[0] = (!n) ? cv[0]/st->csw[0] : 
+                    /* checkerboard+1 */
+      (st->mix[n]<5) ? (cv[0]*st->csw[0]+cv[n])/st->csw[n] : 
+               /* checkerboard+ncol/2 */
+      (st->mix[n]<12) ? cv[0]+(cv[n]/st->csw[n]*st->ncolors/2) : 
+                           /* add mix */
+      (st->mix[n]<16) ? cv[0]+(cv[n]/st->csw[n]) : 
+                      /* subtract mix */
+      (st->mix[n]<18) ? cv[0]-(cv[n]/st->csw[n]) : 
+                  /* r to l morph mix */
+      (st->mix[n]==18) ? ((cv[0]*x)+(cv[n]*(st->gridx-x)/st->csw[n]))/st->gridx : 
+                  /* u to d morph mix */
+      ((cv[0]*y)+(cv[n]*(st->gridy-y)/st->csw[n]))/st->gridy; 
+  }
+  return(cv[0]);
+}
+
+/* return value=line direction
+   st->olen=open space to edge or next blocking line
+   st->bln=blocking line number or -1 if edge blocks */
+static int 
+_findopen(struct state *st, int x, int y, int z)
+{
+  int dir, od[4], no=0;
+
+  if (((st->grid[z].hl) || (st->grid[z].hr)) && 
+    ((st->grid[z].vu) || (st->grid[z].vd))) 
+    return(DIR_NONE);
+  if ((z>st->gridx) && (!st->grid[z].hl) && (!st->grid[z].hr) && 
+    (!st->grid[z-st->gridx].line)) { 
+    od[no]=DIR_UP; 
+    no++; 
+  }
+  if ((z<st->gridn-st->gridx) && (!st->grid[z].hl) && 
+    (!st->grid[z].hr) && (!st->grid[z+st->gridx].line)) { 
+    od[no]=DIR_DOWN; 
+    no++; 
+  }
+  if ((x) && (!st->grid[z].hl) && (!st->grid[z].hr) && 
+    (!st->grid[z-1].line)) {
+    od[no]=DIR_LEFT; 
+    no++; 
+  }
+  if (((z+1)%st->gridx) && (!st->grid[z].hl) && (!st->grid[z].hr) && 
+    (!st->grid[z+1].line)) { 
+    od[no]=DIR_RIGHT; 
+    no++; 
+  }
+  if (!no) 
+    return(DIR_NONE);
+  dir=od[random()%no];
+  st->olen=st->bln=0;
+  while ((st->olen<=st->maxlen) && (!st->bln)) {
+    st->olen++;
+    if (dir==DIR_UP) 
+      st->bln = (y-st->olen<0) ? -1 : 
+        st->grid[z-(st->olen*st->gridx)].line;
+    if (dir==DIR_DOWN) 
+      st->bln = (y+st->olen>=st->gridy) ? -1 : 
+        st->grid[z+(st->olen*st->gridx)].line;
+    if (dir==DIR_LEFT) 
+      st->bln = (x-st->olen<0) ? -1 : 
+        st->grid[z-st->olen].line;
+    if (dir==DIR_RIGHT) 
+      st->bln = (x+st->olen>=st->gridx) ? -1 : 
+        st->grid[z+st->olen].line;
+  }
+  st->olen--; 
+  return(dir);
+}
+
+static void 
+_fillgrid(struct state *st)
+{
+  unsigned int gridc, n, add;
+
+  gridc=st->gridx*st->dline[st->li].y+st->dline[st->li].x;
+  add = (st->dline[st->li].hv) ? 1 : st->gridx;
+  for (n=0;  n<=st->dline[st->li].len; n++) {
+    if (n)
+      gridc+=add;
+    if (!st->grid[gridc].line) {
+      st->fi++;
+      st->grid[gridc].line=st->li;
+    }
+    if (st->dline[st->li].hv) {
+      if (n) 
+        st->grid[gridc].hr=st->li;
+      if (n<st->dline[st->li].len)
+        st->grid[gridc].hl=st->li;
+    } else {
+      if (n) 
+        st->grid[gridc].vd=st->li;
+      if (n<st->dline[st->li].len) 
+        st->grid[gridc].vu=st->li;
+    }
+    if (st->fi>=st->gridn) {
+      st->grid_full=True;
+      return;
+    }
+  }
+}
+
+static void 
+_newline(struct state *st)
+{
+  int bl, bz, dir, lt, x, y, z;
+
+  bl=0;
+  z=st->zlist[st->zi];
+  x=z%st->gridx;
+  y=z/st->gridx;
+  st->zi++;
+  dir=_findopen(st,x,y,z);
+
+  if (!st->grid[z].line) { 
+  /* this is an empty space, make a new line unless nothing is open around it */
+    if (dir==DIR_NONE) {
+      /* nothing is open, force a len 1 branch in any direction */
+      lt=LINE_FORCE; 
+      while ((dir==DIR_NONE) || 
+        ((dir==DIR_UP) && (!y)) || 
+        ((dir==DIR_DOWN) && (y+1==st->gridy)) ||
+        ((dir==DIR_LEFT) && (!x)) || 
+        ((dir==DIR_RIGHT) && (x+1==st->gridx))) {
+          dir=random()%4;
+      }
+      bz = (dir==DIR_UP) ? z-st->gridx : (dir==DIR_DOWN) ? z+st->gridx : (dir==DIR_LEFT) ? z-1 : z+1;
+      bl = st->grid[bz].line;
+    } else if ((st->bnratio>1) && (st->bln>0) && 
+      (st->olen<st->maxlen) && (random()%st->bnratio)) { 
+      /* branch into blocking line */
+      lt=LINE_BRIN; 
+      bl = st->bln;
+    } else { 
+      /* make a new line and new object */
+      lt=LINE_NEW; 
+      st->oi++;
+    }  
+  } else { 
+    /* this is a filled space, make a branch unless nothing is open around it */
+    if (dir==DIR_NONE) 
+      return;
+    /* make a branch out of this line */
+    lt=LINE_BROUT; 
+    bl=st->grid[z].line;
+  }
+  st->li++;
+  st->dline[st->li].len = (lt==LINE_FORCE) ? 1 :  (lt==LINE_BRIN) ? 
+    st->olen+1 : (!st->forcemax) ? st->olen : 1+random()%st->olen;
+  st->dline[st->li].x=x;
+  if (dir==DIR_LEFT) 
+    st->dline[st->li].x-=st->dline[st->li].len;
+  st->dline[st->li].y=y;
+  if (dir==DIR_UP) 
+    st->dline[st->li].y-=st->dline[st->li].len;
+  st->dline[st->li].hv = ((dir==DIR_LEFT) || (dir==DIR_RIGHT)) ? 
+    True : False;
+  st->dline[st->li].obj = (lt==LINE_NEW) ? st->oi : 
+    st->dline[bl].obj;
+  st->dline[st->li].color = (lt==LINE_NEW) ? 
+    (_getcolor(st,x,y))%st->ncolors : st->dline[bl].color;
+  st->dline[st->li].deo=(_getdeo(st,x,y,st->dmap,1) + 
+    (random()%st->dvar) + (random()%st->dvar))*st->ddir;
+  st->dline[st->li].ndol=0;
+  _fillgrid(st);
+}
+
+static void 
+_create_screen(struct state *st)
+{
+  while(!st->grid_full)
+    _newline(st);
+  qsort(st->dline, st->li+1, sizeof(struct lineStruct), _comparedeo);
+/*st->lpu=st->li/20/((6-st->speed)*3);
+  Used to use a computed lpu, lines per update to control draw speed
+  draw 1/lpu of the lines before each XSync which takes a split second 
+  the higher the lpu, the quicker the screen draws.  This worked somewhat
+  after the 4->5 update, however with the Mac updating so much more slowly,
+  values tuned for it draw the screen in a blink on Linux.  Therefore we
+  draw 1/200th of the screen with each update and sleep, if necessary */
+  st->lpu = (st->dialog) ? st->li/50 : st->li/200;   
+  st->bi=1;
+  st->mode=MODE_ERASE;
+}
+
+static void 
+_fill_outline(struct state *st, int di)
+{
+  int x, y, h, w;
+
+  if (!di)
+    return;
+  x=st->dline[di].x*st->lwid+1;
+  y=st->dline[di].y*st->lwid+1;
+  if (st->dline[di].hv) {
+    w=(st->dline[di].len+1)*st->lwid-3;
+    h=st->lwid-3;
+  } else {
+    w=st->lwid-3; 
+    h=(st->dline[di].len+1)*st->lwid-3;
+  }
+  XFillRectangle (st->display, st->window, st->bgc, x, y, w, h);
+}
+
+static void 
+_XFillRectangle(struct state *st, int di, int adj)
+{
+  int a, b, x, y, w, h;
+
+  x=st->dline[di].x*st->lwid;
+  y=st->dline[di].y*st->lwid;
+  if (st->dline[di].hv) {
+    w=(st->dline[di].len+1)*st->lwid-1;
+    h=st->lwid-1;
+  } else {
+    w=st->lwid-1; 
+    h=(st->dline[di].len+1)*st->lwid-1;
+  }
+  switch (st->d3d) {
+    case D3D_NEON:
+      x+=adj;
+      y+=adj;
+      w-=adj*2;
+      h-=adj*2;
+    break;
+    case D3D_BLOCK:
+      x+=adj;
+      y+=adj;
+      w-=st->lwid/2-1;
+      h-=st->lwid/2-1;
+    break;
+  }
+  if (!st->round) { 
+    XFillRectangle(st->display, st->window, st->fgc, x, y, w, h);
+  } else {
+    if (h<st->lwid) {                                   /* horizontal */
+      a=(h-1)/2;
+      for (b=0; b<=a; b++)
+        XFillRectangle(st->display, st->window, st->fgc, 
+          x+b, y+a-b, w-b*2, h-((a-b)*2));
+    } else {                                               /* vertical */
+      a=(w-1)/2;
+      for (b=0; b<=a; b++)
+        XFillRectangle(st->display, st->window, st->fgc, 
+          x+a-b, y+b, w-((a-b)*2), h-b*2);
+    }
+  }
+}
+
+static void 
+_XFillTriangle(struct state *st, int color, int x1, int y1, int x2, int y2, 
+  int x3, int y3)
+{
+  XPoint points[3];
+
+  points[0].x=x1;
+  points[0].y=y1;
+  points[1].x=x2;
+  points[1].y=y2;
+  points[2].x=x3;
+  points[2].y=y3;
+  XSetForeground(st->display, st->fgc, st->colors[color].pixel);
+  XFillPolygon (st->display, st->window, st->fgc, points, 3, Convex, 
+      CoordModeOrigin);
+}
+
+static void 
+_XFillPolygon4(struct state *st, int color, int x1, int y1, int x2, int y2, 
+  int x3, int y3, int x4, int y4)
+{
+  XPoint points[4];
+
+  points[0].x=x1;
+  points[0].y=y1;
+  points[1].x=x2;
+  points[1].y=y2;
+  points[2].x=x3;
+  points[2].y=y3;
+  points[3].x=x4;
+  points[3].y=y4;
+  XSetForeground(st->display, st->fgc, st->colors[color].pixel);
+  XFillPolygon (st->display, st->window, st->fgc, points, 4, Convex, 
+      CoordModeOrigin);
+}
+
+static void 
+_draw_tiled(struct state *st, int color)
+{
+  int a, c, d, x, y, z, m1, m2, lr, nl, w, h;
+  a = (st->dline[st->di].hv) ? 1 : st->gridx;
+  z = st->dline[st->di].y*st->gridx+st->dline[st->di].x;
+  m1 = (st->lwid-1)/2;
+  m2 = st->lwid/2;
+  lr = st->lwid-1;
+  nl = st->lwid;
+
+  /* draw tiles one grid cell at a time */
+  for (c=0; c<=st->dline[st->di].len; c++) {
+    if (st->dline[st->di].hv) {
+      x = (st->dline[st->di].x+c)*st->lwid;
+      y = st->dline[st->di].y*st->lwid;
+      if (c) 
+        st->grid[z].dhr=st->di;
+      if (c<st->dline[st->di].len) 
+        st->grid[z].dhl=st->di;
+    } else {
+      x = st->dline[st->di].x*st->lwid;
+      y = (st->dline[st->di].y+c)*st->lwid;
+      if (c) 
+        st->grid[z].dvd=st->di;
+      if (c<st->dline[st->di].len) 
+        st->grid[z].dvu=st->di;
+    }
+    d=0;
+    if (st->grid[z].dhl) 
+      d+=8;
+    if (st->grid[z].dhr) 
+      d+=4;
+    if (st->grid[z].dvu) 
+      d+=2;
+    if (st->grid[z].dvd) 
+      d++;
+    /* draw line base */
+    switch (d) {
+      case 1:
+      case 2:                                    /* vertical */
+      case 3:
+      case 5:
+      case 6:
+      case 7:
+      case 11:
+      case 15:
+        h = ((d==1) || (d==5)) ? lr : nl;
+        XSetForeground(st->display, st->fgc, 
+          st->colors[color].pixel);
+        XFillRectangle (st->display, st->window, st->fgc, 
+          x, y, m2, h);
+        XSetForeground(st->display, st->fgc, 
+           st->colors[color+3].pixel);
+        XFillRectangle (st->display, st->window, st->fgc, 
+          x+m2, y, m1, h);
+        break;
+      case 4:
+      case 8:                                     /* horizontal */
+      case 9:
+      case 10:
+      case 12:
+      case 13:
+      case 14:
+        w = (d==4) ? lr : nl;
+        XSetForeground(st->display, st->fgc, 
+          st->colors[color+1].pixel);
+        XFillRectangle (st->display, st->window, st->fgc, 
+          x, y, w, m2);
+        XSetForeground(st->display, st->fgc, 
+           st->colors[color+2].pixel);
+        XFillRectangle (st->display, st->window, st->fgc, 
+          x, y+m2, w, m1);
+        break;
+    }
+    /* draw angles */
+    switch(d) {
+      case 1:                                      /* bottom end ^ */
+        _XFillTriangle(st,color+2, x, y+lr, x+lr, y+lr, x+m2, y+m2);
+        break;
+      case 2:                                       /* top end \/ */
+        _XFillTriangle(st,color+1, x, y, x+lr, y, x+m2, y+m2);
+        break;
+      case 4:                                       /* right end < */
+        _XFillTriangle(st,color+3, x+lr, y, x+lr, y+lr, x+m2, y+m2);
+        break;
+      case 5:                                        /* LR corner */
+        _XFillTriangle(st,color+1, x, y+m2, x+m2, y+m2, x, y);
+        _XFillPolygon4(st,color+2, x, y+m2, x+m2, y+m2, x+lr, y+lr, x, y+lr);
+        break;
+      case 6:                                        /* UR corner */
+        _XFillPolygon4(st,color+1, x, y+m2, x+m2, y+m2, x+lr, y, x, y);
+        _XFillTriangle(st,color+2, x, y+m2, x+m2, y+m2, x, y+lr);
+        break;
+      case 7:                                        /* T > into line */
+        _XFillTriangle(st,color+1, x, y+m2, x+m2, y+m2, x, y);
+        _XFillTriangle(st,color+2, x, y+m2, x+m2, y+m2, x, y+lr);
+        break;
+      case 8:                                       /* left end > */
+        _XFillTriangle(st,color, x, y, x, y+lr, x+m2, y+m2);
+        break;
+      case 9:                                       /* LL corner */
+        _XFillPolygon4(st,color, x+m2, y, x+m2, y+m2, x, y+lr, x, y);
+        _XFillTriangle(st,color+3, x+m2, y, x+m2, y+m2, x+lr, y);
+        break;
+      case 10:                                      /* UL corner */
+        _XFillPolygon4(st,color, x+m2, y+nl, x+m2, y+m2, x, y, x, y+nl);
+        _XFillPolygon4(st,color+3, x+m2, y+nl, x+m2, y+m2, x+lr, y+lr, x+lr, y+nl);
+        break;
+      case 11:                                       /* T < into line */
+        _XFillPolygon4(st,color+1, x+nl, y+m2, x+m2, y+m2, x+lr, y, x+nl, y);
+        _XFillPolygon4(st,color+2, x+nl, y+m2, x+m2, y+m2, x+lr, y+lr, x+nl, y+lr);
+        break;
+      case 13:                                        /* T \/ into line */
+        _XFillTriangle(st,color, x+m2, y, x+m2, y+m2, x, y);
+        _XFillTriangle(st,color+3, x+m2, y, x+m2, y+m2, x+lr, y);
+        break;
+      case 14:                                        /* T ^ into line */
+        _XFillPolygon4(st,color, x+m2, y+nl, x+m2, y+m2, x, y+lr, x, y+nl);
+        _XFillPolygon4(st,color+3, x+m2, y+nl, x+m2, y+m2, x+lr, y+lr, x+lr, y+nl);
+        break;
+      case 15:                                        /* X intersection */
+        _XFillTriangle(st,color+1, x, y+m2, x+m2, y+m2, x, y);
+        _XFillTriangle(st,color+2, x, y+m2, x+m2, y+m2, x, y+lr);
+        _XFillPolygon4(st,color+1, x+nl, y+m2, x+m2, y+m2, x+lr, y, x+nl, y);
+        _XFillPolygon4(st,color+2, x+nl, y+m2, x+m2, y+m2, x+lr, y+lr, x+nl, y+lr);
+        break;
+    }
+    z+=a;
+  }
+}
+
+static long 
+_mselapsed(struct state *st)
+{
+  struct timeval t;
+  gettimeofday(&t, NULL);
+  t.tv_sec -= st->time.tv_sec;
+  t.tv_usec -= st->time.tv_usec;
+  return ((long)t.tv_sec*1000000+t.tv_usec);
+}
+
+static void 
+_draw_lines(struct state *st)
+{
+  int n, z, a, color, sh, di;
+  if (st->bi==1)
+    for (a=0; a<=st->oi; a++)
+      st->fdol[a]=0;
+
+  for (st->di=st->bi; st->di<_min(st->li+1,st->bi+st->lpu); st->di++) {
+    color=(st->dline[st->di].color%st->ncolors)*st->shades;
+    XSetForeground(st->display, st->fgc, st->colors[color].pixel);
+
+    switch (st->d3d) {
+      case D3D_NEON:
+        st->dline[st->di].ndol=st->fdol[st->dline[st->di].obj];
+        st->fdol[st->dline[st->di].obj]=st->di;
+        for (sh=0; sh<st->lwid/2; sh++) {
+          XSetForeground(st->display, st->fgc, 
+            st->colors[color+sh].pixel);
+          di=st->di;
+          while(di>0) {
+            _XFillRectangle(st,di,sh);
+            di=st->dline[di].ndol;
+          }
+        }
+        break;
+      case D3D_BLOCK:
+        st->dline[st->di].ndol=st->fdol[st->dline[st->di].obj];
+        st->fdol[st->dline[st->di].obj]=st->di;
+        for (sh=0; sh<st->lwid/2; sh++) {
+          XSetForeground(st->display, st->fgc, 
+            st->colors[color+(st->lwid/2)-sh-1].pixel);
+          di=st->di;
+          while(di>0) {
+            _XFillRectangle(st,di,sh);
+            di=st->dline[di].ndol;
+          }
+        }
+        break;
+      case D3D_TILED:
+        _draw_tiled(st,color);
+        break;
+      default:               /* D3D_NONE */
+        _XFillRectangle(st,st->di,0);
+        if (st->outline) {
+          _fill_outline(st, st->di);
+          z=st->dline[st->di].y*st->gridx+st->dline[st->di].x;
+          a = (st->dline[st->di].hv) ? 1 : st->gridx;
+          for (n=0; n<=st->dline[st->di].len; n++) {
+            _fill_outline(st, st->grid[z].dhl);
+            _fill_outline(st, st->grid[z].dhr);
+            _fill_outline(st, st->grid[z].dvu);
+            _fill_outline(st, st->grid[z].dvd);
+            if (st->dline[st->di].hv) {
+              if (n) 
+                st->grid[z].dhr=st->di;
+              if (n<st->dline[st->di].len) 
+                st->grid[z].dhl=st->di;
+            } else {
+              if (n) 
+                st->grid[z].dvd=st->di;
+              if (n<st->dline[st->di].len) 
+                st->grid[z].dvu=st->di;
+            }
+            z+=a;
+          }
+        }
+        break;
+    }
+  }
+  if (st->di>st->li) {
+      st->bi=1;
+      st->mode=MODE_CREATE;
+  } else {
+      st->bi+=st->lpu;
+  }
+}
+
+static void 
+_erase_lines(struct state *st)
+{
+  if (!st->ii)
+    return;
+  for (st->di=st->bi; st->di<_min(st->eli+1,st->bi+st->elpu); st->di++) {
+    if (st->eline[st->di].hv) {
+      XFillRectangle (st->display, st->window, st->bgc, 
+      st->eline[st->di].x*st->elwid, 
+      st->eline[st->di].y*st->elwid,
+      (st->eline[st->di].len+1)*st->elwid, st->elwid);
+    } else {
+      XFillRectangle (st->display, st->window, st->bgc, 
+      st->eline[st->di].x*st->elwid, 
+      st->eline[st->di].y*st->elwid,
+      st->elwid, (st->eline[st->di].len+1)*st->elwid);
+    }
+    if (st->di==st->eli) /* clear just in case */
+      XFillRectangle(st->display, st->window, st->bgc, 0, 0, 
+        st->xgwa.width, st->xgwa.height);
+  }
+  if (st->di>st->eli) {
+      st->bi=1;
+      if (st->resized) {
+         st->mode=MODE_CREATE;
+      } else {
+         st->mode=MODE_DRAW;
+      }
+  } else {
+      st->bi+=st->elpu;
+  }
+}
+
+static void *
+abstractile_init(Display *display, Window window)
+{
+  struct state *st = (struct state *) calloc (1, sizeof(*st));
+  XGCValues gcv;
+/*  struct utsname os;*/
+
+  char *tile = get_string_resource(display, "tile", "Tile");
+  if      (tile && !strcmp(tile, "random")) st->tile = TILE_RANDOM;
+  else if (tile && !strcmp(tile, "flat")) st->tile = TILE_FLAT;
+  else if (tile && !strcmp(tile, "thin")) st->tile = TILE_THIN;
+  else if (tile && !strcmp(tile, "outline")) st->tile = TILE_OUTLINE;
+  else if (tile && !strcmp(tile, "block")) st->tile = TILE_BLOCK;
+  else if (tile && !strcmp(tile, "neon")) st->tile = TILE_NEON;
+  else if (tile && !strcmp(tile, "tiled")) st->tile = TILE_TILED;
+  else {
+    if (tile && *tile && !!strcmp(tile, "random"))
+      fprintf(stderr, "%s: unknown tile option %s\n", progname, tile);
+    st->tile = TILE_RANDOM;
+  }
+
+  st->speed = get_integer_resource(display, "speed", "Integer");
+  if (st->speed < 0) st->speed = 0;
+  if (st->speed > 5) st->speed = 5;
+  st->sleep = get_integer_resource(display, "sleep", "Integer");
+  if (st->sleep < 0) st->sleep = 0;
+  if (st->sleep > 60) st->sleep = 60;
+
+  st->display=display;
+  st->window=window;
+
+  /* get screen size and create Graphics Contexts */
+  XGetWindowAttributes (display, window, &st->xgwa);
+  gcv.foreground = get_pixel_resource(display, st->xgwa.colormap, 
+      "foreground", "Foreground");
+  st->fgc = XCreateGC (display, window, GCForeground, &gcv);
+  gcv.foreground = get_pixel_resource(display, st->xgwa.colormap,
+      "background", "Background");
+  st->bgc = XCreateGC (display, window, GCForeground, &gcv);
+
+/* Um, no. This is obscene. -jwz.
+  uname(&os);
+  st->newcols=((!strcmp(os.sysname,"Linux")) || (!strcmp(os.sysname,"Darwin")))
+      ? True : False;
+*/
+  st->newcols=False;
+
+  st->mode=MODE_CREATE;
+  st->ii=0;
+  st->resized=True;
+  return st;
+}
+
+static unsigned long 
+abstractile_draw (Display *dpy, Window window, void *closure)
+{
+  struct state *st = (struct state *) closure;
+  int mse, usleep;
+  gettimeofday(&st->time, NULL);
+  switch (st->mode) {
+    case MODE_CREATE:
+      _init_screen(st);
+      _create_screen(st);
+      break;
+    case MODE_ERASE:
+      _erase_lines(st);
+      break;
+    case MODE_DRAW:
+      _draw_lines(st);
+      break;
+  }
+  mse=_mselapsed(st);
+  usleep = ((!st->ii) && (st->mode==MODE_CREATE)) ?  0 :
+      (st->mode==MODE_CREATE) ?  st->sleep*1000000-mse : 
+      /* speed=0-5, goal is 10,8,6,4,2,0 sec normal and 5,4,3,2,1,0 dialog */
+      (5-st->speed)*(2-st->dialog)*100000/st->lpu-mse; 
+  if (usleep>=0)
+      return usleep;
+  return 0;
+}
+
+static void
+abstractile_reshape (Display *dpy, Window window, void *closure,
+                 unsigned int w, unsigned int h)
+{
+  struct state *st = (struct state *) closure;
+  st->xgwa.width = w;
+  st->xgwa.height = h;
+  if (w*h>st->max_wxh)
+    st->resized=True;
+}
+
+static Bool
+abstractile_event (Display *dpy, Window window, void *closure, XEvent *event)
+{
+  return False;
+}
+
+static void
+abstractile_free (Display *dpy, Window window, void *closure)
+{
+  struct state *st = (struct state *) closure;
+  free (st);
+}
+
+static const char *abstractile_defaults [] = {
+  ".background:    black",
+  ".foreground:    white",
+  "*sleep:             3",
+  "*speed:             3",
+  "*tile:         random",
+  0
+};
+
+static XrmOptionDescRec abstractile_options [] = {
+  { "-sleep",  ".sleep",  XrmoptionSepArg, 0 },
+  { "-speed",  ".speed",  XrmoptionSepArg, 0 },
+  { "-tile",   ".tile",   XrmoptionSepArg, 0 },
+  { 0, 0, 0, 0 }
+};
+
+XSCREENSAVER_MODULE ("Abstractile", abstractile)
diff --git a/hacks/abstractile.man b/hacks/abstractile.man
new file mode 100644 (file)
index 0000000..889845b
--- /dev/null
@@ -0,0 +1,48 @@
+.TH XScreenSaver 1 "27-Apr-97" "X Version 11"
+.SH NAME
+abstractile - draw abstract mosaic patterns of interlocking tiles
+.SH SYNOPSIS
+.B abstractile
+[\-sleep \fIseconds\fP] [\-speed \fIint\fP] [\-tile \fItile_mode\fP]
+.SH DESCRIPTION
+The \fIabstractile\fP program draws chaotic grids of randomly colored
+and shaped interlocking tiles.
+.SH OPTIONS
+.I abstractile
+accepts the following options:
+.TP 8
+.B \-sleep \fIseconds\fP
+Specify the number of seconds to sleep between screens (0-60).
+.TP 8
+.B \-speed \fIint\fP
+A value between 0 and 5 used to specify the speed at which each screen is drawn.
+.TP 8
+.B \-tile \fItile_mode\fP
+The type of tile that is drawn on each screen.  Legal values are
+\fIrandom\fP, \fIflat\fP, \fIthin\fP, \fIoutline\fP, 
+\fIblock\fP, \fIneon\fP, and \fItiled\fP
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2004 by Steve Sundstrom.  Based on
+examples from the hacks directory of xscreensaver,
+Copyright (c) 1997, 1998, 2002 Jamie Zawinski
+<jwz@jwz.org>
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Steve Sundstrom 
index 29489acde3129caf59c0d20cf8fe96abf50ba0b7..418b7a1946e78f2e136ed1b0ac3bec1caf8499cd 100644 (file)
@@ -1,3 +1,4 @@
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ABSTRACTILE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ANALOGTV.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ANEMONE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ANEMOTAXIS.C
index 29489acde3129caf59c0d20cf8fe96abf50ba0b7..418b7a1946e78f2e136ed1b0ac3bec1caf8499cd 100644 (file)
@@ -1,3 +1,4 @@
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ABSTRACTILE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ANALOGTV.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ANEMONE.C
 $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ANEMOTAXIS.C
index 61534da18a820d6bd3b3ae7a8a21d8272f5a3792..e17ee602255aa433e0e5bd4dac206431d6b0ebd5 100644 (file)
@@ -4,8 +4,8 @@
             a screen saver and locker for the X window system
                             by Jamie Zawinski
 
-                              version 5.03
-                               17-Jul-2007
+                              version 5.04
+                               13-Nov-2007
 
                      http://www.jwz.org/xscreensaver/
 
diff --git a/hacks/config/abstractile.xml b/hacks/config/abstractile.xml
new file mode 100644 (file)
index 0000000..6e409e5
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="abstractile" _label="Abstractile">
+
+  <command arg="-root"/>
+
+  <number id="sleep" type="spinbutton" arg="-sleep %"
+            _label="Linger" low="0" high="60" default="2"/>
+
+  <number id="speed" type="slider" arg="-speed %"
+          _label="Speed" _low-label="Slow" _high-label="Fast"
+          low="0" high="5" default="3"/>
+
+  <select id="tile">
+    <option id="random" _label="Random"/>
+    <option id="random" _label="Flat"    arg-set="-tile flat"/>
+    <option id="random" _label="Thin"    arg-set="-tile thin"/>
+    <option id="random" _label="Outline" arg-set="-tile outline"/>
+    <option id="random" _label="Block"   arg-set="-tile block"/>
+    <option id="random" _label="Neon"    arg-set="-tile neon"/>
+    <option id="random" _label="Tiled"   arg-set="-tile tiled"/>
+  </select>
+
+  <_description>
+Generates mosaic patterns of interlocking tiles.  
+
+Written by Steve Sundstrom; 2004.
+  </_description>
+</screensaver>
index 460378e6e7ce4d67a54a7d81348c7f5fd7158434..8557cd2df33b882db34ecf872771c6f6bbb13680 100644 (file)
   <number id="maxdepth" type="spinbutton" arg="-max-depth %"
             _label="Max Depth" low="1" high="40" default="12"/>
 
+  <boolean id="smooth-colors" _label="Smooth Colors" arg-set="-smooth-colors"/>
+  <boolean id="golden-ratio" _label="Golden Ratio" arg-set="-golden-ratio"/>
+  <boolean id="mondrian" _label="Mondrian" arg-set="-mondrian"/>
+
   <hgroup>
   <number id="minwidth" type="spinbutton" arg="-min-width %"
             _label="Min Size" low="1" high="100" default="20"/>
old mode 100755 (executable)
new mode 100644 (file)
index 78aa14571de5350e5539d7cd11be0b15604e7fb9..cd84a4f95dd2030a70b9e7f2bbd8c29adda899aa 100644 (file)
@@ -6,7 +6,7 @@
 
   <string id="text" _label="Text for Flag" arg="-text %"/>
 
-  <file id="bitmap" _label="Bitmap for Flag" arg="-bitmap %"/>
+<!--  <file id="bitmap" _label="Bitmap for Flag" arg="-bitmap %"/> -->
 
   <number id="delay" type="slider" arg="-delay %"
           _label="Speed" _low-label="Slow" _high-label="Fast"
index f4729c02fdbe869a1a0ea1b13a0e7d7ad1a847b2..f9cc01ff1dc00580d7c5ea391b165e7eee486a0e 100644 (file)
@@ -6,26 +6,28 @@
 
   <number id="delay" type="slider" arg="-delay %"
           _label="Animation Speed" _low-label="Slow" _high-label="Fast"
-          low="0" high="20000" default="20000"
+          low="0" high="50000" default="30000"
           convert="invert"/>
 
-  <number id="cycles" type="slider" arg="-cycles %"
-           _label="Rotational Speed" _low-label="Slow" _high-label="Fast"
-          low="1" high="30" default="2"/>
+  <number id="speed" type="slider" arg="-speed %"
+          _label="Motion Speed" _low-label="Slow" _high-label="Fast"
+          low="0.01" high="5.0" default="1.0"/>
 
-  <select id="style">
-   <option id="three"     _label="Three Gear System" arg-set="-mode simple"/>
-   <option id="planetary" _label="Planetary Gear System" arg-set="-mode planetary"/>
-   <option id="random"    _label="Random"/>
-  </select>
+  <number id="count" type="spinbutton" arg="-count %"
+          _label="Gear Count" low="0" high="20" default="0"/>
+
+  <hgroup>
+   <boolean id="wander" _label="Wander"    arg-unset="-no-wander"/>
+   <boolean id="spin"   _label="Spin"      arg-unset="-no-spin"/>
+   <boolean id="wire"   _label="Wireframe" arg-set="-wireframe"/>
+  </hgroup>
 
-  <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
 
   <_description>
 This draws sets of turning, interlocking gears, rotating in three
 dimensions.
 
-Written by Brian Paul, Jamie Zawinski. Danny Sung, and Ed Mackey; 1997.
+Written by Jamie Zawinski; 2007.
   </_description>
 </screensaver>
index b76bfb72b4748bcc8f756159288ad8ebd2ce2812..05bcec37f77a3817eed5a936e531c6b9263c85ef 100644 (file)
@@ -4,54 +4,58 @@
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Animation Speed" _low-label="Slow" _high-label="Fast"
-          low="0" high="50000" default="20000"
-          convert="invert"/>
-  
-  <number id="pause" type="slider" arg="-pause %"
-          _label="Pause at end" _low-label="Short" _high-label="Long"
-          low="0" high="400" default="20"/>
-  
   <number id="maxcells" type="slider" arg="-maxcells %"
           _label="Max. number of cells" _low-label="Few" _high-label="Many"
-          low="50" high="10000" default="800"/>
+          low="50" high="5000" default="800"/>
   
   <number id="radius" type="slider" arg="-radius %"
           _label="Cell radius" _low-label="Small" _high-label="Huge"
-          low="5" high="200" default="40"/>
+          low="5" high="80" default="40"/>
   
-  <number id="seeds" type="slider" arg="-seeds %"
-          _label="Number of seeds" _low-label="Few" _high-label="Many"
-          low="1" high="16" default="1"/>
-  
-  <number id="quality" type="slider" arg="-quality %"
-          _label="Sphere quality" _low-label="Low" _high-label="High"
-          low="0" high="5" default="2"/>
+  <number id="seeds" type="spinbutton" arg="-seeds %"
+          _label="Seeds" low="1" high="15" default="1"/>
   
   <number id="minfood" type="slider" arg="-minfood %"
           _label="Min. amount of food" _low-label="Small" _high-label="A lot"
-          low="0" high="1000" default="5"/>
+          low="0" high="100" default="5"/>
   
   <number id="maxfood" type="slider" arg="-maxfood %"
           _label="Max. amount of food" _low-label="Small" _high-label="A lot"
-          low="0" high="1000" default="20"/>
+          low="10" high="100" default="20"/>
   
   <number id="divideage" type="slider" arg="-divideage %"
           _label="Cell division" _low-label="Quick" _high-label="Slow"
-          low="1" high="1000" default="20"/>
+          low="1" high="100" default="20"/>
   
   <number id="mindist" type="slider" arg="-mindist %"
           _label="Min. distance" _low-label="Small" _high-label="Large"
           low="1.0" high="3.0" default="1.4"/>
 
-
   <boolean id="keepold" _label="Keep dead cells" arg-set="-keepold"/>
   
+  <number id="delay" type="slider" arg="-delay %"
+          _label="Animation Speed" _low-label="Slow" _high-label="Fast"
+          low="0" high="50000" default="20000"
+          convert="invert"/>
+  
+  <number id="pause" type="slider" arg="-pause %"
+          _label="Pause at end" _low-label="Short" _high-label="Long"
+          low="0" high="400" default="20"/>
+  
+  <select id="quality">
+    <option id="q0" _label="Lowest sphere detail"  arg-set="-quality 0"/>
+    <option id="q1" _label="Medium sphere detail"  arg-set="-quality 1"/>
+    <option id="q2" _label="Normal sphere detail"  arg-set="-quality 2"/>
+    <option id="q3" _label="More sphere detail"    arg-set="-quality 3"/>
+    <option id="q4" _label="Highest sphere detail" arg-set="-quality 4"/>
+  </select>
+  
   <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
   
   <boolean id="wireframe" _label="Wireframe" arg-set="-wireframe"/>
 
+  <xscreensaver-image />
+
   <_description>
 Cells growing, dividing and dying on your screen.
 
diff --git a/hacks/config/lockward.xml b/hacks/config/lockward.xml
new file mode 100644 (file)
index 0000000..a5e79c8
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="lockward" _label="Lockward">
+
+  <command arg="-root" />
+
+  <boolean id="blink"
+           _label="Blinking effects"
+           arg-unset="-no-blink" />
+
+  <number id="rotateidle-min"
+          type="slider"
+          _label="Rotator idle time, minimum (ms)"
+          _low-label="500"
+          _high-label="10000"
+          low="500"
+          high="10000"
+          default="1000"
+          arg="-rotateidle-min %" />
+
+  <number id="rotateidle-max"
+          type="slider"
+          _label="Rotator idle time, maximum (ms)"
+          _low-label="500"
+          _high-label="10000"
+          low="500"
+          high="10000"
+          default="6000"
+          arg="-rotateidle-max %" />
+
+  <number id="blinkidle-min"
+          type="slider"
+          _label="Blink idle time, minimum (ms)"
+          _low-label="500"
+          _high-label="20000"
+          low="500"
+          high="20000"
+          default="1000"
+          arg="-blinkidle-min %" />
+
+  <number id="blinkidle-max"
+          type="slider"
+          _label="Blink idle time, maximum (ms)"
+          _low-label="500"
+          _high-label="20000"
+          low="500"
+          high="20000"
+          default="9000"
+          arg="-blinkidle-max %" />
+
+  <number id="blinkdwell-min"
+          type="slider"
+          _label="Blink dwell time, minimum (ms)"
+          _low-label="50"
+          _high-label="1500"
+          low="50"
+          high="1500"
+          default="100"
+          arg="-blinkdwell-min %" />
+
+  <number id="blinkdwell-max"
+          type="slider"
+          _label="Blink dwell time, maximum (ms)"
+          _low-label="50"
+          _high-label="1500"
+          low="50"
+          high="1500"
+          default="600"
+          arg="-blinkdwell-max %" />
+
+  <_description> 
+A translucent spinning, blinking thing.  Sort of a cross between the wards
+in an old combination lock and those old backlit information displays that
+animated and changed color via polarized light.
+
+Written by Leo L. Schwab; August, 2007.
+  </_description>
+</screensaver>
diff --git a/hacks/config/moebiusgears.xml b/hacks/config/moebiusgears.xml
new file mode 100644 (file)
index 0000000..35008a9
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="moebiusgears" _label="MoebiusGears">
+
+  <command arg="-root"/>
+
+  <number id="delay" type="slider" arg="-delay %"
+          _label="Animation Speed" _low-label="Slow" _high-label="Fast"
+          low="0" high="50000" default="30000"
+          convert="invert"/>
+
+  <number id="speed" type="slider" arg="-speed %"
+          _label="Motion Speed" _low-label="Slow" _high-label="Fast"
+          low="0.01" high="5.0" default="1.0"/>
+
+  <number id="count" type="spinbutton" arg="-count %"
+          _label="Gear Count" low="13" high="99" default="15"/>
+
+  <number id="teeth" type="spinbutton" arg="-teeth %"
+          _label="Tooth Count" low="7" high="49" default="15"/>
+
+  <hgroup>
+   <boolean id="wander" _label="Wander"    arg-unset="-no-wander"/>
+   <boolean id="spin"   _label="Spin"      arg-unset="-no-spin"/>
+   <boolean id="roll"   _label="Roll"      arg-unset="-no-roll"/>
+   <boolean id="wire"   _label="Wireframe" arg-set="-wireframe"/>
+  </hgroup>
+
+  <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
+
+  <_description>
+Draws a closed, interlinked chain of rotating gears.  The layout of
+the gears follows the path of a moebius strip.
+
+Written by Jamie Zawinski; 2007.
+  </_description>
+</screensaver>
index a4e64a51d766395b55db7f1d09cac2fe851d3f64..ea19c23d6c3809b84539c8f1a5ff5b6a9b2a76d8 100644 (file)
@@ -8,10 +8,18 @@
           _label="Game Speed" _low-label="Slow" _high-label="Fast"
           low="1" high="20" default="6"/>
 
+ <number id="noise" type="slider" arg="-noise %"
+          _label="Noise" _low-label="Crisp" _high-label="Noisy"
+          low="0.00" high="5.00" default="0.04"/>
+
+  <boolean id="clock" _label="Clock mode" arg-set="-clock"/>
+
   <_description>
 The pong program simulates an ancient Pong home video game, as well as
 various artifacts from displaying it on a color TV set.
 
+In clock mode, the score keeps track of the current time.
+
 Written by Jeremy English and Trevor Blackwell; 2003.
   </_description>
 </screensaver>
index f91ee51622613ca5caec64ecf8acd75a93db72c9..01888121899420492c3e5a76848f5df0cdae1e6a 100644 (file)
            low="0.0" high="10.0" default="0.0"/>
 
   <hgroup>
-   <!-- #### defaults are wrong -->
    <number id="width" type="spinbutton" arg="-width %"
-           _label="Tile Size" low="10" high="100" default="64"/>
+           _label="Tile Size" low="0" high="500" default="0"/>
    <number id="pixheight" type="spinbutton" arg="-height %"
-           _label="x" low="10" high="100" default="64"/>
+           _label="x"         low="0" high="500" default="0"/>
   </hgroup>
 
   <hgroup>
index f91ee51622613ca5caec64ecf8acd75a93db72c9..01888121899420492c3e5a76848f5df0cdae1e6a 100644 (file)
            low="0.0" high="10.0" default="0.0"/>
 
   <hgroup>
-   <!-- #### defaults are wrong -->
    <number id="width" type="spinbutton" arg="-width %"
-           _label="Tile Size" low="10" high="100" default="64"/>
+           _label="Tile Size" low="0" high="500" default="0"/>
    <number id="pixheight" type="spinbutton" arg="-height %"
-           _label="x" low="10" high="100" default="64"/>
+           _label="x"         low="0" high="500" default="0"/>
   </hgroup>
 
   <hgroup>
index 6698ed889b91c850c8a365332155d1ee194d2c9d..af3ccbf3e6cdcf1bd835b4fac23bbcc28970af06 100644 (file)
@@ -11,7 +11,7 @@
 
   <number id="points" type="slider" arg="-points %"
           _label="Points" _low-label="Few" _high-label="Many"
-          low="1" high="50" default="10"/>
+          low="1" high="100" default="25"/>
 
   <number id="pointSize" type="slider" arg="-point-size %"
           _label="Point Size" _low-label="0" _high-label="50 pixels"
@@ -23,7 +23,7 @@
 
   <number id="pointDelay" type="slider" arg="-point-delay %"
           _label="Insertion Speed" _low-label="Slow" _high-label="Fast"
-          low="0.0" high="3.0" default="0.1"
+          low="0.0" high="3.0" default="0.05"
           convert="invert"/>
 
   <number id="zoomSpeed" type="slider" arg="-zoom-speed %"
@@ -32,7 +32,9 @@
 
   <number id="zoomDelay" type="slider" arg="-zoom-delay %"
           _label="Zoom Frequency" _low-label="0" _high-label="60 Seconds"
-          low="0" high="60" default="10"/>
+          low="0" high="60" default="15"/>
+
+  <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
 
   <_description>
 Draws a randomly-colored Voronoi tessellation, and periodically zooms 
index 2e0ffd35a466839027561bde97edb23581764700..a11c7ddc035554014c2a4bc82b4a1dda600f6adf 100644 (file)
@@ -9,7 +9,7 @@
           low="0" high="20000" default="10000"
           convert="invert"/>
 
-  <file id="bitmap" _label="Bitmap File" arg="-bitmap %"/>
+<!--  <file id="bitmap" _label="Bitmap File" arg="-bitmap %"/> -->
 
   <!-- #### -baseline [20] -->
   <!-- #### -hspread [30] -->
index cb72a07bf8a48f19359743c32959ae5f656e28b2..912ccc705628ec4e81895da0107f931dedf7e3bd 100644 (file)
@@ -15,9 +15,7 @@
 #include <stdio.h>
 #include "xpm-pixmap.h"
 
-#define ALIVE   1
-#define CHANGED 2
-#define UNDEAD  4
+#define BELLRAND(n) ((frand((n)) + frand((n)) + frand((n))) / 3)
 
 typedef struct {
   double scale;
@@ -31,11 +29,13 @@ typedef struct {
   XWindowAttributes xgwa;
   GC gc;
   int delay;
+  int scale;
   int ncolors;
   XColor *colors;
 
   int nwaves;
   wave *waves;
+  int debug_p;
 
 } state;
 
@@ -51,6 +51,9 @@ cwaves_init (Display *dpy, Window window)
   st->window = window;
   XGetWindowAttributes (st->dpy, st->window, &st->xgwa);
 
+  st->debug_p = get_boolean_resource (dpy, "debug", "Boolean");
+  st->scale = get_integer_resource (dpy, "scale", "Integer");
+  if (st->scale <= 0) st->scale = 1;
   st->ncolors = get_integer_resource (dpy, "ncolors", "Integer");
   if (st->ncolors < 4) st->ncolors = 4;
   st->colors = (XColor *) malloc (sizeof(*st->colors) * (st->ncolors+1));
@@ -66,9 +69,9 @@ cwaves_init (Display *dpy, Window window)
 
   for (i = 0; i < st->nwaves; i++)
     {
-      st->waves[i].scale  = frand(0.05) + 0.005;
+      st->waves[i].scale  = frand(0.03) + 0.005;
       st->waves[i].offset = frand(M_PI);
-      st->waves[i].delta  = (frand(2) - 1) / 20.0;
+      st->waves[i].delta  = (BELLRAND(2)-1) / 15.0;
     }
 
   return st;
@@ -84,7 +87,7 @@ cwaves_draw (Display *dpy, Window window, void *closure)
   for (i = 0; i < st->nwaves; i++)
     st->waves[i].offset += st->waves[i].delta;
 
-  for (x = 0; x < st->xgwa.width; x++)
+  for (x = 0; x < st->xgwa.width; x += st->scale)
     {
       double v = 0;
       int j;
@@ -95,7 +98,58 @@ cwaves_draw (Display *dpy, Window window, void *closure)
       j = st->ncolors * (v/2 + 0.5);
       if (j < 0 || j >= st->ncolors) abort();
       XSetForeground (st->dpy, st->gc, st->colors[j].pixel);
-      XDrawLine (st->dpy, st->window, st->gc, x, 0, x, st->xgwa.height);
+      XFillRectangle (st->dpy, st->window, st->gc, 
+                      x, 0, st->scale, st->xgwa.height);
+    }
+
+  if (st->debug_p)
+    {
+      int wh = (st->xgwa.height / (st->nwaves + 1)) * 0.9;
+      int i;
+      XSetLineAttributes (st->dpy, st->gc, 2, LineSolid, CapRound, JoinRound);
+      XSetForeground (st->dpy, st->gc, BlackPixelOfScreen (st->xgwa.screen));
+      for (i = 0; i < st->nwaves; i++)
+        {
+          int y = st->xgwa.height * i / (st->nwaves + 1);
+          int ox = -1, oy = -1;
+
+          for (x = 0; x < st->xgwa.width; x += st->scale)
+            {
+              int yy;
+              double v = 0;
+              v = cos ((x * st->waves[i].scale) - st->waves[i].offset);
+              v /= 2;
+
+              yy = y + wh/2 + (wh * v);
+              if (ox == -1)
+                ox = x, oy = yy;
+              XDrawLine (st->dpy, st->window, st->gc, ox, oy, x, yy);
+              ox = x;
+              oy = yy;
+            }
+        }
+
+      {
+        int y = st->xgwa.height * i / (st->nwaves + 1);
+        int ox = -1, oy = -1;
+
+        for (x = 0; x < st->xgwa.width; x += st->scale)
+          {
+            int yy;
+            double v = 0;
+            for (i = 0; i < st->nwaves; i++)
+              v += cos ((x * st->waves[i].scale) - st->waves[i].offset);
+            v /= st->nwaves;
+            v /= 2;
+
+            yy = y + wh/2 + (wh * v);
+            if (ox == -1)
+              ox = x, oy = yy;
+            XDrawLine (st->dpy, st->window, st->gc, ox, oy, x, yy);
+            ox = x;
+            oy = yy;
+          }
+      }
     }
 
   return st->delay;
@@ -135,6 +189,8 @@ static const char *cwaves_defaults [] = {
   ".foreground:                   white",
   "*ncolors:              600",
   "*nwaves:               15",
+  "*scale:                2",
+  "*debug:                False",
   "*delay:                20000",
   0
 };
@@ -143,6 +199,8 @@ static XrmOptionDescRec cwaves_options [] = {
   { "-delay",          ".delay",               XrmoptionSepArg, 0 },
   { "-waves",          ".nwaves",              XrmoptionSepArg, 0 },
   { "-colors",         ".ncolors",             XrmoptionSepArg, 0 },
+  { "-scale",          ".scale",               XrmoptionSepArg, 0 },
+  { "-debug",          ".debug",               XrmoptionNoArg, "True" },
   { 0, 0, 0, 0 }
 };
 
index 6e3612fa23ef11a8c92e81037b07e817a3176c6e..69085525a029f9ece95185a471c761628e6b7a95 100644 (file)
  *
  * Concept snarfed from Michael D. Bayne in
  * http://www.go2net.com/internet/deep/1997/04/16/body.html
+ *
+ * Changes by Lars Huttar, http://www.huttar.net:
+ * - allow use of golden ratio for dividing rectangles instead of 1/2.
+ * - allow smooth colors instead of random
+ * - added line thickness setting
+ * - added "Mondrian" mode
+ * Other ideas:
+ * - allow recomputing the colormap on each new frame (especially useful
+ *   when ncolors is low)
  */
 
 #include "screenhack.h"
@@ -22,12 +31,131 @@ struct state {
   int max_depth;
   int min_height;
   int min_width;
+  int line_width;
+  int old_line_width;
+  Bool goldenRatio;
+  Bool mondrian;
+  Bool smoothColors;
+
   int delay;
   XWindowAttributes xgwa;
   GC fgc, bgc;
   int current_color;
 };
 
+/* Golden Ratio
+ *   Suppose you're dividing a rectangle of length A+B
+ *   into two parts, of length A and B respectively. You want the ratio of
+ *   A to B to be the same as the ratio of the whole (A+B) to A. The golden
+ *   ratio (phi) is that ratio. Supposed to be visually pleasing. */
+#define PHI 1.61803
+#define PHI1 (1.0/PHI)
+#define PHI2 (1.0 - PHI1)
+
+/* copied from make_random_colormap in colors.c */
+static void
+make_mondrian_colormap (Display *dpy, Visual *visual, Colormap cmap,
+                     XColor *colors, int *ncolorsP,
+                     Bool allocate_p,
+                     Bool *writable_pP,
+                     Bool verbose_p)
+{
+  Bool wanted_writable = (allocate_p && writable_pP && *writable_pP);
+  int ncolors = 8;
+  int i;
+  Screen *screen = (dpy ? DefaultScreenOfDisplay(dpy) : 0); /* #### WRONG! */
+
+  if (*ncolorsP <= 0) return;
+
+  /* If this visual doesn't support writable cells, don't bother trying. */
+  if (wanted_writable && !has_writable_cells(screen, visual))
+    *writable_pP = False;
+
+  for (i = 0; i < ncolors; i++)
+  {
+      colors[i].flags = DoRed|DoGreen|DoBlue;
+      colors[i].red = 0;
+      colors[i].green = 0;
+      colors[i].blue = 0;
+
+      switch(i) {
+         case 0: case 1: case 2: case 3: case 7: /* white */
+             colors[i].red = 0xE800;
+             colors[i].green = 0xE800;
+             colors[i].blue  = 0xE800;
+             break;
+         case 4:
+             colors[i].red = 0xCFFF; break; /* red */
+         case 5:
+             colors[i].red = 0x2000;
+             colors[i].blue = 0xCFFF; break; /* blue */
+         case 6:
+             colors[i].red = 0xDFFF; /* yellow */
+             colors[i].green = 0xCFFF; break;
+      }
+  }
+
+  if (!allocate_p)
+    return;
+
+ RETRY_NON_WRITABLE:
+  if (writable_pP && *writable_pP)
+    {
+      unsigned long *pixels = (unsigned long *)
+       malloc(sizeof(*pixels) * (ncolors + 1));
+
+      allocate_writable_colors (dpy, cmap, pixels, &ncolors);
+      if (ncolors > 0)
+       for (i = 0; i < ncolors; i++)
+         colors[i].pixel = pixels[i];
+      free (pixels);
+      if (ncolors > 0)
+       XStoreColors (dpy, cmap, colors, ncolors);
+    }
+  else
+    {
+      for (i = 0; i < ncolors; i++)
+       {
+         XColor color;
+         color = colors[i];
+         if (!XAllocColor (dpy, cmap, &color))
+           break;
+         colors[i].pixel = color.pixel;
+       }
+      ncolors = i;
+    }
+
+  /* If we tried for writable cells and got none, try for non-writable. */
+  if (allocate_p && ncolors == 0 && writable_pP && *writable_pP)
+    {
+      ncolors = *ncolorsP;
+      *writable_pP = False;
+      goto RETRY_NON_WRITABLE;
+    }
+
+#if 0
+  /* I don't think we need to bother copying or linking to the complain
+     function. */
+  if (verbose_p)
+    complain(*ncolorsP, ncolors, wanted_writable,
+            wanted_writable && *writable_pP);
+#endif
+
+  *ncolorsP = ncolors;
+}
+
+static void
+mondrian_set_sizes (struct state *st, int w, int h)
+{
+    if (w > h) {
+       st->line_width = w/50;
+       st->min_height = st->min_width = w/8;
+    } else {
+       st->line_width = h/50;
+       st->min_height = st->min_width = h/8;
+    }
+}
 static void
 deco (Display *dpy, Window window, struct state *st,
       int x, int y, int w, int h, int depth)
@@ -45,15 +173,17 @@ deco (Display *dpy, Window window, struct state *st,
     }
   else
     {
-      if (random() & 1)
-       {
-         deco (dpy, window, st, x, y, w/2, h, depth+1);
-         deco (dpy, window, st, x+w/2, y, w/2, h, depth+1);
+      if ((st->goldenRatio || st->mondrian) ? (w > h) : (random() & 1))
+        { /* Divide the rectangle side-by-side */
+          int wnew = (st->goldenRatio ? (w * (random() & 1 ? PHI1 : PHI2)) : w/2);
+         deco (dpy, window, st, x, y, wnew, h, depth+1);
+         deco (dpy, window, st, x+wnew, y, w-wnew, h, depth+1);
        }
       else
-       {
-         deco (dpy, window, st, x, y, w, h/2, depth+1);
-         deco (dpy, window, st, x, y+h/2, w, h/2, depth+1);
+        { /* Divide the rectangle top-to-bottom */
+          int hnew = (st->goldenRatio ? (h * (random() & 1 ? PHI1 : PHI2)) : h/2);
+         deco (dpy, window, st, x, y, w, hnew, depth+1);
+         deco (dpy, window, st, x, y+hnew, w, h-hnew, depth+1);
        }
     }
 }
@@ -66,6 +196,11 @@ deco_init (Display *dpy, Window window)
 
   st->delay = get_integer_resource (dpy, "delay", "Integer");
 
+  st->smoothColors = get_boolean_resource(dpy, "smoothColors", "Boolean");
+  st->old_line_width = 1;
+
+  st->goldenRatio = get_boolean_resource (dpy, "goldenRatio", "Boolean");
+
   st->max_depth = get_integer_resource (dpy, "maxDepth", "Integer");
   if (st->max_depth < 1) st->max_depth = 1;
   else if (st->max_depth > 1000) st->max_depth = 1000;
@@ -75,8 +210,12 @@ deco_init (Display *dpy, Window window)
   st->min_height = get_integer_resource (dpy, "minHeight", "Integer");
   if (st->min_height < 2) st->min_height = 2;
 
+  st->line_width = get_integer_resource (dpy, "lineWidth", "Integer");
+
   XGetWindowAttributes (dpy, window, &st->xgwa);
 
+  st->ncolors = get_integer_resource (dpy, "ncolors", "Integer");
+
   gcv.foreground = get_pixel_resource(dpy, st->xgwa.colormap,
                                       "foreground", "Foreground");
   st->fgc = XCreateGC (dpy, window, GCForeground, &gcv);
@@ -85,11 +224,6 @@ deco_init (Display *dpy, Window window)
                                       "background", "Background");
   st->bgc = XCreateGC (dpy, window, GCForeground, &gcv);
 
-  st->ncolors = get_integer_resource (dpy, "ncolors", "Integer");
-
-  make_random_colormap (dpy, st->xgwa.visual, st->xgwa.colormap, st->colors, &st->ncolors,
-                       False, True, 0, True);
-
   if (st->ncolors <= 2)
     mono_p = True;
 
@@ -100,6 +234,28 @@ deco_init (Display *dpy, Window window)
       st->bgc = tmp;
     }
 
+  st->mondrian = get_boolean_resource(dpy, "mondrian", "Boolean");
+  if (st->mondrian) {
+      /* Mondrian, if true, overrides several other options. */
+      mondrian_set_sizes(st, st->xgwa.width, st->xgwa.height);
+
+      /** set up red-yellow-blue-black-white colormap and fgc **/
+      make_mondrian_colormap(dpy, st->xgwa.visual, st->xgwa.colormap,
+                            st->colors, &st->ncolors, True, 0, True);
+
+      /** put white in several cells **/
+      /** set min-height and min-width to about 10% of total w/h **/
+  }
+  else if (st->smoothColors)
+      make_smooth_colormap (dpy, st->xgwa.visual, st->xgwa.colormap,
+                           st->colors, &st->ncolors, True, 0, True);
+  else
+      make_random_colormap (dpy, st->xgwa.visual, st->xgwa.colormap,
+                           st->colors, &st->ncolors, False, True, 0, True);
+
+  gcv.line_width = st->old_line_width = st->line_width;
+  XChangeGC(dpy, st->fgc, GCLineWidth, &gcv);
+
   return st;
 }
 
@@ -108,6 +264,14 @@ deco_draw (Display *dpy, Window window, void *closure)
 {
   struct state *st = (struct state *) closure;
   XFillRectangle (dpy, window, st->bgc, 0, 0, st->xgwa.width, st->xgwa.height);
+  if (st->mondrian) {
+      mondrian_set_sizes(st, st->xgwa.width, st->xgwa.height);
+      if (st->line_width != st->old_line_width) {
+         XSetLineAttributes(dpy, st->fgc, st->line_width,
+                            LineSolid, CapButt, JoinBevel);
+         st->old_line_width = st->line_width;
+      }
+  }
   deco (dpy, window, st, 0, 0, st->xgwa.width, st->xgwa.height, 0);
   return 1000000 * st->delay;
 }
@@ -141,8 +305,12 @@ static const char *deco_defaults [] = {
   "*maxDepth:          12",
   "*minWidth:          20",
   "*minHeight:         20",
+  "*lineWidth:          1",
   "*delay:             5",
   "*ncolors:           64",
+  "*goldenRatio:        False",
+  "*smoothColors:       False",
+  "*mondrian:           False",
   0
 };
 
@@ -150,8 +318,15 @@ static XrmOptionDescRec deco_options [] = {
   { "-max-depth",      ".maxDepth",    XrmoptionSepArg, 0 },
   { "-min-width",      ".minWidth",    XrmoptionSepArg, 0 },
   { "-min-height",     ".minHeight",   XrmoptionSepArg, 0 },
+  { "-line-width",     ".lineWidth",   XrmoptionSepArg, 0 },
   { "-delay",          ".delay",       XrmoptionSepArg, 0 },
   { "-ncolors",                ".ncolors",     XrmoptionSepArg, 0 },
+  { "-golden-ratio",    ".goldenRatio", XrmoptionNoArg, "True" },
+  { "-no-golden-ratio", ".goldenRatio", XrmoptionNoArg, "False" },
+  { "-smooth-colors",   ".smoothColors",XrmoptionNoArg, "True" },
+  { "-no-smooth-colors",".smoothColors",XrmoptionNoArg, "False" },
+  { "-mondrian",        ".mondrian",    XrmoptionNoArg, "True" },
+  { "-no-mondrian",     ".mondrian",    XrmoptionNoArg, "False" },
   { 0, 0, 0, 0 }
 };
 
index ddc053196fea6d68336c6f44ae8a528bfeb377fe..5dab105f07f81b8373907f4b4d4c3d7f1317d7ce 100644 (file)
@@ -3,11 +3,27 @@
 deco - draw tacky 70s basement wall panelling
 .SH SYNOPSIS
 .B deco
-[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-delay \fIseconds\fP] [\-max\-depth \fIint\fP] [\-min\-width \fIint\fP] [\-min\-height \fIint\fP] [\-cycle] [\-no\-cycle] [\-cycle\-delay]
+[\-display \fIhost:display.screen\fP]
+[\-foreground \fIcolor\fP]
+[\-background \fIcolor\fP]
+[\-window]
+[\-root]
+[\-mono]
+[\-install]
+[\-visual \fIvisual\fP]
+[\-delay \fIseconds\fP]
+[\-max\-depth \fIint\fP]
+[\-min\-width \fIint\fP]
+[\-min\-height \fIint\fP]
+[\-line-width \yIint\fP]
+[\-smooth\-colors]
+[\-golden\-ratio]
+[\-mondrian]
 .SH DESCRIPTION
 The \fIdeco\fP program subdivides and colors rectangles randomly.
 It looks kind of like Brady-Bunch-era rec-room wall paneling.
-(Raven says: "this screensaver is ugly enough to peel paint.")
+(Raven says: "This screensaver is ugly enough to peel paint.")
+Can also produce more aesthetically pleasing displays via options.
 .SH OPTIONS
 .I deco
 accepts the following options:
@@ -34,18 +50,31 @@ How long to wait before starting over.  Default 5 seconds.
 .B \-max\-depth \fIinteger\fP
 How deep to subdivide.  Default 12.
 .TP 8
-.B \-min-width \fIinteger\fP
-.B \-min-height \fIinteger\fP
+.B \-min\-width \fIinteger\fP
+.TP 8
+.B \-min\-height \fIinteger\fP
 The size of the smallest rectangle to draw.  Default 20x20.
 .TP 8
-.B \-cycle
+.B \-line\-width \fIinteger\fP
+Width of lines drawn between rectangles. Default zero (minimal width).
+.TP 8
+.B \-smooth\-colors
+.TP 8
+.B \-no\-smooth\-colors
+Whether to use a smooth color palette instead of a random one.
+Less jarring. Default False.
+.TP 8
+.B \-golden\-ratio
+.TP 8
+.B \-no\-golden\-ratio
+Whether to subdivide rectangles using the golden ratio instead of 1/2.
+This ratio is supposed to be more aesthetically pleasing. Default false.
 .TP 8
-.B \-no\-cycle
-Whether to do color cycling.  Default False.
+.B \-mondrian
 .TP 8
-.B \-cycle\-delay \fIusecs\fP
-If color cycling, how often to change the colors.  Default 1000000,
-or 1 second.
+.B \-no\-mondrian
+Whether to imitiate style of some famous paintings by Piet Mondrian.
+Overrides line-width and colormap options. Default false.
 .SH ENVIRONMENT
 .PP
 .TP 8
@@ -68,4 +97,5 @@ suitability of this software for any purpose.  It is provided "as is" without
 express or implied warranty.
 .SH AUTHOR
 Jamie Zawinski <jwz@jwz.org>, 26-Apr-97, based on code by
-Michael D. Bayne <mdb@go2net.com>.
+Michael D. Bayne <mdb@go2net.com>. Golden ratio and 
+Mondrian settings by Lars Huttar.
index 33f37178a569ef881a9714f79a4fff89a755bd27..b35debb38f9f460a278bf26412b141680c97c966 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Fireworkx 1.5 - pyrotechnics simulation program
- * Copyright (c) 1999-2005 Rony B Chandran <ronybc@asia.com>
+ * Fireworkx 1.6 - pyrotechnics simulation program (XScreensaver version)
+ * Copyright (c) 1999-2007 Rony B Chandran <ronybc@asia.com>
  *
  * From Kerala, INDIA
  * 
@@ -30,9 +30,9 @@
 #include <math.h>
 #include "screenhack.h"
 
-#define FWXVERSION "1.5"
+#define FWXVERSION "1.6"
 
-#define SHELLCOUNT 3                   /* 3 or 5  */
+#define SHELLCOUNT 3                   /* 3 ; see light() before changing this value */
 #define PIXCOUNT 500                   /* 500     */
 #define POWER 5                        /* 5       */
 #define FTWEAK 12                      /* 12      */
@@ -99,9 +99,10 @@ static int explode(struct state *st, fireshell *fs)
   if(fs->vgn){
     if(--fs->cy == fs->shy){  
       fs->vgn   = 0;
-      fs->flash = rnd(30000)+15000;}
+      fs->flash = rnd(30000)+25000;
+      fs->flash = fs->flash*fs->flash; }
     else{  
-      fs->flash = 50+(fs->cy - fs->shy)*2;
+      fs->flash = 200000+(fs->cy - fs->shy)*(fs->cy - fs->shy)*8;
       prgb=(unsigned int *)(palaka + (fs->cy * w + fs->cx + rnd(5)-2)*4);
      *prgb=(rnd(8)+8)*0x000f0f10;
       return(1);}}    
@@ -114,10 +115,10 @@ static int explode(struct state *st, fireshell *fs)
   if(fp->burn){ --fp->burn; 
   if(fs->special){
   fp->x += fp->xv = fp->xv * air + (float)(rnd(200)-100)/2000;
-  fp->y += fp->yv = fp->yv * air + (float)(rnd(200)-100)/2000 + adg; }
+  fp->y += fp->yv = fp->yv * air + (float)(rnd(200)-100)/2000+ adg;}
   else{
   fp->x += fp->xv = fp->xv * air + (float)(rnd(200)-100)/20000;
-  fp->y += fp->yv = fp->yv * air + adg; }
+  fp->y += fp->yv = fp->yv * air + (float)(rnd(200)-100)/40000+ adg; }
   if(fp->y > h){
   if(rnd(5)==3) {fp->yv *= -0.24; fp->y = h;}
   else fp->burn=0;} /* touch muddy ground :) */
@@ -140,7 +141,8 @@ static void recycle(struct state *st, fireshell *fs,int x,int y)
                rnd(255);
   fs->life = rnd(st->rndlife)+st->minlife;
   fs->air  = 1-(float)(rnd(200))/10000;
-  fs->flash   = rnd(30000)+15000;        /* million jouls */
+  fs->flash   = rnd(30000)+25000;       /*  million jouls...              */
+  fs->flash   = fs->flash*fs->flash;
   fs->cshift  = !rnd(5) ? 120:0; 
   fs->special = !rnd(10) ? 1:0; 
   if(st->verbose)
@@ -169,15 +171,14 @@ static void glow(struct state *st)
   pm+=n; po+=n; h-=2; 
   pa = pm-(w*4);
   pb = pm+(w*4);
-  for(n=4;(signed) n< (signed) (w*h*4-4); n++){
+  for(n=4;n<w*h*4-4;n++){
   q    = pm[n-4] + (pm[n]*8) + pm[n+4] + 
          pa[n-4] + pa[n] + pa[n+4] + 
          pb[n-4] + pb[n] + pb[n+4];
   q    -= q>8 ? 8:q;
-  pm[n] = q/16;
-  q     = q/8;
-  if(q>255) q=255;
-  po[n] = q;}
+  pm[n] = q>>4;
+  q     = q>>3;
+  po[n] = q>255 ? 255 : q;}
   pm+=n; po+=n;
   for(n=0;n<w*4;n++)
   {pm[n]=0; po[n]=0;}}   /* clean last line */
@@ -205,7 +206,7 @@ static void blur(struct state *st)
 
 static void light_2x2(struct state *st, fireshell *fss)
 {
-  unsigned int l,t,n,x,y;
+  unsigned int l,t,x,y;
   float s;
   int w = st->width;
   int h = st->height;
@@ -216,11 +217,21 @@ static void light_2x2(struct state *st, fireshell *fss)
   if(st->glow_on) sim=dim;
   for(y=0;y<h;y+=2){
   for(x=0;x<w;x+=2){
-  f = fss; s = 0;
+  f = fss;
+
+/* Note: The follwing loop is unrolled for speed.
+         check this before changing the value of SHELLCOUNT
+  s = 0;
   for(n=SHELLCOUNT;n;n--,f++){
-  s += f->flash/(sqrt(1+(f->cx - x)*(f->cx - x)+
-                        (f->cy - y)*(f->cy - y)));}
-  l = s;
+  s += f->flash/(1+(f->cx - x)*(f->cx - x)+(f->cy - y)*(f->cy - y));} */
+
+  s  = f->flash/(1+(f->cx - x)*(f->cx - x)+(f->cy - y)*(f->cy - y));
+  f++;
+  s += f->flash/(1+(f->cx - x)*(f->cx - x)+(f->cy - y)*(f->cy - y));
+  f++;
+  s += f->flash/(1+(f->cx - x)*(f->cx - x)+(f->cy - y)*(f->cy - y));
+
+  l = sqrtf(s);
 
   t = l + sim[0];
   dim[0] = (t > 255 ? 255 : t);        
@@ -370,15 +381,16 @@ fireworkx_init (Display *dpy, Window win)
   st->rndlife  = get_integer_resource(st->dpy, "maxlife" , "Integer");
   st->delay    = get_integer_resource(st->dpy, "delay"   , "Integer");
   st->minlife  = st->rndlife/4;
-  if(st->rndlife<1000) st->flash_fade=0.98;
-  if(st->rndlife<500) st->flash_fade=0.97;
+  st->flash_fade=0.98;
+  if(st->rndlife < 1000) st->flash_fade=0.96;
+  if(st->rndlife <  500) st->flash_fade=0.94;
   if(st->verbose){
   printf("Fireworkx %s - pyrotechnics simulation program \n", FWXVERSION);
-  printf("Copyright (c) 1999-2005 Rony B Chandran <ronybc@asia.com> \n\n");
+  printf("Copyright (c) 1999-2007 Rony B Chandran <ronybc@asia.com> \n\n");
   printf("url: http://www.ronybc.8k.com \n\n");}
 
   XGetWindowAttributes(st->dpy,win,&xwa);
-  st->depth     = xwa.depth;
+  st->depth = xwa.depth;
   vi        = xwa.visual;
   cmap      = xwa.colormap;
   st->bigendian = (ImageByteOrder(st->dpy) == MSBFirst);
index ed1635fd2db9b96a42b2d7f8e4959e9a5f8dce95..6f2eb9ea0a8edf941680993ce670e9ef47174827 100644 (file)
@@ -15,6 +15,7 @@ install_prefix        =
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 bindir         = @bindir@
+datarootdir    = @datarootdir@
 datadir                = @datadir@
 mandir         = @mandir@
 libexecdir     = @libexecdir@
@@ -99,11 +100,12 @@ SRCS               = xscreensaver-gl-helper.c normals.c glxfonts.c \
                  hypertorus.c glmatrix.c cubestorm.c glknots.c blocktube.c \
                  flipflop.c antspotlight.c polytopes.c gleidescope.c \
                  mirrorblob.c blinkbox.c noof.c polyhedra.c polyhedra-gl.c \
-                 antinspect.c providence.c pinion.c boing.c texfont.c \
-                 carousel.c fliptext.c antmaze.c tangram.c tangram_shapes.c \
-                 crackberg.c glhanoi.c cube21.c timetunnel.c juggler3d.c \
-                 topblock.c glschool.c glschool_gl.c glschool_alg.c \
-                 glcells.c voronoi.c
+                 antinspect.c providence.c pinion.c involute.c boing.c \
+                 texfont.c carousel.c fliptext.c antmaze.c tangram.c \
+                 tangram_shapes.c crackberg.c glhanoi.c cube21.c \
+                 timetunnel.c juggler3d.c topblock.c glschool.c \
+                 glschool_gl.c glschool_alg.c glcells.c voronoi.c \
+                 moebiusgears.c lockward.c
 
 OBJS           = xscreensaver-gl-helper.o normals.o glxfonts.o \
                  atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
@@ -132,11 +134,12 @@ OBJS              = xscreensaver-gl-helper.o normals.o glxfonts.o \
                  hypertorus.o glmatrix.o cubestorm.o glknots.o blocktube.o \
                  flipflop.o antspotlight.o polytopes.o gleidescope.o \
                  mirrorblob.o blinkbox.o noof.o polyhedra.o polyhedra-gl.o \
-                 antinspect.o providence.o pinion.o boing.o texfont.o \
-                 carousel.o fliptext.o antmaze.o tangram.o tangram_shapes.o \
-                 crackberg.o glhanoi.o cube21.o timetunnel.o juggler3d.o \
-                 topblock.o glschool.o glschool_gl.o glschool_alg.o \
-                 glcells.o voronoi.o
+                 antinspect.o providence.o pinion.o involute.o boing.o \
+                 texfont.o carousel.o fliptext.o antmaze.o tangram.o \
+                 tangram_shapes.o crackberg.o glhanoi.o cube21.o \
+                 timetunnel.o juggler3d.o topblock.o glschool.o \
+                 glschool_gl.o glschool_alg.o glcells.o voronoi.o \
+                 moebiusgears.o lockward.o
 
 GL_EXES                = cage gears moebius pipes sproingies stairs superquadrics \
                  morph3d rubik atlantis lament bubble3d glplanet pulsar \
@@ -149,7 +152,8 @@ GL_EXES             = cage gears moebius pipes sproingies stairs superquadrics \
                  gleidescope mirrorblob blinkbox noof polyhedra \
                  antinspect providence pinion boing carousel fliptext \
                  antmaze tangram crackberg glhanoi cube21 timetunnel \
-                 juggler3d topblock glschool glcells voronoi
+                 juggler3d topblock glschool glcells voronoi moebiusgears \
+                 lockward
 GLE_EXES       = extrusion
 GL_UTIL_EXES   = xscreensaver-gl-helper
 HACK_EXES      = @GL_EXES@ @GLE_EXES@
@@ -171,7 +175,8 @@ HDRS                = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
                  gltrackball.h chessmodels.h chessgames.h gllist.h flurry.h \
                  tunnel_draw.h ants.h polyhedra.h normals.h glxfonts.h \
                  texfont.h tangram_shapes.h sproingies.h extrusion.h \
-                 glschool.h glschool_gl.h glschool_alg.h topblock.h
+                 glschool.h glschool_gl.h glschool_alg.h topblock.h \
+                 involute.h
 GL_MEN         = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
                  cubenetic.man dangerball.man engine.man extrusion.man \
                  flipscreen3d.man gears.man gflux.man glforestfire.man \
@@ -190,7 +195,7 @@ GL_MEN              = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
                  carousel.man fliptext.man antmaze.man tangram.man \
                  crackberg.man glhanoi.man cube21.man timetunnel.man \
                  juggler3d.man topblock.man glschool.man glcells.man \
-                 voronoi.man
+                 voronoi.man moebiusgears.man lockward.man
 MEN            = @GL_MEN@
 EXTRAS         = README Makefile.in dxf2gl.pl molecules.sh starwars.txt
 
@@ -467,8 +472,9 @@ FLURRY_OBJS = $(FLURRY_OBJS_1) $(HACK_OBJS)
 flurry:                flurry.o        $(FLURRY_OBJS)
        $(CC_HACK) -o $@ $@.o   $(FLURRY_OBJS) $(HACK_LIBS) -lm
 
-gears:         gears.o         $(HACK_TRACK_OBJS)
-       $(CC_HACK) -o $@ $@.o   $(HACK_TRACK_OBJS) $(HACK_LIBS)
+GEARS_OBJS=normals.o involute.o $(HACK_TRACK_OBJS)
+gears:         gears.o         tube.o $(GEARS_OBJS)
+       $(CC_HACK) -o $@ $@.o   tube.o $(GEARS_OBJS) $(HACK_LIBS)
 
 moebius:       moebius.o       $(HACK_TRACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_TRACK_OBJS) $(HACK_LIBS)
@@ -659,8 +665,11 @@ antinspect:        antinspect.o    $(HACK_TRACK_OBJS)
 providence:    providence.o    $(HACK_TRACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_TRACK_OBJS) $(HACK_LIBS)
 
-pinion:                pinion.o        normals.o glxfonts.o $(HACK_TRACK_OBJS)
-       $(CC_HACK) -o $@ $@.o   normals.o glxfonts.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+pinion:                pinion.o        glxfonts.o $(GEARS_OBJS)
+       $(CC_HACK) -o $@ $@.o   glxfonts.o $(GEARS_OBJS) $(HACK_LIBS)
+
+moebiusgears:  moebiusgears.o  $(GEARS_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(GEARS_OBJS) $(HACK_LIBS)
 
 boing:         boing.o         normals.o $(HACK_TRACK_OBJS)
        $(CC_HACK) -o $@ $@.o   normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
@@ -710,6 +719,10 @@ glcells:   glcells.o       $(HACK_OBJS)
 voronoi:       voronoi.o       $(HACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
 
+lockward:      lockward.o      $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+
 ##############################################################################
 #
 # DO NOT DELETE: updated by make distdepend
@@ -1222,8 +1235,11 @@ fps.o: $(UTILS_SRC)/yarandom.h
 fps.o: $(HACK_SRC)/xlockmoreI.h
 gears.o: ../../config.h
 gears.o: $(srcdir)/gltrackball.h
+gears.o: $(srcdir)/involute.h
+gears.o: $(srcdir)/normals.h
 gears.o: $(srcdir)/rotator.h
 gears.o: $(HACK_SRC)/screenhackI.h
+gears.o: $(srcdir)/tube.h
 gears.o: $(UTILS_SRC)/colors.h
 gears.o: $(UTILS_SRC)/grabscreen.h
 gears.o: $(UTILS_SRC)/hsv.h
@@ -1460,6 +1476,17 @@ hypertorus.o: $(UTILS_SRC)/xshm.h
 hypertorus.o: $(UTILS_SRC)/yarandom.h
 hypertorus.o: $(HACK_SRC)/xlockmoreI.h
 hypertorus.o: $(HACK_SRC)/xlockmore.h
+involute.o: ../../config.h
+involute.o: $(srcdir)/involute.h
+involute.o: $(srcdir)/normals.h
+involute.o: $(HACK_SRC)/screenhackI.h
+involute.o: $(UTILS_SRC)/colors.h
+involute.o: $(UTILS_SRC)/grabscreen.h
+involute.o: $(UTILS_SRC)/hsv.h
+involute.o: $(UTILS_SRC)/resources.h
+involute.o: $(UTILS_SRC)/usleep.h
+involute.o: $(UTILS_SRC)/visual.h
+involute.o: $(UTILS_SRC)/yarandom.h
 jigglypuff.o: ../../config.h
 jigglypuff.o: $(srcdir)/gltrackball.h
 jigglypuff.o: $(HACK_SRC)/images/jigglymap.xpm
@@ -1535,6 +1562,18 @@ lavalite.o: $(UTILS_SRC)/yarandom.h
 lavalite.o: $(HACK_SRC)/xlockmoreI.h
 lavalite.o: $(HACK_SRC)/xlockmore.h
 lavalite.o: $(srcdir)/xpm-ximage.h
+lockward.o: ../../config.h
+lockward.o: $(HACK_SRC)/screenhackI.h
+lockward.o: $(UTILS_SRC)/colors.h
+lockward.o: $(UTILS_SRC)/grabscreen.h
+lockward.o: $(UTILS_SRC)/hsv.h
+lockward.o: $(UTILS_SRC)/resources.h
+lockward.o: $(UTILS_SRC)/usleep.h
+lockward.o: $(UTILS_SRC)/visual.h
+lockward.o: $(UTILS_SRC)/xshm.h
+lockward.o: $(UTILS_SRC)/yarandom.h
+lockward.o: $(HACK_SRC)/xlockmoreI.h
+lockward.o: $(HACK_SRC)/xlockmore.h
 marching.o: ../../config.h
 marching.o: $(srcdir)/marching.h
 marching.o: $(srcdir)/normals.h
@@ -1566,6 +1605,22 @@ mirrorblob.o: $(UTILS_SRC)/xshm.h
 mirrorblob.o: $(UTILS_SRC)/yarandom.h
 mirrorblob.o: $(HACK_SRC)/xlockmoreI.h
 mirrorblob.o: $(HACK_SRC)/xlockmore.h
+moebiusgears.o: ../../config.h
+moebiusgears.o: $(srcdir)/gltrackball.h
+moebiusgears.o: $(srcdir)/involute.h
+moebiusgears.o: $(srcdir)/normals.h
+moebiusgears.o: $(srcdir)/rotator.h
+moebiusgears.o: $(HACK_SRC)/screenhackI.h
+moebiusgears.o: $(UTILS_SRC)/colors.h
+moebiusgears.o: $(UTILS_SRC)/grabscreen.h
+moebiusgears.o: $(UTILS_SRC)/hsv.h
+moebiusgears.o: $(UTILS_SRC)/resources.h
+moebiusgears.o: $(UTILS_SRC)/usleep.h
+moebiusgears.o: $(UTILS_SRC)/visual.h
+moebiusgears.o: $(UTILS_SRC)/xshm.h
+moebiusgears.o: $(UTILS_SRC)/yarandom.h
+moebiusgears.o: $(HACK_SRC)/xlockmoreI.h
+moebiusgears.o: $(HACK_SRC)/xlockmore.h
 moebius.o: ../../config.h
 moebius.o: $(srcdir)/e_textures.h
 moebius.o: $(srcdir)/gltrackball.h
@@ -1628,6 +1683,7 @@ normals.o: $(srcdir)/normals.h
 pinion.o: ../../config.h
 pinion.o: $(srcdir)/gltrackball.h
 pinion.o: $(srcdir)/glxfonts.h
+pinion.o: $(srcdir)/involute.h
 pinion.o: $(srcdir)/normals.h
 pinion.o: $(HACK_SRC)/screenhackI.h
 pinion.o: $(UTILS_SRC)/colors.h
index 7813a8a62f6121ac16927b25a73be38c10713768..6e9f0e79157f8fc014b6dc612e4714bde2c3676f 100644 (file)
@@ -1,4 +1,4 @@
-/* tube, Copyright (c) 2001, 2006 Jamie Zawinski <jwz@jwz.org>
+/* fps, Copyright (c) 2001-2007 Jamie Zawinski <jwz@jwz.org>
  * Utility function to draw a frames-per-second display.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -17,6 +17,7 @@
 #include "xlockmoreI.h"
 
 #ifdef HAVE_COCOA
+# undef usleep /* conflicts with 10.5 headers... */
 # include <OpenGL/gl.h>
 # include <OpenGL/glu.h>
 # include <AGL/agl.h>
index bd0bb4e6092528a04d35a806a56d6a367e28e0fd..added7c65b840fb4fc806e38873ef7307c68dff9 100644 (file)
-/* -*- Mode: C; tab-width: 4 -*- */
-/* gears --- 3D gear wheels */
-
-#if 0
-static const char sccsid[] = "@(#)gears.c      4.07 97/11/24 xlockmore";
-#endif
-
-/*-
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation.
+/* gears, Copyright (c) 2007 Jamie Zawinski <jwz@jwz.org>
  *
- * This file is provided AS IS with no warranties of any kind.  The author
- * shall have no liability with respect to the infringement of copyrights,
- * trade secrets or any patents by this file or any part thereof.  In no
- * event will the author be liable for any lost revenue or profits or
- * other special, indirect and consequential damages.
+ * 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.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
  *
- * Revision History:
- * 09-Feb-01: "Planetary" gear system added by jwz@jwz.org.
- * 10-May-97: Compatible with xscreensaver
- * 22-Mar-97: Added support for -mono mode, and monochrome X servers.
- *              Ed Mackey, emackey@netaxs.com
- * 13-Mar-97: Memory leak fix by Tom Schmidt <tschmidt@micron.com>
- * 1996: "written" by Danny Sung <dannys@ucla.edu>
- *       Based on 3-D gear wheels by Brian Paul which is in the public domain.
+ * Originally written by Brian Paul in 1996 or earlier;
+ * rewritten by jwz in Nov 2007.
  */
 
-/*-
- * PURIFY 3.0a on SunOS4 reports an unitialized memory read on each of
- * the glCallList() functions below when using MesaGL 2.1.  This has
- * been fixed in MesaGL 2.2 and later releases.
- */
+#define DEFAULTS       "*delay:        30000       \n" \
+                       "*count:        0           \n" \
+                       "*showFPS:      False       \n" \
+                       "*wireframe:    False       \n" \
 
-#ifdef STANDALONE
-# define DEFAULTS      "*count:                1000000 \n"                     \
-                                       "*cycles:               2       \n"                     \
-                                       "*delay:                20000   \n"                     \
-                                       "*showFPS:      False   \n"                     \
-                                       "*wireframe:    False   \n"
-# include "xlockmore.h"                                /* from the xscreensaver distribution */
 # define refresh_gears 0
-#else  /* !STANDALONE */
-# include "xlock.h"                                    /* from the xlockmore distribution */
-#endif /* !STANDALONE */
-
-#ifdef USE_GL
+# define release_gears 0
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
 
+#include "xlockmore.h"
+#include "involute.h"
+#include "normals.h"
+#include "tube.h"
 #include "rotator.h"
 #include "gltrackball.h"
+#include <ctype.h>
 
-#undef countof
-#define countof(x) (sizeof((x))/sizeof((*x)))
+#ifdef USE_GL /* whole file */
+
+#undef BELLRAND
+#define BELLRAND(n) ((frand((n)) + frand((n)) + frand((n))) / 3)
+
+#define DEF_SPIN        "True"
+#define DEF_WANDER      "True"
+#define DEF_SPEED       "1.0"
+
+typedef struct {
+  GLXContext *glx_context;
+  rotator *rot;
+  trackball_state *trackball;
+  Bool button_down_p;
+  Bool planetary_p;
+
+  int ngears;
+  gear **gears;
+
+  GLuint armature_dlist;
+  int armature_polygons;
+
+  struct { GLfloat x1, y1, x2, y2; } bbox;
 
-#define DEF_MODE "random"
-#define DEF_SPIN "True"
+} gears_configuration;
 
-static char *mode_str;
-static int spin;
+static gears_configuration *bps = NULL;
+
+static Bool do_spin;
+static GLfloat speed;
+static Bool do_wander;
 
 static XrmOptionDescRec opts[] = {
-  {"-mode",      ".gears.mode", XrmoptionSepArg, 0 },
-  {"-planetary", ".gears.mode", XrmoptionNoArg, "planetary" },
-  {"-simple",    ".gears.mode", XrmoptionNoArg, "simple" },
-  {"-spin", ".gears.spin", XrmoptionNoArg, "true" },
-  {"+spin", ".gears.spin", XrmoptionNoArg, "false" },
+  { "-spin",   ".spin",   XrmoptionNoArg, "True"  },
+  { "+spin",   ".spin",   XrmoptionNoArg, "False" },
+  { "-speed",  ".speed",  XrmoptionSepArg, 0      },
+  { "-wander", ".wander", XrmoptionNoArg, "True"  },
+  { "+wander", ".wander", XrmoptionNoArg, "False" },
 };
 
 static argtype vars[] = {
-  {&mode_str, "mode", "Mode", DEF_MODE, t_String},
-  {&spin, "spin", "Spin", DEF_SPIN, t_Bool},
+  {&do_spin,   "spin",   "Spin",   DEF_SPIN,   t_Bool},
+  {&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
+  {&speed,     "speed",  "Speed",  DEF_SPEED,  t_Float},
 };
 
 ENTRYPOINT ModeSpecOpt gears_opts = {countof(opts), opts, countof(vars), vars, NULL};
 
-#ifdef USE_MODULES
-ModStruct   gears_description =
-{"gears", "init_gears", "draw_gears", "release_gears",
- "draw_gears", "init_gears", NULL, &gears_opts,
- 1000, 1, 2, 1, 4, 1.0, "",
- "Shows GL's gears", 0, NULL};
 
-#endif
+/* Window management, etc
+ */
+ENTRYPOINT void
+reshape_gears (ModeInfo *mi, int width, int height)
+{
+  GLfloat h = (GLfloat) height / (GLfloat) width;
 
-#define SMOOTH_TUBE       /* whether to have smooth or faceted tubes */
+  glViewport (0, 0, (GLint) width, (GLint) height);
 
-#ifdef SMOOTH_TUBE
-# define TUBE_FACES  20   /* how densely to render tubes */
-#else
-# define TUBE_FACES  6
-#endif
+  glMatrixMode(GL_PROJECTION);
+  glLoadIdentity();
+  gluPerspective (30.0, 1/h, 1.0, 100.0);
 
+  glMatrixMode(GL_MODELVIEW);
+  glLoadIdentity();
+  gluLookAt( 0.0, 0.0, 30.0,
+             0.0, 0.0, 0.0,
+             0.0, 1.0, 0.0);
 
-typedef struct {
-  GLuint      gear1, gear2, gear3;
-  GLuint      gear_inner, gear_outer;
-  GLuint      armature;
-  GLfloat     angle;
-  GLXContext *glx_context;
-  Window      window;
-  rotator    *rot;
-  trackball_state *trackball;
-  Bool           button_down_p;
-  int            planetary_p;
-} gearsstruct;
+  glClear(GL_COLOR_BUFFER_BIT);
+}
 
-static gearsstruct *gears = NULL;
 
-/*-
- * Draw a gear wheel.  You'll probably want to call this function when
- * building a display list since we do a lot of trig here.
- *
- * Input:  inner_radius - radius of hole at center
- *         outer_radius - radius at center of teeth
- *         width - width of gear
- *         teeth - number of teeth
- *         tooth_depth - depth of tooth
- *         wire - true for wireframe mode
- */
-static void
-gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
-     GLint teeth, GLfloat tooth_depth, Bool wire, Bool invert)
+ENTRYPOINT Bool
+gears_handle_event (ModeInfo *mi, XEvent *event)
 {
-       GLint       i;
-       GLfloat     r0, r1, r2;
-       GLfloat     angle, da;
-       GLfloat     u, v, len;
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
 
-    if (!invert)
-      {
-        r0 = inner_radius;
-        r1 = outer_radius - tooth_depth / 2.0;
-        r2 = outer_radius + tooth_depth / 2.0;
-        glFrontFace(GL_CCW);
-      }
-    else
-      {
-        r0 = outer_radius;
-        r2 = inner_radius + tooth_depth / 2.0;
-        r1 = outer_radius - tooth_depth / 2.0;
-        glFrontFace(GL_CW);
-      }
-
-       da = 2.0 * M_PI / teeth / 4.0;
-
-       glShadeModel(GL_FLAT);
-
-       /* This subroutine got kind of messy when I added all the checks
-        * for wireframe mode.  A much cleaner solution that I sometimes
-        * use is to have a variable hold the value GL_LINE_LOOP when
-        * in wireframe mode, or hold the value GL_POLYGON otherwise.
-        * Then I just call glBegin(that_variable), give my polygon
-        * coordinates, and glEnd().  Pretty neat eh?  Too bad I couldn't
-        * integrate that trick here.
-        *                                  --Ed.
-        */
-
-       if (!wire)
-               glNormal3f(0.0, 0.0, 1.0);
-
-       /* draw front face */
-       if (!wire)
-               glBegin(GL_QUAD_STRIP);
-       for (i = 0; i <= teeth; i++) {
-               if (wire)
-                       glBegin(GL_LINES);
-               angle = i * 2.0 * M_PI / teeth;
-               glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
-               glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
-               if (!wire) {
-                       glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
-                       glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
-               } else {
-                       glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
-                       glVertex3f(r1 * cos(angle + 4 * da), r1 * sin(angle + 4 * da), width * 0.5);
-                       glEnd();
-               }
-       }
-       if (!wire)
-               glEnd();
-
-       /* draw front sides of teeth */
-       if (!wire)
-               glBegin(GL_QUADS);
-       da = 2.0 * M_PI / teeth / 4.0;
-       for (i = 0; i < teeth; i++) {
-               angle = i * 2.0 * M_PI / teeth;
-
-               if (wire)
-                       glBegin(GL_LINE_LOOP);
-               glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
-               glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
-               glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
-               glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
-               if (wire)
-                       glEnd();
-       }
-       if (!wire)
-               glEnd();
-
-
-       if (!wire)
-               glNormal3f(0.0, 0.0, -1.0);
-
-       /* draw back face */
-       if (!wire)
-               glBegin(GL_QUAD_STRIP);
-       for (i = 0; i <= teeth; i++) {
-               angle = i * 2.0 * M_PI / teeth;
-               if (wire)
-                       glBegin(GL_LINES);
-               glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
-               glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
-               if (!wire) {
-                       glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
-                       glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
-               } else {
-                       glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
-                       glVertex3f(r1 * cos(angle + 4 * da), r1 * sin(angle + 4 * da), -width * 0.5);
-                       glEnd();
-               }
-       }
-       if (!wire)
-               glEnd();
-
-       /* draw back sides of teeth */
-       if (!wire)
-               glBegin(GL_QUADS);
-       da = 2.0 * M_PI / teeth / 4.0;
-       for (i = 0; i < teeth; i++) {
-               angle = i * 2.0 * M_PI / teeth;
-
-               if (wire)
-                       glBegin(GL_LINE_LOOP);
-               glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
-               glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
-               glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
-               glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
-               if (wire)
-                       glEnd();
-       }
-       if (!wire)
-               glEnd();
-
-
-       /* draw outward faces of teeth */
-       if (!wire)
-               glBegin(GL_QUAD_STRIP);
-       for (i = 0; i <= teeth; i++) {
-               angle = i * 2.0 * M_PI / teeth;
-
-        if(!invert) {
-          u = r2 * cos(angle + da) - r1 * cos(angle);
-          v = r2 * sin(angle + da) - r1 * sin(angle);
-        } else {
-          u = r2 * cos(angle + da + M_PI/2) - r1 * cos(angle + M_PI/2);
-          v = r2 * sin(angle + da + M_PI/2) - r1 * sin(angle + M_PI/2);
-        }
+  if (event->xany.type == ButtonPress &&
+      event->xbutton.button == Button1)
+    {
+      bp->button_down_p = True;
+      gltrackball_start (bp->trackball,
+                         event->xbutton.x, event->xbutton.y,
+                         MI_WIDTH (mi), MI_HEIGHT (mi));
+      return True;
+    }
+  else if (event->xany.type == ButtonRelease &&
+           event->xbutton.button == Button1)
+    {
+      bp->button_down_p = False;
+      return True;
+    }
+  else if (event->xany.type == ButtonPress &&
+           (event->xbutton.button == Button4 ||
+            event->xbutton.button == Button5))
+    {
+      gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
+                              !!event->xbutton.state);
+      return True;
+    }
+  else if (event->xany.type == MotionNotify &&
+           bp->button_down_p)
+    {
+      gltrackball_track (bp->trackball,
+                         event->xmotion.x, event->xmotion.y,
+                         MI_WIDTH (mi), MI_HEIGHT (mi));
+      return True;
+    }
 
-               len = sqrt(u * u + v * v);
-               u /= len;
-               v /= len;
-               glNormal3f(v, -u, 0.0);
+  return False;
+}
 
-               if (wire)
-                       glBegin(GL_LINES);
-               glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
-               glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
 
-               glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
-               glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
 
-        if(!invert)
-          glNormal3f(cos(angle), sin(angle), 0.0);
-        else
-          glNormal3f(cos(angle + M_PI/2), sin(angle + M_PI/2), 0.0);
+static void
+free_gear (gear *g)
+{
+  if (g->dlist)
+    glDeleteLists (g->dlist, 1);
+  free (g);
+}
 
-               glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
-               glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
 
-        if(!invert) {
-          u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
-          v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
-        } else {
-          u = r1 * cos(angle + 3 * da + M_PI/2) - r2 * cos(angle + 2 * da + M_PI/2);
-          v = r1 * sin(angle + 3 * da + M_PI/2) - r2 * sin(angle + 2 * da + M_PI/2);
-        }
+/* Create and return a new gear sized for placement next to or on top of
+   the given parent gear (if any.)  Returns 0 if out of memory.
+   [Mostly lifted from pinion.c]
+ */
+static gear *
+new_gear (ModeInfo *mi, gear *parent)
+{
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
+  gear *g = (gear *) calloc (1, sizeof (*g));
+  static unsigned long id = 0;  /* only used in debugging output */
 
-               glNormal3f(v, -u, 0.0);
+  if (!g) return 0;
+  g->id = ++id;
 
-               glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
-               glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+  /* Pick the size of the teeth.
+   */
+  if (parent) /* adjascent gears need matching teeth */
+    {
+      g->tooth_w = parent->tooth_w;
+      g->tooth_h = parent->tooth_h;
+      g->tooth_slope = -parent->tooth_slope;
+    }
+  else                 /* gears that begin trains get any size they want */
+    {
+      g->tooth_w = 0.007 * (1.0 + BELLRAND(4.0));
+      g->tooth_h = 0.005 * (1.0 + BELLRAND(8.0));
+/*
+      g->tooth_slope = ((random() % 8)
+                        ? 0
+                        : 0.5 + BELLRAND(1));
+ */
+    }
 
-        if (!invert)
-          glNormal3f(cos(angle), sin(angle), 0.0);
-        else
-          glNormal3f(cos(angle + M_PI/2), sin(angle + M_PI/2), 0.0);
-
-               if (wire)
-                       glEnd();
-       }
-
-       if (!wire) {
-               glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
-               glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
-               glEnd();
-       }
-       if (!wire)
-               glShadeModel(GL_SMOOTH);
-
-       /* draw inside radius cylinder */
-       if (!wire)
-               glBegin(GL_QUAD_STRIP);
-       for (i = 0; i <= teeth; i++) {
-               angle = i * 2.0 * M_PI / teeth;
-               if (wire)
-                       glBegin(GL_LINES);
-
-        if (!invert)
-          glNormal3f(-cos(angle), -sin(angle), 0.0);
-        else
-          glNormal3f(cos(angle), sin(angle), 0.0);
-
-               glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
-               glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
-               if (wire) {
-                       glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
-                       glVertex3f(r0 * cos(angle + 4 * da), r0 * sin(angle + 4 * da), -width * 0.5);
-                       glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
-                       glVertex3f(r0 * cos(angle + 4 * da), r0 * sin(angle + 4 * da), width * 0.5);
-                       glEnd();
-               }
-       }
-       if (!wire)
-               glEnd();
+  /* Pick the number of teeth, and thus, the radius.
+   */
+  {
+    double c;
 
-}
+    if (!parent || bp->ngears > 4)
+      g->nteeth = 5 + BELLRAND (20);
+    else
+      g->nteeth = parent->nteeth * (0.5 + BELLRAND(2));
 
+    c = g->nteeth * g->tooth_w * 2;     /* circumference = teeth + gaps */
+    g->r = c / (M_PI * 2);              /* c = 2 pi r  */
+  }
 
-static void
-unit_tube (Bool wire)
-{
-  int i;
-  int faces = TUBE_FACES;
-  GLfloat step = M_PI * 2 / faces;
-  GLfloat th;
-  int z = 0;
+  g->thickness  = g->tooth_w + frand (g->r);
+  g->thickness2 = g->thickness * 0.7;
+  g->thickness3 = g->thickness;
 
-  /* side walls
+  /* Colorize
    */
-  glFrontFace(GL_CCW);
+  g->color[0] = 0.5 + frand(0.5);
+  g->color[1] = 0.5 + frand(0.5);
+  g->color[2] = 0.5 + frand(0.5);
+  g->color[3] = 1.0;
+
+  g->color2[0] = g->color[0] * 0.85;
+  g->color2[1] = g->color[1] * 0.85;
+  g->color2[2] = g->color[2] * 0.85;
+  g->color2[3] = g->color[3];
+
+
+  /* Decide on shape of gear interior:
+     - just a ring with teeth;
+     - that, plus a thinner in-set "plate" in the middle;
+     - that, plus a thin raised "lip" on the inner plate;
+     - or, a wide lip (really, a thicker third inner plate.)
+   */
+  if ((random() % 10) == 0)
+    {
+      /* inner_r can go all the way in; there's no inset disc. */
+      g->inner_r = (g->r * 0.1) + frand((g->r - g->tooth_h/2) * 0.8);
+      g->inner_r2 = 0;
+      g->inner_r3 = 0;
+    }
+  else
+    {
+      /* inner_r doesn't go in very far; inner_r2 is an inset disc. */
+      g->inner_r  = (g->r * 0.5)  + frand((g->r - g->tooth_h) * 0.4);
+      g->inner_r2 = (g->r * 0.1) + frand(g->inner_r * 0.5);
+      g->inner_r3 = 0;
 
-# ifdef SMOOTH_TUBE
-  glBegin(wire ? GL_LINES : GL_QUAD_STRIP);
-# else
-  glBegin(wire ? GL_LINES : GL_QUADS);
-# endif
+      if (g->inner_r2 > (g->r * 0.2))
+        {
+          int nn = (random() % 10);
+          if (nn <= 2)
+            g->inner_r3 = (g->r * 0.1) + frand(g->inner_r2 * 0.2);
+          else if (nn <= 7 && g->inner_r2 >= 0.1)
+            g->inner_r3 = g->inner_r2 - 0.01;
+        }
+    }
 
-  for (i = 0, th = 0; i <= faces; i++)
+  /* If we have three discs, sometimes make the middle disc be spokes.
+   */
+  if (g->inner_r3 && ((random() % 5) == 0))
     {
-      GLfloat x = cos (th);
-      GLfloat y = sin (th);
-      glNormal3f(x, 0, y);
-      glVertex3f(x, 0.0, y);
-      glVertex3f(x, 1.0, y);
-      th += step;
-
-# ifndef SMOOTH_TUBE
-      x = cos (th);
-      y = sin (th);
-      glVertex3f(x, 1.0, y);
-      glVertex3f(x, 0.0, y);
-# endif
+      g->spokes = 2 + BELLRAND (5);
+      g->spoke_thickness = 1 + frand(7.0);
+      if (g->spokes == 2 && g->spoke_thickness < 2)
+        g->spoke_thickness += 1;
     }
-  glEnd();
 
-  /* End caps
+  /* Sometimes add little nubbly bits, if there is room.
    */
-  for (z = 0; z <= 1; z++)
+  if (g->nteeth > 5)
     {
-      glFrontFace(z == 0 ? GL_CCW : GL_CW);
-      glNormal3f(0, (z == 0 ? -1 : 1), 0);
-      glBegin(wire ? GL_LINE_LOOP : GL_TRIANGLE_FAN);
-      if (! wire) glVertex3f(0, z, 0);
-      for (i = 0, th = 0; i <= faces; i++)
+      double size = 0;
+      involute_biggest_ring (g, 0, &size, 0);
+      if (size > g->r * 0.2 && (random() % 5) == 0)
         {
-          GLfloat x = cos (th);
-          GLfloat y = sin (th);
-          glVertex3f(x, z, y);
-          th += step;
+          g->nubs = 1 + (random() % 16);
+          if (g->nubs > 8) g->nubs = 1;
         }
-      glEnd();
     }
-}
 
+  if (g->inner_r3 > g->inner_r2) abort();
+  if (g->inner_r2 > g->inner_r) abort();
+  if (g->inner_r  > g->r) abort();
 
-static void
-tube (GLfloat x1, GLfloat y1, GLfloat z1,
-      GLfloat x2, GLfloat y2, GLfloat z2,
-      GLfloat diameter, GLfloat cap_size,
-      Bool wire)
-{
-  GLfloat length, angle, a, b, c;
+  /* Decide how complex the polygon model should be.
+   */
+  {
+    double pix = g->tooth_h * MI_HEIGHT(mi); /* approx. tooth size in pixels */
+    if (pix <= 2.5)      g->size = INVOLUTE_SMALL;
+    else if (pix <= 3.5) g->size = INVOLUTE_MEDIUM;
+    else                 g->size = INVOLUTE_LARGE;
+  }
 
-  if (diameter <= 0) abort();
+  g->base_p = !parent;
 
-  a = (x2 - x1);
-  b = (y2 - y1);
-  c = (z2 - z1);
+  return g;
+}
 
-  length = sqrt (a*a + b*b + c*c);
-  angle = acos (a / length);
 
-  glPushMatrix();
-  glTranslatef(x1, y1, z1);
-  glScalef (length, length, length);
+/* Given a newly-created gear, place it next to its parent in the scene,
+   with its teeth meshed and the proper velocity.  Returns False if it
+   didn't work.  (Call this a bunch of times until either it works, or
+   you decide it's probably not going to.)
+   [Mostly lifted from pinion.c]
+ */
+static Bool
+place_gear (ModeInfo *mi, gear *g, gear *parent)
+{
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
 
-  if (c == 0 && b == 0)
-    glRotatef (angle / (M_PI / 180), 0, 1, 0);
+  /* Compute this gear's velocity.
+   */
+  if (! parent)
+    {
+      g->ratio = 0.8 + BELLRAND(0.4);  /* 0.8-1.2 = 8-12rpm @ 60fps */
+      g->th = 1; /* not 0 */
+    }
   else
-    glRotatef (angle / (M_PI / 180), 0, -c, b);
+    {
+      /* Gearing ratio is the ratio of the number of teeth to previous gear
+         (which is also the ratio of the circumferences.)
+       */
+      g->ratio = (double) parent->nteeth / (double) g->nteeth;
+
+      /* Set our initial rotation to match that of the previous gear,
+         multiplied by the gearing ratio.  (This is finessed later,
+         once we know the exact position of the gear relative to its
+         parent.)
+      */
+      g->th = -(parent->th * g->ratio);
+
+      if (g->nteeth & 1)    /* rotate 1/2 tooth-size if odd number of teeth */
+        {
+          double off = (180.0 / g->nteeth);
+          if (g->th > 0)
+            g->th += off;
+          else
+            g->th -= off;
+        }
+
+      /* ratios are cumulative for all gears in the train. */
+      g->ratio *= parent->ratio;
+    }
 
-  glRotatef (-90, 0, 0, 1);
-  glScalef (diameter/length, 1, diameter/length);
 
-  /* extend the endpoints of the tube by the cap size in both directions */
-  if (cap_size != 0)
+  if (parent)  /* Place the gear next to the parent. */
     {
-      GLfloat c = cap_size/length;
-      glTranslatef (0, -c, 0);
-      glScalef (1, 1+c+c, 1);
+      double r_off = parent->r + g->r;
+      int angle;
+
+      angle = (random() % 360) - 180;   /* -180 to +180 degrees */
+
+      g->x = parent->x + (cos ((double) angle * (M_PI / 180)) * r_off);
+      g->y = parent->y + (sin ((double) angle * (M_PI / 180)) * r_off);
+      g->z = parent->z;
+
+      /* avoid accidentally changing sign of "th" in the math below. */
+      g->th += (g->th > 0 ? 360 : -360);
+
+      /* Adjust the rotation of the gear so that its teeth line up with its
+         parent, based on the position of the gear and the current rotation
+         of the parent.
+       */
+      {
+        double p_c = 2 * M_PI * parent->r;  /* circumference of parent */
+        double g_c = 2 * M_PI * g->r;       /* circumference of g  */
+
+        double p_t = p_c * (angle/360.0);   /* distance travelled along
+                                               circumference of parent when
+                                               moving "angle" degrees along
+                                               parent. */
+        double g_rat = p_t / g_c;           /* if travelling that distance
+                                               along circumference of g,
+                                               ratio of g's circumference
+                                               travelled. */
+        double g_th = 360.0 * g_rat;        /* that ratio in degrees */
+
+        g->th += angle + g_th;
+      }
     }
 
-  unit_tube (wire);
-  glPopMatrix();
+  /* If the position we picked for this gear causes it to overlap
+     with any earlier gear in the train, give up.
+   */
+  {
+    int i;
+
+    for (i = bp->ngears-1; i >= 0; i--)
+      {
+        gear *og = bp->gears[i];
+
+        if (og == g) continue;
+        if (og == parent) continue;
+        if (g->z != og->z) continue;    /* Ignore unless on same layer */
+
+        /* Collision detection without sqrt:
+             d = sqrt(a^2 + b^2)   d^2 = a^2 + b^2
+             d < r1 + r2           d^2 < (r1 + r2)^2
+         */
+        if (((g->x - og->x) * (g->x - og->x) +
+             (g->y - og->y) * (g->y - og->y)) <
+            ((g->r + g->tooth_h + og->r + og->tooth_h) *
+             (g->r + g->tooth_h + og->r + og->tooth_h)))
+          return False;
+      }
+  }
+
+  return True;
 }
 
 
-static void
-ctube (GLfloat diameter, GLfloat width, Bool wire)
+/* Make a new gear, place it next to its parent in the scene,
+   with its teeth meshed and the proper velocity.  Returns the gear;
+   or 0 if it didn't work.  (Call this a bunch of times until either
+   it works, or you decide it's probably not going to.)
+   [Mostly lifted from pinion.c]
+ */
+static gear *
+place_new_gear (ModeInfo *mi, gear *parent)
 {
-  tube (0, 0,  width/2,
-        0, 0, -width/2,
-        diameter, 0, wire);
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
+  int loop_count = 0;
+  gear *g = 0;
+
+  while (1)
+    {
+      loop_count++;
+      if (loop_count >= 100)
+        {
+          if (g)
+            free_gear (g);
+          g = 0;
+          break;
+        }
+
+      g = new_gear (mi, parent);
+      if (!g) return 0;  /* out of memory? */
+
+      if (place_gear (mi, g, parent))
+        break;
+    }
+
+  if (! g) return 0;
+
+  /* We got a gear, and it is properly positioned.
+     Insert it in the scene.
+   */
+  bp->gears[bp->ngears++] = g;
+  return g;
 }
 
-static void
-arm(GLfloat length,
-    GLfloat width1, GLfloat height1,
-    GLfloat width2, GLfloat height2,
-    Bool wire)
+
+static int
+arm (GLfloat length,
+     GLfloat width1, GLfloat height1,
+     GLfloat width2, GLfloat height2,
+     Bool wire)
 {
+  int polys = 0;
   glShadeModel(GL_FLAT);
 
 #if 0  /* don't need these - they're embedded in other objects */
@@ -463,6 +460,7 @@ arm(GLfloat length,
   glVertex3f(-length/2,  width1/2, -height1/2);
   glVertex3f(-length/2,  width1/2,  height1/2);
   glVertex3f(-length/2, -width1/2,  height1/2);
+  polys++;
   glEnd();
 
   /* draw end 2 */
@@ -473,6 +471,7 @@ arm(GLfloat length,
   glVertex3f(length/2,  width2/2, -height2/2);
   glVertex3f(length/2,  width2/2,  height2/2);
   glVertex3f(length/2, -width2/2,  height2/2);
+  polys++;
   glEnd();
 #endif
 
@@ -484,6 +483,7 @@ arm(GLfloat length,
   glVertex3f(-length/2,  width1/2, -height1/2);
   glVertex3f( length/2,  width2/2, -height2/2);
   glVertex3f( length/2, -width2/2, -height2/2);
+  polys++;
   glEnd();
 
   /* draw bottom */
@@ -494,6 +494,7 @@ arm(GLfloat length,
   glVertex3f(-length/2,  width1/2, height1/2);
   glVertex3f( length/2,  width2/2, height2/2);
   glVertex3f( length/2, -width2/2, height2/2);
+  polys++;
   glEnd();
 
   /* draw left */
@@ -504,6 +505,7 @@ arm(GLfloat length,
   glVertex3f(-length/2, -width1/2,  height1/2);
   glVertex3f( length/2, -width2/2,  height2/2);
   glVertex3f( length/2, -width2/2, -height2/2);
+  polys++;
   glEnd();
 
   /* draw right */
@@ -514,542 +516,424 @@ arm(GLfloat length,
   glVertex3f(-length/2,  width1/2,  height1/2);
   glVertex3f( length/2,  width2/2,  height2/2);
   glVertex3f( length/2,  width2/2, -height2/2);
+  polys++;
   glEnd();
 
   glFrontFace(GL_CCW);
+
+  return polys;
 }
 
 
-static void
-draw(ModeInfo * mi)
+static int
+ctube (GLfloat diameter, GLfloat width, Bool wire)
 {
-       gearsstruct *gp = &gears[MI_SCREEN(mi)];
-       int         wire = MI_IS_WIREFRAME(mi);
-
-       if (!wire) {
-               glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-       } else {
-               glClear(GL_COLOR_BUFFER_BIT);
-       }
-
-       glPushMatrix();
+  tube (0, 0,  width/2,
+        0, 0, -width/2,
+        diameter, 0, 
+        32, True, True, wire);
+  return 0; /* #### */
+}
 
-    gltrackball_rotate (gp->trackball);
+static void
+armature (ModeInfo *mi)
+{
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
+  int wire = MI_IS_WIREFRAME(mi);
 
-    if (spin)
-         {
-               double x, y, z;
-               get_rotation (gp->rot, &x, &y, &z, !gp->button_down_p);
-               glRotatef (x * 360, 1.0, 0.0, 0.0);
-               glRotatef (y * 360, 0.0, 1.0, 0.0);
-               glRotatef (z * 360, 0.0, 0.0, 1.0);
-         }
+  static const GLfloat spec[4] = {1.0, 1.0, 1.0, 1.0};
+  GLfloat shiny = 128.0;
+  GLfloat color[4];
 
-    if (!gp->planetary_p) {
-      glPushMatrix();
-      glTranslatef(-3.0, -2.0, 0.0);
-      glRotatef(gp->angle, 0.0, 0.0, 1.0);
-/* PURIFY 4.0.1 reports an unitialized memory read on the next line when using
-   * MesaGL 2.2 and -mono.  This has been fixed in MesaGL 2.3 and later. */
-      glCallList(gp->gear1);
-      glPopMatrix();
+  color[0] = 0.5 + frand(0.5);
+  color[1] = 0.5 + frand(0.5);
+  color[2] = 0.5 + frand(0.5);
+  color[3] = 1.0;
 
-      glPushMatrix();
-      glTranslatef(3.1, -2.0, 0.0);
-      glRotatef(-2.0 * gp->angle - 9.0, 0.0, 0.0, 1.0);
-      glCallList(gp->gear2);
-      glPopMatrix();
+  bp->armature_polygons = 0;
 
-      glPushMatrix();
-      glTranslatef(-3.1, 4.2, 0.0);
-      glRotatef(-2.0 * gp->angle - 25.0, 0.0, 0.0, 1.0);
-      glCallList(gp->gear3);
-      glPopMatrix();
+  bp->armature_dlist = glGenLists (1);
+  if (! bp->armature_dlist)
+    {
+      check_gl_error ("glGenLists");
+      abort();
+    }
 
-    } else { /* gp->planetary_p */
+  glNewList (bp->armature_dlist, GL_COMPILE);
 
-      glScalef(0.8, 0.8, 0.8);
+  glMaterialfv (GL_FRONT, GL_SPECULAR,  spec);
+  glMateriali  (GL_FRONT, GL_SHININESS, shiny);
+  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, color);
+  glColor3f (color[0], color[1], color[2]);
 
-      glPushMatrix();
-      glTranslatef(0.0, 4.2, 0.0);
-      glRotatef(gp->angle - 7.0, 0.0, 0.0, 1.0);
-      glCallList(gp->gear1);
-      glPopMatrix();
+  glPushMatrix();
 
-      glPushMatrix();
-      glRotatef(120, 0.0, 0.0, 1.0);
-      glTranslatef(0.0, 4.2, 0.0);
-      glRotatef(gp->angle - 7.0, 0.0, 0.0, 1.0);
-      glCallList(gp->gear2);
-      glPopMatrix();
+  {
+    GLfloat s = bp->gears[0]->r * 2.7;
+    s = s/5.6;
+    glScalef (s, s, s);
+  }
 
-      glPushMatrix();
-      glRotatef(240, 0.0, 0.0, 1.0);
-      glTranslatef(0.0, 4.2, 0.0);
-      glRotatef(gp->angle - 7.0, 0.0, 0.0, 1.0);
-      glCallList(gp->gear3);
-      glPopMatrix();
+  glTranslatef (0, 0, 1.4 + bp->gears[0]->thickness);
+  glRotatef (30, 0, 0, 1);
 
-      glPushMatrix();
-      glTranslatef(0.0, 0.0, 0.0);
-      glRotatef(-gp->angle, 0.0, 0.0, 1.0);
-      glCallList(gp->gear_inner);
-      glPopMatrix();
+  bp->armature_polygons += ctube (0.5, 10, wire);       /* center axle */
 
-      glPushMatrix();
-      glTranslatef(0.0, 0.0, 0.0);
-      glRotatef((gp->angle / 3.0) - 7.5, 0.0, 0.0, 1.0);
-      glCallList(gp->gear_outer);
-      glPopMatrix();
+  glPushMatrix();
+  glTranslatef(0.0, 4.2, -1);
+  bp->armature_polygons += ctube (0.5, 3, wire);       /* axle 1 */
+  glTranslatef(0, 0, 1.8);
+  bp->armature_polygons += ctube (0.7, 0.7, wire);
+  glPopMatrix();
 
-      glPushMatrix();
-      glTranslatef(0.0, 0.0, 0.0);
-      glCallList(gp->armature);
-      glPopMatrix();
-    }
+  glPushMatrix();
+  glRotatef(120, 0.0, 0.0, 1.0);
+  glTranslatef(0.0, 4.2, -1);
+  bp->armature_polygons += ctube (0.5, 3, wire);       /* axle 2 */
+  glTranslatef(0, 0, 1.8);
+  bp->armature_polygons += ctube (0.7, 0.7, wire);
+  glPopMatrix();
 
-       glPopMatrix();
-}
+  glPushMatrix();
+  glRotatef(240, 0.0, 0.0, 1.0);
+  glTranslatef(0.0, 4.2, -1);
+  bp->armature_polygons += ctube (0.5, 3, wire);       /* axle 3 */
+  glTranslatef(0, 0, 1.8);
+  bp->armature_polygons += ctube (0.7, 0.7, wire);
+  glPopMatrix();
 
+  glTranslatef(0, 0, 1.5);                           /* center disk */
+  bp->armature_polygons += ctube (1.5, 2, wire);
 
+  glPushMatrix();
+  glRotatef(270, 0, 0, 1);
+  glRotatef(-10, 0, 1, 0);
+  glTranslatef(-2.2, 0, 0);
+  bp->armature_polygons += arm (4.0, 1.0, 0.5,
+                                2.0, 1.0, wire);       /* arm 1 */
+  glPopMatrix();
 
-/* new window size or exposure */
-ENTRYPOINT void
-reshape_gears (ModeInfo *mi, int width, int height)
-{
-       GLfloat     h = (GLfloat) height / (GLfloat) width;
+  glPushMatrix();
+  glRotatef(30, 0, 0, 1);
+  glRotatef(-10, 0, 1, 0);
+  glTranslatef(-2.2, 0, 0);
+  bp->armature_polygons += arm (4.0, 1.0, 0.5,
+                                2.0, 1.0, wire);       /* arm 2 */
+  glPopMatrix();
 
-       glViewport(0, 0, (GLint) width, (GLint) height);
-       glMatrixMode(GL_PROJECTION);
-       glLoadIdentity();
-       glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
-       glMatrixMode(GL_MODELVIEW);
-       glLoadIdentity();
-       glTranslatef(0.0, 0.0, -40.0);
+  glPushMatrix();
+  glRotatef(150, 0, 0, 1);
+  glRotatef(-10, 0, 1, 0);
+  glTranslatef(-2.2, 0, 0);
+  bp->armature_polygons += arm (4.0, 1.0, 0.5,
+                                2.0, 1.0, wire);       /* arm 3 */
+  glPopMatrix();
 
-       /* The depth buffer will be cleared, if needed, before the
-        * next frame.  Right now we just want to black the screen.
-        */
-       glClear(GL_COLOR_BUFFER_BIT);
+  glPopMatrix();
 
+  glEndList ();
 }
 
 
 static void
-pinit(ModeInfo * mi)
+planetary_gears (ModeInfo *mi)
 {
-       gearsstruct *gp = &gears[MI_SCREEN(mi)];
-       static const GLfloat pos[4]   = {5.0, 5.0, 10.0, 1.0};
-       static const GLfloat red[4]   = {0.8, 0.1, 0.0, 1.0};
-       static const GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
-       static const GLfloat blue[4]  = {0.2, 0.2, 1.0, 1.0};
-       static const GLfloat gray[4]  = {0.5, 0.5, 0.5, 1.0};
-       static const GLfloat white[4] = {1.0, 1.0, 1.0, 1.0};
-       int         wire = MI_IS_WIREFRAME(mi);
-       int         mono = MI_IS_MONO(mi);
-
-       if (!wire) {
-               glLightfv(GL_LIGHT0, GL_POSITION, pos);
-               glEnable(GL_CULL_FACE);
-               glEnable(GL_LIGHTING);
-               glEnable(GL_LIGHT0);
-               glEnable(GL_DEPTH_TEST);
-       }
-#if 0
-/*-
- * Messes up on multiscreen Pseudocolor:0 StaticGray(monochrome):1
- * 2nd time mode is run it is Grayscale on PseudoColor.
- * The code below forces monochrome on TrueColor.
- */
-       if (MI_IS_MONO(mi)) {
-               red[0] = red[1] = red[2] = 1.0;
-               green[0] = green[1] = green[2] = 1.0;
-               blue[0] = blue[1] = blue[2] = 1.0;
-       }
-#endif
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
+  gear *g0, *g1, *g2, *g3, *g4;
+  GLfloat distance = 2.02;
+
+  bp->planetary_p = True;
+
+  g0 = new_gear (mi, 0);
+  g1 = new_gear (mi, 0);
+  g2 = new_gear (mi, 0);
+  g3 = new_gear (mi, 0);
+  g4 = new_gear (mi, 0);
+
+  if (! place_gear (mi, g0, 0)) abort();
+  if (! place_gear (mi, g1, 0)) abort();
+  if (! place_gear (mi, g2, 0)) abort();
+  if (! place_gear (mi, g3, 0)) abort();
+  if (! place_gear (mi, g4, 0)) abort();
+
+  g0->nteeth = 12 + (3 * (random() % 10));  /* must be multiple of 3 */
+  g0->tooth_w = g0->r / g0->nteeth;
+  g0->tooth_h = g0->tooth_w * 2.8;
+
+# define COPY(F) g4->F = g3->F = g2->F = g1->F = g0->F
+  COPY(r);
+  COPY(th);
+  COPY(nteeth);
+  COPY(tooth_w);
+  COPY(tooth_h);
+  COPY(tooth_slope);
+  COPY(inner_r);
+  COPY(inner_r2);
+  COPY(inner_r3);
+  COPY(thickness);
+  COPY(thickness2);
+  COPY(thickness3);
+  COPY(ratio);
+  COPY(size);
+# undef COPY
+
+  g1->x = cos (M_PI * 2 / 3) * g1->r * distance;
+  g1->y = sin (M_PI * 2 / 3) * g1->r * distance;
+
+  g2->x = cos (M_PI * 4 / 3) * g2->r * distance;
+  g2->y = sin (M_PI * 4 / 3) * g2->r * distance;
+
+  g3->x = cos (M_PI * 6 / 3) * g3->r * distance;
+  g3->y = sin (M_PI * 6 / 3) * g3->r * distance;
+
+  g4->x = 0;
+  g4->y = 0;
+  g4->th = -g3->th;
+
+  g0->inverted_p  = True;
+  g0->x           = 0;
+  g0->y           = 0;
+  g0->nteeth      = g4->nteeth * 3;
+  g0->r           = g4->r * 3.05;
+  g0->inner_r     = g0->r * 0.8;
+  g0->inner_r2    = 0;
+  g0->inner_r3    = 0;
+  g0->th          = -(g4->th - (180 / g0->nteeth));
+  g0->ratio       = g4->ratio / 3;
+
+  g0->tooth_slope = 0;
+  g0->nubs        = 3;
+  g0->spokes      = 0;
+  g0->size        = INVOLUTE_LARGE;
+
+  bp->gears = (gear **) calloc (6, sizeof(**bp->gears));
+  bp->ngears = 0;
+
+  bp->gears[bp->ngears++] = g1;
+  bp->gears[bp->ngears++] = g2;
+  bp->gears[bp->ngears++] = g3;
+  bp->gears[bp->ngears++] = g4;
+  bp->gears[bp->ngears++] = g0;
+}
 
-       /* make the gears */
-
-    if (! gp->planetary_p) {
-
-      gp->gear1 = glGenLists(1);
-      glNewList(gp->gear1, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(red);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
-      }
 
-      gear(1.0, 4.0, 1.0, 20, 0.7, wire, False);
-      glEndList();
-
-      gp->gear2 = glGenLists(1);
-      glNewList(gp->gear2, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(green);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
-      }
-      gear(0.5, 2.0, 2.0, 10, 0.7, wire, False);
-      glEndList();
-
-      gp->gear3 = glGenLists(1);
-      glNewList(gp->gear3, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(blue);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
-      }
-      gear(1.3, 2.0, 0.5, 10, 0.7, wire, False);
-      glEndList();
-      if (!wire)
-               glEnable(GL_NORMALIZE);
-
-    } else { /* gp->planetary_p */
-
-      gp->gear1 = glGenLists(1);
-      glNewList(gp->gear1, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(red);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
-      }
-      gear(1.3, 2.0, 2.0, 12, 0.7, wire, False);
-      glEndList();
-
-      gp->gear2 = glGenLists(1);
-      glNewList(gp->gear2, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(green);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
-      }
-      gear(1.3, 2.0, 2.0, 12, 0.7, wire, False);
-      glEndList();
-
-      gp->gear3 = glGenLists(1);
-      glNewList(gp->gear3, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(blue);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
-      }
-      gear(1.3, 2.0, 2.0, 12, 0.7, wire, False);
-      glEndList();
-      if (!wire)
-               glEnable(GL_NORMALIZE);
-
-
-      gp->gear_inner = glGenLists(1);
-      glNewList(gp->gear_inner, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(blue);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
-      }
-      gear(1.0, 2.0, 2.0, 12, 0.7, wire, False);
-      glEndList();
-      if (!wire)
-               glEnable(GL_NORMALIZE);
-
-
-      gp->gear_outer = glGenLists(1);
-      glNewList(gp->gear_outer, GL_COMPILE);
-      if (wire) {
-               if (mono)
-          glColor4fv(white);
-               else
-          glColor4fv(blue);
-      } else {
-               if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-               else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
-      }
-      gear(5.7, 7.0, 2.0, 36, 0.7, wire, True);
 
-      /* put some nubs on the outer ring, so we can tell how it's moving */
-      glPushMatrix();
-      glTranslatef(7.0, 0, 0);
-      glRotatef(90, 0, 1, 0);
-
-      ctube(0.5, 0.5, wire);   /* nub 1 */
-      glPopMatrix();
 
-      glPushMatrix();
-      glRotatef(120, 0, 0, 1);
-      glTranslatef(7.0, 0, 0);
-      glRotatef(90, 0, 1, 0);
-      ctube(0.5, 0.5, wire);   /* nub 2 */
-      glPopMatrix();
+ENTRYPOINT void 
+init_gears (ModeInfo *mi)
+{
+  gears_configuration *bp;
+  int wire = MI_IS_WIREFRAME(mi);
+  int i;
 
-      glPushMatrix();
-      glRotatef(240, 0, 0, 1);
-      glTranslatef(7.0, 0, 0);
-      glRotatef(90, 0, 1, 0);
-      ctube(0.5, 0.5, wire);   /* nub 3 */
-      glPopMatrix();
-
-
-      glEndList();
-      if (!wire)
-               glEnable(GL_NORMALIZE);
-
-      gp->armature = glGenLists(1);
-      glNewList(gp->armature, GL_COMPILE);
-      if (wire) {
-        if (mono)
-          glColor4fv(white);
-        else
-          glColor4fv(blue);
-      } else {
-        if (mono)
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-        else
-          glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, gray);
-      }
+  if (!bps) {
+    bps = (gears_configuration *)
+      calloc (MI_NUM_SCREENS(mi), sizeof (gears_configuration));
+    if (!bps) {
+      fprintf(stderr, "%s: out of memory\n", progname);
+      exit(1);
+    }
 
-      glTranslatef(0, 0, 1.5);
-      ctube(0.5, 10, wire);       /* center axle */
+    bp = &bps[MI_SCREEN(mi)];
+  }
 
-      glPushMatrix();
-      glTranslatef(0.0, 4.2, -1);
-      ctube(0.5, 3, wire);       /* axle 1 */
-      glTranslatef(0, 0, 1.8);
-      ctube(0.7, 0.7, wire);
-      glPopMatrix();
+  bp = &bps[MI_SCREEN(mi)];
 
-      glPushMatrix();
-      glRotatef(120, 0.0, 0.0, 1.0);
-      glTranslatef(0.0, 4.2, -1);
-      ctube(0.5, 3, wire);       /* axle 2 */
-      glTranslatef(0, 0, 1.8);
-      ctube(0.7, 0.7, wire);
-      glPopMatrix();
+  bp->glx_context = init_GL(mi);
 
-      glPushMatrix();
-      glRotatef(240, 0.0, 0.0, 1.0);
-      glTranslatef(0.0, 4.2, -1);
-      ctube(0.5, 3, wire);       /* axle 3 */
-      glTranslatef(0, 0, 1.8);
-      ctube(0.7, 0.7, wire);
-      glPopMatrix();
+  reshape_gears (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
 
-      glTranslatef(0, 0, 1.5);      /* center disk */
-      ctube(1.5, 2, wire);
+  if (!wire)
+    {
+      GLfloat pos[4] = {1.0, 1.0, 1.0, 0.0};
+      GLfloat amb[4] = {0.0, 0.0, 0.0, 1.0};
+      GLfloat dif[4] = {1.0, 1.0, 1.0, 1.0};
+      GLfloat spc[4] = {0.0, 1.0, 1.0, 1.0};
+
+      glEnable(GL_LIGHTING);
+      glEnable(GL_LIGHT0);
+      glEnable(GL_DEPTH_TEST);
+      glEnable(GL_CULL_FACE);
+
+      glLightfv(GL_LIGHT0, GL_POSITION, pos);
+      glLightfv(GL_LIGHT0, GL_AMBIENT,  amb);
+      glLightfv(GL_LIGHT0, GL_DIFFUSE,  dif);
+      glLightfv(GL_LIGHT0, GL_SPECULAR, spc);
+    }
 
-      glPushMatrix();
-      glRotatef(270, 0, 0, 1);
-      glRotatef(-10, 0, 1, 0);
-      glTranslatef(-2.2, 0, 0);
-      arm(4.0, 1.0, 0.5, 2.0, 1.0, wire);              /* arm 1 */
-      glPopMatrix();
+  {
+    double spin_speed   = 0.5;
+    double wander_speed = 0.01;
+    double spin_accel   = 0.25;
+
+    bp->rot = make_rotator (do_spin ? spin_speed : 0,
+                            do_spin ? spin_speed : 0,
+                            do_spin ? spin_speed : 0,
+                            spin_accel,
+                            do_wander ? wander_speed : 0,
+                            True
+                            );
+    bp->trackball = gltrackball_init ();
+  }
+
+  if (!(random() % 8))
+    {
+      planetary_gears (mi);
+    }
+  else
+    {
+      gear *g = 0;
+      int total_gears = MI_COUNT (mi);
+      int i;
+      if (total_gears <= 0)
+        total_gears = 3 + abs (BELLRAND (8) - 4);  /* 3 - 7, mostly 3. */
 
-      glPushMatrix();
-      glRotatef(30, 0, 0, 1);
-      glRotatef(-10, 0, 1, 0);
-      glTranslatef(-2.2, 0, 0);
-      arm(4.0, 1.0, 0.5, 2.0, 1.0, wire);              /* arm 2 */
-      glPopMatrix();
+      bp->gears = (gear **) calloc (total_gears+2, sizeof(**bp->gears));
+      bp->ngears = 0;
 
-      glPushMatrix();
-      glRotatef(150, 0, 0, 1);
-      glRotatef(-10, 0, 1, 0);
-      glTranslatef(-2.2, 0, 0);
-      arm(4.0, 1.0, 0.5, 2.0, 1.0, wire);              /* arm 3 */
-      glPopMatrix();
-
-      glEndList();
-      if (!wire)
-        glEnable(GL_NORMALIZE);
+      for (i = 0; i < total_gears; i++)
+        g = place_new_gear (mi, g);
     }
-}
 
 
-ENTRYPOINT Bool
-gears_handle_event (ModeInfo *mi, XEvent *event)
-{
-  gearsstruct *gp = &gears[MI_SCREEN(mi)];
+  /* Center gears in scene. */
+  {
+    GLfloat minx=99999, miny=99999, maxx=-99999, maxy=-99999;
+    int i;
+    for (i = 0; i < bp->ngears; i++)
+      {
+        gear *g = bp->gears[i];
+        if (g->x - g->r < minx) minx = g->x - g->r;
+        if (g->x + g->r > maxx) maxx = g->x + g->r;
+        if (g->y - g->r < miny) miny = g->y - g->r;
+        if (g->y + g->r > maxy) maxy = g->y + g->r;
+      }
+    bp->bbox.x1 = minx;
+    bp->bbox.y1 = miny;
+    bp->bbox.x2 = maxx;
+    bp->bbox.y2 = maxy;
+  }
 
-  if (event->xany.type == ButtonPress &&
-      event->xbutton.button == Button1)
-    {
-      gp->button_down_p = True;
-      gltrackball_start (gp->trackball,
-                         event->xbutton.x, event->xbutton.y,
-                         MI_WIDTH (mi), MI_HEIGHT (mi));
-      return True;
-    }
-  else if (event->xany.type == ButtonRelease &&
-           event->xbutton.button == Button1)
-    {
-      gp->button_down_p = False;
-      return True;
-    }
-  else if (event->xany.type == ButtonPress &&
-           (event->xbutton.button == Button4 ||
-            event->xbutton.button == Button5))
-    {
-      gltrackball_mousewheel (gp->trackball, event->xbutton.button, 10,
-                              !!event->xbutton.state);
-      return True;
-    }
-  else if (event->xany.type == MotionNotify &&
-           gp->button_down_p)
+  /* Now render each gear into its display list.
+   */
+  for (i = 0; i < bp->ngears; i++)
     {
-      gltrackball_track (gp->trackball,
-                         event->xmotion.x, event->xmotion.y,
-                         MI_WIDTH (mi), MI_HEIGHT (mi));
-      return True;
-    }
+      gear *g = bp->gears[i];
+      g->dlist = glGenLists (1);
+      if (! g->dlist)
+        {
+          check_gl_error ("glGenLists");
+          abort();
+        }
 
-  return False;
+      glNewList (g->dlist, GL_COMPILE);
+      g->polygons += draw_involute_gear (g, wire);
+      glEndList ();
+    }
+  if (bp->planetary_p)
+    armature (mi);
 }
 
 
 ENTRYPOINT void
-init_gears (ModeInfo * mi)
+draw_gears (ModeInfo *mi)
 {
-       int         screen = MI_SCREEN(mi);
-
-       /*Colormap    cmap; */
-       /* Boolean     rgba, doublebuffer, cmap_installed; */
-       gearsstruct *gp;
-
-       if (gears == NULL) {
-               if ((gears = (gearsstruct *) calloc(MI_NUM_SCREENS(mi),
-                                             sizeof (gearsstruct))) == NULL)
-                       return;
-       }
-       gp = &gears[screen];
-
-    if (mode_str && !strcasecmp (mode_str, "planetary"))
-      gp->planetary_p = True;
-    else if (mode_str && !strcasecmp (mode_str, "simple"))
-      gp->planetary_p = False;
-    else if (!mode_str || !*mode_str || !strcasecmp (mode_str, "random"))
-      gp->planetary_p = !(random() % 2);
-    else
-      fprintf (stderr, "%s: mode must be planetary, simple, or random", 
-               progname);
+  gears_configuration *bp = &bps[MI_SCREEN(mi)];
+  Display *dpy = MI_DISPLAY(mi);
+  Window window = MI_WINDOW(mi);
+  int i;
 
-       gp->window = MI_WINDOW(mi);
+  if (!bp->glx_context)
+    return;
 
-    gp->rot = make_rotator (1, 1, 1, 1, 0, True);
-    gp->trackball = gltrackball_init ();
+  glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(bp->glx_context));
 
-       if ((gp->glx_context = init_GL(mi)) != NULL) {
-               reshape_gears(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
-               pinit(mi);
-       } else {
-               MI_CLEARWINDOW(mi);
-       }
-}
+  glShadeModel(GL_SMOOTH);
 
-ENTRYPOINT void
-draw_gears (ModeInfo * mi)
-{
-       gearsstruct *gp = &gears[MI_SCREEN(mi)];
-       Display    *display = MI_DISPLAY(mi);
-       Window      window = MI_WINDOW(mi);
-       int         angle_incr = MI_CYCLES(mi) ? MI_CYCLES(mi) : 2;
+  glEnable(GL_DEPTH_TEST);
+  glEnable(GL_NORMALIZE);
+  glEnable(GL_CULL_FACE);
 
-    if (gp->planetary_p)
-      angle_incr *= 3;
+  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
-       if (!gp->glx_context)
-               return;
+  glPushMatrix ();
 
-       glDrawBuffer(GL_BACK);
+  {
+    double x, y, z;
+    get_position (bp->rot, &x, &y, &z, !bp->button_down_p);
+    glTranslatef ((x - 0.5) * 4,
+                  (y - 0.5) * 4,
+                  (z - 0.5) * 7);
 
-       glXMakeCurrent(display, window, *(gp->glx_context));
-       draw(mi);
+    gltrackball_rotate (bp->trackball);
 
-       /* let's do something so we don't get bored */
-       gp->angle = (int) (gp->angle + angle_incr) % 360;
+    get_rotation (bp->rot, &x, &y, &z, !bp->button_down_p);
 
-    if (mi->fps_p) do_fps (mi);
-       glFinish();
-       glXSwapBuffers(display, window);
-}
+    /* add a little rotation for -no-spin mode */
+    x -= 0.14;
+    y -= 0.06;
 
-ENTRYPOINT void
-release_gears (ModeInfo * mi)
-{
-       if (gears != NULL) {
-               int         screen;
-
-               for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
-                       gearsstruct *gp = &gears[screen];
-
-                       if (gp->glx_context) {
-                               /* Display lists MUST be freed while their glXContext is current. */
-                               glXMakeCurrent(MI_DISPLAY(mi), gp->window, *(gp->glx_context));
-
-                               if (glIsList(gp->gear1))
-                                       glDeleteLists(gp->gear1, 1);
-                               if (glIsList(gp->gear2))
-                                       glDeleteLists(gp->gear2, 1);
-                               if (glIsList(gp->gear3))
-                                       glDeleteLists(gp->gear3, 1);
-                               if (glIsList(gp->gear_inner))
-                                       glDeleteLists(gp->gear_inner, 1);
-                               if (glIsList(gp->gear_outer))
-                                       glDeleteLists(gp->gear_outer, 1);
-
-                       }
-               }
-               (void) free((void *) gears);
-               gears = NULL;
-       }
-       FreeAllGL(mi);
-}
+    glRotatef (x * 360, 1.0, 0.0, 0.0);
+    glRotatef (y * 360, 0.0, 1.0, 0.0);
+    glRotatef (z * 360, 0.0, 0.0, 1.0);
+  }
 
+  /* Center the scene's bounding box in the window,
+     and scale it to fit. 
+   */
+  {
+    GLfloat w = bp->bbox.x2 - bp->bbox.x1;
+    GLfloat h = bp->bbox.y2 - bp->bbox.y1;
+    GLfloat s = 10.0 / (w > h ? w : h);
+    glScalef (s, s, s);
+    glTranslatef (-(bp->bbox.x1 + w/2),
+                  -(bp->bbox.y1 + h/2),
+                  0);
+  }
+
+  mi->polygon_count = 0;
+
+  for (i = 0; i < bp->ngears; i++)
+    {
+      gear *g = bp->gears[i];
 
-XSCREENSAVER_MODULE ("Gears", gears)
+      glPushMatrix();
 
-/*********************************************************/
+      glTranslatef (g->x, g->y, g->z);
+      glRotatef (g->th, 0, 0, 1);
 
-#endif
+      glCallList (g->dlist);
+      mi->polygon_count += g->polygons;
+
+      glPopMatrix ();
+    }
+
+  if (bp->planetary_p)
+    {
+      glCallList (bp->armature_dlist);
+      mi->polygon_count += bp->armature_polygons;
+    }
+
+  glPopMatrix ();
+
+  /* spin gears */
+  if (!bp->button_down_p)
+    for (i = 0; i < bp->ngears; i++)
+      {
+        gear *g = bp->gears[i];
+        double off = g->ratio * 5 * speed;
+        if (g->th > 0)
+          g->th += off;
+        else
+          g->th -= off;
+      }
+
+  if (mi->fps_p) do_fps (mi);
+  glFinish();
+
+  glXSwapBuffers(dpy, window);
+}
+
+XSCREENSAVER_MODULE ("Gears", gears)
+
+#endif /* USE_GL */
index 999cf11fbe375df6fcabaff0fd8ccb7306c40613..8f5b4d94e9addae552ab3b3fb3d5f895067ff6e5 100644 (file)
@@ -3,23 +3,20 @@
 gears - draw interlocking gears, for xscreensaver.
 .SH SYNOPSIS
 .B gears
-[\-display \fIhost:display.screen\fP]
+[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
 [\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[-delay \fInumber\fP]
-[-cycles \fInumber\fP]
-[-planetary]
+[\-delay \fIusecs\fP] 
+[\-speed \fIfloat\fP] 
+[\-no\-spin]
+[\-no\-wander]
+[-count \fIinteger\fP]
 [-wireframe]
 [-fps]
 .SH DESCRIPTION
-This draws sets of turning, interlocking gears, rotating in three
-dimensions.
+This draws a set of rotating gears.
 .SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
+.I gears
+accepts the following options:
 .TP 8
 .B \-window
 Draw on a newly-created window.  This is the default.
@@ -27,14 +24,28 @@ Draw on a newly-created window.  This is the default.
 .B \-root
 Draw on the root window.
 .TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use.  Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-delay \fIusecs\fP
+The delay between frames of the animation, in microseconds.
+Default: 30000 (0.03 seconds.)
+.TP 8
+.B \-speed \fIfloat\fP
+Larger numbers mean run faster.  Default: 1.0.
+.TP 8
+.B \-no\-spin
+Don't rotate the object.
 .TP 8
-.B \-cycles \fInumber\fP
-Rotational Speed.  1 - 30.  Default: 2.
+.B \-no\-wander
+Don't wander the object around the screen.
 .TP 8
-.B \-planetary
-Draw a planetary gear system, instead of three simple gears.
+.B \-count \fIinteger\fP
+How many gears to draw.  Default: 0 for random.
 .TP 8
 .B \-wireframe
 Render in wireframe instead of solid.
@@ -54,7 +65,7 @@ stored in the RESOURCE_MANAGER property.
 .BR X (1),
 .BR xscreensaver (1)
 .SH COPYRIGHT
-Copyright \(co 2002 by Jamie Zawinski.  Permission to use, copy, modify, 
+Copyright \(co 2007 by Jamie Zawinski.  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
@@ -62,4 +73,7 @@ appear in supporting documentation.  No representations are made about the
 suitability of this software for any purpose.  It is provided "as is" without
 express or implied warranty.
 .SH AUTHOR
-By Danny Sung, Brian Paul, Ed Mackey, and Jamie Zawinski.
+Jamie Zawinski.
+
+An earlier version of this program by Brian Paul was written in 1997;
+this version was rewritten from scratch by jwz in 2007.
index 86355f10dee35b7e2f13875163f6df2997a50c8d..746f258fd71318ac2d88cafbb1c50234e3acc406 100644 (file)
@@ -4,7 +4,7 @@
 /*-
  * Cells growing on your screen
  *
- * Copyright (c) 2006 by Matthias Toussaint
+ * Copyright (c) 2007 by Matthias Toussaint
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation for any purpose and without fee is hereby granted,
  * event will the author be liable for any lost revenue or profits or
  * other special, indirect and consequential damages.
  *
- * 2006: Written by Matthias Toussaint
+ * 2007: Written by Matthias Toussaint
+ * 0.1 Initial version
+ * 0.2 Bugfixes (threading) and code cleanup by Jamie Zavinsky
+ *     Window scaling bug + performance bug in tick()
  */
  
 #include <sys/time.h> /* gettimeofday */
@@ -116,11 +119,12 @@ typedef struct    /* hacks state */
 {
   GLXContext *glx_context;
   int width, height;    /* current size of viewport */
+  double screen_scale;  /* we scale content with window size */
   int num_cells;        /* current number of cell in list */
   Cell *cell;           /* array of cells */
   int cell_polys;
   GLfloat color[4];     /* current cell color */
-  int radius;           /* cell radius */
+  double radius;        /* cell radius */
   int move_dist;        /* min distance from neighbours for forking */
   int max_cells;        /* maximum number of cells */
   int num_seeds;        /* number of initial seeds */
@@ -252,7 +256,9 @@ ENTRYPOINT ModeSpecOpt glcells_opts = { countof(opts), opts,
 */
 static inline int random_interval( int min, int max )
 {
-  return min+(random()%(max-min));
+  int n = max - min;
+  if (n == 0) n = 1;
+  return min+(random()%n);
 }
 
 static inline int random_max( int max )
@@ -951,9 +957,10 @@ static void draw_nucleus( State *st )
 
 static void create_cells( State *st )
 {
+  int border = (int)(200.0 * st->screen_scale);
   int i, foodcnt;
-  int w = st->width-400;
-  int h = st->height-400;
+  int w = st->width-2*border;
+  int h = st->height-2*border;
   
   st->color[0] = 0.5 + random_max( 1000 ) * 0.0005;
   st->color[1] = 0.5 + random_max( 1000 ) * 0.0005;
@@ -975,8 +982,8 @@ static void create_cells( State *st )
   st->num_cells = st->num_seeds;
 
   for (i=0; i<st->num_cells; ++i) {
-    st->cell[i].x        = 200 + random_max( w );
-    st->cell[i].y        = 200 + random_max( h );
+    st->cell[i].x        = border + random_max( w );
+    st->cell[i].y        = border + random_max( h );
     st->cell[i].vx       = 0.0;
     st->cell[i].vy       = 0.0;
     st->cell[i].age      = random_max( 0x0f );
@@ -999,6 +1006,7 @@ static void tick( State *st )
   int num_living = 0;
   const double check_dist = 0.75*st->move_dist;
   const double grow_dist = 0.75*st->radius;
+  const double adult_radius = st->radius;
   
   /* find number of cells capable of division 
      and count living cells
@@ -1068,7 +1076,8 @@ static void tick( State *st )
             const double dy = st->cell[b].y - st->cell[j].y;
             
             if (fabs(dx) < check_dist || fabs(dy) < check_dist) {
-              const double dist = sqrt( dx*dx+dy*dy );
+              const double dist = dx*dx+dy*dy;
+              /*const double dist = sqrt( dx*dx+dy*dy );*/
               if (dist<min_dist) {
                 min_dist = dist;
                 min_index = j;
@@ -1086,9 +1095,9 @@ static void tick( State *st )
         }
         st->cell[b].min_dist = len;
         /* if not adult (radius too small) */
-        if (st->cell[b].radius < st->radius) {
+        if (st->cell[b].radius < adult_radius) {
           /* if too small 60% stop shrinking */
-          if (st->cell[b].radius < st->radius * 0.6) {
+          if (st->cell[b].radius < adult_radius * 0.6) {
             st->cell[b].growth = 1.0;
           }
           /* at safe distance we start growing again */
@@ -1158,7 +1167,18 @@ reshape_glcells( ModeInfo *mi, int width, int height )
   State *st  = &sstate[MI_SCREEN(mi)];
   st->height = height;
   st->width  = width;
+  st->screen_scale = (double)width / 1600.0;
   
+  st->radius = s_radius;
+  if (st->radius < 5) st->radius = 5;
+  if (st->radius > 200) st->radius = 200;
+  st->radius *= st->screen_scale;
+       
+  st->move_dist = s_min_dist;
+  if (st->move_dist < 1.0) st->move_dist = 1.0;
+  if (st->move_dist > 3.0) st->move_dist = 3.0;
+  st->move_dist *= st->radius;
+
   glViewport (0, 0, (GLint) width, (GLint) height);
 
   glMatrixMode(GL_PROJECTION);
index 2d2401744ca52945a54fb214c67984d4fa42c2d5..e92d408d8f73a886b97021a1c8903286cfef1be8 100644 (file)
@@ -95,5 +95,5 @@ appear in supporting documentation.  No representations are made about the
 suitability of this software for any purpose.  It is provided "as is" without
 express or implied warranty.
 .SH AUTHOR
-Matthias Toussaint <glcells@mtoussaint.de>, 17-Jun-2007.
+Matthias Toussaint <glcells@mtoussaint.de>, 17-Jun-2007, http://www.mtoussaint.de/bits.html.
  
index 978b70f097e609fe0108d8a9d7c670f686edf1f3..f12e4348dae948c7d0dabfbb49825eb8e7633f0f 100644 (file)
@@ -1,4 +1,4 @@
-/* glknots, Copyright (c) 2003-2006 Jamie Zawinski <jwz@jwz.org>
+/* glknots, Copyright (c) 2003-2007 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -158,12 +158,10 @@ make_knot (ModeInfo *mi)
               di = (di * di * 3);
             }
 
-          tube (ox, oy, oz,
-                x, y, z,
-                di, dist/3,
-                faces, True, wire, wire);
-
-          mi->polygon_count += faces;
+          mi->polygon_count += tube (ox, oy, oz,
+                                     x, y, z,
+                                     di, dist/3,
+                                     faces, True, wire, wire);
         }
 
       ox = x;
diff --git a/hacks/glx/involute.c b/hacks/glx/involute.c
new file mode 100644 (file)
index 0000000..6a132e0
--- /dev/null
@@ -0,0 +1,968 @@
+/* involute, Copyright (c) 2004-2007 Jamie Zawinski <jwz@jwz.org>
+ *
+ * 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.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ *
+ * Utilities for rendering OpenGL gears with involute teeth.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "screenhackI.h"
+
+#ifdef HAVE_COCOA
+# include <OpenGL/gl.h>
+# include <OpenGL/glu.h>
+#else  /* !HAVE_COCOA -- real Xlib */
+# include <GL/glx.h>
+# include <GL/glu.h>
+#endif /* !HAVE_COCOA */
+
+#include "involute.h"
+#include "normals.h"
+
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
+
+
+/* For debugging: if true then in wireframe, do not abbreviate. */
+static Bool wire_all_p = False+1;
+static Bool show_normals_p = False+1;
+
+
+/* Draws an uncapped tube of the given radius extending from top to bottom,
+   with faces pointing either in or out.
+ */
+static int
+draw_ring (int segments,
+           GLfloat r, GLfloat top, GLfloat bottom, 
+           Bool in_p, Bool wire_p)
+{
+  int i;
+  int polys = 0;
+  GLfloat width = M_PI * 2 / segments;
+
+  if (top != bottom)
+    {
+      glFrontFace (in_p ? GL_CCW : GL_CW);
+      glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
+      for (i = 0; i < segments + (wire_p ? 0 : 1); i++)
+        {
+          GLfloat th = i * width;
+          GLfloat cth = cos(th);
+          GLfloat sth = sin(th);
+          if (in_p)
+            glNormal3f (-cth, -sth, 0);
+          else
+            glNormal3f (cth, sth, 0);
+          glVertex3f (cth * r, sth * r, top);
+          glVertex3f (cth * r, sth * r, bottom);
+        }
+      polys += segments;
+      glEnd();
+    }
+
+  if (wire_p)
+    {
+      glBegin (GL_LINE_LOOP);
+      for (i = 0; i < segments; i++)
+        {
+          GLfloat th = i * width;
+          glVertex3f (cos(th) * r, sin(th) * r, top);
+        }
+      glEnd();
+      glBegin (GL_LINE_LOOP);
+      for (i = 0; i < segments; i++)
+        {
+          GLfloat th = i * width;
+          glVertex3f (cos(th) * r, sin(th) * r, bottom);
+        }
+      glEnd();
+    }
+
+  return polys;
+}
+
+
+/* Draws a donut-shaped disc between the given radii,
+   with faces pointing either up or down.
+   The first radius may be 0, in which case, a filled disc is drawn.
+ */
+static int
+draw_disc (int segments,
+           GLfloat ra, GLfloat rb, GLfloat z, 
+           Bool up_p, Bool wire_p)
+{
+  int i;
+  int polys = 0;
+  GLfloat width = M_PI * 2 / segments;
+
+  if (ra <  0) abort();
+  if (rb <= 0) abort();
+
+  if (ra == 0)
+    glFrontFace (up_p ? GL_CW : GL_CCW);
+  else
+    glFrontFace (up_p ? GL_CCW : GL_CW);
+
+  if (ra == 0)
+    glBegin (wire_p ? GL_LINES : GL_TRIANGLE_FAN);
+  else
+    glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
+
+  glNormal3f (0, 0, (up_p ? -1 : 1));
+
+  if (ra == 0 && !wire_p)
+    glVertex3f (0, 0, z);
+
+  for (i = 0; i < segments + (wire_p ? 0 : 1); i++)
+    {
+      GLfloat th = i * width;
+      GLfloat cth = cos(th);
+      GLfloat sth = sin(th);
+      if (wire_p || ra != 0)
+        glVertex3f (cth * ra, sth * ra, z);
+      glVertex3f (cth * rb, sth * rb, z);
+    }
+  polys += segments;
+  glEnd();
+  return polys;
+}
+
+
+/* Draws N thick radial lines between the given radii,
+   with faces pointing either up or down.
+ */
+static int
+draw_spokes (int n, GLfloat thickness, int segments,
+             GLfloat ra, GLfloat rb, GLfloat z1, GLfloat z2,
+             Bool wire_p)
+{
+  int i;
+  int polys = 0;
+  GLfloat width;
+  int segments2 = 0;
+  int insegs, outsegs;
+  int tick;
+  int state;
+
+  if (ra <= 0 || rb <= 0) abort();
+
+  segments *= 3;
+
+  while (segments2 < segments) /* need a multiple of N >= segments */
+    segments2 += n;            /* (yes, this is a moronic way to find that) */
+
+  insegs  = ((float) (segments2 / n) + 0.5) / thickness;
+  outsegs = (segments2 / n) - insegs;
+  if (insegs  <= 0) insegs = 1;
+  if (outsegs <= 0) outsegs = 1;
+
+  segments2 = (insegs + outsegs) * n;
+  width = M_PI * 2 / segments2;
+
+  tick = 0;
+  state = 0;
+  for (i = 0; i < segments2; i++, tick++)
+    {
+      GLfloat th1 = i * width;
+      GLfloat th2 = th1 + width;
+      GLfloat cth1 = cos(th1);
+      GLfloat sth1 = sin(th1);
+      GLfloat cth2 = cos(th2);
+      GLfloat sth2 = sin(th2);
+      GLfloat orb = rb;
+
+      int changed = (i == 0);
+
+      if (state == 0 && tick == insegs)
+        tick = 0, state = 1, changed = 1;
+      else if (state == 1 && tick == outsegs)
+        tick = 0, state = 0, changed = 1;
+
+      if ((state == 1 ||                /* in */
+           (state == 0 && changed)) &&
+          (!wire_p || wire_all_p))
+        {
+          /* top */
+          glFrontFace (GL_CCW);
+          glBegin (wire_p ? GL_LINES : GL_QUADS);
+          glNormal3f (0, 0, -1);
+          glVertex3f (cth1 * ra, sth1 * ra, z1);
+          glVertex3f (cth1 * rb, sth1 * rb, z1);
+          glVertex3f (cth2 * rb, sth2 * rb, z1);
+          glVertex3f (cth2 * ra, sth2 * ra, z1);
+          polys++;
+          glEnd();
+
+          /* bottom */
+          glFrontFace (GL_CW);
+          glBegin (wire_p ? GL_LINES : GL_QUADS);
+          glNormal3f (0, 0, 1);
+          glVertex3f (cth1 * ra, sth1 * ra, z2);
+          glVertex3f (cth1 * rb, sth1 * rb, z2);
+          glVertex3f (cth2 * rb, sth2 * rb, z2);
+          glVertex3f (cth2 * ra, sth2 * ra, z2);
+          polys++;
+          glEnd();
+        }
+
+      if (state == 1 && changed)   /* entering "in" state */
+        {
+          /* left */
+          glFrontFace (GL_CW);
+          glBegin (wire_p ? GL_LINES : GL_QUADS);
+          do_normal (cth1 * rb, sth1 * rb, z1,
+                     cth1 * ra, sth1 * ra, z1,
+                     cth1 * rb, sth1 * rb, z2);
+          glVertex3f (cth1 * ra, sth1 * ra, z1);
+          glVertex3f (cth1 * rb, sth1 * rb, z1);
+          glVertex3f (cth1 * rb, sth1 * rb, z2);
+          glVertex3f (cth1 * ra, sth1 * ra, z2);
+          polys++;
+          glEnd();
+        }
+
+      if (state == 0 && changed)   /* entering "out" state */
+        {
+          /* right */
+          glFrontFace (GL_CCW);
+          glBegin (wire_p ? GL_LINES : GL_QUADS);
+          do_normal (cth2 * ra, sth2 * ra, z1,
+                     cth2 * rb, sth2 * rb, z1,
+                     cth2 * rb, sth2 * rb, z2);
+          glVertex3f (cth2 * ra, sth2 * ra, z1);
+          glVertex3f (cth2 * rb, sth2 * rb, z1);
+          glVertex3f (cth2 * rb, sth2 * rb, z2);
+          glVertex3f (cth2 * ra, sth2 * ra, z2);
+          polys++;
+          glEnd();
+        }
+
+      rb = orb;
+    }
+  glEnd();
+  return polys;
+}
+
+
+/* Draws some bumps (embedded cylinders) on the gear.
+ */
+static int
+draw_gear_nubs (gear *g, Bool wire_p)
+{
+  int polys = 0;
+  int i;
+  int steps = (g->size != INVOLUTE_LARGE ? 5 : 20);
+  double r, size, height;
+  GLfloat *cc;
+  int which;
+  GLfloat width, off;
+
+  if (! g->nubs) return 0;
+
+  which = involute_biggest_ring (g, &r, &size, &height);
+  size /= 5;
+  height *= 0.7;
+
+  cc = (which == 1 ? g->color : g->color2);
+  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, cc);
+
+  if (g->inverted_p)
+    r = g->r + size + g->tooth_h;
+
+  width = M_PI * 2 / g->nubs;
+  off = M_PI / (g->nteeth * 2);  /* align first nub with a tooth */
+
+  for (i = 0; i < g->nubs; i++)
+    {
+      GLfloat th = (i * width) + off;
+      glPushMatrix();
+
+      glRotatef (th * 180 / M_PI, 0, 0, 1);
+      glTranslatef (r, 0, 0);
+
+      if (g->inverted_p)       /* nubs go on the outside rim */
+        {
+          size = g->thickness / 3;
+          height = (g->r - g->inner_r)/2;
+          glTranslatef (height, 0, 0);
+          glRotatef (90, 0, 1, 0);
+        }
+
+      if (wire_p && !wire_all_p)
+        polys += draw_ring ((g->size == INVOLUTE_LARGE ? steps/2 : steps),
+                            size, 0, 0, False, wire_p);
+      else
+        {
+          polys += draw_disc (steps, 0, size, -height,      True,  wire_p);
+          polys += draw_disc (steps, 0, size,  height,      False, wire_p);
+          polys += draw_ring (steps, size, -height, height, False, wire_p);
+        }
+      glPopMatrix();
+    }
+  return polys;
+}
+
+
+
+/* Draws a much simpler representation of a gear.
+   Returns the number of polygons.
+ */
+int
+draw_involute_schematic (gear *g, Bool wire_p)
+{
+  int polys = 0;
+  int i;
+  GLfloat width = M_PI * 2 / g->nteeth;
+
+  if (!wire_p) glDisable(GL_LIGHTING);
+  glColor3f (g->color[0] * 0.6, g->color[1] * 0.6, g->color[2] * 0.6);
+
+  glBegin (GL_LINES);
+  for (i = 0; i < g->nteeth; i++)
+    {
+      GLfloat th = (i * width) + (width/4);
+      glVertex3f (0, 0, -g->thickness/2);
+      glVertex3f (cos(th) * g->r, sin(th) * g->r, -g->thickness/2);
+    }
+  polys += g->nteeth;
+  glEnd();
+
+  glBegin (GL_LINE_LOOP);
+  for (i = 0; i < g->nteeth; i++)
+    {
+      GLfloat th = (i * width) + (width/4);
+      glVertex3f (cos(th) * g->r, sin(th) * g->r, -g->thickness/2);
+    }
+  polys += g->nteeth;
+  glEnd();
+
+  if (!wire_p) glEnable(GL_LIGHTING);
+  return polys;
+}
+
+
+/* Renders all the interior (non-toothy) parts of a gear:
+   the discs, axles, etc.
+ */
+static int
+draw_gear_interior (gear *g, Bool wire_p)
+{
+  int polys = 0;
+
+  int steps = g->nteeth * 2;
+  if (steps < 10) steps = 10;
+  if ((wire_p && !wire_all_p) || g->size != INVOLUTE_LARGE) steps /= 2;
+  if (g->size != INVOLUTE_LARGE && steps > 16) steps = 16;
+
+  /* ring 1 (facing in) is done in draw_gear_teeth */
+
+  /* ring 2 (facing in) and disc 2
+   */
+  if (g->inner_r2)
+    {
+      GLfloat ra = g->inner_r * 1.04;  /* slightly larger than inner_r */
+      GLfloat rb = g->inner_r2;        /*  since the points don't line up */
+      GLfloat za = -g->thickness2/2;
+      GLfloat zb =  g->thickness2/2;
+
+      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color2);
+
+      if ((g->coax_p != 1 && !g->inner_r3) ||
+          (wire_p && wire_all_p))
+        polys += 
+          draw_ring (steps, rb, za, zb, True, wire_p);  /* ring facing in*/
+
+      if (wire_p && wire_all_p)
+        polys += 
+          draw_ring (steps, ra, za, zb, True, wire_p);  /* ring facing in*/
+
+      if (g->spokes)
+        polys += draw_spokes (g->spokes, g->spoke_thickness,
+                              steps, ra, rb, za, zb, wire_p);
+      else if (!wire_p || wire_all_p)
+        {
+          polys += 
+            draw_disc (steps, ra, rb, za, True, wire_p);  /* top plate */
+          polys += 
+            draw_disc (steps, ra, rb, zb, False, wire_p); /* bottom plate*/
+        }
+    }
+
+  /* ring 3 (facing in and out) and disc 3
+   */
+  if (g->inner_r3)
+    {
+      GLfloat ra = g->inner_r2;
+      GLfloat rb = g->inner_r3;
+      GLfloat za = -g->thickness3/2;
+      GLfloat zb =  g->thickness3/2;
+
+      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
+
+      polys += 
+        draw_ring (steps, ra, za, zb, False, wire_p);  /* ring facing out */
+
+      if (g->coax_p != 1 || (wire_p && wire_all_p))
+        polys +=
+          draw_ring (steps, rb, za, zb, True, wire_p);  /* ring facing in */
+
+      if (!wire_p || wire_all_p)
+        {
+          polys += 
+            draw_disc (steps, ra, rb, za, True, wire_p);  /* top plate */
+          polys += 
+            draw_disc (steps, ra, rb, zb, False, wire_p); /* bottom plate */
+        }
+    }
+
+  /* axle tube
+   */
+  if (g->coax_p == 1)
+    {
+      GLfloat cap_height = g->coax_thickness/3;
+
+      GLfloat ra = (g->inner_r3 ? g->inner_r3 :
+                    g->inner_r2 ? g->inner_r2 :
+                    g->inner_r);
+      GLfloat za = -(g->thickness/2 + cap_height);
+      GLfloat zb = g->coax_thickness/2 + g->coax_displacement + cap_height;
+
+      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
+
+      if (wire_p && !wire_all_p) steps /= 2;
+
+      polys += 
+        draw_ring (steps, ra, za, zb, False, wire_p);  /* ring facing out */
+
+      if (!wire_p || wire_all_p)
+        {
+          polys += 
+            draw_disc (steps, 0,  ra, za, True, wire_p);  /* top plate */
+          polys
+            += draw_disc (steps, 0,  ra, zb, False, wire_p); /* bottom plate */
+        }
+    }
+  return polys;
+}
+
+
+/* gear_teeth_geometry computes the vertices and normals of the teeth
+   of a gear.  This is the heavy lifting: there are a ton of polygons
+   around the perimiter of a gear, and the normals are difficult (not
+   radial or right angles.)
+
+   It would be nice if we could cache this, but the numbers are
+   different for essentially every gear:
+
+      - Every gear has a different inner_r, so the vertices of the
+        inner ring (and thus, the triangle fans on the top and bottom
+        faces) are different in a non-scalable way.
+
+      - If the ratio between tooth_w and tooth_h changes, the normals
+        on the outside edges of the teeth are invalid (this can happen
+        every time we start a new train.)
+
+   So instead, we rely on OpenGL display lists to do the cacheing for
+   us -- we only compute all these normals once per gear, instead of
+   once per gear per frame.
+ */
+
+typedef struct {
+  int npoints;
+  XYZ *points;
+  XYZ *fnormals;  /* face normals */
+  XYZ *pnormals;  /* point normals */
+} tooth_face;
+
+
+static void
+tooth_normals (tooth_face *f, GLfloat tooth_slope)
+{
+  int i;
+
+  /* Compute the face normals for each facet. */
+  for (i = 0; i < f->npoints; i++)
+    {
+      XYZ p1, p2, p3;
+      int a = i;
+      int b = (i == f->npoints-1 ? 0 : i+1);
+      p1 = f->points[a];
+      p2 = f->points[b];
+      p3 = p1;
+      p3.x -= (p3.x * tooth_slope);
+      p3.y -= (p3.y * tooth_slope);
+      p3.z++;
+      f->fnormals[i] = calc_normal (p1, p2, p3);
+    }
+
+  /* From the face normals, compute the vertex normals
+     (by averaging the normals of adjascent faces.)
+   */
+  for (i = 0; i < f->npoints; i++)
+    {
+      int a = (i == 0 ? f->npoints-1 : i-1);
+      int b = i;
+      XYZ n1 = f->fnormals[a];   /* normal of [i-1 - i] face */
+      XYZ n2 = f->fnormals[b];   /* normal of [i - i+1] face */
+      f->pnormals[i].x = (n1.x + n2.x) / 2;
+      f->pnormals[i].y = (n1.y + n2.y) / 2;
+      f->pnormals[i].z = (n1.z + n2.z) / 2;
+    }
+}
+
+
+static void
+gear_teeth_geometry (gear *g,
+                     tooth_face *orim,      /* outer rim (the teeth) */
+                     tooth_face *irim)      /* inner rim (the hole)  */
+{
+  int i;
+  int ppt = 9;   /* max points per tooth */
+  GLfloat width = M_PI * 2 / g->nteeth;
+  GLfloat rh = g->tooth_h;
+  GLfloat tw = width;
+
+  /* Approximate shape of an "involute" gear tooth.
+
+                                 (TH)
+                 th0 th1 th2 th3 th4 th5 th6 th7 th8   th9    th10
+                   :  :  :   :    :    :   :  :  :      :      :
+                   :  :  :   :    :    :   :  :  :      :      :
+        r0 ........:..:..:...___________...:..:..:......:......:..
+                   :  :  :  /:    :    :\  :  :  :      :      :
+                   :  :  : / :    :    : \ :  :  :      :      :
+                   :  :  :/  :    :    :  \:  :  :      :      :
+        r1 ........:.....@...:....:....:...@..:..:......:......:..
+                   :  : @:   :    :    :   :@ :  :      :      :
+    (R) ...........:...@.:...:....:....:...:.@..........:......:......
+                   :  :@ :   :    :    :   : @:  :      :      :
+        r2 ........:..@..:...:....:....:...:..@:........:......:..
+                   : /:  :   :    :    :   :  :\ :      :      :
+                   :/ :  :   :    :    :   :  : \:      :      : /
+        r3 ......__/..:..:...:....:....:...:..:..\______________/
+                   :  :  :   :    :    :   :  :  :      :      :
+                   |  :  :   :    :    :   :  :  |      :      :
+                   :  :  :   :    :    :   :  :  :      :      :
+                   |  :  :   :    :    :   :  :  |      :      :
+        r4 ......__:_____________________________:________________
+   */
+
+  GLfloat r[20];
+  GLfloat th[20];
+  GLfloat R = g->r;
+
+  r[0] = R + (rh * 0.5);
+  r[1] = R + (rh * 0.25);
+  r[2] = R - (r[1]-R);
+  r[3] = R - (r[0]-R);
+  r[4] = g->inner_r;
+
+  th[0] = -tw * (g->size == INVOLUTE_SMALL ? 0.5 : 
+                 g->size == INVOLUTE_MEDIUM ? 0.41 : 0.45);
+  th[1] = -tw * 0.30;
+  th[2] = -tw * (g->nteeth >= 5 ? 0.16 : 0.12);
+  th[3] = -tw * (g->size == INVOLUTE_MEDIUM ? 0.1 : 0.04);
+  th[4] =  0;
+  th[5] =  -th[3];
+  th[6] =  -th[2];
+  th[7] =  -th[1];
+  th[8] =  -th[0];
+  th[9] =  width / 2;
+  th[10]=  th[0] + width;
+
+  if (g->inverted_p)   /* put the teeth on the inside */
+    {
+      for (i = 0; i < countof(th); i++)
+        th[i] = -th[i];
+      for (i = 0; i < countof(r); i++)
+        r[i] = R - (r[i] - R);
+    }
+
+#if 0
+  if (g->inverted_p)   /* put the teeth on the inside */
+    {
+      GLfloat swap[countof(th)];
+
+      for (i = 0; i < maxr; i++)
+        swap[maxr-i-1] = R - (r[i] - R);
+      for (i = 0; i < maxr; i++)
+        r[i] = swap[i];
+
+      for (i = 0; i < maxth; i++)
+        swap[maxth-i-1] = -th[i];
+      for (i = 0; i < maxth; i++)
+        th[i] = swap[i];
+    }
+#endif
+
+  orim->npoints  = 0;
+  orim->points   = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*orim->points));
+  orim->fnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*orim->fnormals));
+  orim->pnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*orim->pnormals));
+
+  irim->npoints  = 0;
+  irim->points   = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*irim->points));
+  irim->fnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*irim->fnormals));
+  irim->pnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*irim->pnormals));
+
+  if (!orim->points || !orim->pnormals || !orim->fnormals ||
+      !irim->points || !irim->pnormals || !irim->fnormals)
+    {
+      fprintf (stderr, "%s: out of memory\n", progname);
+      exit (1);
+    }
+
+  /* First, compute the coordinates of every point used for every tooth.
+   */
+  for (i = 0; i < g->nteeth; i++)
+    {
+      GLfloat TH = (i * width) + (width/4);
+      int oon = orim->npoints;
+      int oin = irim->npoints;
+
+#     undef PUSH
+#     define PUSH(OPR,IPR,PTH) \
+        orim->points[orim->npoints].x = cos(TH+th[(PTH)]) * r[(OPR)]; \
+        orim->points[orim->npoints].y = sin(TH+th[(PTH)]) * r[(OPR)]; \
+        orim->npoints++; \
+        irim->points[irim->npoints].x = cos(TH+th[(PTH)]) * r[(IPR)]; \
+        irim->points[irim->npoints].y = sin(TH+th[(PTH)]) * r[(IPR)]; \
+        irim->npoints++
+
+      if (g->size == INVOLUTE_SMALL)
+        {
+          PUSH(3, 4, 0);       /* tooth left 1 */
+          PUSH(0, 4, 4);       /* tooth top middle */
+        }
+      else if (g->size == INVOLUTE_MEDIUM)
+        {
+          PUSH(3, 4, 0);       /* tooth left 1 */
+          PUSH(0, 4, 3);       /* tooth top left */
+          PUSH(0, 4, 5);       /* tooth top right */
+          PUSH(3, 4, 8);       /* tooth right 3 */
+        }
+      else if (g->size == INVOLUTE_LARGE)
+        {
+          PUSH(3, 4, 0);       /* tooth left 1 */
+          PUSH(2, 4, 1);       /* tooth left 2 */
+          PUSH(1, 4, 2);       /* tooth left 3 */
+          PUSH(0, 4, 3);       /* tooth top left */
+          PUSH(0, 4, 5);       /* tooth top right */
+          PUSH(1, 4, 6);       /* tooth right 1 */
+          PUSH(2, 4, 7);       /* tooth right 2 */
+          PUSH(3, 4, 8);       /* tooth right 3 */
+          PUSH(3, 4, 9);       /* gap top */
+        }
+      else
+        abort();
+#     undef PUSH
+
+      if (i == 0 && orim->npoints > ppt) abort();  /* go update "ppt"! */
+
+      if (g->inverted_p)
+        {
+          int start, end, j;
+          start = oon;
+          end = orim->npoints;
+          for (j = 0; j < (end-start)/2; j++)
+            {
+              XYZ swap = orim->points[end-j-1];
+              orim->points[end-j-1] = orim->points[start+j];
+              orim->points[start+j] = swap;
+            }
+
+          start = oin;
+          end = irim->npoints;
+          for (j = 0; j < (end-start)/2; j++)
+            {
+              XYZ swap = irim->points[end-j-1];
+              irim->points[end-j-1] = irim->points[start+j];
+              irim->points[start+j] = swap;
+            }
+        }
+    }
+
+  tooth_normals (orim, g->tooth_slope);
+  tooth_normals (irim, 0);
+
+  if (g->inverted_p)   /* flip the normals */
+    {
+      for (i = 0; i < orim->npoints; i++)
+        {
+          orim->fnormals[i].x = -orim->fnormals[i].x;
+          orim->fnormals[i].y = -orim->fnormals[i].y;
+          orim->fnormals[i].z = -orim->fnormals[i].z;
+
+          orim->pnormals[i].x = -orim->pnormals[i].x;
+          orim->pnormals[i].y = -orim->pnormals[i].y;
+          orim->pnormals[i].z = -orim->pnormals[i].z;
+        }
+
+      for (i = 0; i < irim->npoints; i++)
+        {
+          irim->fnormals[i].x = -irim->fnormals[i].x;
+          irim->fnormals[i].y = -irim->fnormals[i].y;
+          irim->fnormals[i].z = -irim->fnormals[i].z;
+
+          irim->pnormals[i].x = -irim->pnormals[i].x;
+          irim->pnormals[i].y = -irim->pnormals[i].y;
+          irim->pnormals[i].z = -irim->pnormals[i].z;
+        }
+    }
+}
+
+
+/* Which of the gear's inside rings is the biggest? 
+ */
+int
+involute_biggest_ring (gear *g, double *posP, double *sizeP, double *heightP)
+{
+  double r0 = (g->r - g->tooth_h/2);
+  double r1 = g->inner_r;
+  double r2 = g->inner_r2;
+  double r3 = g->inner_r3;
+  double w1 = (r1 ? r0 - r1 : r0);
+  double w2 = (r2 ? r1 - r2 : 0);
+  double w3 = (r3 ? r2 - r3 : 0);
+  double h1 = g->thickness;
+  double h2 = g->thickness2;
+  double h3 = g->thickness3;
+
+  if (g->spokes) w2 = 0;
+
+  if (w1 > w2 && w1 > w3)
+    {
+      if (posP)    *posP = (r0+r1)/2;
+      if (sizeP)   *sizeP = w1;
+      if (heightP) *heightP = h1;
+      return 0;
+    }
+  else if (w2 > w1 && w2 > w3)
+    {
+      if (posP)  *posP = (r1+r2)/2;
+      if (sizeP) *sizeP = w2;
+      if (heightP) *heightP = h2;
+      return 1;
+    }
+  else
+    {
+      if (posP)  *posP = (r2+r3)/2;
+      if (sizeP) *sizeP = w3;
+      if (heightP) *heightP = h3;
+      return 1;
+    }
+}
+
+
+/* Renders all teeth of a gear.
+ */
+static int
+draw_gear_teeth (gear *g, Bool wire_p)
+{
+  int polys = 0;
+  int i;
+
+  GLfloat z1 = -g->thickness/2;
+  GLfloat z2 =  g->thickness/2;
+  GLfloat s1 = 1 + (g->thickness * g->tooth_slope / 2);
+  GLfloat s2 = 1 - (g->thickness * g->tooth_slope / 2);
+
+  tooth_face orim, irim;
+  gear_teeth_geometry (g, &orim, &irim);
+
+  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
+
+  /* Draw the outer rim (the teeth)
+     (In wire mode, this draws just the upright lines.)
+   */
+  glFrontFace (g->inverted_p ? GL_CCW : GL_CW);
+  glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
+  for (i = 0; i < orim.npoints; i++)
+    {
+      glNormal3f (orim.pnormals[i].x, orim.pnormals[i].y, orim.pnormals[i].z);
+      glVertex3f (s1*orim.points[i].x, s1*orim.points[i].y, z1);
+      glVertex3f (s2*orim.points[i].x, s2*orim.points[i].y, z2);
+
+      /* Show the face normal vectors */
+      if (wire_p && show_normals_p)
+        {
+          XYZ n = orim.fnormals[i];
+          int a = i;
+          int b = (i == orim.npoints-1 ? 0 : i+1);
+          GLfloat x = (orim.points[a].x + orim.points[b].x) / 2;
+          GLfloat y = (orim.points[a].y + orim.points[b].y) / 2;
+          GLfloat z = (z1 + z2) / 2;
+          glVertex3f (x, y, z);
+          glVertex3f (x + n.x, y + n.y, z + n.z);
+        }
+
+      /* Show the vertex normal vectors */
+      if (wire_p && show_normals_p)
+        {
+          XYZ n = orim.pnormals[i];
+          GLfloat x = orim.points[i].x;
+          GLfloat y = orim.points[i].y;
+          GLfloat z = (z1 + z2) / 2;
+          glVertex3f (x, y, z);
+          glVertex3f (x + n.x, y + n.y, z + n.z);
+        }
+    }
+
+  if (!wire_p)  /* close the quad loop */
+    {
+      glNormal3f (orim.pnormals[0].x, orim.pnormals[0].y, orim.pnormals[0].z);
+      glVertex3f (s1*orim.points[0].x, s1*orim.points[0].y, z1);
+      glVertex3f (s2*orim.points[0].x, s2*orim.points[0].y, z2);
+    }
+  polys += orim.npoints;
+  glEnd();
+
+  /* Draw the outer rim circles, in wire mode */
+  if (wire_p)
+    {
+      glBegin (GL_LINE_LOOP);
+      for (i = 0; i < orim.npoints; i++)
+        glVertex3f (s1*orim.points[i].x, s1*orim.points[i].y, z1);
+      glEnd();
+      glBegin (GL_LINE_LOOP);
+      for (i = 0; i < orim.npoints; i++)
+        glVertex3f (s2*orim.points[i].x, s2*orim.points[i].y, z2);
+      glEnd();
+    }
+
+  /* Draw the inner rim (the hole)
+     (In wire mode, this draws just the upright lines.)
+   */
+  glFrontFace (g->inverted_p ? GL_CW : GL_CCW);
+  glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
+  for (i = 0; i < irim.npoints; i++)
+    {
+      glNormal3f(-irim.pnormals[i].x, -irim.pnormals[i].y,-irim.pnormals[i].z);
+      glVertex3f (irim.points[i].x, irim.points[i].y, z1);
+      glVertex3f (irim.points[i].x, irim.points[i].y, z2);
+
+      /* Show the face normal vectors */
+      if (wire_p && show_normals_p)
+        {
+          XYZ n = irim.fnormals[i];
+          int a = i;
+          int b = (i == irim.npoints-1 ? 0 : i+1);
+          GLfloat x = (irim.points[a].x + irim.points[b].x) / 2;
+          GLfloat y = (irim.points[a].y + irim.points[b].y) / 2;
+          GLfloat z  = (z1 + z2) / 2;
+          glVertex3f (x, y, z);
+          glVertex3f (x - n.x, y - n.y, z);
+        }
+
+      /* Show the vertex normal vectors */
+      if (wire_p && show_normals_p)
+        {
+          XYZ n = irim.pnormals[i];
+          GLfloat x = irim.points[i].x;
+          GLfloat y = irim.points[i].y;
+          GLfloat z = (z1 + z2) / 2;
+          glVertex3f (x, y, z);
+          glVertex3f (x - n.x, y - n.y, z);
+        }
+    }
+
+  if (!wire_p)  /* close the quad loop */
+    {
+      glNormal3f (-irim.pnormals[0].x,-irim.pnormals[0].y,-irim.pnormals[0].z);
+      glVertex3f (irim.points[0].x, irim.points[0].y, z1);
+      glVertex3f (irim.points[0].x, irim.points[0].y, z2);
+    }
+  polys += irim.npoints;
+  glEnd();
+
+  /* Draw the inner rim circles, in wire mode
+   */
+  if (wire_p)
+    {
+      glBegin (GL_LINE_LOOP);
+      for (i = 0; i < irim.npoints; i++)
+        glVertex3f (irim.points[i].x, irim.points[i].y, z1);
+      glEnd();
+      glBegin (GL_LINE_LOOP);
+      for (i = 0; i < irim.npoints; i++)
+        glVertex3f (irim.points[i].x, irim.points[i].y, z2);
+      glEnd();
+    }
+
+  /* Draw the side (the flat bit)
+   */
+  if (!wire_p || wire_all_p)
+    {
+      GLfloat z;
+      if (irim.npoints != orim.npoints) abort();
+      for (z = z1; z <= z2; z += z2-z1)
+        {
+          GLfloat s = (z == z1 ? s1 : s2);
+          glFrontFace (((z == z1) ^ g->inverted_p) ? GL_CCW : GL_CW);
+          glNormal3f (0, 0, z);
+          glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
+          for (i = 0; i < orim.npoints; i++)
+            {
+              glVertex3f (s*orim.points[i].x, s*orim.points[i].y, z);
+              glVertex3f (  irim.points[i].x,   irim.points[i].y, z);
+            }
+          if (!wire_p)  /* close the quad loop */
+            {
+              glVertex3f (s*orim.points[0].x, s*orim.points[0].y, z);
+              glVertex3f (  irim.points[0].x,   irim.points[0].y, z);
+            }
+          polys += orim.npoints;
+          glEnd();
+        }
+    }
+
+  free (irim.points);
+  free (irim.fnormals);
+  free (irim.pnormals);
+
+  free (orim.points);
+  free (orim.fnormals);
+  free (orim.pnormals);
+
+  return polys;
+}
+
+
+/* Render one gear, unrotated at 0,0.
+   Returns the number of polygons.
+ */
+int
+draw_involute_gear (gear *g, Bool wire_p)
+{
+  int polys = 0;
+
+  static const GLfloat spec[4] = {1.0, 1.0, 1.0, 1.0};
+  GLfloat shiny   = 128.0;
+
+  glMaterialfv (GL_FRONT, GL_SPECULAR,  spec);
+  glMateriali  (GL_FRONT, GL_SHININESS, shiny);
+  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
+  glColor3f (g->color[0], g->color[1], g->color[2]);
+
+  if (wire_p > 1)
+    polys += draw_involute_schematic (g, wire_p);
+  else
+    {
+      glPushMatrix();
+      glRotatef (g->wobble, 1, 0, 0);
+      polys += draw_gear_teeth (g, wire_p);
+      polys += draw_gear_interior (g, wire_p);
+      polys += draw_gear_nubs (g, wire_p);
+      glPopMatrix();
+    }
+  return polys;
+}
diff --git a/hacks/glx/involute.h b/hacks/glx/involute.h
new file mode 100644 (file)
index 0000000..3414442
--- /dev/null
@@ -0,0 +1,77 @@
+/* involute, Copyright (c) 2004-2007 Jamie Zawinski <jwz@jwz.org>
+ *
+ * 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.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ *
+ * Utilities for rendering OpenGL gears with involute teeth.
+ */
+
+#ifndef __GEAR_INVOLUTE_H__
+#define __GEAR_INVOLUTE_H__
+
+typedef struct {
+  unsigned long id;          /* unique name */
+  double x, y, z;            /* position */
+  double r;                  /* radius of the gear, at middle of teeth */
+  double th;                 /* rotation (degrees) */
+
+  GLint nteeth;              /* how many teeth */
+  double tooth_w, tooth_h;   /* size of teeth */
+
+  double tooth_slope;       /* 0 for normal right-angle gear; 1 = 45 deg. */
+  double inner_r;            /* radius of the (larger) inside hole */
+  double inner_r2;           /* radius of the (smaller) inside hole, if any */
+  double inner_r3;           /* yet another */
+
+  double thickness;          /* height of the edge */
+  double thickness2;         /* height of the (smaller) inside disc if any */
+  double thickness3;         /* yet another */
+  int spokes;                /* how many spokes inside, if any */
+  int nubs;                  /* how many little nubbly bits, if any */
+  double spoke_thickness;    /* spoke versus hole */
+  double wobble;             /* factory defect! */
+  int motion_blur_p;        /* whether it's spinning too fast to draw */
+  int polygons;              /* how many polys in this gear */
+
+  double ratio;              /* gearing ratio with previous gears */
+  double rpm;                /* approximate revolutions per minute */
+
+  Bool inverted_p;           /* whether this gear has teeth on the inside */
+  Bool base_p;               /* whether this gear begins a new train */
+  int coax_p;                /* whether this is one of a pair of bound gears.
+                                1 for first, 2 for second. */
+  double coax_displacement;  /* distance between gear planes */
+
+  double coax_thickness;     /* thickness of the other gear in the pair */
+
+  enum { INVOLUTE_SMALL, 
+         INVOLUTE_MEDIUM, 
+         INVOLUTE_LARGE } size;        /* Controls complexity of mesh. */
+  GLfloat color[4];
+  GLfloat color2[4];
+
+  GLuint dlist;
+} gear;
+
+/* Render one gear, unrotated at 0,0.
+   Returns the number of polygons.
+ */
+extern int draw_involute_gear (gear *g, Bool wire_p);
+
+/* Draws a much simpler representation of a gear.
+   Returns the number of polygons.
+ */
+extern int draw_involute_schematic (gear *g, Bool wire_p);
+
+/* Which of the gear's inside rings is the biggest? 
+ */
+extern int involute_biggest_ring (gear *g,
+                                  double *posP, double *sizeP,
+                                  double *heightP);
+
+#endif /* __GEAR_INVOLUTE_H__ */
diff --git a/hacks/glx/lockward.c b/hacks/glx/lockward.c
new file mode 100644 (file)
index 0000000..9e2f2b6
--- /dev/null
@@ -0,0 +1,922 @@
+/*
+ * lockward.c: First attempt at an Xscreensaver.
+ *
+ * Leo L. Schwab                                       2007.08.17
+ ****
+ * Copyright (c) 2007 Leo L. Schwab
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to permit
+ * persons to whom the Software is furnished to do so, subject to the
+ * following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+ * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+#include <ctype.h>
+#include <strings.h>
+
+#include "xlockmore.h"
+#include "colors.h"
+
+
+/***************************************************************************
+ * #defines
+ */
+#ifdef USE_GL /* whole file */
+
+#define        DEFAULTS        "*delay:        20000   \n"\
+                       "*showFPS:      False   \n"
+
+#define        refresh_lockward        0
+
+
+#define        NUMOF(x)        (sizeof ((x)) / sizeof ((*x)))
+
+#define        NBLADES         12
+#define        NSPINNERS       4
+#define        NRADII          8
+#define        COLORIDX_SHF    4
+
+
+/***************************************************************************
+ * Structure definitions.
+ */
+struct lockward_context;                       /*  Forward declaration.  */
+
+typedef struct bladestate {
+       uint8_t         outer, inner;   /*  Radii  */
+} bladestate;
+
+typedef struct spinnerstate {
+       GLfloat         rot;    /*  Terminal rotation after count expires */
+       GLfloat         rotinc; /*  Per-frame increment to rot.  */
+       XColor          *colors;
+       bladestate      *bladeidx;
+       int             ncolors;        /*  n.4 fixed-point  */
+       int             ccolor;         /*  n.4 fixed-point  */
+       int             colorinc;       /*  n.4 fixed-point  */
+       int             rotcount;
+       uint8_t         nblades;
+} spinnerstate;
+
+typedef struct blinkstate {
+       int             (*drawfunc) (struct lockward_context *ctx,
+                                    struct blinkstate *bs);
+       uint32_t        *noise; /*  For draw_blink_segment_scatter()  */
+       GLfloat         color[4];
+       uint32_t        val;
+       int16_t         dwell;  /*  <0: sharp  >0: decay  */
+       int16_t         dwellcnt;
+       uint8_t         type;
+       int8_t          counter;
+       int8_t          direction;
+       int8_t          radius;
+} blinkstate;
+
+enum blinktype {
+       BTYPE_RADIAL_SINGLE = 0,
+       BTYPE_RADIAL_RANDOM,
+       BTYPE_RADIAL_SEQ,
+       BTYPE_RADIAL_DOUBLESEQ,
+       BTYPE_SEGMENT_SINGLE,
+       BTYPE_SEGMENT_RANDOM,
+       BTYPE_CONCENTRIC_SINGLE,
+       BTYPE_CONCENTRIC_RANDOM,
+       BTYPE_CONCENTRIC_SEQ,
+       BTYPE_SEGMENT_SCATTER,
+       MAX_BTYPE
+};
+
+typedef struct lockward_context {
+       GLXContext      *glx_context;
+
+       spinnerstate    spinners[NSPINNERS];
+       blinkstate      blink;
+
+       GLuint          blades_outer, blades_inner;
+       GLuint          rings;
+       Bool            blendmode;
+       int             nextblink;
+       int             fps;
+} lockward_context;
+
+
+/***************************************************************************
+ * Prototypes.
+ */
+static void free_lockward (lockward_context *ctx);
+
+
+/***************************************************************************
+ * Global variables.
+ */
+static lockward_context        *g_ctx = NULL;
+static Bool            g_blink_p = True;
+static int             g_blades = NBLADES;
+static int             g_rotateidle_min,
+                       g_rotateidle_max;
+static int             g_blinkidle_min,
+                       g_blinkidle_max;
+static int             g_blinkdwell_min,
+                       g_blinkdwell_max;
+
+static XrmOptionDescRec opts[] = {
+       { "-blink",     ".blink",  XrmoptionNoArg, "on" },
+       { "+blink",     ".blink",  XrmoptionNoArg, "off" },
+       { "-rotateidle-min",    ".rotateidle-min",      XrmoptionSepArg,        0 },
+       { "-rotateidle-max",    ".rotateidle-max",      XrmoptionSepArg,        0 },
+       { "-blinkidle-min",     ".blinkidle-min",       XrmoptionSepArg,        0 },
+       { "-blinkidle-max",     ".blinkidle-max",       XrmoptionSepArg,        0 },
+       { "-blinkdwell-min",    ".blinkdwell-min",      XrmoptionSepArg,        0 },
+       { "-blinkdwell-max",    ".blinkdwell-max",      XrmoptionSepArg,        0 },
+};
+
+static argtype vars[] = {
+       { &g_blink_p, "blink",  "Blink", "True", t_Bool },
+       { &g_rotateidle_min, "rotateidle-min",  "Rotateidle-min", "1000", t_Int },
+       { &g_rotateidle_max, "rotateidle-max",  "Rotateidle-max", "6000", t_Int },
+       { &g_blinkidle_min, "blinkidle-min", "Blinkidle-min", "1000", t_Int },
+       { &g_blinkidle_max, "blinkidle-max", "Blinkidle-max", "9000", t_Int },
+       { &g_blinkdwell_min, "blinkdwell-min", "Blinkdwell-min", "100", t_Int },
+       { &g_blinkdwell_max, "blinkdwell-max", "Blinkdwell-max", "600", t_Int },
+};
+
+static OptionStruct desc[] = {
+       { "-/+blink", "Turn on/off blinking effects." },
+       { "-rotateidle-min", "Minimum idle time for rotators, in milliseconds." },
+       { "-rotateidle-max", "Maximum idle time for rotators, in milliseconds." },
+       { "-blinkidle-min", "Minimum idle time between blink effects, in milliseconds." },
+       { "-blinkidle-max", "Maximum idle time between blink effects, in milliseconds." },
+       { "-blinkdwell-min", "Minimum dwell time for blink effects, in milliseconds." },
+       { "-blinkdwell-max", "Maximum dwell time for blink effects, in milliseconds." },
+};
+
+ENTRYPOINT ModeSpecOpt lockward_opts = {
+       NUMOF(opts), opts, NUMOF(vars), vars, desc
+};
+
+
+/***************************************************************************
+ * Window management.
+ */
+ENTRYPOINT void
+reshape_lockward (ModeInfo *mi, int width, int height)
+{
+       GLfloat h = (GLfloat) height / (GLfloat) width;
+
+       glViewport (0, 0, (GLint) width, (GLint) height);
+
+       glMatrixMode (GL_PROJECTION);
+       glLoadIdentity ();
+       if (height > width)
+               gluOrtho2D (-8.0, 8.0, -8.0 * h, 8.0 * h);
+       else
+               gluOrtho2D (-8.0 / h, 8.0 / h, -8.0, 8.0);
+
+       glMatrixMode (GL_MODELVIEW);
+}
+
+ENTRYPOINT Bool
+lockward_handle_event (ModeInfo *mi, XEvent *event)
+{
+       lockward_context *ctx = &g_ctx[MI_SCREEN (mi)];
+
+       if (event->xany.type == KeyPress) {
+               KeySym  keysym;
+               char    c = 0;
+
+               XLookupString (&event->xkey, &c, 1, &keysym, 0);
+               if (c == 'b') {
+                       ctx->blendmode ^= 1;
+                       return True;
+               }
+       }
+
+       return False;
+}
+
+
+/***************************************************************************
+ * "Blade" routines.
+ */
+static void
+random_blade_rot (lockward_context *ctx, struct spinnerstate *ss)
+{
+       /*
+        * The circle is divided up in to g_blades divisions.  The idea here
+        * is to rotate to an exact division point.
+        *
+        * The target rotation is computed via random numbers.
+        *
+        * The time it takes to get there is a maximum of six seconds per
+        * division, and a minimum of one second (no matter how far away it
+        * is), and is selected by random numbers.
+        *
+        * The time value is converted into frames, and a per-frame rotation
+        * is computed.
+        *
+        * During rendering, we approach the target rotation by subtracting
+        * from it the per-frame rotation times the number of outstanding
+        * ticks.  Doing it this way means we'll hit the target rotation
+        * exactly, without low-order errors creeping in to the values (at
+        * least not nearly as quickly).
+        */
+       GLfloat d;
+       int     dist;
+
+       dist = random() % g_blades + 1;
+
+       ss->rotcount = random() % (6 * dist * ctx->fps - ctx->fps)
+                    + ctx->fps;
+
+       if (random() & 4)
+               dist = -dist;
+       d = dist * 360.0 / (GLfloat) g_blades;
+       ss->rot += d;
+       ss->rotinc = d / (GLfloat) ss->rotcount;
+}
+
+
+/*
+ * A "blade" is pie-wedge shaped flat thing that is rotated around where the
+ * apex is/would be.  Initially envisioned as 1/12th of a circle, but that
+ * could be configurable.  The inner and outer edges are rounded off using
+ * six subdivisions so that, when multiple blades are assembled, it looks
+ * more like a circle and less like a polygon.
+ *
+ * The blade is assembled as a tri-fan.  It is oriented centered at 3
+ * o'clock.  The blade is composed of two display lists -- arcs, essentially
+ * -- the outer and the inner one.  The outer one *must* be called before
+ * the inner one, or the blade clockwise-ness will be wrong, and become
+ * invisible.  Arcs of various radii are compiled.
+ */
+#define        SUBDIV          6
+
+static void
+gen_blade_arcs (lockward_context *ctx)
+{
+       GLfloat here, there, step;
+       int     i, n;
+
+       here = 0;
+       there = M_PI * 2.0 / g_blades;
+       step = there / SUBDIV;
+       here -= SUBDIV * step / 2.0;
+       there -= SUBDIV * step / 2.0;
+
+       /*
+        * Build outer blade arcs.
+        * Start at left side of outer radius.  Strike all its vertices.
+        */
+       for (n = 0;  n < NRADII;  ++n) {
+               glNewList (ctx->blades_outer + n, GL_COMPILE);
+               for (i = SUBDIV;  i >= 0;  --i)
+                       glVertex3f (cos (here + step * i) * (n + 1.0),
+                                   sin (here + step * i) * (n + 1.0), 0);
+               glEndList ();
+       }
+
+       /*
+        * Build inner blade arcs.
+        * Move to inner radius, strike all vertices in opposite order.
+        */
+       for (n = 0;  n < NRADII;  ++n) {
+               glNewList (ctx->blades_inner + n, GL_COMPILE);
+               for (i = 0;  i <= SUBDIV;  ++i)
+                       glVertex3f (cos (here + step * i) * (n + 1.0),
+                                   sin (here + step * i) * (n + 1.0), 0);
+               glEndList ();
+       }
+}
+
+static void
+gen_rings (lockward_context *ctx)
+{
+       GLfloat step;
+       int     i, n;
+
+       step = M_PI * 2.0 / (g_blades * SUBDIV);
+
+       for (n = 0;  n < NRADII - 1;  ++n) {
+               glNewList (ctx->rings + n, GL_COMPILE);
+               glBegin (GL_TRIANGLE_STRIP);
+               for (i = g_blades * SUBDIV;  i >= 0;  --i) {
+                       glVertex3f (cos (step * i) * (n + 1.0),
+                                   sin (step * i) * (n + 1.0), 0);
+                       glVertex3f (cos (step * i) * (n + 2.0),
+                                   sin (step * i) * (n + 2.0), 0);
+               }
+               glEnd();
+               glEndList ();
+       }
+}
+
+
+/***************************************************************************
+ * "Blink" routines.
+ */
+static int
+calc_interval_frames (lockward_context *ctx, int min, int max)
+{
+       /*
+        * Compute random interval between min and max milliseconds.
+        * Returned value is in frames.
+        */
+       register int i;
+
+       i = min;
+       if (max > min)
+               i += random() % (max - min);
+
+       return i * ctx->fps / 1000;
+}
+
+static void
+set_alpha_by_dwell (struct blinkstate *bs)
+{
+       if (bs->dwell > 0)
+               bs->color[3] = (GLfloat) bs->dwellcnt / (GLfloat) bs->dwell;
+       else
+               bs->color[3] = bs->dwellcnt > (-bs->dwell >> 2)  ?  1.0  : 0.0;
+}
+
+static void
+draw_blink_blade (lockward_context *ctx, int inner, int outer)
+{
+       glBegin (GL_TRIANGLE_FAN);
+       glCallList (ctx->blades_outer + outer);
+       glCallList (ctx->blades_inner + inner);
+       glEnd ();
+}
+
+static int
+draw_blink_radial_random (lockward_context *ctx, struct blinkstate *bs)
+{
+       int i;
+
+       /*
+        * There is no sense of direction in a random sweep, so re-use the
+        * 'direction' field to hold the current blade we're messing with.
+        */
+       if (bs->dwellcnt < 0) {
+               if (bs->counter <= 0) {
+                       bs->drawfunc = NULL;
+                       return 0;
+               }
+
+               /*
+                * Find available blade.  Potentially very slow, depending on
+                * how unlucky we are.
+                */
+               do {
+                       i = random() % g_blades;
+               } while (bs->val & (1 << i));
+               bs->val |= (1 << i);    /*  Mark as used.  */
+               bs->direction = i;
+               if ((bs->dwellcnt = bs->dwell) < 0)
+                       bs->dwellcnt = -bs->dwellcnt;
+               
+               if (    bs->type == BTYPE_SEGMENT_SINGLE
+                   ||  bs->type == BTYPE_SEGMENT_RANDOM)
+                       bs->radius = random() % (NRADII - 1);
+
+               --bs->counter;
+       }
+
+       set_alpha_by_dwell (bs);
+       glBlendFunc (GL_DST_COLOR, GL_SRC_ALPHA);
+       glColor4fv (bs->color);
+       glRotatef (bs->direction * 360.0 / (GLfloat) g_blades, 0, 0, 1);
+       if (bs->radius >= 0)
+               draw_blink_blade (ctx, bs->radius, bs->radius + 1);
+       else
+               draw_blink_blade (ctx, 0, NRADII - 1);
+
+       --bs->dwellcnt;
+
+       return SUBDIV + SUBDIV;
+}
+
+static int
+draw_blink_radial_sequential (lockward_context *ctx, struct blinkstate *bs)
+{
+       if (bs->dwellcnt < 0) {
+               if (bs->counter <= 0) {
+                       bs->drawfunc = NULL;
+                       return 0;
+               }
+               if ((bs->dwellcnt = bs->dwell) < 0)
+                       bs->dwellcnt = -bs->dwellcnt;
+               --bs->counter;
+       }
+
+       set_alpha_by_dwell (bs);
+       glBlendFunc (GL_DST_COLOR, GL_SRC_ALPHA);
+       glColor4fv (bs->color);
+       glRotatef ((bs->counter * bs->direction + (int) bs->val)
+                   * 360.0 / (GLfloat) g_blades,
+                  0, 0, 1);
+       draw_blink_blade (ctx, 0, NRADII - 1);
+
+       --bs->dwellcnt;
+
+       return SUBDIV + SUBDIV;
+}
+
+static int
+draw_blink_radial_doubleseq (lockward_context *ctx, struct blinkstate *bs)
+{
+       int polys;
+
+       if (bs->dwellcnt < 0) {
+               if (bs->counter <= 0) {
+                       bs->drawfunc = NULL;
+                       return 0;
+               }
+               if ((bs->dwellcnt = bs->dwell) < 0)
+                       bs->dwellcnt = -bs->dwellcnt;
+               --bs->counter;
+       }
+
+       set_alpha_by_dwell (bs);
+       glBlendFunc (GL_DST_COLOR, GL_SRC_ALPHA);
+       glColor4fv (bs->color);
+
+       glPushMatrix ();
+       glRotatef (((int) bs->val + bs->counter) * 360.0 / (GLfloat) g_blades,
+                  0, 0, 1);
+       draw_blink_blade (ctx, 0, NRADII - 1);
+       glPopMatrix ();
+       polys = SUBDIV + SUBDIV;
+
+       if (bs->counter  &&  bs->counter < g_blades / 2) {
+               glRotatef (((int) bs->val - bs->counter)
+                           * 360.0 / (GLfloat) g_blades,
+                          0, 0, 1);
+               draw_blink_blade (ctx, 0, NRADII - 1);
+               polys += SUBDIV + SUBDIV;
+       }
+
+       --bs->dwellcnt;
+
+       return polys;
+}
+
+static int
+draw_blink_concentric_random (lockward_context *ctx, struct blinkstate *bs)
+{
+       int i;
+
+       if (bs->dwellcnt < 0) {
+               if (bs->counter <= 0) {
+                       bs->drawfunc = NULL;
+                       return 0;
+               }
+
+               do {
+                       i = random() % (NRADII - 1);
+               } while (bs->val & (1 << i));
+               bs->val |= (1 << i);
+               bs->direction = i;
+               if ((bs->dwellcnt = bs->dwell) < 0)
+                       bs->dwellcnt = -bs->dwellcnt;
+
+               --bs->counter;
+       }
+
+       set_alpha_by_dwell (bs);
+       glBlendFunc (GL_DST_COLOR, GL_SRC_ALPHA);
+       glColor4fv (bs->color);
+       glCallList (ctx->rings + bs->direction);
+
+       --bs->dwellcnt;
+
+       return g_blades * SUBDIV * 2;
+}
+
+static int
+draw_blink_concentric_sequential (lockward_context *ctx, struct blinkstate *bs)
+{
+       if (bs->dwellcnt < 0) {
+               if (bs->counter <= 0) {
+                       bs->drawfunc = NULL;
+                       return 0;
+               }
+               if ((bs->dwellcnt = bs->dwell) < 0)
+                       bs->dwellcnt = -bs->dwellcnt;
+               --bs->counter;
+       }
+
+       set_alpha_by_dwell (bs);
+       glBlendFunc (GL_DST_COLOR, GL_SRC_ALPHA);
+       glColor4fv (bs->color);
+       if (bs->direction > 0)
+               glCallList (ctx->rings + (NRADII - 2) - bs->counter);
+       else
+               glCallList (ctx->rings + bs->counter);
+
+       --bs->dwellcnt;
+
+       return g_blades * SUBDIV * 2;
+}
+
+static int
+draw_blink_segment_scatter (lockward_context *ctx, struct blinkstate *bs)
+{
+       int i, polys = 0;
+
+       if (bs->dwellcnt < 0) {
+               if (bs->counter <= 0) {
+                       bs->drawfunc = NULL;
+                       return 0;
+               }
+
+               /*
+                * Init random noise array.  On average, 1/4 of the bits will
+                * be set, which should look nice.  (1/2 looks too busy.)
+                */
+               for (i = g_blades;  --i >= 0; )
+                       bs->noise[i] = random() & random()
+                                    & ((1 << (NRADII - 1)) - 1);
+
+               if ((bs->dwellcnt = bs->dwell) < 0)
+                       bs->dwellcnt = -bs->dwellcnt;
+               --bs->counter;
+       }
+
+       set_alpha_by_dwell (bs);
+       glBlendFunc (GL_DST_COLOR, GL_SRC_ALPHA);
+       glColor4fv (bs->color);
+
+       for (i = g_blades;  --i >= 0; ) {
+               register uint32_t       bits;
+               int                     inner, outer;
+
+               /*
+                * Find consecutive runs of 1 bits.  Keep going until we run
+                * out of them.
+                */
+               for (bits = bs->noise[i];  bits; ) {
+                       inner = ffs (bits) - 1;
+                       bits = ~bits & ~((1 << inner) - 1);
+                       outer = ffs (bits) - 1;
+                       bits = ~bits & ~((1 << outer) - 1);
+
+                       glPushMatrix ();
+                       glRotatef (i * 360.0 / (GLfloat) g_blades, 0, 0, 1);
+                       draw_blink_blade (ctx, inner, outer);
+                       glPopMatrix ();
+
+                       polys += SUBDIV + SUBDIV;
+               }
+       }
+
+       --bs->dwellcnt;
+
+       return polys;
+}
+
+static void
+random_blink (lockward_context *ctx, struct blinkstate *bs)
+{
+       bs->color[0]    =
+       bs->color[1]    =
+       bs->color[2]    =
+       bs->color[3]    = 1.0;
+       bs->dwellcnt    = -1;
+       bs->radius      = -1;
+       bs->dwell       = calc_interval_frames
+                         (ctx, g_blinkdwell_min, g_blinkdwell_max);
+       if (random() & 2)
+               bs->dwell = -bs->dwell;
+
+       bs->type = random() % MAX_BTYPE;
+
+       switch (bs->type) {
+       case BTYPE_RADIAL_SINGLE:
+       case BTYPE_SEGMENT_SINGLE:
+               bs->drawfunc = draw_blink_radial_random;
+               bs->val = 0;
+               bs->counter = 1;
+               break;
+       case BTYPE_RADIAL_RANDOM:
+       case BTYPE_SEGMENT_RANDOM:
+               bs->drawfunc = draw_blink_radial_random;
+               bs->val = 0;
+               bs->counter = g_blades;
+               break;
+       case BTYPE_RADIAL_SEQ:
+               bs->drawfunc = draw_blink_radial_sequential;
+               bs->val = random() % g_blades;  /*  Initial offset  */
+               bs->direction = random() & 8  ?  1 :  -1;
+               bs->counter = g_blades;
+               break;
+       case BTYPE_RADIAL_DOUBLESEQ:
+               bs->drawfunc = draw_blink_radial_doubleseq;
+               bs->val = random() % g_blades;  /*  Initial offset  */
+               bs->counter = g_blades / 2 + 1;
+               break;
+       case BTYPE_CONCENTRIC_SINGLE:
+               bs->drawfunc = draw_blink_concentric_random;
+               bs->val = 0;
+               bs->counter = 1;
+               break;
+       case BTYPE_CONCENTRIC_RANDOM:
+               bs->drawfunc = draw_blink_concentric_random;
+               bs->val = 0;
+               bs->counter = NRADII - 1;
+               break;
+       case BTYPE_CONCENTRIC_SEQ:
+               bs->drawfunc = draw_blink_concentric_sequential;
+               bs->direction = random() & 8  ?  1 :  -1;
+               bs->counter = NRADII - 1;
+               break;
+       case BTYPE_SEGMENT_SCATTER:
+               bs->drawfunc = draw_blink_segment_scatter;
+               bs->counter = random() % (g_blades / 2) + (g_blades / 2) + 1;
+               break;
+       }
+}
+
+
+/***************************************************************************
+ * Main rendering routine.
+ */
+ENTRYPOINT void
+draw_lockward (ModeInfo *mi)
+{
+       lockward_context        *ctx = &g_ctx[MI_SCREEN (mi)];
+       spinnerstate    *ss;
+       Display         *dpy = MI_DISPLAY(mi);
+       Window          window = MI_WINDOW(mi);
+       int             i, n;
+
+       GLfloat scolor[4] = {0.0, 0.0, 0.0, 0.5};
+
+       if (!ctx->glx_context)
+               return;
+
+       glXMakeCurrent (MI_DISPLAY (mi), MI_WINDOW (mi), *(ctx->glx_context));
+
+
+       glClear (GL_COLOR_BUFFER_BIT);
+
+       if (ctx->blendmode)
+               glBlendFunc (GL_ONE, GL_ONE);
+       else
+               glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+       glPushMatrix ();
+       glLoadIdentity ();
+
+       mi->polygon_count = 0;
+
+       for (n = NSPINNERS;  --n >= 0; ) {
+               ss = &ctx->spinners[n];
+
+               /*  Set color.  */
+               i = ss->ccolor >> COLORIDX_SHF;
+               scolor[0] = ss->colors[i].red   / 65535.0;
+               scolor[1] = ss->colors[i].green / 65535.0;
+               scolor[2] = ss->colors[i].blue  / 65535.0;
+               glColor4fv (scolor);
+
+               glPushMatrix ();
+               glRotatef (ss->rot - ss->rotcount * ss->rotinc, 0, 0, 1);
+               for (i = ss->nblades;  --i >= 0; ) {
+                       glPushMatrix ();
+                       glRotatef (360.0 * i / ss->nblades, 0, 0, 1);
+
+                       glBegin (GL_TRIANGLE_FAN);
+                       glCallList (ctx->blades_outer + ss->bladeidx[i].outer);
+                       glCallList (ctx->blades_inner + ss->bladeidx[i].inner);
+                       glEnd ();
+
+                       glPopMatrix ();
+                       mi->polygon_count += SUBDIV + SUBDIV;
+               }
+               glPopMatrix ();
+
+               /*  Advance rotation.  */
+               if (ss->rotcount) {
+                       if (ss->rotcount > 0)
+                               --ss->rotcount;
+               } else {
+                       if (ss->rotinc == 0.0)
+                               random_blade_rot (ctx, ss);
+                       else {
+                               /*  Compute # of ticks to sit idle.  */
+                               ss->rotinc = 0.0;
+                               ss->rotcount =
+                                calc_interval_frames (ctx,
+                                                      g_rotateidle_min,
+                                                      g_rotateidle_max);
+                       }
+               }
+
+               /*  Advance colors.  */
+               if ((ss->ccolor += ss->colorinc) >= ss->ncolors)
+                       ss->ccolor -= ss->ncolors;
+               else if (ss->ccolor < 0)
+                       ss->ccolor += ss->ncolors;
+       }
+
+       if (g_blink_p) {
+               if (ctx->blink.drawfunc) {
+                       mi->polygon_count +=
+                        ctx->blink.drawfunc (ctx, &ctx->blink);
+               } else {
+                       if (ctx->nextblink > 0)
+                               --ctx->nextblink;
+                       else {
+                               /* Compute # of frames for blink idle time. */
+                               ctx->nextblink =
+                                calc_interval_frames (ctx,
+                                                      g_blinkidle_min,
+                                                      g_blinkidle_max);
+                               random_blink (ctx, &ctx->blink);
+                       }
+               }
+       }
+       glPopMatrix ();
+
+       if (MI_IS_FPS (mi)) do_fps (mi);
+       glFinish();
+
+       glXSwapBuffers (dpy, window);
+}
+
+
+/***************************************************************************
+ * Initialization/teardown.
+ */
+ENTRYPOINT void 
+init_lockward (ModeInfo *mi)
+{
+       lockward_context        *ctx;
+       int             i, n;
+
+       if (!g_ctx) {
+               g_ctx = (lockward_context *) calloc (MI_NUM_SCREENS (mi),
+                                                  sizeof (lockward_context));
+               if (!g_ctx) {
+                       fprintf (stderr, "%s: can't allocate context.\n",
+                                progname);
+                       exit (1);
+               }
+       }
+       ctx = &g_ctx[MI_SCREEN (mi)];
+
+       ctx->glx_context = init_GL (mi);
+
+       reshape_lockward (mi, MI_WIDTH (mi), MI_HEIGHT (mi));
+
+       glEnable (GL_CULL_FACE);
+       glEnable (GL_BLEND);
+       glDisable (GL_DEPTH_TEST);
+
+       glShadeModel (GL_FLAT);
+       glFrontFace (GL_CW);
+
+
+       glClearColor (0.0, 0.0, 0.0, 1.0);
+
+       ctx->blades_outer       = glGenLists (NRADII);
+       ctx->blades_inner       = glGenLists (NRADII);
+       ctx->rings              = glGenLists (NRADII - 1);
+       ctx->blendmode          = 0;
+       ctx->fps                = 1000000 / MI_DELAY (mi);
+       ctx->nextblink          = calc_interval_frames
+                                  (ctx, g_blinkidle_min, g_blinkidle_max);
+       ctx->blink.drawfunc     = NULL;
+       ctx->blink.noise        = malloc (sizeof (uint32_t) * g_blades);
+       if (!ctx->blink.noise) {
+               fprintf (stderr, "Can't allocate noise array.\n");
+               exit (1);
+       }
+
+       gen_blade_arcs (ctx);
+       gen_rings (ctx);
+
+       for (i = NSPINNERS;  --i >= 0; ) {
+               spinnerstate *ss = &ctx->spinners[i];
+
+               ss->rot         = 0.0;
+               ss->rotcount    = -1;
+
+               /*  Establish rotation  */
+               random_blade_rot (ctx, ss);
+
+               /*
+                * Establish color cycling path and rate.  Rate avoids zero.
+                */
+               ss->ncolors = 128;
+               ss->colorinc = (random() & ((2 << COLORIDX_SHF) - 1))
+                            - (1 << COLORIDX_SHF);
+               if (ss->colorinc >= 0)
+                       ++ss->colorinc;
+
+               ss->colors = (XColor *) calloc (ss->ncolors, sizeof (XColor));
+               if (!ss->colors) {
+                       fprintf (stderr,
+                                "Can't allocate XColors for spinner %d.\n",
+                                i);
+                       exit (1);
+               }
+               make_smooth_colormap (0, 0, 0,
+                                     ss->colors, &ss->ncolors,
+                                     False, 0, False);
+               ss->ncolors <<= COLORIDX_SHF;
+
+               /*
+                * Create blades.
+                */
+               ss->nblades     = g_blades;
+               ss->bladeidx    = malloc (sizeof (bladestate) * g_blades);
+               if (!ss->bladeidx) {
+                       fprintf (stderr, "Can't allocate blades.\n");
+                       exit (1);
+               }
+               for (n = g_blades;  --n >= 0; ) {
+                       /*
+                        * Establish blade radii.  Can't be equal.  Ensure
+                        * outer > inner.
+                        */
+                       do {
+                               ss->bladeidx[n].outer = random() & 7;
+                               ss->bladeidx[n].inner = random() & 7;
+                       } while (ss->bladeidx[n].outer ==
+                                ss->bladeidx[n].inner);
+
+                       if (ss->bladeidx[n].outer < ss->bladeidx[n].inner) {
+                               uint8_t tmp;
+
+                               tmp = ss->bladeidx[n].outer;
+                               ss->bladeidx[n].outer = ss->bladeidx[n].inner;
+                               ss->bladeidx[n].inner = tmp;
+                       }
+               }
+       }
+}
+
+static void
+free_lockward (lockward_context *ctx)
+{
+       int i;
+
+       if (ctx->blink.noise)
+               free (ctx->blink.noise);
+       if (glIsList (ctx->rings))
+               glDeleteLists (ctx->rings, NRADII - 1);
+       if (glIsList (ctx->blades_outer))
+               glDeleteLists (ctx->blades_outer, NRADII);
+       if (glIsList (ctx->blades_inner))
+               glDeleteLists (ctx->blades_inner, NRADII);
+
+       for (i = NSPINNERS;  --i >= 0; ) {
+               spinnerstate *ss = &ctx->spinners[i];
+
+               if (ss->colors)
+                       free (ss->colors);
+               if (ss->bladeidx)
+                       free (ss->bladeidx);
+       }
+}
+
+ENTRYPOINT void
+release_lockward (ModeInfo *mi)
+{
+       int i;
+
+       if (!g_ctx)
+               return;
+
+       for (i = MI_NUM_SCREENS (mi);  --i >= 0; ) {
+               if (g_ctx[i].glx_context)
+                       glXMakeCurrent (MI_DISPLAY (mi), MI_WINDOW (mi),
+                                       *(g_ctx[i].glx_context));
+               free_lockward (&g_ctx[i]);
+       }
+
+       FreeAllGL (mi);
+       free (g_ctx);  g_ctx = NULL;
+}
+
+
+XSCREENSAVER_MODULE ("Lockward", lockward)
+
+#endif /* USE_GL */
+
+/*  vim:se ts=8 sts=8 sw=8:  */
diff --git a/hacks/glx/lockward.man b/hacks/glx/lockward.man
new file mode 100644 (file)
index 0000000..7264962
--- /dev/null
@@ -0,0 +1,80 @@
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+lockward - Rotating spinning color-cycling things
+.SH SYNOPSIS
+.B lockward
+[\-display \fIdisplayspec\fP]
+[\-root]
+[\-window]
+[\-visual \fIarg\fP]
+[\-window-id \fIarg\fP]
+[\-delay \fIusec\fP]
+[\-pair]
+[\-fps | \-no-fps]
+[\-blink | \-no-blink]
+[\-rotateidle-min \fImsec\fP]
+[\-rotateidle-max \fImsec\fP]
+[\-blinkidle-min \fImsec\fP]
+[\-blinkidle-max \fImsec\fP]
+[\-blinkdwell-min \fImsec\fP]
+[\-blinkdwell-max \fImsec\fP]
+.SH DESCRIPTION
+.B lockward
+draws a spinning, rotating set of notched wheels overlaid with some flashing
+effects, using OpenGL.  It's a sort of cross between the wards in a
+combination lock and those old information displays that animated via
+polarized light.
+.SH OPTIONS
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use.  Legal values are the name of a visual class,
+or the ID number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window
+Draw on a newly-created window (default).
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-delay \fImicroseconds\fP
+Per-frame delay, in microseconds.  Default: 20000 (50 frames/sec).
+.TP 8
+.B \-blink | \-no-blink
+Enables/disables the blinking effects.  Default: Enabled.
+.TP 8
+.B \-fps | \-no-fps
+Enables/disables display of frames per second at bottom of window.  Default:
+Disabled.
+.TP 8
+.B \-rotateidle-min \fImilliseconds
+.TP 8
+.B \-rotateidle-max \fImilliseconds
+The minimum and maximum time each spinner will sit idle, in milliseconds.
+Defaults: Min 1000, max 6000.
+.TP 8
+.B \-blinkidle-min \fImilliseconds
+.TP 8
+.B \-blinkidle-max \fImilliseconds
+The minimum and maximum time between blinking effects, in milliseconds.
+Defaults: Min 1000, max 9000.
+.TP 8
+.B \-blinkdwell-min \fImilliseconds
+.TP 8
+.B \-blinkdwell-max \fImilliseconds
+The minimum and maximum dwell time for the blinking effects, in
+milliseconds.  This affects how quickly the blinks actually happen.
+Defaults: Min 100, max 600.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+Default host and display number.
+.TP 8
+.B XENVIRONMENT
+Name of a resource file that overrides the global resources stored in the
+RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH AUTHORS
+Leo L. Schwab <ewhac@best.com>
diff --git a/hacks/glx/moebiusgears.c b/hacks/glx/moebiusgears.c
new file mode 100644 (file)
index 0000000..6778182
--- /dev/null
@@ -0,0 +1,411 @@
+/* moebiusgears, Copyright (c) 2007 Jamie Zawinski <jwz@jwz.org>
+ *
+ * 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.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
+
+#define DEFAULTS       "*delay:        30000       \n" \
+                       "*count:        17          \n" \
+                       "*showFPS:      False       \n" \
+                       "*wireframe:    False       \n" \
+
+# define refresh_mgears 0
+# define release_mgears 0
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
+
+#include "xlockmore.h"
+#include "involute.h"
+#include "normals.h"
+#include "rotator.h"
+#include "gltrackball.h"
+#include <ctype.h>
+
+#ifdef USE_GL /* whole file */
+
+
+#define DEF_SPIN        "True"
+#define DEF_WANDER      "True"
+#define DEF_ROLL        "True"
+#define DEF_SPEED       "1.0"
+#define DEF_TEETH       "15"
+
+typedef struct {
+
+  gear g;
+  GLfloat pos_th;  /* position on ring of gear system */
+  GLfloat pos_thz; /* rotation out of plane of gear system */
+} mogear;
+
+typedef struct {
+  GLXContext *glx_context;
+  rotator *rot;
+  trackball_state *trackball;
+  Bool button_down_p;
+
+  int ngears;
+  mogear *gears;
+  GLfloat ring_r;  /* radius of gear system */
+  GLfloat roll_th;
+
+} mgears_configuration;
+
+static mgears_configuration *bps = NULL;
+
+static Bool do_spin;
+static GLfloat speed;
+static Bool do_wander;
+static Bool do_roll;
+static int teeth_arg;
+
+static XrmOptionDescRec opts[] = {
+  { "-spin",   ".spin",   XrmoptionNoArg, "True"  },
+  { "+spin",   ".spin",   XrmoptionNoArg, "False" },
+  { "-speed",  ".speed",  XrmoptionSepArg, 0      },
+  { "-wander", ".wander", XrmoptionNoArg, "True"  },
+  { "+wander", ".wander", XrmoptionNoArg, "False" },
+  { "-roll",   ".roll",   XrmoptionNoArg, "True"  },
+  { "+roll",   ".roll",   XrmoptionNoArg, "False" },
+  { "-teeth",  ".teeth",  XrmoptionSepArg, 0      },
+};
+
+static argtype vars[] = {
+  {&do_spin,   "spin",   "Spin",   DEF_SPIN,   t_Bool},
+  {&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
+  {&do_roll,   "roll",   "Roll",   DEF_ROLL,   t_Bool},
+  {&speed,     "speed",  "Speed",  DEF_SPEED,  t_Float},
+  {&teeth_arg, "teeth",  "Teeth",  DEF_TEETH,  t_Int},
+};
+
+ENTRYPOINT ModeSpecOpt mgears_opts = {countof(opts), opts, countof(vars), vars, NULL};
+
+
+/* Window management, etc
+ */
+ENTRYPOINT void
+reshape_mgears (ModeInfo *mi, int width, int height)
+{
+  GLfloat h = (GLfloat) height / (GLfloat) width;
+
+  glViewport (0, 0, (GLint) width, (GLint) height);
+
+  glMatrixMode(GL_PROJECTION);
+  glLoadIdentity();
+  gluPerspective (30.0, 1/h, 1.0, 100.0);
+
+  glMatrixMode(GL_MODELVIEW);
+  glLoadIdentity();
+  gluLookAt( 0.0, 0.0, 30.0,
+             0.0, 0.0, 0.0,
+             0.0, 1.0, 0.0);
+
+  glClear(GL_COLOR_BUFFER_BIT);
+}
+
+
+ENTRYPOINT Bool
+mgears_handle_event (ModeInfo *mi, XEvent *event)
+{
+  mgears_configuration *bp = &bps[MI_SCREEN(mi)];
+
+  if (event->xany.type == ButtonPress &&
+      event->xbutton.button == Button1)
+    {
+      bp->button_down_p = True;
+      gltrackball_start (bp->trackball,
+                         event->xbutton.x, event->xbutton.y,
+                         MI_WIDTH (mi), MI_HEIGHT (mi));
+      return True;
+    }
+  else if (event->xany.type == ButtonRelease &&
+           event->xbutton.button == Button1)
+    {
+      bp->button_down_p = False;
+      return True;
+    }
+  else if (event->xany.type == ButtonPress &&
+           (event->xbutton.button == Button4 ||
+            event->xbutton.button == Button5))
+    {
+      gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
+                              !!event->xbutton.state);
+      return True;
+    }
+  else if (event->xany.type == MotionNotify &&
+           bp->button_down_p)
+    {
+      gltrackball_track (bp->trackball,
+                         event->xmotion.x, event->xmotion.y,
+                         MI_WIDTH (mi), MI_HEIGHT (mi));
+      return True;
+    }
+
+  return False;
+}
+
+
+
+ENTRYPOINT void 
+init_mgears (ModeInfo *mi)
+{
+  mgears_configuration *bp;
+  int wire = MI_IS_WIREFRAME(mi);
+  int i;
+
+  if (!bps) {
+    bps = (mgears_configuration *)
+      calloc (MI_NUM_SCREENS(mi), sizeof (mgears_configuration));
+    if (!bps) {
+      fprintf(stderr, "%s: out of memory\n", progname);
+      exit(1);
+    }
+
+    bp = &bps[MI_SCREEN(mi)];
+  }
+
+  bp = &bps[MI_SCREEN(mi)];
+
+  bp->glx_context = init_GL(mi);
+
+  reshape_mgears (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+
+  if (!wire)
+    {
+      GLfloat pos[4] = {1.0, 1.0, 1.0, 0.0};
+      GLfloat amb[4] = {0.0, 0.0, 0.0, 1.0};
+      GLfloat dif[4] = {1.0, 1.0, 1.0, 1.0};
+      GLfloat spc[4] = {0.0, 1.0, 1.0, 1.0};
+
+      glEnable(GL_LIGHTING);
+      glEnable(GL_LIGHT0);
+      glEnable(GL_DEPTH_TEST);
+      glEnable(GL_CULL_FACE);
+
+      glLightfv(GL_LIGHT0, GL_POSITION, pos);
+      glLightfv(GL_LIGHT0, GL_AMBIENT,  amb);
+      glLightfv(GL_LIGHT0, GL_DIFFUSE,  dif);
+      glLightfv(GL_LIGHT0, GL_SPECULAR, spc);
+    }
+
+  {
+    double spin_speed   = 0.5;
+    double wander_speed = 0.01;
+    double spin_accel   = 2.0;
+
+    bp->rot = make_rotator (do_spin ? spin_speed : 0,
+                            do_spin ? spin_speed : 0,
+                            do_spin ? spin_speed : 0,
+                            spin_accel,
+                            do_wander ? wander_speed : 0,
+                            False /* don't randomize */
+                            );
+    bp->trackball = gltrackball_init ();
+  }
+
+  {
+    int total_gears = MI_COUNT(mi);
+    double gears_per_turn;
+    double gear_r, tw, th, thick, slope;
+    int nubs, size;
+
+    if (! (total_gears & 1)) 
+      total_gears++;           /* must be odd or gears intersect */
+
+    /* Number of teeth must be odd if number of gears is odd, or teeth don't
+       mesh when the loop closes.  And since number of gears must be odd...
+     */
+    if (! (teeth_arg & 1)) teeth_arg++;
+    if (teeth_arg < 7) teeth_arg = 7;
+
+    if (total_gears < 13)      /* gear mesh angle is too steep with less */
+      total_gears = 13;
+
+    thick = 0.2;
+    nubs = (random() & 3) ? 0 : (random() % teeth_arg) / 2;
+
+    slope = 0;
+
+    /* Sloping gears are incompatible with "-roll" ... */
+    /* slope= -M_PI * 2 / total_gears; */
+
+    gears_per_turn = total_gears / 2.0;
+
+    bp->ring_r = 3;
+    gear_r = M_PI * bp->ring_r / gears_per_turn;
+    tw = 0;
+    th = gear_r * 2.5 / teeth_arg;
+
+    /* If the gears are small, use a lower density mesh. */
+    size = (gear_r > 0.32 ? INVOLUTE_LARGE  :
+            gear_r > 0.13 ? INVOLUTE_MEDIUM :
+            INVOLUTE_SMALL);
+
+    /* If there are lots of teeth, use a lower density mesh. */
+    if (teeth_arg > 77)
+      size = INVOLUTE_SMALL;
+    if (teeth_arg > 45 && size == INVOLUTE_LARGE)
+      size = INVOLUTE_MEDIUM;
+
+    bp->ngears = total_gears;
+    bp->gears = (mogear *) calloc (bp->ngears, sizeof(*bp->gears));
+    for (i = 0; i < bp->ngears; i++)
+      {
+        mogear *mg = &bp->gears[i];
+        gear *g = &mg->g;
+
+        g->r           = gear_r;
+        g->size        = size;
+        g->nteeth      = teeth_arg;
+        g->tooth_w     = tw;
+        g->tooth_h     = th;
+        g->tooth_slope = slope;
+        g->thickness   = g->r * thick;
+        g->thickness2  = g->thickness * 0.1;
+        g->thickness3  = g->thickness;
+        g->inner_r     = g->r * 0.80;
+        g->inner_r2    = g->r * 0.60;
+        g->inner_r3    = g->r * 0.55;
+        g->nubs        = nubs;
+        mg->pos_th     = (M_PI * 2 / gears_per_turn) * i;
+        mg->pos_thz    = (M_PI / 2 / gears_per_turn) * i;
+
+        g->th = ((i & 1)
+                 ? (M_PI * 2 / g->nteeth)
+                 : 0);
+
+        /* Colorize
+         */
+        g->color[0] = 0.7 + frand(0.3);
+        g->color[1] = 0.7 + frand(0.3);
+        g->color[2] = 0.7 + frand(0.3);
+        g->color[3] = 1.0;
+
+        g->color2[0] = g->color[0] * 0.85;
+        g->color2[1] = g->color[1] * 0.85;
+        g->color2[2] = g->color[2] * 0.85;
+        g->color2[3] = g->color[3];
+
+        /* Now render the gear into its display list.
+         */
+        g->dlist = glGenLists (1);
+        if (! g->dlist)
+          {
+            check_gl_error ("glGenLists");
+            abort();
+          }
+
+        glNewList (g->dlist, GL_COMPILE);
+        g->polygons += draw_involute_gear (g, wire);
+        glEndList ();
+      }
+  }
+}
+
+
+ENTRYPOINT void
+draw_mgears (ModeInfo *mi)
+{
+  mgears_configuration *bp = &bps[MI_SCREEN(mi)];
+  Display *dpy = MI_DISPLAY(mi);
+  Window window = MI_WINDOW(mi);
+  int i;
+
+  if (!bp->glx_context)
+    return;
+
+  glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(bp->glx_context));
+
+  glShadeModel(GL_SMOOTH);
+
+  glEnable(GL_DEPTH_TEST);
+  glEnable(GL_NORMALIZE);
+  glEnable(GL_CULL_FACE);
+
+  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+  glPushMatrix ();
+
+  glScalef(1.1, 1.1, 1.1);
+
+  {
+    double x, y, z;
+    get_position (bp->rot, &x, &y, &z, !bp->button_down_p);
+    glTranslatef ((x - 0.5) * 4,
+                  (y - 0.5) * 4,
+                  (z - 0.5) * 7);
+
+    gltrackball_rotate (bp->trackball);
+
+    get_rotation (bp->rot, &x, &y, &z, !bp->button_down_p);
+
+    /* add a little rotation for -no-spin mode */
+    x -= 0.14;
+    y -= 0.06;
+
+    glRotatef (x * 360, 1.0, 0.0, 0.0);
+    glRotatef (y * 360, 0.0, 1.0, 0.0);
+    glRotatef (z * 360, 0.0, 0.0, 1.0);
+  }
+
+  mi->polygon_count = 0;
+
+  glScalef (1.5, 1.5, 1.5);
+
+/*#define DEBUG*/
+
+#ifdef DEBUG
+  glScalef (.5, .5, .5);
+  glTranslatef (0, -bp->gears[0].g.r * bp->ngears, 0);
+#endif
+
+  for (i = 0; i < bp->ngears; i++)
+    {
+      mogear *mg = &bp->gears[i];
+      gear *g = &mg->g;
+
+      glPushMatrix();
+#ifndef DEBUG
+      glRotatef (mg->pos_th  * 180 / M_PI, 0, 0, 1);  /* rotation on ring */
+      glTranslatef (bp->ring_r, 0, 0);                /* position on ring */
+      glRotatef (mg->pos_thz * 180 / M_PI, 0, 1, 0);  /* twist a bit */
+
+      if (do_roll)
+        {
+          glRotatef (bp->roll_th * 180 / M_PI, 0, 1, 0);
+          bp->roll_th += speed * 0.0005;
+        }
+#else
+      glTranslatef (0, i * 2 * g->r, 0);
+#endif
+      glRotatef (g->th * 180 / M_PI, 0, 0, 1);
+
+      glCallList (g->dlist);
+      mi->polygon_count += g->polygons;
+      glPopMatrix ();
+    }
+
+  glPopMatrix ();
+
+#ifndef DEBUG
+  /* spin gears */
+  for (i = 0; i < bp->ngears; i++)
+    {
+      mogear *mg = &bp->gears[i];
+      mg->g.th += speed * (M_PI / 100) * (i & 1 ? 1 : -1);
+    }
+#endif
+
+  if (mi->fps_p) do_fps (mi);
+  glFinish();
+
+  glXSwapBuffers(dpy, window);
+}
+
+XSCREENSAVER_MODULE_2 ("MoebiusGears", moebiusgears, mgears)
+
+#endif /* USE_GL */
diff --git a/hacks/glx/moebiusgears.man b/hacks/glx/moebiusgears.man
new file mode 100644 (file)
index 0000000..ec950d2
--- /dev/null
@@ -0,0 +1,86 @@
+.TH XScreenSaver 1 "30-Oct-99" "X Version 11"
+.SH NAME
+moebiusgears - draw a moebius strip of interlocking gears.
+.SH SYNOPSIS
+.B moebiusgears
+[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
+[\-visual \fIvisual\fP]
+[\-delay \fIusecs\fP] 
+[\-speed \fIfloat\fP] 
+[\-no\-spin]
+[\-no\-wander]
+[\-no\-roll]
+[-count \fIinteger\fP]
+[-teeth \fIinteger\fP]
+[-wireframe]
+[-fps]
+.SH DESCRIPTION
+The \fImoebiusgears\fP program draws a closed, interlinked chain of
+rotating gears. The layout of the gears follows the path of a
+moebius strip.
+.SH OPTIONS
+.I moebiusgears
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window.  This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use.  Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-delay \fIusecs\fP
+The delay between frames of the animation, in microseconds.
+Default: 30000 (0.03 seconds.)
+.TP 8
+.B \-speed \fIfloat\fP
+Larger numbers mean run faster.  Default: 1.0.
+.TP 8
+.B \-no\-spin
+Don't rotate the object.
+.TP 8
+.B \-no\-wander
+Don't wander the object around the screen.
+.TP 8
+.B \-no\-roll
+Don't slowly roll the moebius strip inside out.
+.TP 8
+.B \-count \fIinteger\fP
+How many gears to draw.  Default: 17.  Minimum 11, must be odd.
+.TP 8
+.B \-teeth \fIinteger\fP
+How many teeth to draw on each draw.  Default: 15.  Minimum 7, must be odd.
+.TP 8
+.B \-wireframe
+Render in wireframe instead of solid.
+.TP 8
+.B \-fps | \-no-fps
+Whether to show a frames-per-second display at the bottom of the screen.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2007 by Jamie Zawinski.  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.  No representations are made about the 
+suitability of this software for any purpose.  It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+Jamie Zawinski.
index 62929647ad7511b34f07e81c983a576b93c41978..3658ada5218aba371afd9a7c9a7ad8933ead926c 100644 (file)
 
 
 /* Documentation on the PDB file format:
+   http://www.wwpdb.org/docs.html
    http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/guide2.2_frame.html
 
    Good source of PDB files:
    http://www.sci.ouc.bc.ca/chem/molecule/molecule.html
+   http://www.umass.edu/microbio/rasmol/whereget.htm
+   http://www.wwpdb.org/docs.html
  */
 
 #define DEFAULTS       "*delay:        10000         \n" \
@@ -574,11 +577,10 @@ build_molecule (ModeInfo *mi, Bool transparent_p)
             if (thickness > 0.3)
               thickness = 0.3;
 
-            tube (from->x, from->y, from->z,
-                  to->x,   to->y,   to->z,
-                  thickness, cap_size,
-                  faces, smooth, (!do_atoms || do_shells), wire);
-            polys += faces;
+            polys += tube (from->x, from->y, from->z,
+                           to->x,   to->y,   to->z,
+                           thickness, cap_size,
+                           faces, smooth, (!do_atoms || do_shells), wire);
           }
       }
 
index a1aed95c9eace6961db8f37afc0bb490ed0add11..0d4c92ca2c55179ac2bea812c9c588ecd2f77551 100644 (file)
@@ -2,7 +2,7 @@
 .SH NAME
 molecule - draws 3D molecular structures
 .SH SYNOPSIS
-.B gltext
+.B molecule
 [\-display \fIhost:display.screen\fP] [\-window] [\-root]
 [\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
 [\-wander] [\-no-wander]
@@ -142,11 +142,13 @@ stored in the RESOURCE_MANAGER property.
 .PP
 Documentation on the PDB file format:
 
+    http://www.wwpdb.org/docs.html
     http://www.rcsb.org/pdb/docs/format/pdbguide2.2/guide2.2_frame.html
 
 A good source of PDB files:
 
-    http://www.sci.ouc.bc.ca/chem/molecule/molecule.html
+    http://www.umass.edu/microbio/rasmol/whereget.htm
+    http://www.wwpdb.org/docs.html
 .SH COPYRIGHT
 Copyright \(co 2001-2005 by Jamie Zawinski.
 Permission to use, copy, modify, distribute, and sell this software and
index fa3571f1d622616eb051969810f11949194a59a9..b18eb73cc5c1658fce1b1a24b9e70d4a1af0abd8 100644 (file)
@@ -28,6 +28,7 @@
 #include "normals.h"
 #include "gltrackball.h"
 #include "glxfonts.h"
+#include "involute.h"
 #include <ctype.h>
 
 #ifdef USE_GL /* whole file */
 #define DEF_GEAR_SIZE    "1.0"
 #define DEF_MAX_RPM      "900"
 
-typedef struct {
-  unsigned long id;          /* unique name */
-  double x, y, z;            /* position */
-  double r;                  /* radius of the gear, at middle of teeth */
-  double th;                 /* rotation (degrees) */
-
-  GLint nteeth;              /* how many teeth */
-  double tooth_w, tooth_h;   /* size of teeth */
-
-  double inner_r;            /* radius of the (larger) inside hole */
-  double inner_r2;           /* radius of the (smaller) inside hole, if any */
-  double inner_r3;           /* yet another */
-
-  double thickness;          /* height of the edge */
-  double thickness2;         /* height of the (smaller) inside disc if any */
-  double thickness3;         /* yet another */
-  int spokes;                /* how many spokes inside, if any */
-  int nubs;                  /* how many little nubbly bits, if any */
-  double spoke_thickness;    /* spoke versus hole */
-  GLfloat wobble;            /* factory defect! */
-  int motion_blur_p;        /* whether it's spinning too fast to draw */
-  int polygons;              /* how many polys in this gear */
-
-  double ratio;              /* gearing ratio with previous gears */
-  double rpm;                /* approximate revolutions per minute */
-
-  Bool base_p;               /* whether this gear begins a new train */
-  int coax_p;                /* whether this is one of a pair of bound gears.
-                                1 for first, 2 for second. */
-  double coax_thickness;     /* thickness of the other gear in the pair */
-  enum { SMALL, MEDIUM, LARGE } size;  /* Controls complexity of mesh. */
-  GLfloat color[4];
-  GLfloat color2[4];
-
-  GLuint dlist;
-} gear;
-
-
 typedef struct {
   GLXContext *glx_context;
   GLfloat vp_left, vp_right, vp_top, vp_bottom;    /* default visible area */
@@ -116,7 +79,6 @@ static Bool debug_p = False;              /* render as flat schematic */
 /* internal debugging variables */
 static Bool debug_placement_p = False;    /* extreme verbosity on stderr */
 static Bool debug_one_gear_p = False;     /* draw one big stationary gear */
-static Bool wire_all_p = False;           /* in wireframe, do not abbreviate */
 
 
 static XrmOptionDescRec opts[] = {
@@ -181,7 +143,8 @@ new_label (ModeInfo *mi)
       if (debug_p)
         sprintf (label + strlen (label), "\nPolys:  %d\nModel:  %s  (%.2f)\n",
                  g->polygons,
-                 (g->size == SMALL ? "small" : g->size == MEDIUM ? "medium"
+                 (g->size == INVOLUTE_SMALL ? "small" :
+                  g->size == INVOLUTE_MEDIUM ? "medium"
                   : "large"),
                  g->tooth_h * MI_HEIGHT(mi));
     }
@@ -271,48 +234,6 @@ rpm_string (double rpm, char *s)
 }
 
 
-
-/* Which of the gear's inside rings is the biggest? 
- */
-static int
-biggest_ring (gear *g, double *posP, double *sizeP, double *heightP)
-{
-  double r0 = (g->r - g->tooth_h/2);
-  double r1 = g->inner_r;
-  double r2 = g->inner_r2;
-  double r3 = g->inner_r3;
-  double w1 = (r1 ? r0 - r1 : r0);
-  double w2 = (r2 ? r1 - r2 : 0);
-  double w3 = (r3 ? r2 - r3 : 0);
-  double h1 = g->thickness;
-  double h2 = g->thickness2;
-  double h3 = g->thickness3;
-
-  if (g->spokes) w2 = 0;
-
-  if (w1 > w2 && w1 > w3)
-    {
-      if (posP)    *posP = (r0+r1)/2;
-      if (sizeP)   *sizeP = w1;
-      if (heightP) *heightP = h1;
-      return 0;
-    }
-  else if (w2 > w1 && w2 > w3)
-    {
-      if (posP)  *posP = (r1+r2)/2;
-      if (sizeP) *sizeP = w2;
-      if (heightP) *heightP = h2;
-      return 1;
-    }
-  else
-    {
-      if (posP)  *posP = (r2+r3)/2;
-      if (sizeP) *sizeP = w3;
-      if (heightP) *heightP = h3;
-      return 1;
-    }
-}
-
 \f
 /* Layout and stuff.
  */
@@ -324,6 +245,7 @@ biggest_ring (gear *g, double *posP, double *sizeP, double *heightP)
 static gear *
 new_gear (ModeInfo *mi, gear *parent, Bool coaxial_p)
 {
+  pinion_configuration *pp = &pps[MI_SCREEN(mi)];
   gear *g = (gear *) calloc (1, sizeof (*g));
   int loop_count = 0;
   static unsigned long id = 0;  /* only used in debugging output */
@@ -332,6 +254,8 @@ new_gear (ModeInfo *mi, gear *parent, Bool coaxial_p)
   if (coaxial_p && !parent) abort();
   g->id = ++id;
 
+  g->coax_displacement = pp->plane_displacement;
+
   while (1)
     {
       loop_count++;
@@ -387,6 +311,8 @@ new_gear (ModeInfo *mi, gear *parent, Bool coaxial_p)
       if (parent->r < g->r  * 0.6) break;  /* g much larger than parent  */
     }
 
+  /* g->tooth_slope = (parent ? -parent->tooth_slope : 4); */
+
   /* Colorize
    */
   g->color[0] = 0.5 + frand(0.5);
@@ -468,7 +394,7 @@ new_gear (ModeInfo *mi, gear *parent, Bool coaxial_p)
   if (g->nteeth > 5)
     {
       double size = 0;
-      biggest_ring (g, 0, &size, 0);
+      involute_biggest_ring (g, 0, &size, 0);
       if (size > g->r * 0.2 && (random() % 5) == 0)
         {
           g->nubs = 1 + (random() % 16);
@@ -484,9 +410,9 @@ new_gear (ModeInfo *mi, gear *parent, Bool coaxial_p)
    */
   {
     double pix = g->tooth_h * MI_HEIGHT(mi); /* approx. tooth size in pixels */
-    if (pix <= 2.5)      g->size = SMALL;
-    else if (pix <= 3.5) g->size = MEDIUM;
-    else                 g->size = LARGE;
+    if (pix <= 2.5)      g->size = INVOLUTE_SMALL;
+    else if (pix <= 3.5) g->size = INVOLUTE_MEDIUM;
+    else                 g->size = INVOLUTE_LARGE;
   }
 
   g->base_p = !parent;
@@ -1112,808 +1038,13 @@ ffwd (ModeInfo *mi)
 
 
 \f
-/* Rendering the 3D objects into the scene.
- */
-
-
-/* Draws an uncapped tube of the given radius extending from top to bottom,
-   with faces pointing either in or out.
- */
-static int
-draw_ring (ModeInfo *mi, int segments,
-           GLfloat r, GLfloat top, GLfloat bottom, Bool in_p)
-{
-  int i;
-  int polys = 0;
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  GLfloat width = M_PI * 2 / segments;
-
-  if (top != bottom)
-    {
-      glFrontFace (in_p ? GL_CCW : GL_CW);
-      glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
-      for (i = 0; i < segments + (wire_p ? 0 : 1); i++)
-        {
-          GLfloat th = i * width;
-          GLfloat cth = cos(th);
-          GLfloat sth = sin(th);
-          if (in_p)
-            glNormal3f (-cth, -sth, 0);
-          else
-            glNormal3f (cth, sth, 0);
-          glVertex3f (cth * r, sth * r, top);
-          glVertex3f (cth * r, sth * r, bottom);
-        }
-      polys += segments;
-      glEnd();
-    }
-
-  if (wire_p)
-    {
-      glBegin (GL_LINE_LOOP);
-      for (i = 0; i < segments; i++)
-        {
-          GLfloat th = i * width;
-          glVertex3f (cos(th) * r, sin(th) * r, top);
-        }
-      glEnd();
-      glBegin (GL_LINE_LOOP);
-      for (i = 0; i < segments; i++)
-        {
-          GLfloat th = i * width;
-          glVertex3f (cos(th) * r, sin(th) * r, bottom);
-        }
-      glEnd();
-    }
-
-  return polys;
-}
-
-
-/* Draws a donut-shaped disc between the given radii,
-   with faces pointing either up or down.
-   The first radius may be 0, in which case, a filled disc is drawn.
- */
-static int
-draw_disc (ModeInfo *mi, int segments,
-           GLfloat ra, GLfloat rb, GLfloat z, Bool up_p)
-{
-  int i;
-  int polys = 0;
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  GLfloat width = M_PI * 2 / segments;
-
-  if (ra <  0) abort();
-  if (rb <= 0) abort();
-
-  if (ra == 0)
-    glFrontFace (up_p ? GL_CW : GL_CCW);
-  else
-    glFrontFace (up_p ? GL_CCW : GL_CW);
-
-  if (ra == 0)
-    glBegin (wire_p ? GL_LINES : GL_TRIANGLE_FAN);
-  else
-    glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
-
-  glNormal3f (0, 0, (up_p ? -1 : 1));
-
-  if (ra == 0 && !wire_p)
-    glVertex3f (0, 0, z);
-
-  for (i = 0; i < segments + (wire_p ? 0 : 1); i++)
-    {
-      GLfloat th = i * width;
-      GLfloat cth = cos(th);
-      GLfloat sth = sin(th);
-      if (wire_p || ra != 0)
-        glVertex3f (cth * ra, sth * ra, z);
-      glVertex3f (cth * rb, sth * rb, z);
-    }
-  polys += segments;
-  glEnd();
-  return polys;
-}
-
-
-/* Draws N thick radial lines between the given radii,
-   with faces pointing either up or down.
- */
-static int
-draw_spokes (ModeInfo *mi, int n, GLfloat thickness, int segments,
-             GLfloat ra, GLfloat rb, GLfloat z1, GLfloat z2)
-{
-  int i;
-  int polys = 0;
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  GLfloat width;
-  int segments2 = 0;
-  int insegs, outsegs;
-  int tick;
-  int state;
-
-  if (ra <= 0 || rb <= 0) abort();
-
-  segments *= 3;
-
-  while (segments2 < segments) /* need a multiple of N >= segments */
-    segments2 += n;            /* (yes, this is a moronic way to find that) */
-
-  insegs  = ((float) (segments2 / n) + 0.5) / thickness;
-  outsegs = (segments2 / n) - insegs;
-  if (insegs  <= 0) insegs = 1;
-  if (outsegs <= 0) outsegs = 1;
-
-  segments2 = (insegs + outsegs) * n;
-  width = M_PI * 2 / segments2;
-
-  tick = 0;
-  state = 0;
-  for (i = 0; i < segments2; i++, tick++)
-    {
-      GLfloat th1 = i * width;
-      GLfloat th2 = th1 + width;
-      GLfloat cth1 = cos(th1);
-      GLfloat sth1 = sin(th1);
-      GLfloat cth2 = cos(th2);
-      GLfloat sth2 = sin(th2);
-      GLfloat orb = rb;
-
-      int changed = (i == 0);
-
-      if (state == 0 && tick == insegs)
-        tick = 0, state = 1, changed = 1;
-      else if (state == 1 && tick == outsegs)
-        tick = 0, state = 0, changed = 1;
-
-      if ((state == 1 ||                /* in */
-           (state == 0 && changed)) &&
-          (!wire_p || wire_all_p))
-        {
-          /* top */
-          glFrontFace (GL_CCW);
-          glBegin (wire_p ? GL_LINES : GL_QUADS);
-          glNormal3f (0, 0, -1);
-          glVertex3f (cth1 * ra, sth1 * ra, z1);
-          glVertex3f (cth1 * rb, sth1 * rb, z1);
-          glVertex3f (cth2 * rb, sth2 * rb, z1);
-          glVertex3f (cth2 * ra, sth2 * ra, z1);
-          polys++;
-          glEnd();
-
-          /* bottom */
-          glFrontFace (GL_CW);
-          glBegin (wire_p ? GL_LINES : GL_QUADS);
-          glNormal3f (0, 0, 1);
-          glVertex3f (cth1 * ra, sth1 * ra, z2);
-          glVertex3f (cth1 * rb, sth1 * rb, z2);
-          glVertex3f (cth2 * rb, sth2 * rb, z2);
-          glVertex3f (cth2 * ra, sth2 * ra, z2);
-          polys++;
-          glEnd();
-        }
-
-      if (state == 1 && changed)   /* entering "in" state */
-        {
-          /* left */
-          glFrontFace (GL_CW);
-          glBegin (wire_p ? GL_LINES : GL_QUADS);
-          do_normal (cth1 * rb, sth1 * rb, z1,
-                     cth1 * ra, sth1 * ra, z1,
-                     cth1 * rb, sth1 * rb, z2);
-          glVertex3f (cth1 * ra, sth1 * ra, z1);
-          glVertex3f (cth1 * rb, sth1 * rb, z1);
-          glVertex3f (cth1 * rb, sth1 * rb, z2);
-          glVertex3f (cth1 * ra, sth1 * ra, z2);
-          polys++;
-          glEnd();
-        }
-
-      if (state == 0 && changed)   /* entering "out" state */
-        {
-          /* right */
-          glFrontFace (GL_CCW);
-          glBegin (wire_p ? GL_LINES : GL_QUADS);
-          do_normal (cth2 * ra, sth2 * ra, z1,
-                     cth2 * rb, sth2 * rb, z1,
-                     cth2 * rb, sth2 * rb, z2);
-          glVertex3f (cth2 * ra, sth2 * ra, z1);
-          glVertex3f (cth2 * rb, sth2 * rb, z1);
-          glVertex3f (cth2 * rb, sth2 * rb, z2);
-          glVertex3f (cth2 * ra, sth2 * ra, z2);
-          polys++;
-          glEnd();
-        }
-
-      rb = orb;
-    }
-  glEnd();
-  return polys;
-}
-
-
-/* Draws some bumps (embedded cylinders) on the gear.
- */
-static int
-draw_gear_nubs (ModeInfo *mi, gear *g)
-{
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  int polys = 0;
-  int i;
-  int steps = (g->size != LARGE ? 5 : 20);
-  double r, size, height;
-  GLfloat *cc;
-  int which;
-  GLfloat width, off;
-
-  if (! g->nubs) return 0;
-
-  which = biggest_ring (g, &r, &size, &height);
-  size /= 5;
-  height *= 0.7;
-
-  cc = (which == 1 ? g->color : g->color2);
-  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, cc);
-
-  width = M_PI * 2 / g->nubs;
-  off = M_PI / (g->nteeth * 2);  /* align first nub with a tooth */
-
-  for (i = 0; i < g->nubs; i++)
-    {
-      GLfloat th = (i * width) + off;
-      glPushMatrix();
-      glTranslatef (cos(th) * r, sin(th) * r, 0);
-
-      if (wire_p && !wire_all_p)
-        polys += draw_ring (mi, (g->size == LARGE ? steps/2 : steps),
-                            size, 0, 0, False);
-      else
-        {
-          polys += draw_disc (mi, steps, 0, size, -height, True);
-          polys += draw_disc (mi, steps, 0, size,  height, False);
-          polys += draw_ring (mi, steps, size, -height, height, False);
-        }
-      glPopMatrix();
-    }
-  return polys;
-}
-
-
-
-/* Draws a much simpler representation of a gear.
- */
-static int
-draw_gear_schematic (ModeInfo *mi, gear *g)
-{
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  int polys = 0;
-  int i;
-  GLfloat width = M_PI * 2 / g->nteeth;
-
-  if (!wire_p) glDisable(GL_LIGHTING);
-  glColor3f (g->color[0] * 0.6, g->color[1] * 0.6, g->color[2] * 0.6);
-
-  glBegin (GL_LINES);
-  for (i = 0; i < g->nteeth; i++)
-    {
-      GLfloat th = (i * width) + (width/4);
-      glVertex3f (0, 0, -g->thickness/2);
-      glVertex3f (cos(th) * g->r, sin(th) * g->r, -g->thickness/2);
-    }
-  polys += g->nteeth;
-  glEnd();
-
-  glBegin (GL_LINE_LOOP);
-  for (i = 0; i < g->nteeth; i++)
-    {
-      GLfloat th = (i * width) + (width/4);
-      glVertex3f (cos(th) * g->r, sin(th) * g->r, -g->thickness/2);
-    }
-  polys += g->nteeth;
-  glEnd();
-
-  if (!wire_p) glEnable(GL_LIGHTING);
-  return polys;
-}
-
-
-/* Renders all the interior (non-toothy) parts of a gear:
-   the discs, axles, etc.
- */
-static int
-draw_gear_interior (ModeInfo *mi, gear *g)
-{
-  pinion_configuration *pp = &pps[MI_SCREEN(mi)];
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  int polys = 0;
-
-  int steps = g->nteeth * 2;
-  if (steps < 10) steps = 10;
-  if ((wire_p && !wire_all_p) || g->size != LARGE) steps /= 2;
-  if (g->size != LARGE && steps > 16) steps = 16;
-
-  /* ring 1 (facing in) is done in draw_gear_teeth */
-
-  /* ring 2 (facing in) and disc 2
-   */
-  if (g->inner_r2)
-    {
-      GLfloat ra = g->inner_r * 1.04;  /* slightly larger than inner_r */
-      GLfloat rb = g->inner_r2;        /*  since the points don't line up */
-      GLfloat za = -g->thickness2/2;
-      GLfloat zb =  g->thickness2/2;
-
-      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color2);
-
-      if ((g->coax_p != 1 && !g->inner_r3) ||
-          (wire_p && wire_all_p))
-        polys += draw_ring (mi, steps, rb, za, zb, True);  /* ring facing in */
-
-      if (wire_p && wire_all_p)
-        polys += draw_ring (mi, steps, ra, za, zb, True);  /* ring facing in */
-
-      if (g->spokes)
-        polys += draw_spokes (mi, g->spokes, g->spoke_thickness,
-                              steps, ra, rb, za, zb);
-      else if (!wire_p || wire_all_p)
-        {
-          polys += draw_disc (mi, steps, ra, rb, za, True);  /* top plate */
-          polys += draw_disc (mi, steps, ra, rb, zb, False); /* bottom plate */
-        }
-    }
-
-  /* ring 3 (facing in and out) and disc 3
-   */
-  if (g->inner_r3)
-    {
-      GLfloat ra = g->inner_r2;
-      GLfloat rb = g->inner_r3;
-      GLfloat za = -g->thickness3/2;
-      GLfloat zb =  g->thickness3/2;
-
-      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
-
-      polys += draw_ring (mi, steps, ra, za, zb, False);  /* ring facing out */
-
-      if (g->coax_p != 1 || (wire_p && wire_all_p))
-        polys += draw_ring (mi, steps, rb, za, zb, True);  /* ring facing in */
-
-      if (!wire_p || wire_all_p)
-        {
-          polys += draw_disc (mi, steps, ra, rb, za, True);  /* top plate */
-          polys += draw_disc (mi, steps, ra, rb, zb, False); /* bottom plate */
-        }
-    }
-
-  /* axle tube
-   */
-  if (g->coax_p == 1)
-    {
-      GLfloat cap_height = g->coax_thickness/3;
-
-      GLfloat ra = (g->inner_r3 ? g->inner_r3 :
-                    g->inner_r2 ? g->inner_r2 :
-                    g->inner_r);
-      GLfloat za = -(g->thickness/2 + cap_height);
-      GLfloat zb = g->coax_thickness/2 + pp->plane_displacement + cap_height;
-
-      glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
-
-      if (wire_p && !wire_all_p) steps /= 2;
-
-      polys += draw_ring (mi, steps, ra, za, zb, False);  /* ring facing out */
-
-      if (!wire_p || wire_all_p)
-        {
-          polys += draw_disc (mi, steps, 0,  ra, za, True);  /* top plate */
-          polys += draw_disc (mi, steps, 0,  ra, zb, False); /* bottom plate */
-        }
-    }
-  return polys;
-}
-
-
-/* gear_teeth_geometry computes the vertices and normals of the teeth
-   of a gear.  This is the heavy lifting: there are a ton of polygons
-   around the perimiter of a gear, and the normals are difficult (not
-   radial or right angles.)
-
-   It would be nice if we could cache this, but the numbers are
-   different for essentially every gear:
-
-      - Every gear has a different inner_r, so the vertices of the
-        inner ring (and thus, the triangle fans on the top and bottom
-        faces) are different in a non-scalable way.
-
-      - If the ratio between tooth_w and tooth_h changes, the normals
-        on the outside edges of the teeth are invalid (this can happen
-        every time we start a new train.)
-
-   So instead, we rely on OpenGL display lists to do the cacheing for
-   us -- we only compute all these normals once per gear, instead of
-   once per gear per frame.
- */
-
-typedef struct {
-  int npoints;
-  XYZ *points;
-  XYZ *fnormals;  /* face normals */
-  XYZ *pnormals;  /* point normals */
-} tooth_face;
-
-
-static void
-tooth_normals (tooth_face *f)
-{
-  int i;
-
-  /* Compute the face normals for each facet. */
-  for (i = 0; i < f->npoints; i++)
-    {
-      XYZ p1, p2, p3;
-      int a = i;
-      int b = (i == f->npoints-1 ? 0 : i+1);
-      p1 = f->points[a];
-      p2 = f->points[b];
-      p3 = p1;
-      p3.z++;
-      f->fnormals[i] = calc_normal (p1, p2, p3);
-    }
-
-  /* From the face normals, compute the vertex normals
-     (by averaging the normals of adjascent faces.)
-   */
-  for (i = 0; i < f->npoints; i++)
-    {
-      int a = (i == 0 ? f->npoints-1 : i-1);
-      int b = i;
-      XYZ n1 = f->fnormals[a];   /* normal of [i-1 - i] face */
-      XYZ n2 = f->fnormals[b];   /* normal of [i - i+1] face */
-      f->pnormals[i].x = (n1.x + n2.x) / 2;
-      f->pnormals[i].y = (n1.y + n2.y) / 2;
-      f->pnormals[i].z = (n1.z + n2.z) / 2;
-    }
-}
-
-
-static void
-gear_teeth_geometry (ModeInfo *mi, gear *g,
-                     tooth_face *orim,      /* outer rim (the teeth) */
-                     tooth_face *irim)      /* inner rim (the hole)  */
-{
-  int i;
-  int ppt = 9;   /* max points per tooth */
-  GLfloat width = M_PI * 2 / g->nteeth;
-  GLfloat rh = g->tooth_h;
-  GLfloat tw = width;
-
-  /* Approximate shape of an "involute" gear tooth.
-
-                                 (TH)
-                 th0 th1 th2 th3 th4 th5 th6 th7 th8   th9    th10
-                   :  :  :   :    :    :   :  :  :      :      :
-                   :  :  :   :    :    :   :  :  :      :      :
-        r0 ........:..:..:...___________...:..:..:......:......:..
-                   :  :  :  /:    :    :\  :  :  :      :      :
-                   :  :  : / :    :    : \ :  :  :      :      :
-                   :  :  :/  :    :    :  \:  :  :      :      :
-        r1 ........:.....@...:....:....:...@..:..:......:......:..
-                   :  : @:   :    :    :   :@ :  :      :      :
-    (R) ...........:...@.:...:....:....:...:.@..........:......:......
-                   :  :@ :   :    :    :   : @:  :      :      :
-        r2 ........:..@..:...:....:....:...:..@:........:......:..
-                   : /:  :   :    :    :   :  :\ :      :      :
-                   :/ :  :   :    :    :   :  : \:      :      : /
-        r3 ......__/..:..:...:....:....:...:..:..\______________/
-                   :  :  :   :    :    :   :  :  :      :      :
-                   |  :  :   :    :    :   :  :  |      :      :
-                   :  :  :   :    :    :   :  :  :      :      :
-                   |  :  :   :    :    :   :  :  |      :      :
-        r4 ......__:_____________________________:________________
-   */
-
-  GLfloat r[20];
-  GLfloat th[20];
-  GLfloat R = g->r;
-
-  r[0] = R + (rh * 0.5);
-  r[1] = R + (rh * 0.25);
-  r[2] = R - (r[1]-R);
-  r[3] = R - (r[0]-R);
-  r[4] = g->inner_r;
-
-  th[0] = -tw * (g->size == SMALL ? 0.5 : g->size == MEDIUM ? 0.41 : 0.45);
-  th[1] = -tw * 0.30;
-  th[2] = -tw * (g->nteeth >= 5 ? 0.16 : 0.12);
-  th[3] = -tw * (g->size == MEDIUM ? 0.1 : 0.04);
-  th[4] =  0;
-  th[5] =  -th[3];
-  th[6] =  -th[2];
-  th[7] =  -th[1];
-  th[8] =  -th[0];
-  th[9] =  width / 2;
-  th[10]=  th[0] + width;
-
-  orim->npoints  = 0;
-  orim->points   = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*orim->points));
-  orim->fnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*orim->fnormals));
-  orim->pnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*orim->pnormals));
-
-  irim->npoints  = 0;
-  irim->points   = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*irim->points));
-  irim->fnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*irim->fnormals));
-  irim->pnormals = (XYZ *) calloc(ppt * g->nteeth+1, sizeof(*irim->pnormals));
-
-  if (!orim->points || !orim->pnormals || !orim->fnormals ||
-      !irim->points || !irim->pnormals || !irim->fnormals)
-    {
-      fprintf (stderr, "%s: out of memory\n", progname);
-      exit (1);
-    }
-
-  /* First, compute the coordinates of every point used for every tooth.
-   */
-  for (i = 0; i < g->nteeth; i++)
-    {
-      GLfloat TH = (i * width) + (width/4);
-
-#     undef PUSH
-#     define PUSH(OPR,IPR,PTH) \
-        orim->points[orim->npoints].x = cos(TH+th[(PTH)]) * r[(OPR)]; \
-        orim->points[orim->npoints].y = sin(TH+th[(PTH)]) * r[(OPR)]; \
-        orim->npoints++; \
-        irim->points[irim->npoints].x = cos(TH+th[(PTH)]) * r[(IPR)]; \
-        irim->points[irim->npoints].y = sin(TH+th[(PTH)]) * r[(IPR)]; \
-        irim->npoints++
-
-      if (g->size == SMALL)
-        {
-          PUSH(3, 4, 0);       /* tooth left 1 */
-          PUSH(0, 4, 4);       /* tooth top middle */
-        }
-      else if (g->size == MEDIUM)
-        {
-          PUSH(3, 4, 0);       /* tooth left 1 */
-          PUSH(0, 4, 3);       /* tooth top left */
-          PUSH(0, 4, 5);       /* tooth top right */
-          PUSH(3, 4, 8);       /* tooth right 3 */
-        }
-      else if (g->size == LARGE)
-        {
-          PUSH(3, 4, 0);       /* tooth left 1 */
-          PUSH(2, 4, 1);       /* tooth left 2 */
-          PUSH(1, 4, 2);       /* tooth left 3 */
-          PUSH(0, 4, 3);       /* tooth top left */
-          PUSH(0, 4, 5);       /* tooth top right */
-          PUSH(1, 4, 6);       /* tooth right 1 */
-          PUSH(2, 4, 7);       /* tooth right 2 */
-          PUSH(3, 4, 8);       /* tooth right 3 */
-          PUSH(3, 4, 9);       /* gap top */
-        }
-      else
-        abort();
-#     undef PUSH
-
-      if (i == 0 && orim->npoints > ppt) abort();  /* go update "ppt"! */
-    }
-
-  tooth_normals (orim);
-  tooth_normals (irim);
-}
-
-
-/* Renders all teeth of a gear.
- */
-static int
-draw_gear_teeth (ModeInfo *mi, gear *g)
-{
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  Bool show_normals_p = False;
-  int polys = 0;
-  int i;
-
-  GLfloat z1 = -g->thickness/2;
-  GLfloat z2 =  g->thickness/2;
-
-  tooth_face orim, irim;
-  gear_teeth_geometry (mi, g, &orim, &irim);
-
-  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
-
-  /* Draw the outer rim (the teeth)
-     (In wire mode, this draws just the upright lines.)
-   */
-  glFrontFace (GL_CW);
-  glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
-  for (i = 0; i < orim.npoints; i++)
-    {
-      glNormal3f (orim.pnormals[i].x, orim.pnormals[i].y, orim.pnormals[i].z);
-      glVertex3f (orim.points[i].x, orim.points[i].y, z1);
-      glVertex3f (orim.points[i].x, orim.points[i].y, z2);
-
-      /* Show the face normal vectors */
-      if (wire_p && show_normals_p)
-        {
-          XYZ n = orim.fnormals[i];
-          int a = i;
-          int b = (i == orim.npoints-1 ? 0 : i+1);
-          GLfloat x = (orim.points[a].x + orim.points[b].x) / 2;
-          GLfloat y = (orim.points[a].y + orim.points[b].y) / 2;
-          GLfloat z  = (z1 + z2) / 2;
-          glVertex3f (x, y, z);
-          glVertex3f (x + n.x, y + n.y, z);
-        }
-
-      /* Show the vertex normal vectors */
-      if (wire_p && show_normals_p)
-        {
-          XYZ n = orim.pnormals[i];
-          GLfloat x = orim.points[i].x;
-          GLfloat y = orim.points[i].y;
-          GLfloat z  = (z1 + z2) / 2;
-          glVertex3f (x, y, z);
-          glVertex3f (x + n.x, y + n.y, z);
-        }
-    }
-
-  if (!wire_p)  /* close the quad loop */
-    {
-      glNormal3f (orim.pnormals[0].x, orim.pnormals[0].y, orim.pnormals[0].z);
-      glVertex3f (orim.points[0].x, orim.points[0].y, z1);
-      glVertex3f (orim.points[0].x, orim.points[0].y, z2);
-    }
-  polys += orim.npoints;
-  glEnd();
-
-  /* Draw the outer rim circles, in wire mode */
-  if (wire_p)
-    {
-      glBegin (GL_LINE_LOOP);
-      for (i = 0; i < orim.npoints; i++)
-        glVertex3f (orim.points[i].x, orim.points[i].y, z1);
-      glEnd();
-      glBegin (GL_LINE_LOOP);
-      for (i = 0; i < orim.npoints; i++)
-        glVertex3f (orim.points[i].x, orim.points[i].y, z2);
-      glEnd();
-    }
-
-
-  /* Draw the inner rim (the hole)
-     (In wire mode, this draws just the upright lines.)
-   */
-  glFrontFace (GL_CCW);
-  glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
-  for (i = 0; i < irim.npoints; i++)
-    {
-      glNormal3f(-irim.pnormals[i].x, -irim.pnormals[i].y,-irim.pnormals[i].z);
-      glVertex3f (irim.points[i].x, irim.points[i].y, z1);
-      glVertex3f (irim.points[i].x, irim.points[i].y, z2);
-
-      /* Show the face normal vectors */
-      if (wire_p && show_normals_p)
-        {
-          XYZ n = irim.fnormals[i];
-          int a = i;
-          int b = (i == irim.npoints-1 ? 0 : i+1);
-          GLfloat x = (irim.points[a].x + irim.points[b].x) / 2;
-          GLfloat y = (irim.points[a].y + irim.points[b].y) / 2;
-          GLfloat z  = (z1 + z2) / 2;
-          glVertex3f (x, y, z);
-          glVertex3f (x - n.x, y - n.y, z);
-        }
-
-      /* Show the vertex normal vectors */
-      if (wire_p && show_normals_p)
-        {
-          XYZ n = irim.pnormals[i];
-          GLfloat x = irim.points[i].x;
-          GLfloat y = irim.points[i].y;
-          GLfloat z  = (z1 + z2) / 2;
-          glVertex3f (x, y, z);
-          glVertex3f (x - n.x, y - n.y, z);
-        }
-    }
-
-  if (!wire_p)  /* close the quad loop */
-    {
-      glNormal3f (-irim.pnormals[0].x,-irim.pnormals[0].y,-irim.pnormals[0].z);
-      glVertex3f (irim.points[0].x, irim.points[0].y, z1);
-      glVertex3f (irim.points[0].x, irim.points[0].y, z2);
-    }
-  polys += irim.npoints;
-  glEnd();
-
-  /* Draw the inner rim circles, in wire mode
-   */
-  if (wire_p)
-    {
-      glBegin (GL_LINE_LOOP);
-      for (i = 0; i < irim.npoints; i++)
-        glVertex3f (irim.points[i].x, irim.points[i].y, z1);
-      glEnd();
-      glBegin (GL_LINE_LOOP);
-      for (i = 0; i < irim.npoints; i++)
-        glVertex3f (irim.points[i].x, irim.points[i].y, z2);
-      glEnd();
-    }
-
-
-  /* Draw the side (the flat bit)
-   */
-  if (!wire_p || wire_all_p)
-    {
-      GLfloat z;
-      if (irim.npoints != orim.npoints) abort();
-      for (z = z1; z <= z2; z += z2-z1)
-        {
-          glFrontFace (z == z1 ? GL_CCW : GL_CW);
-          glNormal3f (0, 0, z);
-          glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
-          for (i = 0; i < orim.npoints; i++)
-            {
-              glVertex3f (orim.points[i].x, orim.points[i].y, z);
-              glVertex3f (irim.points[i].x, irim.points[i].y, z);
-            }
-          if (!wire_p)  /* close the quad loop */
-            {
-              glVertex3f (orim.points[0].x, orim.points[0].y, z);
-              glVertex3f (irim.points[0].x, irim.points[0].y, z);
-            }
-          polys += orim.npoints;
-          glEnd();
-        }
-    }
-
-  free (irim.points);
-  free (irim.fnormals);
-  free (irim.pnormals);
-
-  free (orim.points);
-  free (orim.fnormals);
-  free (orim.pnormals);
-
-  return polys;
-}
-
-
-/* Render one gear, unrotated at 0,0.
- */
-static int
-draw_gear_1 (ModeInfo *mi, gear *g)
-{
-  Bool wire_p = MI_IS_WIREFRAME(mi);
-  int polys = 0;
-
-  static const GLfloat spec[4] = {1.0, 1.0, 1.0, 1.0};
-  GLfloat shiny   = 128.0;
-
-  glMaterialfv (GL_FRONT, GL_SPECULAR,  spec);
-  glMateriali  (GL_FRONT, GL_SHININESS, shiny);
-  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, g->color);
-  glColor3f (g->color[0], g->color[1], g->color[2]);
-
-  if (debug_p && wire_p)
-    polys += draw_gear_schematic (mi, g);
-  else
-    {
-      glPushMatrix();
-      glRotatef (g->wobble, 1, 0, 0);
-      polys += draw_gear_teeth (mi, g);
-      polys += draw_gear_interior (mi, g);
-      polys += draw_gear_nubs (mi, g);
-      glPopMatrix();
-    }
-  return polys;
-}
-
-
 /* Render one gear in the proper position, creating the gear's
    display list first if necessary.
  */
 static void
 draw_gear (ModeInfo *mi, int which)
 {
+  Bool wire_p = MI_IS_WIREFRAME(mi);
   pinion_configuration *pp = &pps[MI_SCREEN(mi)];
   gear *g = pp->gears[which];
   GLfloat th;
@@ -1938,7 +1069,7 @@ draw_gear (ModeInfo *mi, int which)
         }
 
       glNewList (g->dlist, GL_COMPILE);
-      g->polygons = draw_gear_1 (mi, g);
+      g->polygons = draw_involute_gear (g, (wire_p && debug_p ? 2 : wire_p));
       glEndList ();
     }
 
@@ -1965,7 +1096,7 @@ draw_gear (ModeInfo *mi, int which)
   glPushName (g->id);
 
   if (! visible_p)
-    mi->polygon_count += draw_gear_schematic (mi, g);
+    mi->polygon_count += draw_involute_schematic (g, wire_p);
   else
     {
       glCallList (g->dlist);
index abcfca9160ea1dc4144fd71f0106ce0e3f2703a9..ec7589d15f4fc7e4b6d2a54076706ce1c8cead23 100644 (file)
@@ -1,4 +1,4 @@
-/* tube, Copyright (c) 2001, 2003 Jamie Zawinski <jwz@jwz.org>
+/* tube, Copyright (c) 2001, 2003, 2007 Jamie Zawinski <jwz@jwz.org>
  * Utility functions to create tubes and cones in GL.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
 
 #include "tube.h"
 
-static void
+static int
 unit_tube (int faces, int smooth, int caps_p, int wire_p)
 {
   int i;
+  int polys = 0;
   GLfloat step = M_PI * 2 / faces;
   GLfloat s2 = step/2;
   GLfloat th;
@@ -75,6 +76,7 @@ unit_tube (int faces, int smooth, int caps_p, int wire_p)
           glVertex3f(x, 1, y);
           glVertex3f(x, 0, y);
         }
+      polys++;
     }
   glEnd();
 
@@ -93,16 +95,19 @@ unit_tube (int faces, int smooth, int caps_p, int wire_p)
             GLfloat y = sin (th);
             glVertex3f(x, z, y);
             th += step;
+            polys++;
           }
         glEnd();
       }
+  return polys;
 }
 
 
-static void
+static int
 unit_cone (int faces, int smooth, int cap_p, int wire_p)
 {
   int i;
+  int polys = 0;
   GLfloat step = M_PI * 2 / faces;
   GLfloat s2 = step/2;
   GLfloat th;
@@ -135,6 +140,7 @@ unit_cone (int faces, int smooth, int cap_p, int wire_p)
 
       if (smooth) glNormal3f(x, 0, y);
       glVertex3f(x, 0, y);
+      polys++;
     }
   glEnd();
 
@@ -152,13 +158,15 @@ unit_cone (int faces, int smooth, int cap_p, int wire_p)
           GLfloat y = sin (th);
           glVertex3f(x, 0, y);
           th += step;
+          polys++;
         }
       glEnd();
     }
+  return polys;
 }
 
 
-static void
+static int
 tube_1 (GLfloat x1, GLfloat y1, GLfloat z1,
         GLfloat x2, GLfloat y2, GLfloat z2,
         GLfloat diameter, GLfloat cap_size,
@@ -166,6 +174,7 @@ tube_1 (GLfloat x1, GLfloat y1, GLfloat z1,
         int cone_p)
 {
   GLfloat length, X, Y, Z;
+  int polys = 0;
 
   if (diameter <= 0) abort();
 
@@ -174,7 +183,7 @@ tube_1 (GLfloat x1, GLfloat y1, GLfloat z1,
   Z = (z2 - z1);
 
   if (X == 0 && Y == 0 && Z == 0)
-    return;
+    return 0;
 
   length = sqrt (X*X + Y*Y + Z*Z);
 
@@ -194,33 +203,34 @@ tube_1 (GLfloat x1, GLfloat y1, GLfloat z1,
     }
 
   if (cone_p)
-    unit_cone (faces, smooth, caps_p, wire_p);
+    polys = unit_cone (faces, smooth, caps_p, wire_p);
   else
-    unit_tube (faces, smooth, caps_p, wire_p);
+    polys = unit_tube (faces, smooth, caps_p, wire_p);
 
   glPopMatrix();
+  return polys;
 }
 
 
-void
+int
 tube (GLfloat x1, GLfloat y1, GLfloat z1,
       GLfloat x2, GLfloat y2, GLfloat z2,
       GLfloat diameter, GLfloat cap_size,
       int faces, int smooth, int caps_p, int wire_p)
 {
-  tube_1 (x1, y1, z1, x2, y2, z2, diameter, cap_size,
-          faces, smooth, caps_p, wire_p,
-          0);
+  return tube_1 (x1, y1, z1, x2, y2, z2, diameter, cap_size,
+                 faces, smooth, caps_p, wire_p,
+                 0);
 }
 
 
-void
+int
 cone (GLfloat x1, GLfloat y1, GLfloat z1,
       GLfloat x2, GLfloat y2, GLfloat z2,
       GLfloat diameter, GLfloat cap_size,
       int faces, int smooth, int cap_p, int wire_p)
 {
-  tube_1 (x1, y1, z1, x2, y2, z2, diameter, cap_size,
-          faces, smooth, cap_p, wire_p,
-          1);
+  return tube_1 (x1, y1, z1, x2, y2, z2, diameter, cap_size,
+                 faces, smooth, cap_p, wire_p,
+                 1);
 }
index b8b0ed5d3a431ed32a13cda9c4bb61b6e814a50f..e3fff59298e68f1a5a33be1d1aa981ba9ba74498 100644 (file)
@@ -1,4 +1,4 @@
-/* tube, Copyright (c) 2001, 2003 Jamie Zawinski <jwz@jwz.org>
+/* tube, Copyright (c) 2001, 2003, 2007 Jamie Zawinski <jwz@jwz.org>
  * Utility functions to create tubes and cones in GL.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
 #ifndef __TUBE_H__
 #define __TUBE_H__
 
-extern void tube (GLfloat x1, GLfloat y1, GLfloat z1,
-                  GLfloat x2, GLfloat y2, GLfloat z2,
-                  GLfloat diameter, GLfloat cap_size,
-                  int faces, int smooth, int caps_p, int wire_p);
+/* Renders a tube along the line described by the two points.
+   Returns the number of polygons used.
+ */
+extern int tube (GLfloat x1, GLfloat y1, GLfloat z1,
+                 GLfloat x2, GLfloat y2, GLfloat z2,
+                 GLfloat diameter, GLfloat cap_size,
+                 int faces, int smooth, int caps_p, int wire_p);
 
-extern void cone (GLfloat x1, GLfloat y1, GLfloat z1,
-                  GLfloat x2, GLfloat y2, GLfloat z2,
-                  GLfloat diameter, GLfloat cap_size,
-                  int faces, int smooth, int cap_p,  int wire_p);
+/* Renders a cone along the line described by the two points.
+   Returns the number of polygons used.
+ */
+extern int cone (GLfloat x1, GLfloat y1, GLfloat z1,
+                 GLfloat x2, GLfloat y2, GLfloat z2,
+                 GLfloat diameter, GLfloat cap_size,
+                 int faces, int smooth, int cap_p,  int wire_p);
 
 #endif /* __TUBE_H__ */
index c59e6ba81bfd01e0ebf9d52430598bebe4b31f6f..9680182931677a960a7694199c126f35e122f121 100644 (file)
 
 #ifdef USE_GL /* whole file */
 
-#define DEF_POINTS      "10"
+#define DEF_POINTS      "25"
 #define DEF_POINT_SIZE  "9"
 #define DEF_POINT_SPEED "1"
-#define DEF_POINT_DELAY "0.1"
+#define DEF_POINT_DELAY "0.05"
 #define DEF_ZOOM_SPEED  "1"
-#define DEF_ZOOM_DELAY  "10"
+#define DEF_ZOOM_DELAY  "15"
 
 typedef struct node {
   GLfloat x, y;
@@ -275,6 +275,7 @@ draw_cells (ModeInfo *mi)
           glColor4fv (nn->color2);
           glVertex2f (nn->x, nn->y);
           glEnd();
+          mi->polygon_count++;
         }
     }
   else
@@ -304,6 +305,7 @@ draw_cells (ModeInfo *mi)
               glVertex2f ( 0.2, 0);
               glEnd ();
               glRotatef (360.0/5, 0, 0, 1);
+              mi->polygon_count++;
             }
           glPopMatrix();
         }
@@ -464,17 +466,11 @@ init_voronoi (ModeInfo *mi)
 
   if (point_size < 0) point_size = 10;
 
-  vp->ncolors = 64;
+  vp->ncolors = 128;
   vp->colors = (XColor *) calloc (vp->ncolors, sizeof(XColor));
-#if 0
-  make_random_colormap (0, 0, 0,
-                        vp->colors, &vp->ncolors,
-                        True, False, 0, False);
-#else
   make_smooth_colormap (0, 0, 0,
                         vp->colors, &vp->ncolors,
                         False, False, False);
-#endif
 
   reshape_voronoi (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
 
@@ -496,10 +492,10 @@ draw_voronoi (ModeInfo *mi)
 
   glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(vp->glx_context));
 
-  glShadeModel(GL_SMOOTH);
+  glShadeModel(GL_FLAT);
   glEnable(GL_POINT_SMOOTH);
-  glEnable(GL_LINE_SMOOTH);
-  glEnable(GL_POLYGON_SMOOTH);
+/*  glEnable(GL_LINE_SMOOTH);*/
+/*  glEnable(GL_POLYGON_SMOOTH);*/
 
   glEnable (GL_DEPTH_TEST);
   glDepthFunc (GL_LEQUAL);
index 4941ae2803433ca00835dda526f719f970184cc0..021fe1d716c1aff13b1500b851a502572e258a8c 100644 (file)
  * Also added gradual acceleration of the ball, shrinking of paddles, and
  * scorekeeping.
  *
+ * Modified by Gereon Steffens <gereon@steffens.org> to add -clock and -noise
+ * options. See http://www.burovormkrijgers.nl (ugly flash site, 
+ * navigate to Portfolio/Browse/Misc/Pong Clock) for the hardware implementation 
+ * that gave me the idea. In clock mode, the score reflects the current time, and 
+ * the paddles simply stop moving when it's time for the other side to score. This 
+ * means that the display is only updated a few seconds *after* the minute actually 
+ * changes, but I think this fuzzyness fits well with the display, and since we're
+ * not displaying seconds, who cares. While I was at it, I added a -noise option
+ * to control the noisyness of the display.
+ *
  * 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
@@ -65,12 +75,15 @@ struct state {
   Display *dpy;
   Window window;
 
+  int clock;
+
   Paddle l_paddle;
   Paddle r_paddle;
   Ball ball;
   int bx,by;
   int m_unit;
   int paddle_rate;
+  double noise;
 
   analogtv *tv;
   analogtv_input *inp;
@@ -100,6 +113,25 @@ hit_top_bottom(struct state *st)
     st->by=-st->by;
 }
 
+static void
+reset_score(struct state * st)
+{
+  if (st->clock)
+  {
+    /* init score to current time */
+    time_t now = time(0);
+    struct tm* now_tm = localtime(&now);
+
+    st->r_paddle.score = now_tm->tm_hour;
+    st->l_paddle.score = now_tm->tm_min;
+  }
+  else
+  {
+    st->r_paddle.score = 0;
+    st->l_paddle.score = 0;
+  }
+}
+
 static void
 new_game(struct state *st)
 {
@@ -119,8 +151,7 @@ new_game(struct state *st)
   st->r_paddle.wait = 0;
   st->r_paddle.lock = 0;
   st->paddle_rate = st->m_unit-1;
-  st->r_paddle.score = 0;
-  st->l_paddle.score = 0;
+  reset_score(st);
 
   st->l_paddle.h = PONG_H/4;
   st->r_paddle.h = PONG_H/4;
@@ -167,11 +198,18 @@ hit_paddle(struct state *st)
         }
       else
         {
-          st->r_paddle.score++;
-          if (st->r_paddle.score >=10)
-                new_game(st);
-          else 
-          start_game(st);
+          if (st->clock)
+          {
+            reset_score(st);
+          }
+          else
+          {
+            st->r_paddle.score++;
+            if (st->r_paddle.score >=10)
+              new_game(st);
+            else 
+              start_game(st);
+          }
         }
     }
 
@@ -189,11 +227,18 @@ hit_paddle(struct state *st)
         }
       else
         {
-          st->l_paddle.score++;
-          if (st->l_paddle.score >= 10)
-                new_game(st);
+          if (st->clock)
+          {
+            reset_score(st);
+          }
           else
-          start_game(st);
+          {
+            st->l_paddle.score++;
+            if (st->l_paddle.score >= 10)
+              new_game(st);
+            else
+              start_game(st);
+          }
         }
     }
 }
@@ -202,89 +247,230 @@ static void *
 pong_init (Display *dpy, Window window)
 {
   struct state *st = (struct state *) calloc (1, sizeof(*st));
+
+  int i;
+  struct {
+    int w, h;
+    char *s[10];
+  } fonts[2] = { 
+    { /* regular pong font */
+      /* If you think we haven't learned anything since the early 70s,
+         look at this font for a while */
+      4, 6, 
+        { 
+            "****"
+            "*  *"
+            "*  *"
+            "*  *"
+            "*  *"
+            "****",
+
+            "   *"
+            "   *"
+            "   *"
+            "   *"
+            "   *"
+            "   *",
+
+            "****"
+            "   *"
+            "****"
+            "*   "
+            "*   "
+            "****",
+
+            "****"
+            "   *" 
+            "****"
+            "   *"
+            "   *"
+            "****",
+
+            "*  *"
+            "*  *"
+            "****"
+            "   *"
+            "   *"
+            "   *",
+
+            "****"
+            "*   "
+            "****"
+            "   *"
+            "   *"
+            "****",
+
+            "****"
+            "*   "
+            "****"
+            "*  *"
+            "*  *"
+            "****",
+
+            "****"
+            "   *"
+            "   *"
+            "   *"
+            "   *"
+            "   *",
+
+            "****"
+            "*  *"
+            "****"
+            "*  *"
+            "*  *"
+            "****",
+
+            "****"
+            "*  *"
+            "****"
+            "   *"
+            "   *"
+            "   *"
+        } 
+    },
+    { /* pong clock font - hand-crafted double size looks better */
+      8, 12, 
+        {
+            "####### "
+            "####### "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "####### "
+            "####### ",
+            
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   "
+            "   ##   ",
+
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "####### "
+            "####### "
+            "##      "
+            "##      "
+            "##      "
+            "####### "
+            "####### ",
+
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "     ## "
+            "####### "
+            "####### ",
+
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## ",
+
+            "####### "
+            "####### "
+            "##      "
+            "##      "
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "     ## "
+            "####### "
+            "####### ",
+
+            "####### "
+            "####### "
+            "##      "
+            "##      "
+            "####### "
+            "####### "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "####### "
+            "####### ",
+
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## "
+            "     ## " 
+            "     ## ",
+
+            "####### "
+            "####### "
+            "##   ## "
+            "##   ## "
+            "####### "
+            "####### "
+            "##   ## "
+            "##   ## "
+            "##   ## "
+            "####### "
+            "####### ",
+
+            "####### "
+            "####### "
+            "##   ## "
+            "##   ## "
+            "####### "
+            "####### "
+            "     ## "
+            "     ## "
+            "     ## "
+            "####### "
+            "####### "
+
+        }
+    }
+  };
+
   st->dpy = dpy;
   st->window = window;
   st->tv=analogtv_allocate(st->dpy, st->window);
   analogtv_set_defaults(st->tv, "");
 
-  analogtv_make_font(st->dpy, st->window, &st->score_font,
-                     4, 6, NULL );
-
-  /* If you think we haven't learned anything since the early 70s,
-     look at this font for a while */
-  analogtv_font_set_char(&st->score_font, '0',
-                        "****"
-                        "*  *"
-                        "*  *"
-                        "*  *"
-                        "*  *"
-                        "****");
-  analogtv_font_set_char(&st->score_font, '1',
-                        "   *"
-                        "   *"
-                        "   *"
-                        "   *"
-                        "   *"
-                        "   *");
-  analogtv_font_set_char(&st->score_font, '2',
-                        "****"
-                        "   *"
-                        "****"
-                        "*   "
-                        "*   "
-                        "****");
-  analogtv_font_set_char(&st->score_font, '3',
-                        "****"
-                        "   *"
-                        "****"
-                        "   *"
-                        "   *"
-                        "****");
-  analogtv_font_set_char(&st->score_font, '4',
-                        "*  *"
-                        "*  *"
-                        "****"
-                        "   *"
-                        "   *"
-                        "   *");
-  analogtv_font_set_char(&st->score_font, '5',
-                        "****"
-                        "*   "
-                        "****"
-                        "   *"
-                        "   *"
-                        "****");
-  analogtv_font_set_char(&st->score_font, '6',
-                        "****"
-                        "*   "
-                        "****"
-                        "*  *"
-                        "*  *"
-                        "****");
-  analogtv_font_set_char(&st->score_font, '7',
-                        "****"
-                        "   *"
-                        "   *"
-                        "   *"
-                        "   *"
-                        "   *");
-  analogtv_font_set_char(&st->score_font, '8',
-                        "****"
-                        "*  *"
-                        "****"
-                        "*  *"
-                        "*  *"
-                        "****");
-  analogtv_font_set_char(&st->score_font, '9',
-                        "****"
-                        "*  *"
-                        "****"
-                        "   *"
-                        "   *"
-                        "   *");
-
-  st->score_font.y_mult *= 2;
-  st->score_font.x_mult *= 2;
+
+  st->clock  = get_boolean_resource(st->dpy, "clock", "Boolean");
+
+  analogtv_make_font(st->dpy, st->window, &st->score_font, 
+                     fonts[st->clock].w, fonts[st->clock].h, NULL);
+
+  for (i=0; i<10; ++i)
+  {
+    analogtv_font_set_char(&st->score_font, '0'+i, fonts[st->clock].s[i]);
+  }
 
 #ifdef OUTPUT_POS
   printf("screen(%d,%d,%d,%d)\n",0,0,PONG_W,PONG_H);
@@ -323,6 +509,16 @@ pong_init (Display *dpy, Window window)
   st->ball.h = 8;
 
   st->m_unit = get_integer_resource (st->dpy, "speed", "Integer");
+  st->noise  = get_float_resource(st->dpy, "noise", "Float");
+  st->clock  = get_boolean_resource(st->dpy, "clock", "Boolean");
+
+  if (!st->clock)
+  {
+    st->score_font.y_mult *= 2;
+    st->score_font.x_mult *= 2;
+  }
+
+  reset_score(st);
 
   start_game(st);
 
@@ -442,17 +638,20 @@ paint_score(struct state *st)
 {
   char buf[256];
 
+  char* fmt = (st->clock ? "%02d" : "%d");
+
   analogtv_draw_solid(st->inp,
                       ANALOGTV_VIS_START, ANALOGTV_VIS_END,
                       ANALOGTV_TOP, ANALOGTV_TOP + 10+ st->score_font.char_h * st->score_font.y_mult,
                       st->field_ntsc);
 
-  sprintf(buf, "%d",st->r_paddle.score%256);
+
+  sprintf(buf, fmt ,st->r_paddle.score%256);
   analogtv_draw_string(st->inp, &st->score_font, buf,
                        ANALOGTV_VIS_START + 130, ANALOGTV_TOP + 8,
                        st->score_ntsc);
 
-  sprintf(buf, "%d",st->l_paddle.score%256);
+  sprintf(buf, fmt, st->l_paddle.score%256);
   analogtv_draw_string(st->inp, &st->score_font, buf,
                        ANALOGTV_VIS_END - 200, ANALOGTV_TOP + 8,
                        st->score_ntsc);
@@ -479,13 +678,34 @@ static unsigned long
 pong_draw (Display *dpy, Window window, void *closure)
 {
   struct state *st = (struct state *) closure;
+
+  if (st->clock)
+  {
+    time_t now = time(0);
+    struct tm* tm_now = localtime(&now);
+
+    if (st->r_paddle.score != tm_now->tm_hour)
+    {
+      /* l paddle must score */
+      st->r_paddle.wait = 1;
+    }
+    else if (st->l_paddle.score != tm_now->tm_min)
+    {
+      /* r paddle must score */
+      st->l_paddle.wait = 1;
+    }
+  }
   erase_ball(st);
 
   st->ball.x += st->bx;
   st->ball.y += st->by;
 
-  if ((random()%40)==0) {
-    if (st->bx>0) st->bx++; else st->bx--;
+  if (!st->clock)
+  {
+    /* in non-clock mode, occasionally increase ball speed */
+    if ((random()%40)==0) {
+      if (st->bx>0) st->bx++; else st->bx--;
+    }
   }
 
   if (!st->r_paddle.wait)
@@ -517,7 +737,7 @@ pong_draw (Display *dpy, Window window, void *closure)
   }
   if (1) paint_ball(st);
 
-  analogtv_init_signal(st->tv, 0.04);
+  analogtv_init_signal(st->tv, st->noise);
   analogtv_reception_update(&st->reception);
   analogtv_add_signal(st->tv, &st->reception);
   analogtv_draw(st->tv);
@@ -531,6 +751,8 @@ static const char *pong_defaults [] = {
   ".background: black",
   ".foreground: white",
   "*speed:      6",
+  "*noise:      0.04",
+  "*clock:      false",
   ANALOGTV_DEFAULTS
   "*TVContrast:      150",
   0
@@ -538,6 +760,8 @@ static const char *pong_defaults [] = {
 
 static XrmOptionDescRec pong_options [] = {
   { "-speed",           ".speed",     XrmoptionSepArg, 0 },
+  { "-noise",           ".noise",     XrmoptionSepArg, 0 },
+  { "-clock",           ".clock",     XrmoptionNoArg, "true" },
   ANALOGTV_OPTIONS
   { 0, 0, 0, 0 }
 };
@@ -564,4 +788,4 @@ pong_free (Display *dpy, Window window, void *closure)
   free (st);
 }
 
-XSCREENSAVER_MODULE ("Pong", pong)
+XSCREENSAVER_MODULE ("pong", pong)
index 4cb4af096c56079e65ce6fe0eb78e95fac0fee6c..e35c47d2db15bdbc33de3839d49372f28362861b 100644 (file)
@@ -6,6 +6,8 @@ pong - Pong Home Video Game Emulator
 [\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP]
 [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install]
 [\-visual \fIvisual\fP]
+[\-clock \fIfloat\fP]
+[\-noise]
 .SH DESCRIPTION
 The
 .I pong 
@@ -30,6 +32,12 @@ Install a private colormap for the window.
 .B \-visual \fIvisual\fP
 Specify which visual to use.  Legal values are the name of a visual class,
 or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-clock
+The score of the game will be the current time.
+.TP 8
+.B \-noise \fIfloat\fP
+How noisy the video signal should be (between 0.0 and 4.0 or so).
 .SH ENVIRONMENT
 .PP
 .TP 8
index c4b56391d2044ab9edd07a7953e67d06ab21be9e..6fb0afb7e0734c08f93b512a84e8fa40d7e45db2 100644 (file)
@@ -87,22 +87,26 @@ static void random_colors(struct state *st);
 
 /* why strip bit? */
 #define R (random()&((1<<30)-1))
+#define BELLRAND(x) (((random()%(x)) + (random()%(x)) + (random()%(x)))/3)
 
 /* returns number of pixels that the pixack produces.  called once. */
 static void
 pixack_init(struct state *st, int *size_h, int *size_v) 
 {
-  int sz_base;
-  st->width = get_integer_resource (st->dpy, "width", "Integer");
+  st->width  = get_integer_resource (st->dpy, "width",  "Integer");
   st->height = get_integer_resource (st->dpy, "height", "Integer");
-  sz_base = 80 + (R%40);
-  if (st->width <= 0) st->width = (R%20) ? sz_base : (28 + R%10);
-  if (st->height <= 0) st->height = (R%20) ? sz_base : (28 + R%10);
+
+  if (st->width <= 0 && st->height <= 0 && (R & 1))
+    st->width = st->height = 48 + BELLRAND(256);
+
+  if (st->width  <= 0) st->width  = 48 + BELLRAND(256);
+  if (st->height <= 0) st->height = 48 + BELLRAND(256);
 
   /* jwz: when (and only when) XSHM is in use on an SGI 8-bit visual,
      we get shear unless st->width is a multiple of 4.  I don't understand
      why.  This is undoubtedly the wrong fix... */
-  st->width &= ~0x7;
+  if (visual_depth (st->xgwa.screen, st->xgwa.visual) == 8)
+    st->width &= ~0x7;
 
   /* don't go there */
   if (st->width < 10) st->width = 10;
index 9d76d1ab64d41c7bb37e63054c6e6c43edf81a08..2afbeb61d5160799743c5c8f873f825b0f986fb2 100755 (executable)
@@ -60,21 +60,28 @@ use bytes;  # Larry can take Unicode and shove it up his ass sideways.
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.135 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.140 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
 my $copyright = "WebCollage $version, Copyright (c) 1999-2005" .
     " Jamie Zawinski <jwz\@jwz.org>\n" .
     "            http://www.jwz.org/webcollage/\n";
 
 
 
-my @search_methods = (  56, "altavista",    \&pick_from_alta_vista_random_link,
-                        11, "livejournal",  \&pick_from_livejournal_images,
-                         5, "yahoorand",    \&pick_from_yahoo_random_link,
-                        10, "googlephotos", \&pick_from_google_image_photos,
-                         5, "googleimgs",   \&pick_from_google_images,
-                         3, "googlenums",   \&pick_from_google_image_numbers,
-                         2, "flickr_recent", \&pick_from_flickr_recent,
-                         8, "flickr_random", \&pick_from_flickr_random,
+my @search_methods = ( 20, "googlephotos",  \&pick_from_google_image_photos,
+                       11, "googleimgs",    \&pick_from_google_images,
+                       11, "googlenums",    \&pick_from_google_image_numbers,
+                       20, "altavista",     \&pick_from_alta_vista_random_link,
+                       13, "flickr_recent", \&pick_from_flickr_recent,
+                       10, "flickr_random", \&pick_from_flickr_random,
+                        9, "livejournal",   \&pick_from_livejournal_images,
+                        6, "yahoorand",     \&pick_from_yahoo_random_link,
+
+                     # This is a cute way to search for a certain webcams.
+                     # Not included in default methods, since these images
+                     # aren't terribly interesting by themselves.
+                     # See also "SurveillanceSaver".
+                     #
+                        0, "securitycam",   \&pick_from_security_camera,
 
                      # In Apr 2002, Google asked me to stop searching them.
                      # I asked them to add a "random link" url.  They said
@@ -396,16 +403,17 @@ sub get_document_1($$$) {
 
       if ($url =~ m@^http://www\.altavista\.com/@ ||
           $url =~ m@^http://random\.yahoo\.com/@ ||
-          $url =~ m@^http://images\.google\.com/@) {
+          $url =~ m@^http://images\.google\.com/@ ||
+          $url =~ m@^http://www\.google\.com/@) {
         # block this, you turkeys.
-        $user_agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5)" .
-          " Gecko/20041111 Firefox/1.0";
+        $user_agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.7)" .
+          " Gecko/20070914 Firefox/2.0.0.7";
 
         # 28-Jun-2007: Google Images now emits the entire page in JS if
         # you claim to be Gecko.  They also still block "webcollage".
         # They serve non-JS for unrecognised agents, so let's try this...
         $user_agent = "NoJavascriptPlease/1.0"
-          if ($url =~ m@^http://images\.google\.com/@);
+          if ($url =~ m@^http://[a-z]+\.google\.com/@);
       }
 
       my $hdrs = "GET " . ($http_proxy ? $url : "/$path") . " HTTP/1.0\r\n" .
@@ -1189,6 +1197,7 @@ sub pick_from_yahoo_random_link($) {
 ############################################################################
 #
 # Pick images from random pages returned by the Alta Vista Random Link
+# Note: this seems to have gotten a *lot* less random lately (2007).
 #
 ############################################################################
 
@@ -1287,6 +1296,55 @@ sub pick_from_alta_vista_images($) {
 }
 
 
+\f
+############################################################################
+#
+# Pick images from Aptix security cameras
+# Cribbed liberally from google image search code.
+# By Jason Sullivan <jasonsul@us.ibm.com>
+#
+############################################################################
+
+my $aptix_images_url = ("http://www.google.com/search" .
+                        "?q=inurl:%22jpg/image.jpg%3Fr%3D%22");
+
+# securitycam
+sub pick_from_security_camera($) {
+  my ($timeout) = @_;
+
+  my $page = (int(rand(9)) + 1);
+  my $num = 20;                                        # 20 images per page
+  my $search_url = $aptix_images_url;
+
+  if ($page > 1) {
+    $search_url .= "&start=" . $page*$num;     # page number
+    $search_url .= "&num="   . $num;           #images per page
+  }
+
+  my ($search_hit_count, @subpages) =
+    pick_from_search_engine ($timeout, $search_url, '');
+
+  my @candidates = ();
+  my %referers;
+  foreach my $u (@subpages) {
+    next if ($u =~ m@[/.]google\.com\b@i);        # skip google builtins (most links)
+    next unless ($u =~ m@jpg/image.jpg\?r=@i);    #  All pics contain this
+
+    LOG ($verbose_filter, "  candidate: $u");
+    push @candidates, $u;
+    $referers{$u} = $u;
+    }
+
+  @candidates = depoison (@candidates);
+  return () if ($#candidates < 0);
+  my $i = int(rand($#candidates+1));
+  my $img = $candidates[$i];
+  my $ref = $referers{$img};
+
+  LOG ($verbose_load, "picked image " . ($i+1) . ": $img (on $ref)");
+  return ($ref, $img);
+}
+
 \f
 ############################################################################
 #
@@ -2283,8 +2341,9 @@ sub report_performance() {
     my $suc = $stats_successes{$name} || 0;
     my $pct = int($suc * 100 / $try);
     my $secs = $stats_elapsed{$name};
-    my $secs_link = int($secs / $try);
-    print STDERR sprintf ("$blurb   %-12s %4s (%d/%d);\t %2d secs/link\n",
+    my $secs_link = $secs / $try;
+    print STDERR sprintf ("$blurb %-14s %4s (%d/%d);" .
+                          "       \t %.1f secs/link\n",
                           "$name:", "$pct%", $suc, $try, $secs_link);
   }
 }
index b7af5b1e1ac8c4e06b71a1e540d07e73bb690cea..ddaac1daf9a5464165b5371a4b68edc88da6dc8e 100644 (file)
@@ -191,6 +191,7 @@ typedef struct {
   int grid_width, grid_height;
   int char_width, char_height;
   m_cell *cells;
+  m_cell *background;
   m_feeder *feeders;
   int nspinners;
   Bool knock_knock_p;
@@ -198,17 +199,23 @@ typedef struct {
   Bool insert_top_p, insert_bottom_p;
   Bool use_pipe_p;
   m_mode mode;
+  m_mode def_mode; /* Mode to return to after trace etc. */
 
   pid_t pid;
   FILE *pipe;
   XtInputId pipe_id;
   Bool input_available_p;
   Time subproc_relaunch_delay;
-  char buf [BUF_SIZE*2+1]; /* twice because this is a ring buffer */
+  char buf [BUF_SIZE*2+1]; /* ring buffer */
 
   Bool do_fill_buff;
   int buf_done;
   int buf_pos;
+  Bool start_reveal_back_p; /* start reveal process for pipe */
+  Bool back_text_full_p; /* is the pipe buffer (background) full ? */
+  char back_line [BUF_SIZE*2+1]; /* line buffer for background */
+  int back_pos; /* background line buffer position */
+  int back_y;
 
   signed char *tracing;
   int density;
@@ -370,32 +377,38 @@ static void
 fill_input (m_state *s)
 {
   XtAppContext app = XtDisplayToApplicationContext (s->dpy);
-  int n;
-
+  int n = 0;
+  int loadBytes;
+  if(s->buf_done > s->buf_pos){
+    loadBytes = (s->buf_done - s->buf_pos) - 1;
+  }
+  else{
+    loadBytes = ((BUF_SIZE - s->buf_pos) + s->buf_done) - 1;
+  }
   if (! s->pipe) return;
   if (! s->input_available_p) return;
   s->input_available_p = False;
 
+  if (loadBytes > 0){
   n = read (fileno (s->pipe),
             (void *) (s->buf+s->buf_pos),
-            BUF_SIZE);
+            loadBytes);
+  }
   if (n > 0)
     {
-      if (n == BUF_SIZE){
-        /* if one read wasn't enough to fill the whole buffer, then 
-           read again. This might need some work if it's too intensive. */
         s->do_fill_buff = False;
-      }
       s->buf_pos = (s->buf_pos + n);
       if(s->buf_pos > BUF_SIZE){
-        /* just in case areas overlap */
+        /* copy to start of buffer */
+        /* areas shouldn't overlap, but just in case, use memmove */
         memmove(s->buf,s->buf+BUF_SIZE,s->buf_pos-BUF_SIZE);
       }
       s->buf_pos = s->buf_pos % BUF_SIZE;
-      /*      s->input_available_p = True;*/
     }
   else
     {
+      /* Couldn't read anything from the buffer */
+      /* Assume EOF has been reached, so start again */
       s->do_fill_buff = True;
       XtRemoveInput (s->pipe_id);
       s->pipe_id = 0;
@@ -547,7 +560,6 @@ init_drain (m_state *state)
       f->y = -1;
       f->remaining = 0;
       f->throttle = 0;
-      f->pipe_loc = BUF_SIZE-1;
     }
 
   /* Turn off all the spinners, else they never go away. */
@@ -710,6 +722,8 @@ xmatrix_init (Display *dpy, Window window)
 
   state->cells = (m_cell *)
     calloc (sizeof(m_cell), state->grid_width * state->grid_height);
+  state->background = (m_cell *)
+    calloc (sizeof(m_cell), state->grid_width * state->grid_height);
   state->feeders = (m_feeder *) calloc (sizeof(m_feeder), state->grid_width);
 
   state->density = get_integer_resource (dpy, "density", "Integer");
@@ -748,42 +762,59 @@ xmatrix_init (Display *dpy, Window window)
   state->knock_knock_p = get_boolean_resource (dpy, "knockKnock", "KnockKnock");
 
   state->use_pipe_p = get_boolean_resource (dpy, "usePipe", "Boolean");
+  state->buf_pos = 1;
+  state->buf[0] = ' '; /* spacer byte in buffer (space) */
   state->buf_done = 0;
   state->do_fill_buff = True;
-
-  launch_text_generator (state);
+  state->start_reveal_back_p = False;
+  state->back_text_full_p = False;
+  state->back_y = 0;
+  state->back_pos = 0;
 
   state->mode = -1;
+  state->def_mode = MATRIX;
   mode = get_string_resource (dpy, "mode", "Mode");
   if (mode && !strcasecmp(mode, "trace"))
     set_mode (state, ((random() % 3) ? TRACE_TEXT_A : TRACE_TEXT_B));
   else if (mode && !strcasecmp(mode, "crack"))
     set_mode (state, DRAIN_NMAP);
-  else if (mode && !strcasecmp(mode, "dna"))
+  else if (mode && !strcasecmp(mode, "dna")){
     set_mode (state, DNA);
+    state->def_mode = DNA;
+  }
   else if (mode && (!strcasecmp(mode, "bin") ||
-                    !strcasecmp(mode, "binary")))
+                    !strcasecmp(mode, "binary"))){
     set_mode (state, BINARY);
+    state->def_mode = BINARY;
+  }
   else if (mode && (!strcasecmp(mode, "hex") ||
-                    !strcasecmp(mode, "hexadecimal")))
+                    !strcasecmp(mode, "hexadecimal"))){
     set_mode (state, HEX);
+    state->def_mode = HEX;
+  }
   else if (mode && (!strcasecmp(mode, "dec") ||
-                    !strcasecmp(mode, "decimal")))
+                    !strcasecmp(mode, "decimal"))){
     set_mode (state, DEC);
+    state->def_mode = DEC;
+  }
   else if (mode && (!strcasecmp(mode, "asc") ||
-                    !strcasecmp(mode, "ascii")))
+                    !strcasecmp(mode, "ascii"))){
     set_mode (state, ASCII);
-  else if (!mode || !*mode || !strcasecmp(mode, "matrix"))
-    set_mode (state, MATRIX);
-  else if (!mode || !*mode || !strcasecmp(mode, "pipe"))
+    state->def_mode = ASCII;
+  }
+  else if (mode && !strcasecmp(mode, "pipe"))
     {
       set_mode (state, ASCII);
+      state->def_mode = ASCII;
       state->use_pipe_p = True;
+      launch_text_generator (state);
     }
+  else if (!mode || !*mode || !strcasecmp(mode, "matrix"))
+    set_mode (state, MATRIX);
   else
     {
       fprintf (stderr, "%s: `mode' must be ",progname);
-      fprintf (stderr, "matrix, trace, dna, binary, ascii, or hex: ");
+      fprintf (stderr, "matrix, trace, dna, binary, ascii, hex, or pipe: ");
       fprintf (stderr, "not `%s'\n", mode);
       set_mode (state, MATRIX);
     }
@@ -803,7 +834,6 @@ insert_glyph (m_state *state, int glyph, int x, int y)
 {
   Bool bottom_feeder_p = (y >= 0);
   m_cell *from, *to;
-
   if (y >= state->grid_height)
     return;
 
@@ -836,6 +866,59 @@ insert_glyph (m_state *state, int glyph, int x, int y)
 }
 
 
+static void
+place_back_char (m_state *state, char textc, int x, int y){
+  if((x>=0) && (y>=0) &&
+     (x < state->grid_width) && (y < state->grid_height)){
+    m_cell *celltmp = &state->background[state->grid_width * y + x];
+    celltmp -> glyph = char_map[(unsigned char)textc] + 1;
+    if(!celltmp->glyph || (celltmp->glyph == 3)){
+      celltmp -> glyph = char_map[32] + 1; 
+    }
+    celltmp -> changed = 1;
+  } 
+}
+
+static void
+place_back_text (m_state *state, char *text, int x, int y){
+  int i;
+  for(i=0; i<strlen(text); i++){
+    place_back_char(state, text[i], x+i, y);
+  }
+}
+
+static void
+place_back_pipe (m_state *state, char textc){
+  Bool new_line = False;
+  /* gringer pipe insert */
+  state->back_line[state->back_pos] = textc;
+  if(textc == '\n'){
+    state->back_line[state->back_pos] = '\0';
+    new_line = True;
+  }
+  else if ((state->back_pos > (state->grid_width - 4)) || 
+           (state->back_pos >= BUF_SIZE)){ /* off by 1? */
+    state->back_line[++state->back_pos] = '\0';
+    new_line = True;
+  }
+  else{
+    state->back_pos++;
+  }
+  if(new_line){
+    int startx = (state->grid_width >> 1) - 
+      (strlen(state->back_line) >> 1);
+    place_back_text(state, state->back_line, 
+                    startx, state->back_y);
+    state->back_pos = 0;
+    state->back_y++;
+    if(state->back_y >= (state->grid_height - 1)){
+      state->back_y = 1;
+      state->back_text_full_p = True;
+      state->start_reveal_back_p = True;
+    }
+  }
+}
+
 static void
 feed_matrix (m_state *state)
 {
@@ -894,14 +977,19 @@ feed_matrix (m_state *state)
     }
 
   /*get input*/
-  if(state->use_pipe_p){
+  if((state->use_pipe_p) && (!state->back_text_full_p)){
+    place_back_pipe(state, state->buf[state->buf_done]);
     state->buf_done = (state->buf_done + 1) % BUF_SIZE;
-    if(state->buf_done == 0){
+    if(state->buf_done == (state->buf_pos - 1)){
       state->do_fill_buff = True;
     }
-    if(state->do_fill_buff){
-      fill_input(state);
     }
+  if(state->buf_done == (state->buf_pos + 1)){
+    state->do_fill_buff = False;
+  }
+  else{
+    state->do_fill_buff = True;
+    fill_input(state);
   }
 
   /* Update according to current feeders. */
@@ -917,7 +1005,7 @@ feed_matrix (m_state *state)
         {
           int g;
           long rval;
-          if(state->use_pipe_p){
+          if((state->use_pipe_p) && (!state->back_text_full_p)){
             rval = (int) state->buf[f->pipe_loc];
             if(++f->pipe_loc > (BUF_SIZE-1)){
               f->pipe_loc = 0;
@@ -954,17 +1042,28 @@ redraw_cells (m_state *state, Bool active)
 {
   int x, y;
   int count = 0;
+  Bool use_back_p = False;
 
   for (y = 0; y < state->grid_height; y++)
     for (x = 0; x < state->grid_width; x++)
       {
         m_cell *cell = &state->cells[state->grid_width * y + x];
+        m_cell *back = &state->background[state->grid_width * y + x];
         Bool cursor_p = (state->cursor_on &&
                          x == state->cursor_x && 
                          y == state->cursor_y);
 
         if (cell->glyph)
           count++;
+        else {
+          if((state->start_reveal_back_p) && 
+             (back->glyph) && !(state->mode == TRACE_A || 
+                                state->mode == TRACE_B ||
+                                state->mode == TRACE_DONE)){
+            use_back_p = True;
+            cell = back;
+          }
+        }
 
         /* In trace-mode, the state of each cell is random unless we have
            a match for this digit. */
@@ -975,24 +1074,25 @@ redraw_cells (m_state *state, Bool active)
             int xx = x % strlen((char *) state->tracing);
             Bool dead_p = state->tracing[xx] > 0;
 
-            if (y == 0 && x == xx)
+            if (y == 0 && x == xx && !use_back_p)
               cell->glyph = (dead_p
                              ? state->glyph_map[state->tracing[xx]-'0'] + 1
                              : 0);
-            else if (y == 0)
+            else if (y == 0 && !use_back_p)
               cell->glyph = 0;
-            else
+            else if (!use_back_p)
               cell->glyph = (dead_p ? 0 :
                              (state->glyph_map[(random()%state->nglyphs)]
                               + 1));
-
+            if (!use_back_p)
             cell->changed = 1;
           }
 
         if (!cell->changed)
           continue;
 
-        if (cell->glyph == 0 && !cursor_p)
+
+        if (cell->glyph == 0 && !cursor_p && !use_back_p)
           XFillRectangle (state->dpy, state->window, state->erase_gc,
                           x * state->char_width,
                           y * state->char_height,
@@ -1015,10 +1115,10 @@ redraw_cells (m_state *state, Bool active)
                        x * state->char_width,
                        y * state->char_height);
           }
-
+        if (!use_back_p)
         cell->changed = 0;
 
-        if (cell->glow > 0 && state->mode != NMAP)
+        if (cell->glow > 0 && state->mode != NMAP && !use_back_p)
           {
             cell->glow--;
             cell->changed = 1;
@@ -1026,7 +1126,7 @@ redraw_cells (m_state *state, Bool active)
         else if (cell->glow < 0)
           abort();
 
-        if (cell->spinner && active)
+        if (cell->spinner && active && !use_back_p)
           {
             cell->glyph = (state->glyph_map[(random()%state->nglyphs)] + 1);
             cell->changed = 1;
@@ -1511,20 +1611,38 @@ xmatrix_draw (Display *dpy, Window window, void *closure)
       if (screen_blank_p (state))
         {
           state->typing_delay = 500000;
+          if(state->start_reveal_back_p){
+            m_cell *back, *to;
+            int x,y;
+            state->typing_delay = 5000000;
+            state->start_reveal_back_p = False;
+            state->back_text_full_p = False;
+            /* for loop to move background to foreground */
+            for (y = 0; y < state->grid_height; y++){
+              for (x = 0; x < state->grid_width; x++){
+                to = &state->cells[state->grid_width * y + x];
+                back = &state->background[state->grid_width * y + x];
+                to->glyph = back->glyph;
+                to->changed = back->changed;
+                back->glyph = 0;
+                back->changed = 0;
+              }
+            }
+          }
           switch (state->mode)
             {
             case DRAIN_TRACE_A: set_mode (state, TRACE_TEXT_A); break;
             case DRAIN_TRACE_B: set_mode (state, TRACE_TEXT_B); break;
             case DRAIN_KNOCK:   set_mode (state, KNOCK);        break;
             case DRAIN_NMAP:    set_mode (state, NMAP);         break;
-            case DRAIN_MATRIX:  set_mode (state, MATRIX);       break;
+            case DRAIN_MATRIX:  set_mode (state, state->def_mode); break;
             default:            abort();                        break;
             }
         }
       break;
 
     case TRACE_DONE:
-      set_mode (state, MATRIX);
+      set_mode (state, state->def_mode);
       break;
 
     case TRACE_TEXT_A: 
@@ -1541,9 +1659,9 @@ xmatrix_draw (Display *dpy, Window window, void *closure)
             {
             case TRACE_TEXT_A: set_mode (state, TRACE_A); break;
             case TRACE_TEXT_B: set_mode (state, TRACE_B); break;
-            case TRACE_FAIL:   set_mode (state, MATRIX);  break;
-            case KNOCK:        set_mode (state, MATRIX);  break;
-            case NMAP:         set_mode (state, MATRIX);  break;
+            case TRACE_FAIL:   set_mode (state, state->def_mode);  break;
+            case KNOCK:        set_mode (state, state->def_mode);  break;
+            case NMAP:         set_mode (state, state->def_mode);  break;
             default:           abort();                   break;
             }
         }
@@ -1552,7 +1670,9 @@ xmatrix_draw (Display *dpy, Window window, void *closure)
     default:
       abort();
     }
-
+  if (state->start_reveal_back_p){
+    set_mode (state, DRAIN_MATRIX);
+  }
   if (state->mode == MATRIX &&
       state->knock_knock_p &&
       (! (random() % 10000)))
@@ -1608,6 +1728,8 @@ xmatrix_reshape (Display *dpy, Window window, void *closure,
     {
       m_cell *ncells = (m_cell *)
         calloc (sizeof(m_cell), state->grid_width * state->grid_height);
+      m_cell *nbackground = (m_cell *)
+        calloc (sizeof(m_cell), state->grid_width * state->grid_height);
       m_feeder *nfeeders = (m_feeder *)
         calloc (sizeof(m_feeder), state->grid_width);
       int x, y, i;
@@ -1618,11 +1740,16 @@ xmatrix_reshape (Display *dpy, Window window, void *closure,
       for (y = 0; y < oh; y++)
         for (x = 0; x < ow; x++)
           if (x < ow && x < state->grid_width &&
-              y < oh && y < state->grid_height)
+              y < oh && y < state->grid_height){
             ncells[y * state->grid_width + x] =
               state->cells[y * ow + x];
+            nbackground[y * state->grid_width + x] =
+              state->background[y * ow + x];
+          }
       free (state->cells);
+      free (state->background);
       state->cells = ncells;
+      state->background = nbackground;
 
       x = (ow < state->grid_width ? ow : state->grid_width);
       for (i = 0; i < x; i++)
@@ -1645,7 +1772,10 @@ xmatrix_event (Display *dpy, Window window, void *closure, XEvent *event)
      switch (c)
        {
        case '0':
-         set_mode (state, DRAIN_MATRIX);
+         /*set_mode (state, DRAIN_MATRIX);*/
+         state->back_y = 1;
+         state->back_text_full_p = True;
+         state->start_reveal_back_p = True;
          return True;
 
        case '+': case '=': case '>': case '.':
@@ -1716,8 +1846,6 @@ xmatrix_free (Display *dpy, Window window, void *closure)
   free (state);
 }
 
-
-\f
 static const char *xmatrix_defaults [] = {
   ".background:                   black",
   ".foreground:                   #00AA00",
index c2e15de521301d4be9c102e04268f38ab37c7578..bc121a9629510c017d3522522bb8c3749b41780b 100644 (file)
@@ -101,6 +101,7 @@ prefix = @prefix@
 exec_prefix = @exec_prefix@
 #datadir = $(prefix)/@DATADIRNAME@      -- not for xscreensaver
 datadir = @PO_DATADIR@
+datarootdir = @datarootdir@
 localedir = $(datadir)/locale
 #localedir = $(prefix)/share/locale
 #gnulocaledir = $(prefix)/share/locale  -- not for xscreensaver
index d1d20563aa2a13a89b3c88465fe15a96fb6109da..81ef6d7fc45cc79535fbff25a922a22de75aed61 100644 (file)
@@ -1,10 +1,11 @@
-# Auto-generated: Tue Jul 17 02:03:02 PDT 2007
+# Auto-generated: Tue Nov 13 00:39:40 PST 2007
 driver/demo-Gtk-conf.c
 driver/demo-Gtk-support.c
 driver/demo-Gtk-widgets.c
 driver/demo-Gtk.c
 driver/screensaver-properties.desktop.in
 driver/xscreensaver-demo.glade2
+hacks/config/abstractile.xml
 hacks/config/anemone.xml
 hacks/config/anemotaxis.xml
 hacks/config/ant.xml
@@ -126,6 +127,7 @@ hacks/config/lightning.xml
 hacks/config/lisa.xml
 hacks/config/lissie.xml
 hacks/config/lmorph.xml
+hacks/config/lockward.xml
 hacks/config/loop.xml
 hacks/config/m6502.xml
 hacks/config/maze.xml
@@ -135,6 +137,7 @@ hacks/config/metaballs.xml
 hacks/config/mirrorblob.xml
 hacks/config/mismunch.xml
 hacks/config/moebius.xml
+hacks/config/moebiusgears.xml
 hacks/config/moire.xml
 hacks/config/moire2.xml
 hacks/config/molecule.xml
index 5c8d935af93e1c7838acecf80fc4659f776c50da..a63dd2fade8cf3fc24e0ec1f402d52b99e2cc37e 100644 (file)
--- a/setup.com
+++ b/setup.com
@@ -3,6 +3,7 @@ $ set NOON
 $ set def [.HACKS]
 $ mydisk = f$trnlmn("SYS$DISK")
 $ mydir  = mydisk+f$directory()
+$ abstractile  :== $'mydir'abstractile
 $ anemone      :== $'mydir'anemone
 $ anemotaxis   :== $'mydir'anemotaxis
 $ apollonian   :== $'mydir'apollonian
@@ -123,6 +124,7 @@ $ twang             :== $'mydir'twang
 $ vermiculate  :== $'mydir'vermiculate
 $ vines                :== $'mydir'vines
 $ wander       :== $'mydir'wander
+$ webcollage-helper    :== $'mydir'webcollage-helper
 $ whirlwindwarp        :== $'mydir'whirlwindwarp
 $ whirlygig    :== $'mydir'whirlygig
 $ worm         :== $'mydir'worm
index c055cbe3462e3c14e9763328f95158f37c92acd6..a6df5779a469d5a0a0fad3a5235de3cb0f82eacb 100644 (file)
@@ -81,6 +81,7 @@
 srcdir         = @srcdir@
 VPATH          = @srcdir@
 prefix         = @prefix@
+datarootdir    = @datarootdir@
 
 CC             = @CC@
 CFLAGS         = @CFLAGS@
index a6a04d3bcb94f832100e3833356afe6653a2c564..166d60817183111b7dcc26dbab1dd97f0d8c84c0 100644 (file)
@@ -1,2 +1,2 @@
 static const char screensaver_id[] =
-       "@(#)xscreensaver 5.03 (17-Jul-2007), by Jamie Zawinski (jwz@jwz.org)";
+       "@(#)xscreensaver 5.04 (13-Nov-2007), by Jamie Zawinski (jwz@jwz.org)";
index 282deb2052c0e1cccc37fff28af46bde9f3c1ed6..efba606bf38f845e8c0a0d88a8f1d80880fbad75 100644 (file)
@@ -1,5 +1,5 @@
 %define        name xscreensaver
-%define        version 5.03
+%define        version 5.04
 
 Summary:       X screen saver and locker
 Name:          %{name}
@@ -22,8 +22,11 @@ BuildRequires:       gettext
 BuildRequires: pam-devel
 BuildRequires: gtk2-devel
 BuildRequires: desktop-file-utils
-# Red Hat:
-BuildRequires: xorg-x11-devel
+# Red Hat (pre-FC5):
+#BuildRequires:        xorg-x11-devel
+#BuildRequires:        libglade2-devel
+# Red Hat 5, CentOS5, FC5, and up:
+BuildRequires: xorg-x11-proto-devel
 BuildRequires: libglade2-devel
 # Mandrake:
 #BuildRequires:        libxorg-x11-devel
index 2bc937b9bfdb6f04534db2545843f078a91c34e1..1c596a430ddab9c95807a9572b801b8573b1c08d 100644 (file)
                        buildConfigurationList = AF480ABA098C66E300FB32B8 /* Build configuration list for PBXAggregateTarget "All Savers (XScreenSaver)" */;
                        buildPhases = (
                        );
-                       buildSettings = {
-                               PRODUCT_NAME = "All Savers";
-                       };
                        dependencies = (
+                               AFE6A4300CDD7FEE002805BF /* PBXTargetDependency */,
                                AF77798F09B6604C00EA3033 /* PBXTargetDependency */,
                                AF77798D09B6604C00EA3033 /* PBXTargetDependency */,
                                AF77798B09B6604C00EA3033 /* PBXTargetDependency */,
                        buildConfigurationList = AF480D64098EED6E00FB32B8 /* Build configuration list for PBXAggregateTarget "All Savers (XLockmore)" */;
                        buildPhases = (
                        );
-                       buildSettings = {
-                               PRODUCT_NAME = "All Savers (XLockmore)";
-                       };
                        dependencies = (
                                AF7779DB09B6608200EA3033 /* PBXTargetDependency */,
                                AF7779D909B6608200EA3033 /* PBXTargetDependency */,
                        buildConfigurationList = AF480D67098EED6E00FB32B8 /* Build configuration list for PBXAggregateTarget "All Savers (OpenGL)" */;
                        buildPhases = (
                        );
-                       buildSettings = {
-                               PRODUCT_NAME = "All Savers (OpenGL)";
-                       };
                        dependencies = (
                                AF777A6509B660B700EA3033 /* PBXTargetDependency */,
                                AF777A6309B660B700EA3033 /* PBXTargetDependency */,
                                AF777A1109B660B300EA3033 /* PBXTargetDependency */,
                                AF777A0F09B660B200EA3033 /* PBXTargetDependency */,
                                AF777A0D09B660B200EA3033 /* PBXTargetDependency */,
+                               AF4FD6FF0CE7A4F9005EE58E /* PBXTargetDependency */,
                                AF777A0B09B660B200EA3033 /* PBXTargetDependency */,
                                AF777A0909B660B200EA3033 /* PBXTargetDependency */,
                                AF777A0709B660B200EA3033 /* PBXTargetDependency */,
+                               AFE6A19C0CDD7B7F002805BF /* PBXTargetDependency */,
                                AF777A0509B660B200EA3033 /* PBXTargetDependency */,
                                AF777A0309B660B200EA3033 /* PBXTargetDependency */,
                                AF777A0109B660B200EA3033 /* PBXTargetDependency */,
                        buildConfigurationList = AF480D6A098EED6E00FB32B8 /* Build configuration list for PBXAggregateTarget "All Savers" */;
                        buildPhases = (
                        );
-                       buildSettings = {
-                               PRODUCT_NAME = "All Savers";
-                       };
                        dependencies = (
                                AFCAD5F90992DFE00009617A /* PBXTargetDependency */,
                                AF480D60098EED6900FB32B8 /* PBXTargetDependency */,
                        buildPhases = (
                                AFA33C010B058E17002B0E7D /* ShellScript */,
                        );
-                       buildSettings = {
-                               PRODUCT_NAME = webcollage;
-                       };
                        dependencies = (
                        );
                        name = webcollage;
                AF48E1690A0C268500F94CF9 /* glschool_gl.c in Sources */ = {isa = PBXBuildFile; fileRef = AF48E1640A0C268500F94CF9 /* glschool_gl.c */; };
                AF48E16A0A0C268500F94CF9 /* glschool.c in Sources */ = {isa = PBXBuildFile; fileRef = AF48E1660A0C268500F94CF9 /* glschool.c */; };
                AF48E16C0A0C26A400F94CF9 /* glschool.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF48E16B0A0C26A400F94CF9 /* glschool.xml */; };
+               AF4FD6EC0CE7A486005EE58E /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
+               AF4FD6EF0CE7A486005EE58E /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
+               AF4FD6F00CE7A486005EE58E /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+               AF4FD6F10CE7A486005EE58E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+               AF4FD6F20CE7A486005EE58E /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480FE70990375900FB32B8 /* AGL.framework */; };
+               AF4FD6F30CE7A486005EE58E /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480DF1098F528500FB32B8 /* OpenGL.framework */; };
+               AF4FD6F40CE7A486005EE58E /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; };
+               AF4FD7010CE7A577005EE58E /* lockward.c in Sources */ = {isa = PBXBuildFile; fileRef = AF4FD7000CE7A577005EE58E /* lockward.c */; };
+               AF4FD7030CE7A5BC005EE58E /* lockward.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF4FD7020CE7A5BC005EE58E /* lockward.xml */; };
                AF64232F099F45C3000F4CD4 /* braid.c in Sources */ = {isa = PBXBuildFile; fileRef = AFD56EC10996A76F00BA26F7 /* braid.c */; };
                AF642330099F45CA000F4CD4 /* braid.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC2587D0988A468000655EE /* braid.xml */; };
                AF6423F9099FF9C2000F4CD4 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AFAD462309D5F4DA00AB5F95 /* grabclient.c in Sources */ = {isa = PBXBuildFile; fileRef = AFAD462209D5F4DA00AB5F95 /* grabclient.c */; };
                AFCCCBB009BFE4B000353F4D /* rdbomb.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFCCCBAD09BFE4B000353F4D /* rdbomb.xml */; };
                AFCCCBB309BFE51900353F4D /* thornbird.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC259230988A469000655EE /* thornbird.xml */; };
+               AFCFF1D90CE4517C00C7D111 /* involute.c in Sources */ = {isa = PBXBuildFile; fileRef = AFE6A16A0CDD78EA002805BF /* involute.c */; };
+               AFCFF1DA0CE4518B00C7D111 /* tube.c in Sources */ = {isa = PBXBuildFile; fileRef = AF480ED2098F652A00FB32B8 /* tube.c */; };
+               AFCFF1DB0CE451A300C7D111 /* normals.c in Sources */ = {isa = PBXBuildFile; fileRef = AFA55A93099336D800F3E977 /* normals.c */; };
                AFD56DF80996A03800BA26F7 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AFD56DFA0996A03800BA26F7 /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
                AFD56DFB0996A03800BA26F7 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
                AFD573680997411200BA26F7 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
                AFD573700997418D00BA26F7 /* strange.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC2591D0988A469000655EE /* strange.xml */; };
                AFD57372099741A200BA26F7 /* strange.c in Sources */ = {isa = PBXBuildFile; fileRef = AFD57371099741A200BA26F7 /* strange.c */; };
+               AFE6A16C0CDD78EA002805BF /* involute.c in Sources */ = {isa = PBXBuildFile; fileRef = AFE6A16A0CDD78EA002805BF /* involute.c */; };
+               AFE6A1890CDD7B2E002805BF /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
+               AFE6A18A0CDD7B2E002805BF /* involute.c in Sources */ = {isa = PBXBuildFile; fileRef = AFE6A16A0CDD78EA002805BF /* involute.c */; };
+               AFE6A18C0CDD7B2E002805BF /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
+               AFE6A18D0CDD7B2E002805BF /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+               AFE6A18E0CDD7B2E002805BF /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+               AFE6A18F0CDD7B2E002805BF /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480FE70990375900FB32B8 /* AGL.framework */; };
+               AFE6A1900CDD7B2E002805BF /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480DF1098F528500FB32B8 /* OpenGL.framework */; };
+               AFE6A1910CDD7B2E002805BF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; };
+               AFE6A40C0CDD7BC3002805BF /* moebiusgears.c in Sources */ = {isa = PBXBuildFile; fileRef = AFE6A40B0CDD7BC3002805BF /* moebiusgears.c */; };
+               AFE6A40E0CDD7BDC002805BF /* moebiusgears.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFE6A40D0CDD7BDC002805BF /* moebiusgears.xml */; };
+               AFE6A4200CDD7FAA002805BF /* xscreensaver-getimage-file in Resources */ = {isa = PBXBuildFile; fileRef = AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */; };
+               AFE6A4220CDD7FAA002805BF /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
+               AFE6A4250CDD7FAA002805BF /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
+               AFE6A4260CDD7FAA002805BF /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+               AFE6A4270CDD7FAA002805BF /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+               AFE6A4350CDD800F002805BF /* abstractile.c in Sources */ = {isa = PBXBuildFile; fileRef = AFE6A4340CDD800F002805BF /* abstractile.c */; };
+               AFE6A4370CDD8027002805BF /* abstractile.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFE6A4360CDD8026002805BF /* abstractile.xml */; };
                AFF4633C0C4403E400EE6509 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AFF4633F0C4403E400EE6509 /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
                AFF463400C4403E400EE6509 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
                AFF463740C440BAC00EE6509 /* glcells.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFF463730C440BAC00EE6509 /* glcells.xml */; };
 /* End PBXBuildFile section */
 
-/* Begin PBXBuildStyle section */
-               4A9504CCFFE6A4B311CA0CBA /* Debug */ = {
-                       isa = PBXBuildStyle;
-                       buildSettings = {
-                       };
-                       name = Debug;
-               };
-               4A9504CDFFE6A4B311CA0CBA /* Release */ = {
-                       isa = PBXBuildStyle;
-                       buildSettings = {
-                       };
-                       name = Release;
-               };
-/* End PBXBuildStyle section */
-
 /* Begin PBXContainerItemProxy section */
                AF08399109930B6B00277BE9 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        isa = PBXContainerItemProxy;
                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
                        proxyType = 1;
-                       remoteGlobalIDString = AF0DC7AB0C4C73F600D76972 /* m6502 */;
+                       remoteGlobalIDString = AF0DC7AB0C4C73F600D76972;
                        remoteInfo = m6502;
                };
                AF0DCA440C4CBB0D00D76972 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
                        proxyType = 1;
-                       remoteGlobalIDString = AF0DCA420C4CBB0D00D76972 /* Voronoi */;
+                       remoteGlobalIDString = AF0DCA420C4CBB0D00D76972;
                        remoteInfo = Voronoi;
                };
                AF476FB7099D154F001F091E /* PBXContainerItemProxy */ = {
                        remoteGlobalIDString = AF48DEEF0A0C25E000F94CF9;
                        remoteInfo = GLSchool;
                };
+               AF4FD6E80CE7A486005EE58E /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
+                       remoteInfo = jwxyz;
+               };
+               AF4FD6FE0CE7A4F9005EE58E /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AF4FD6E60CE7A486005EE58E;
+                       remoteInfo = Lockward;
+               };
                AF6423F4099FF9C2000F4CD4 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
                        remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
                        remoteInfo = jwxyz;
                };
+               AFE6A1840CDD7B2E002805BF /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
+                       remoteInfo = jwxyz;
+               };
+               AFE6A19B0CDD7B7F002805BF /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AFE6A1820CDD7B2E002805BF;
+                       remoteInfo = MoebiusGears;
+               };
+               AFE6A41D0CDD7FAA002805BF /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
+                       remoteInfo = jwxyz;
+               };
+               AFE6A42F0CDD7FEE002805BF /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AFE6A41B0CDD7FAA002805BF;
+                       remoteInfo = Abstractile;
+               };
                AFF463380C4403E400EE6509 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
                AF083A58099312B000277BE9 /* tunnel_draw.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = tunnel_draw.c; path = hacks/glx/tunnel_draw.c; sourceTree = "<group>"; };
                AF083A5D099312DB00277BE9 /* tunnel_draw.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = tunnel_draw.h; path = hacks/glx/tunnel_draw.h; sourceTree = "<group>"; };
                AF0DC7BD0C4C73F600D76972 /* m6502.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = m6502.saver; sourceTree = BUILT_PRODUCTS_DIR; };
-               AF0DC7C70C4C73F700D76972 /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
                AF0DCA320C4C74A200D76972 /* asm6502.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = asm6502.c; path = hacks/asm6502.c; sourceTree = "<group>"; };
                AF0DCA330C4C74A200D76972 /* asm6502.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = asm6502.h; path = hacks/asm6502.h; sourceTree = "<group>"; };
                AF0DCA340C4C74A200D76972 /* m6502.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = m6502.c; path = hacks/m6502.c; sourceTree = "<group>"; };
                AF48E1660A0C268500F94CF9 /* glschool.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = glschool.c; path = hacks/glx/glschool.c; sourceTree = "<group>"; };
                AF48E1670A0C268500F94CF9 /* glschool.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = glschool.h; path = hacks/glx/glschool.h; sourceTree = "<group>"; };
                AF48E16B0A0C26A400F94CF9 /* glschool.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = glschool.xml; sourceTree = "<group>"; };
+               AF4FD6FA0CE7A486005EE58E /* Lockward.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Lockward.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+               AF4FD6FD0CE7A486005EE58E /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
+               AF4FD7000CE7A577005EE58E /* lockward.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = lockward.c; path = hacks/glx/lockward.c; sourceTree = "<group>"; };
+               AF4FD7020CE7A5BC005EE58E /* lockward.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = lockward.xml; sourceTree = "<group>"; };
                AF642405099FF9C2000F4CD4 /* Extrusion.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Extrusion.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF642409099FFAF0000F4CD4 /* extrusion-helix2.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = "extrusion-helix2.c"; path = "hacks/glx/extrusion-helix2.c"; sourceTree = "<group>"; };
                AF64240A099FFAF0000F4CD4 /* extrusion-helix3.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = "extrusion-helix3.c"; path = "hacks/glx/extrusion-helix3.c"; sourceTree = "<group>"; };
                AFE1FD5B0981E3CB00F7970E /* yarandom.c */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.c; name = yarandom.c; path = utils/yarandom.c; sourceTree = "<group>"; };
                AFE1FD5C0981E3CB00F7970E /* yarandom.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = yarandom.h; path = utils/yarandom.h; sourceTree = "<group>"; };
                AFE1FD620981E40800F7970E /* rorschach.c */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.c; name = rorschach.c; path = hacks/rorschach.c; sourceTree = "<group>"; };
+               AFE6A16A0CDD78EA002805BF /* involute.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = involute.c; path = hacks/glx/involute.c; sourceTree = "<group>"; };
+               AFE6A16B0CDD78EA002805BF /* involute.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = involute.h; path = hacks/glx/involute.h; sourceTree = "<group>"; };
+               AFE6A1970CDD7B2E002805BF /* MoebiusGears.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MoebiusGears.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+               AFE6A19A0CDD7B2F002805BF /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
+               AFE6A40B0CDD7BC3002805BF /* moebiusgears.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = moebiusgears.c; path = hacks/glx/moebiusgears.c; sourceTree = "<group>"; };
+               AFE6A40D0CDD7BDC002805BF /* moebiusgears.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = moebiusgears.xml; sourceTree = "<group>"; };
+               AFE6A42D0CDD7FAA002805BF /* Abstractile.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Abstractile.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+               AFE6A4340CDD800F002805BF /* abstractile.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = abstractile.c; path = hacks/abstractile.c; sourceTree = "<group>"; };
+               AFE6A4360CDD8026002805BF /* abstractile.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = abstractile.xml; sourceTree = "<group>"; };
                AFF463470C4403E400EE6509 /* CWaves.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CWaves.saver; sourceTree = BUILT_PRODUCTS_DIR; };
-               AFF463480C4403E500EE6509 /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
                AFF463490C44044E00EE6509 /* cwaves.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = cwaves.c; path = hacks/cwaves.c; sourceTree = "<group>"; };
                AFF4634B0C44046500EE6509 /* cwaves.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = cwaves.xml; sourceTree = "<group>"; };
                AFF4636C0C440AEF00EE6509 /* GLCells.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GLCells.saver; sourceTree = BUILT_PRODUCTS_DIR; };
-               AFF4636D0C440AF000EE6509 /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
                AFF463710C440B9200EE6509 /* glcells.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = glcells.c; path = hacks/glx/glcells.c; sourceTree = "<group>"; };
                AFF463730C440BAC00EE6509 /* glcells.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = glcells.xml; sourceTree = "<group>"; };
 /* End PBXFileReference section */
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF4FD6EE0CE7A486005EE58E /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AF4FD6EF0CE7A486005EE58E /* libjwxyz.a in Frameworks */,
+                               AF4FD6F00CE7A486005EE58E /* ScreenSaver.framework in Frameworks */,
+                               AF4FD6F10CE7A486005EE58E /* Cocoa.framework in Frameworks */,
+                               AF4FD6F20CE7A486005EE58E /* AGL.framework in Frameworks */,
+                               AF4FD6F30CE7A486005EE58E /* OpenGL.framework in Frameworks */,
+                               AF4FD6F40CE7A486005EE58E /* Carbon.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF6423FA099FF9C2000F4CD4 /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AFE6A18B0CDD7B2E002805BF /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AFE6A18C0CDD7B2E002805BF /* libjwxyz.a in Frameworks */,
+                               AFE6A18D0CDD7B2E002805BF /* ScreenSaver.framework in Frameworks */,
+                               AFE6A18E0CDD7B2E002805BF /* Cocoa.framework in Frameworks */,
+                               AFE6A18F0CDD7B2E002805BF /* AGL.framework in Frameworks */,
+                               AFE6A1900CDD7B2E002805BF /* OpenGL.framework in Frameworks */,
+                               AFE6A1910CDD7B2E002805BF /* Carbon.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               AFE6A4240CDD7FAA002805BF /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AFE6A4250CDD7FAA002805BF /* libjwxyz.a in Frameworks */,
+                               AFE6A4260CDD7FAA002805BF /* ScreenSaver.framework in Frameworks */,
+                               AFE6A4270CDD7FAA002805BF /* Cocoa.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AFF4633E0C4403E400EE6509 /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                                AFF4636C0C440AEF00EE6509 /* GLCells.saver */,
                                AF0DC7BD0C4C73F600D76972 /* m6502.saver */,
                                AF0DCA560C4CBB0D00D76972 /* Voronoi.saver */,
+                               AFE6A1970CDD7B2E002805BF /* MoebiusGears.saver */,
+                               AFE6A42D0CDD7FAA002805BF /* Abstractile.saver */,
+                               AF4FD6FA0CE7A486005EE58E /* Lockward.saver */,
                        );
                        name = Products;
                        sourceTree = "<group>";
                                8D1107310486CEB800E47090 /* XScreenSaver.plist */,
                                AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */,
                                AF0FAF0B09CA6FF900EE1051 /* xscreensaver-text */,
-                               AFF463480C4403E500EE6509 /* XScreenSaver copy.plist */,
-                               AFF4636D0C440AF000EE6509 /* XScreenSaver copy.plist */,
-                               AF0DC7C70C4C73F700D76972 /* XScreenSaver copy.plist */,
                                AF0DCA570C4CBB0E00D76972 /* XScreenSaver copy.plist */,
+                               AFE6A19A0CDD7B2F002805BF /* XScreenSaver copy.plist */,
+                               AF4FD6FD0CE7A486005EE58E /* XScreenSaver copy.plist */,
                        );
                        name = Resources;
                        sourceTree = "<group>";
                AF480DC7098F4EB500FB32B8 /* XScreenSaver */ = {
                        isa = PBXGroup;
                        children = (
+                               AFE6A4340CDD800F002805BF /* abstractile.c */,
                                AF9D475809B53091006E59CF /* slidescreen.c */,
                                AF9D467809B5110B006E59CF /* decayscreen.c */,
                                AF9D493E09B53D55006E59CF /* ripples.c */,
                AF480DD0098F4F2000FB32B8 /* OpenGL */ = {
                        isa = PBXGroup;
                        children = (
+                               AFE6A40B0CDD7BC3002805BF /* moebiusgears.c */,
                                AF642409099FFAF0000F4CD4 /* extrusion-helix2.c */,
                                AF64240A099FFAF0000F4CD4 /* extrusion-helix3.c */,
                                AF64240B099FFAF0000F4CD4 /* extrusion-helix4.c */,
                                AFA563B90993991300F3E977 /* juggler3d.c */,
                                AFA5638E0993980D00F3E977 /* timetunnel.c */,
                                AF998EF80A083E750051049D /* topblock.c */,
+                               AFE6A16A0CDD78EA002805BF /* involute.c */,
+                               AFE6A16B0CDD78EA002805BF /* involute.h */,
                                AF0DCA5F0C4CBB7300D76972 /* voronoi.c */,
                                AFA563660993970F00F3E977 /* cube21.c */,
                                AFA563460993963400F3E977 /* glhanoi.c */,
                                AFA55EA90993608800F3E977 /* toaster_wing.c */,
                                AFA55EAA0993608800F3E977 /* toaster_wing.dxf */,
                                AFA55EAB0993608800F3E977 /* toaster.c */,
+                               AF4FD7000CE7A577005EE58E /* lockward.c */,
                                AFA55EAC0993608800F3E977 /* toaster.dxf */,
                                AFA55E4509935FD300F3E977 /* glblur.c */,
                                AFF463710C440B9200EE6509 /* glcells.c */,
                AFC258670988A468000655EE /* config */ = {
                        isa = PBXGroup;
                        children = (
+                               AFE6A4360CDD8026002805BF /* abstractile.xml */,
+                               AFE6A40D0CDD7BDC002805BF /* moebiusgears.xml */,
                                AFC258680988A468000655EE /* anemone.xml */,
                                AFC258690988A468000655EE /* anemotaxis.xml */,
                                AFC2586A0988A468000655EE /* ant.xml */,
                                AFC259280988A469000655EE /* vermiculate.xml */,
                                AFC259290988A469000655EE /* vidwhacker.xml */,
                                AFC2592A0988A469000655EE /* vines.xml */,
+                               AF4FD7020CE7A5BC005EE58E /* lockward.xml */,
                                AFC2592B0988A469000655EE /* wander.xml */,
                                AF48E16B0A0C26A400F94CF9 /* glschool.xml */,
                                AFC2592C0988A469000655EE /* webcollage.xml */,
                        buildConfigurationList = AFA5611A099378EA00F3E977 /* Build configuration list for PBXLegacyTarget "molecules.h" */;
                        buildPhases = (
                        );
-                       buildSettings = {
-                               PRODUCT_NAME = molecules.h;
-                       };
                        buildToolPath = /bin/sh;
                        buildWorkingDirectory = hacks/glx/;
                        dependencies = (
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF08399009930B6B00277BE9 /* PBXTargetDependency */,
                        );
                        name = Atlantis;
                        productName = Atlantis;
                        productReference = AF0839A209930B6B00277BE9 /* Atlantis.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF083A32099311D700277BE9 /* Atunnel */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF083A33099311D700277BE9 /* PBXTargetDependency */,
                        );
                        name = Atunnel;
                        productName = Atunnel;
                        productReference = AF083A48099311D700277BE9 /* Atunnel.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF0DC7AB0C4C73F600D76972 /* m6502 */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF0DC7AC0C4C73F600D76972 /* PBXTargetDependency */,
                        );
                        name = m6502;
                        productName = Pong;
                        productReference = AF0DC7BD0C4C73F600D76972 /* m6502.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF0DCA420C4CBB0D00D76972 /* Voronoi */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF0DCA430C4CBB0D00D76972 /* PBXTargetDependency */,
                        );
                        name = Voronoi;
                        productName = TopBlock;
                        productReference = AF0DCA560C4CBB0D00D76972 /* Voronoi.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF476FB5099D154F001F091E /* Interference */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF476FB6099D154F001F091E /* PBXTargetDependency */,
                        );
                        name = Interference;
                        productName = Interference;
                        productReference = AF476FC6099D154F001F091E /* Interference.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF476FDA099D1686001F091E /* Truchet */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF476FDB099D1686001F091E /* PBXTargetDependency */,
                        );
                        name = Truchet;
                        productName = Truchet;
                        productReference = AF476FEB099D1686001F091E /* Truchet.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47704C099D4385001F091E /* Deluxe */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47704D099D4385001F091E /* PBXTargetDependency */,
                        );
                        name = Deluxe;
                        productName = Deluxe;
                        productReference = AF47705C099D4385001F091E /* Deluxe.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477169099D4786001F091E /* Compass */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47716A099D4786001F091E /* PBXTargetDependency */,
                        );
                        name = Compass;
                        productName = Compass;
                        productReference = AF477179099D4786001F091E /* Compass.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47717F099D4803001F091E /* Wander */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477180099D4803001F091E /* PBXTargetDependency */,
                        );
                        name = Wander;
                        productName = Wander;
                        productReference = AF47718F099D4803001F091E /* Wander.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4771A7099D4949001F091E /* T3D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4771A8099D4949001F091E /* PBXTargetDependency */,
                        );
                        name = T3D;
                        productName = T3D;
                        productReference = AF4771B7099D4949001F091E /* T3D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4771DB099D4D9A001F091E /* CCurve */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4771DC099D4D9A001F091E /* PBXTargetDependency */,
                        );
                        name = CCurve;
                        productName = CCurve;
                        productReference = AF4771EB099D4D9A001F091E /* CCurve.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4771F2099D4E63001F091E /* NerveRot */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4771F3099D4E63001F091E /* PBXTargetDependency */,
                        );
                        name = NerveRot;
                        productName = NerveRot;
                        productReference = AF477202099D4E64001F091E /* NerveRot.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477208099D4EE8001F091E /* Whirlygig */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477209099D4EE8001F091E /* PBXTargetDependency */,
                        );
                        name = Whirlygig;
                        productName = Whirlygig;
                        productReference = AF477218099D4EE8001F091E /* Whirlygig.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47721E099D4F67001F091E /* Anemone */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47721F099D4F67001F091E /* PBXTargetDependency */,
                        );
                        name = Anemone;
                        productName = Anemone;
                        productReference = AF47722E099D4F67001F091E /* Anemone.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477253099D5717001F091E /* Halftone */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477254099D5717001F091E /* PBXTargetDependency */,
                        );
                        name = Halftone;
                        productName = Halftone;
                        productReference = AF477263099D5717001F091E /* Halftone.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47726B099D57B9001F091E /* PopSquares */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47726C099D57B9001F091E /* PBXTargetDependency */,
                        );
                        name = PopSquares;
                        productName = PopSquares;
                        productReference = AF47727B099D57B9001F091E /* PopSquares.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477283099D5926001F091E /* Piecewise */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477284099D5926001F091E /* PBXTargetDependency */,
                        );
                        name = Piecewise;
                        productName = Piecewise;
                        productReference = AF477293099D5926001F091E /* Piecewise.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477382099D65A1001F091E /* Wormhole */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477383099D65A1001F091E /* PBXTargetDependency */,
                        );
                        name = Wormhole;
                        productName = Wormhole;
                        productReference = AF477392099D65A1001F091E /* Wormhole.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47739A099D6648001F091E /* FuzzyFlakes */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47739B099D6648001F091E /* PBXTargetDependency */,
                        );
                        name = FuzzyFlakes;
                        productName = FuzzyFlakes;
                        productReference = AF4773AA099D6648001F091E /* FuzzyFlakes.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4773C1099D67B9001F091E /* Anemotaxis */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4773C2099D67B9001F091E /* PBXTargetDependency */,
                        );
                        name = Anemotaxis;
                        productName = Anemotaxis;
                        productReference = AF4773D1099D67B9001F091E /* Anemotaxis.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477401099D69E7001F091E /* Intermomentary */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477402099D69E7001F091E /* PBXTargetDependency */,
                        );
                        name = Intermomentary;
                        productName = Intermomentary;
                        productReference = AF477412099D69E7001F091E /* Intermomentary.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477426099D7C70001F091E /* IFS */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477427099D7C70001F091E /* PBXTargetDependency */,
                        );
                        name = IFS;
                        productName = IFS;
                        productReference = AF477437099D7C70001F091E /* IFS.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477442099D7D33001F091E /* XMatrix */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477443099D7D33001F091E /* PBXTargetDependency */,
                        );
                        name = XMatrix;
                        productName = XMatrix;
                        productReference = AF477452099D7D33001F091E /* XMatrix.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477483099D89E4001F091E /* Flame */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477484099D89E4001F091E /* PBXTargetDependency */,
                        );
                        name = Flame;
                        productName = Flame;
                        productReference = AF477493099D89E4001F091E /* Flame.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477499099D8A74001F091E /* Kaleidescope */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47749A099D8A74001F091E /* PBXTargetDependency */,
                        );
                        name = Kaleidescope;
                        productName = Kaleidescope;
                        productReference = AF4774A9099D8A74001F091E /* Kaleidescope.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4774B4099D8B5F001F091E /* LMorph */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4774B5099D8B5F001F091E /* PBXTargetDependency */,
                        );
                        name = LMorph;
                        productName = LMorph;
                        productReference = AF4774C4099D8B5F001F091E /* LMorph.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4774CE099D8BFF001F091E /* Maze */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4774CF099D8BFF001F091E /* PBXTargetDependency */,
                        );
                        name = Maze;
                        productName = Maze;
                        productReference = AF4774DE099D8BFF001F091E /* Maze.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47755D099D9A1A001F091E /* Pedal */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47755E099D9A1A001F091E /* PBXTargetDependency */,
                        );
                        name = Pedal;
                        productName = Pedal;
                        productReference = AF47756D099D9A1A001F091E /* Pedal.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477583099D9C28001F091E /* Pyro */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477584099D9C28001F091E /* PBXTargetDependency */,
                        );
                        name = Pyro;
                        productName = Pyro;
                        productReference = AF477593099D9C28001F091E /* Pyro.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47759F099D9CF7001F091E /* Starfish */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4775A0099D9CF7001F091E /* PBXTargetDependency */,
                        );
                        name = Starfish;
                        productName = Starfish;
                        productReference = AF4775AF099D9CF7001F091E /* Starfish.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4775D8099D9F69001F091E /* Coral */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4775D9099D9F69001F091E /* PBXTargetDependency */,
                        );
                        name = Coral;
                        productName = Coral;
                        productReference = AF4775E8099D9F69001F091E /* Coral.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4775F2099DA030001F091E /* Epicycle */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4775F3099DA030001F091E /* PBXTargetDependency */,
                        );
                        name = Epicycle;
                        productName = Epicycle;
                        productReference = AF477602099DA030001F091E /* Epicycle.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477613099DA26C001F091E /* Kumppa */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477614099DA26C001F091E /* PBXTargetDependency */,
                        );
                        name = Kumppa;
                        productName = Kumppa;
                        productReference = AF477623099DA26C001F091E /* Kumppa.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477644099DA6D0001F091E /* Squiral */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477645099DA6D0001F091E /* PBXTargetDependency */,
                        );
                        name = Squiral;
                        productName = Squiral;
                        productReference = AF477654099DA6D0001F091E /* Squiral.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47765A099DA78E001F091E /* Critical */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47765B099DA78E001F091E /* PBXTargetDependency */,
                        );
                        name = Critical;
                        productName = Critical;
                        productReference = AF47766A099DA78F001F091E /* Critical.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477670099DA849001F091E /* Petri */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477671099DA849001F091E /* PBXTargetDependency */,
                        );
                        name = Petri;
                        productName = Petri;
                        productReference = AF477680099DA849001F091E /* Petri.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47768F099DAA6F001F091E /* Blaster */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477690099DAA6F001F091E /* PBXTargetDependency */,
                        );
                        name = Blaster;
                        productName = Blaster;
                        productReference = AF47769F099DAA6F001F091E /* Blaster.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4776AA099DABDD001F091E /* XSpirograph */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4776AB099DABDD001F091E /* PBXTargetDependency */,
                        );
                        name = XSpirograph;
                        productName = XSpirograph;
                        productReference = AF4776BA099DABDD001F091E /* XSpirograph.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4776C0099DAC8A001F091E /* XRaySwarm */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4776C1099DAC8A001F091E /* PBXTargetDependency */,
                        );
                        name = XRaySwarm;
                        productName = XRaySwarm;
                        productReference = AF4776D0099DAC8A001F091E /* XRaySwarm.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4776DB099DADDF001F091E /* WhirlWindWarp */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4776DC099DADDF001F091E /* PBXTargetDependency */,
                        );
                        name = WhirlWindWarp;
                        productName = WhirlWindWarp;
                        productReference = AF4776EB099DADDF001F091E /* WhirlWindWarp.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4776F1099DAE7A001F091E /* Vermiculate */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4776F2099DAE7A001F091E /* PBXTargetDependency */,
                        );
                        name = Vermiculate;
                        productName = Vermiculate;
                        productReference = AF477701099DAE7A001F091E /* Vermiculate.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47770D099DAF9F001F091E /* CloudLife */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47770E099DAF9F001F091E /* PBXTargetDependency */,
                        );
                        name = CloudLife;
                        productName = CloudLife;
                        productReference = AF47771D099DAF9F001F091E /* CloudLife.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477723099DB044001F091E /* Substrate */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477724099DB044001F091E /* PBXTargetDependency */,
                        );
                        name = Substrate;
                        productName = Substrate;
                        productReference = AF477733099DB044001F091E /* Substrate.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477752099DB61E001F091E /* Interaggregate */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477753099DB61E001F091E /* PBXTargetDependency */,
                        );
                        name = Interaggregate;
                        productName = Interaggregate;
                        productReference = AF477762099DB61E001F091E /* Interaggregate.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477774099DB965001F091E /* Celtic */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477775099DB965001F091E /* PBXTargetDependency */,
                        );
                        name = Celtic;
                        productName = Celtic;
                        productReference = AF477784099DB965001F091E /* Celtic.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477790099DBA90001F091E /* FluidBalls */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF477791099DBA90001F091E /* PBXTargetDependency */,
                        );
                        name = FluidBalls;
                        productName = FluidBalls;
                        productReference = AF4777A0099DBA90001F091E /* FluidBalls.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4777D1099DC183001F091E /* BoxFit */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4777D2099DC183001F091E /* PBXTargetDependency */,
                        );
                        name = BoxFit;
                        productName = BoxFit;
                        productReference = AF4777E1099DC183001F091E /* BoxFit.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4778AB099DDB79001F091E /* Penetrate */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4778AC099DDB79001F091E /* PBXTargetDependency */,
                        );
                        name = Penetrate;
                        productName = Penetrate;
                        productReference = AF4778BB099DDB79001F091E /* Penetrate.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4778C7099DDCAE001F091E /* XJack */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4778C8099DDCAE001F091E /* PBXTargetDependency */,
                        );
                        name = XJack;
                        productName = XJack;
                        productReference = AF4778D7099DDCAE001F091E /* XJack.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4778E8099DDDC8001F091E /* Cynosure */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4778E9099DDDC8001F091E /* PBXTargetDependency */,
                        );
                        name = Cynosure;
                        productName = Cynosure;
                        productReference = AF4778F8099DDDC8001F091E /* Cynosure.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF477909099DE379001F091E /* Flag */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47790A099DE379001F091E /* PBXTargetDependency */,
                        );
                        name = Flag;
                        productName = Flag;
                        productReference = AF477919099DE379001F091E /* Flag.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF47792A099DE4C7001F091E /* Slip */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF47792B099DE4C7001F091E /* PBXTargetDependency */,
                        );
                        name = Slip;
                        productName = Slip;
                        productReference = AF47793A099DE4C7001F091E /* Slip.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4808C0098C3B6C00FB32B8 /* jwxyz */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               INSTALL_PATH = /usr/local/lib;
-                               PREBINDING = NO;
-                               PRODUCT_NAME = jwxyz;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                        );
                        name = jwxyz;
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF480C4A098E301400FB32B8 /* PBXTargetDependency */,
                        );
                        name = Helix;
                        productName = Helix;
                        productReference = AF480C58098E301400FB32B8 /* Helix.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF480D72098EEDDE00FB32B8 /* Drift */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF480D73098EEDDE00FB32B8 /* PBXTargetDependency */,
                        );
                        name = Drift;
                        productName = Drift;
                        productReference = AF480D81098EEDDE00FB32B8 /* Drift.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4810EB09909FBA00FB32B8 /* DangerBall */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4810EC09909FBA00FB32B8 /* PBXTargetDependency */,
                        );
                        name = DangerBall;
                        productName = DangerBall;
                        productReference = AF4810FB09909FBA00FB32B8 /* DangerBall.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4812500990CE2700FB32B8 /* Gears */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4812510990CE2700FB32B8 /* PBXTargetDependency */,
                        );
                        name = Gears;
                        productName = Gears;
                        productReference = AF4812640990CE2700FB32B8 /* Gears.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF4812B30990D3D900FB32B8 /* Pipes */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF4812B40990D3D900FB32B8 /* PBXTargetDependency */,
                        );
                        name = Pipes;
                        productName = Pipes;
                        productReference = AF4812C60990D3D900FB32B8 /* Pipes.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF48DEEF0A0C25E000F94CF9 /* GLSchool */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF48DEF00A0C25E000F94CF9 /* PBXTargetDependency */,
                        );
                        name = GLSchool;
                        productName = GLSchool;
                        productReference = AF48DF030A0C25E000F94CF9 /* GLSchool.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
+                       productType = "com.apple.product-type.bundle";
+               };
+               AF4FD6E60CE7A486005EE58E /* Lockward */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = AF4FD6F70CE7A486005EE58E /* Build configuration list for PBXNativeTarget "Lockward" */;
+                       buildPhases = (
+                               AF4FD6E90CE7A486005EE58E /* Resources */,
+                               AF4FD6EB0CE7A486005EE58E /* Sources */,
+                               AF4FD6EE0CE7A486005EE58E /* Frameworks */,
+                               AF4FD6F50CE7A486005EE58E /* Rez */,
+                               AF4FD6F60CE7A486005EE58E /* ShellScript */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               AF4FD6E70CE7A486005EE58E /* PBXTargetDependency */,
+                       );
+                       name = Lockward;
+                       productName = TopBlock;
+                       productReference = AF4FD6FA0CE7A486005EE58E /* Lockward.saver */;
                        productType = "com.apple.product-type.bundle";
                };
                AF6423F2099FF9C2000F4CD4 /* Extrusion */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF6423F3099FF9C2000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Extrusion;
                        productName = Extrusion;
                        productReference = AF642405099FF9C2000F4CD4 /* Extrusion.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF6425CC09A18855000F4CD4 /* HyperCube */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF6425CD09A18855000F4CD4 /* PBXTargetDependency */,
                        );
                        name = HyperCube;
                        productName = HyperCube;
                        productReference = AF6425DC09A18856000F4CD4 /* HyperCube.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF6425EC09A189EC000F4CD4 /* Qix */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF6425ED09A189EC000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Qix;
                        productName = Qix;
                        productReference = AF6425FC09A189EC000F4CD4 /* Qix.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF64260F09A18D6C000F4CD4 /* HyperBall */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF64261009A18D6C000F4CD4 /* PBXTargetDependency */,
                        );
                        name = HyperBall;
                        productName = HyperBall;
                        productReference = AF64261F09A18D6C000F4CD4 /* HyperBall.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF64262C09A18F54000F4CD4 /* Moire2 */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF64262D09A18F54000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Moire2;
                        productName = Moire2;
                        productReference = AF64263C09A18F54000F4CD4 /* Moire2.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF64264F09A19229000F4CD4 /* Munch */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF64265009A19229000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Munch;
                        productName = Munch;
                        productReference = AF64265F09A19229000F4CD4 /* Munch.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF64266509A192FB000F4CD4 /* Mismunch */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF64266609A192FB000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Mismunch;
                        productName = Mismunch;
                        productReference = AF64267509A192FB000F4CD4 /* Mismunch.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF64267B09A194B0000F4CD4 /* Goop */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF64267C09A194B0000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Goop;
                        productName = Goop;
                        productReference = AF64268B09A194B0000F4CD4 /* Goop.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF6426F409A1C952000F4CD4 /* Sonar */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF6426F509A1C952000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Sonar;
                        productName = Sonar;
                        productReference = AF64270409A1C952000F4CD4 /* Sonar.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF64277109A1D37A000F4CD4 /* SpeedMine */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF64277209A1D37A000F4CD4 /* PBXTargetDependency */,
                        );
                        name = SpeedMine;
                        productName = SpeedMine;
                        productReference = AF64278109A1D37A000F4CD4 /* SpeedMine.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF6427A809A2DE36000F4CD4 /* Bubbles */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF6427A909A2DE36000F4CD4 /* PBXTargetDependency */,
                        );
                        name = Bubbles;
                        productName = Bubbles;
                        productReference = AF6427B809A2DE36000F4CD4 /* Bubbles.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF7776E409B63ABF00EA3033 /* Phosphor */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF7776E509B63ABF00EA3033 /* PBXTargetDependency */,
                        );
                        name = Phosphor;
                        productName = Phosphor;
                        productReference = AF7776F609B63ABF00EA3033 /* Phosphor.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77771A09B6416100EA3033 /* Pacman */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77771B09B6416100EA3033 /* PBXTargetDependency */,
                        );
                        name = Pacman;
                        productName = Pacman;
                        productReference = AF77772A09B6416100EA3033 /* Pacman.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77773E09B6446500EA3033 /* FlipScreen3D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77773F09B6446500EA3033 /* PBXTargetDependency */,
                        );
                        name = FlipScreen3D;
                        productName = FlipScreen3D;
                        productReference = AF77775109B6446500EA3033 /* FlipScreen3D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77777409B6497800EA3033 /* Gleidescope */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77777509B6497800EA3033 /* PBXTargetDependency */,
                        );
                        name = Gleidescope;
                        productName = Gleidescope;
                        productReference = AF34085609B80AB000F2CEC1 /* Gleidescope.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77778E09B64A5200EA3033 /* MirrorBlob */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77778F09B64A5200EA3033 /* PBXTargetDependency */,
                        );
                        name = MirrorBlob;
                        productName = MirrorBlob;
                        productReference = AF7777A209B64A5200EA3033 /* MirrorBlob.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF7777A809B64B2600EA3033 /* StonerView */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF7777A909B64B2600EA3033 /* PBXTargetDependency */,
                        );
                        name = StonerView;
                        productName = StonerView;
                        productReference = AF34085509B80AB000F2CEC1 /* StonerView.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF7777D009B64C6B00EA3033 /* GLSlideshow */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF7777D109B64C6B00EA3033 /* PBXTargetDependency */,
                        );
                        name = GLSlideshow;
                        productName = GLSlideshow;
                        productReference = AF7777E409B64C6B00EA3033 /* GLSlideshow.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF7777EA09B64E3100EA3033 /* FlipText */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF7777EB09B64E3100EA3033 /* PBXTargetDependency */,
                        );
                        name = FlipText;
                        productName = FlipText;
                        productReference = AF7777FE09B64E3100EA3033 /* FlipText.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77781009B6504400EA3033 /* StarWars */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77781109B6504400EA3033 /* PBXTargetDependency */,
                        );
                        name = StarWars;
                        productName = StarWars;
                        productReference = AF34085409B80AAF00F2CEC1 /* StarWars.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77784409B6528100EA3033 /* Carousel */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77784509B6528100EA3033 /* PBXTargetDependency */,
                        );
                        name = Carousel;
                        productName = Carousel;
                        productReference = AF77785809B6528100EA3033 /* Carousel.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77786109B6536000EA3033 /* DNAlogo */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77786209B6536000EA3033 /* PBXTargetDependency */,
                        );
                        name = DNAlogo;
                        productName = DNAlogo;
                        productReference = AF77787409B6536000EA3033 /* DNAlogo.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF77787F09B6563500EA3033 /* FontGlide */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF77788009B6563500EA3033 /* PBXTargetDependency */,
                        );
                        name = FontGlide;
                        productName = FontGlide;
                        productReference = AF34085709B80AB000F2CEC1 /* FontGlide.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF7778A509B659C800EA3033 /* BlitSpin */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF7778A609B659C800EA3033 /* PBXTargetDependency */,
                        );
                        name = BlitSpin;
                        productName = BlitSpin;
                        productReference = AF7778B509B659C800EA3033 /* BlitSpin.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF794F64099748450059A8B0 /* Demon */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF794F65099748450059A8B0 /* PBXTargetDependency */,
                        );
                        name = Demon;
                        productName = Demon;
                        productReference = AF794F74099748450059A8B0 /* Demon.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF794F8E09974A320059A8B0 /* Fiberlamp */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF794F8F09974A320059A8B0 /* PBXTargetDependency */,
                        );
                        name = Fiberlamp;
                        productName = Fiberlamp;
                        productReference = AF794F9E09974A320059A8B0 /* Fiberlamp.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF794FCD09974FA60059A8B0 /* Loop */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF794FCE09974FA60059A8B0 /* PBXTargetDependency */,
                        );
                        name = Loop;
                        productName = Loop;
                        productReference = AF794FDD09974FA60059A8B0 /* Loop.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF97572D099C317000B05160 /* IMSMap */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF97572E099C317000B05160 /* PBXTargetDependency */,
                        );
                        name = IMSMap;
                        productName = IMSMap;
                        productReference = AF97573D099C317000B05160 /* IMSMap.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975775099C374A00B05160 /* Moire */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975776099C374A00B05160 /* PBXTargetDependency */,
                        );
                        name = Moire;
                        productName = Moire;
                        productReference = AF975785099C374A00B05160 /* Moire.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9757C2099C3E6300B05160 /* RDbomb */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9757C3099C3E6300B05160 /* PBXTargetDependency */,
                        );
                        name = RDbomb;
                        productName = RDbomb;
                        productReference = AF9757D2099C3E6300B05160 /* RDbomb.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975808099C41D500B05160 /* XFlame */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975809099C41D500B05160 /* PBXTargetDependency */,
                        );
                        name = XFlame;
                        productName = XFlame;
                        productReference = AF975818099C41D500B05160 /* XFlame.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975865099C475900B05160 /* ShadeBobs */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975866099C475900B05160 /* PBXTargetDependency */,
                        );
                        name = ShadeBobs;
                        productName = ShadeBobs;
                        productReference = AF975875099C475900B05160 /* ShadeBobs.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975A36099C681F00B05160 /* MetaBalls */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975A37099C681F00B05160 /* PBXTargetDependency */,
                        );
                        name = MetaBalls;
                        productName = MetaBalls;
                        productReference = AF975A46099C681F00B05160 /* MetaBalls.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975A6C099C6AB200B05160 /* Eruption */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975A6D099C6AB200B05160 /* PBXTargetDependency */,
                        );
                        name = Eruption;
                        productName = Eruption;
                        productReference = AF975A7C099C6AB200B05160 /* Eruption.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975A86099C6BC300B05160 /* Barcode */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975A87099C6BC300B05160 /* PBXTargetDependency */,
                        );
                        name = Barcode;
                        productName = Barcode;
                        productReference = AF975A96099C6BC300B05160 /* Barcode.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975AD7099C6EB100B05160 /* Fireworkx */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975AD8099C6EB100B05160 /* PBXTargetDependency */,
                        );
                        name = Fireworkx;
                        productName = Fireworkx;
                        productReference = AF975AE7099C6EB100B05160 /* Fireworkx.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975AFC099C6FE400B05160 /* MemScroller */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975AFD099C6FE400B05160 /* PBXTargetDependency */,
                        );
                        name = MemScroller;
                        productName = MemScroller;
                        productReference = AF975B0C099C6FE400B05160 /* MemScroller.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975C12099C8C1500B05160 /* Halo */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975C13099C8C1500B05160 /* PBXTargetDependency */,
                        );
                        name = Halo;
                        productName = Halo;
                        productReference = AF975C22099C8C1500B05160 /* Halo.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975C3D099C8DCF00B05160 /* Greynetic */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975C3E099C8DCF00B05160 /* PBXTargetDependency */,
                        );
                        name = Greynetic;
                        productName = Greynetic;
                        productReference = AF975C4E099C8DCF00B05160 /* Greynetic.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975C5D099C8F3F00B05160 /* NoseGuy */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975C5E099C8F3F00B05160 /* PBXTargetDependency */,
                        );
                        name = NoseGuy;
                        productName = NoseGuy;
                        productReference = AF975C6E099C8F3F00B05160 /* NoseGuy.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF975D52099CA0F000B05160 /* Rocks */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF975D53099CA0F000B05160 /* PBXTargetDependency */,
                        );
                        name = Rocks;
                        productName = Rocks;
                        productReference = AF975D63099CA0F000B05160 /* Rocks.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF976FBB0989CAA2001F8B92 /* Deco */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF480922098C412F00FB32B8 /* PBXTargetDependency */,
                        );
                        name = Deco;
                        productName = Deco;
                        productReference = AF976FBC0989CAA2001F8B92 /* Deco.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9770290989D1E6001F8B92 /* Rorschach */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF48092A098C419000FB32B8 /* PBXTargetDependency */,
                        );
                        name = Rorschach;
                        productName = Rorschach;
                        productReference = AF9770400989D1E6001F8B92 /* Rorschach.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9770660989D2F6001F8B92 /* Attraction */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF48092D098C41AE00FB32B8 /* PBXTargetDependency */,
                        );
                        name = Attraction;
                        productName = Attraction;
                        productReference = AF97707D0989D2F6001F8B92 /* Attraction.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9771D60989DC4A001F8B92 /* SaverTester */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
-                               INFOPLIST_FILE = "SaverTester-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Applications";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Foundation,
-                                       "-framework",
-                                       AppKit,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = SaverTester;
-                               WRAPPER_EXTENSION = app;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF480936098C421200FB32B8 /* PBXTargetDependency */,
                        );
                        name = SaverTester;
                        productName = SaverTester;
                        productReference = AF9771D70989DC4A001F8B92 /* SaverTester.app */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.SaverTester</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>APPL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.application";
                };
                AF998EDA0A083DB30051049D /* TopBlock */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF998EDB0A083DB30051049D /* PBXTargetDependency */,
                        );
                        name = TopBlock;
                        productName = TopBlock;
                        productReference = AF998EEE0A083DB30051049D /* TopBlock.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D466609B5109C006E59CF /* DecayScreen */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D466709B5109C006E59CF /* PBXTargetDependency */,
                        );
                        name = DecayScreen;
                        productName = DecayScreen;
                        productReference = AF9D467609B5109C006E59CF /* DecayScreen.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D474409B5300A006E59CF /* SlideScreen */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D474509B5300A006E59CF /* PBXTargetDependency */,
                        );
                        name = SlideScreen;
                        productName = SlideScreen;
                        productReference = AF9D475409B5300A006E59CF /* SlideScreen.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D475F09B53166006E59CF /* Zoom */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D476009B53166006E59CF /* PBXTargetDependency */,
                        );
                        name = Zoom;
                        productName = Zoom;
                        productReference = AF9D476F09B53166006E59CF /* Zoom.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D48DB09B53322006E59CF /* Bumps */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D48DC09B53322006E59CF /* PBXTargetDependency */,
                        );
                        name = Bumps;
                        productName = Bumps;
                        productReference = AF9D48EB09B53322006E59CF /* Bumps.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D48F409B535DA006E59CF /* Distort */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D48F509B535DA006E59CF /* PBXTargetDependency */,
                        );
                        name = Distort;
                        productName = Distort;
                        productReference = AF9D490409B535DA006E59CF /* Distort.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D492B09B53CBA006E59CF /* Ripples */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D492C09B53CBA006E59CF /* PBXTargetDependency */,
                        );
                        name = Ripples;
                        productName = Ripples;
                        productReference = AF9D493B09B53CBA006E59CF /* Ripples.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D495409B53FC9006E59CF /* RotZoomer */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D495509B53FC9006E59CF /* PBXTargetDependency */,
                        );
                        name = RotZoomer;
                        productName = RotZoomer;
                        productReference = AF9D496409B53FC9006E59CF /* RotZoomer.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D496C09B5411D006E59CF /* Twang */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D496D09B5411D006E59CF /* PBXTargetDependency */,
                        );
                        name = Twang;
                        productName = Twang;
                        productReference = AF9D497C09B5411D006E59CF /* Twang.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D499709B544C2006E59CF /* Spotlight */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D499809B544C2006E59CF /* PBXTargetDependency */,
                        );
                        name = Spotlight;
                        productName = Spotlight;
                        productReference = AF9D49A709B544C3006E59CF /* Spotlight.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D4C2B09B59A49006E59CF /* Jigsaw */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D4C2C09B59A49006E59CF /* PBXTargetDependency */,
                        );
                        name = Jigsaw;
                        productName = Jigsaw;
                        productReference = AF9D4C3B09B59A49006E59CF /* Jigsaw.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D4C6909B59F27006E59CF /* XLyap */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D4C6A09B59F27006E59CF /* PBXTargetDependency */,
                        );
                        name = XLyap;
                        productName = XLyap;
                        productReference = AF9D4C7909B59F27006E59CF /* XLyap.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D4CE709B5AA8E006E59CF /* Pong */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D4CE809B5AA8E006E59CF /* PBXTargetDependency */,
                        );
                        name = Pong;
                        productName = Pong;
                        productReference = AF9D4CF709B5AA8E006E59CF /* Pong.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D4D7E09B5B2DC006E59CF /* XAnalogTV */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D4D7F09B5B2DC006E59CF /* PBXTargetDependency */,
                        );
                        name = XAnalogTV;
                        productName = XAnalogTV;
                        productReference = AF9D4D8F09B5B2DC006E59CF /* XAnalogTV.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D4DAF09B5B71E006E59CF /* BSOD */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D4DB009B5B71E006E59CF /* PBXTargetDependency */,
                        );
                        name = BSOD;
                        productName = BSOD;
                        productReference = AF9D4DC009B5B71E006E59CF /* BSOD.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AF9D4DEC09B5BB19006E59CF /* Apple2 */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AF9D4DED09B5BB19006E59CF /* PBXTargetDependency */,
                        );
                        name = Apple2;
                        productName = Apple2;
                        productReference = AF9D4DFE09B5BB19006E59CF /* Apple2.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA3392E0B058505002B0E7D /* WebCollage */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA3392F0B058505002B0E7D /* PBXTargetDependency */,
                                AFA33BDC0B058952002B0E7D /* PBXTargetDependency */,
                        name = WebCollage;
                        productName = WebCollage;
                        productReference = AFA339400B058505002B0E7D /* WebCollage.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA33BC60B058740002B0E7D /* webcollage-helper */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
-                               INSTALL_PATH = "$(HOME)/bin";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Foundation,
-                                       "-framework",
-                                       AppKit,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = "webcollage-helper";
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                        );
                        name = "webcollage-helper";
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55947099330B000F3E977 /* PBXTargetDependency */,
                        );
                        name = Cage;
                        productName = Cage;
                        productReference = AFA5595A099330B000F3E977 /* Cage.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5596D0993317900F3E977 /* Moebius */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5596E0993317900F3E977 /* PBXTargetDependency */,
                        );
                        name = Moebius;
                        productName = Moebius;
                        productReference = AFA5597F0993317900F3E977 /* Moebius.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA559920993322100F3E977 /* Superquadrics */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA559930993322100F3E977 /* PBXTargetDependency */,
                        );
                        name = Superquadrics;
                        productName = Superquadrics;
                        productReference = AFA559A40993322100F3E977 /* Superquadrics.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA559B50993328000F3E977 /* Morph3D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA559B60993328000F3E977 /* PBXTargetDependency */,
                        );
                        name = Morph3D;
                        productName = Morph3D;
                        productReference = AFA559C70993328000F3E977 /* Morph3D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA559CF0993330600F3E977 /* Rubik */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA559D00993330600F3E977 /* PBXTargetDependency */,
                        );
                        name = Rubik;
                        productName = Rubik;
                        productReference = AFA559E10993330600F3E977 /* Rubik.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55A030993340300F3E977 /* Stairs */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55A040993340300F3E977 /* PBXTargetDependency */,
                        );
                        name = Stairs;
                        productName = Stairs;
                        productReference = AFA55A150993340300F3E977 /* Stairs.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55A20099334A000F3E977 /* Sproingies */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55A21099334A000F3E977 /* PBXTargetDependency */,
                        );
                        name = Sproingies;
                        productName = Sproingies;
                        productReference = AFA55A32099334A000F3E977 /* Sproingies.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55A790993364300F3E977 /* Lament */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55A7A0993364300F3E977 /* PBXTargetDependency */,
                        );
                        name = Lament;
                        productName = Lament;
                        productReference = AFA55A8B0993364300F3E977 /* Lament.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55ACF09933CEF00F3E977 /* Bubble3D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55AD009933CEF00F3E977 /* PBXTargetDependency */,
                        );
                        name = Bubble3D;
                        productName = Bubble3D;
                        productReference = AFA55AE109933CEF00F3E977 /* Bubble3D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55B0909933E0500F3E977 /* GLPlanet */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55B0A09933E0500F3E977 /* PBXTargetDependency */,
                        );
                        name = GLPlanet;
                        productName = GLPlanet;
                        productReference = AFA55B1E09933E0500F3E977 /* GLPlanet.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55B2509933E8D00F3E977 /* Pulsar */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55B2609933E8D00F3E977 /* PBXTargetDependency */,
                        );
                        name = Pulsar;
                        productName = Pulsar;
                        productReference = AFA55B3709933E8D00F3E977 /* Pulsar.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55B7909933F7200F3E977 /* Sierpinski3D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55B7A09933F7200F3E977 /* PBXTargetDependency */,
                        );
                        name = Sierpinski3D;
                        productName = Sierpinski3D;
                        productReference = AFA55B8B09933F7200F3E977 /* Sierpinski3D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55B9109933FDA00F3E977 /* GFlux */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55B9209933FDA00F3E977 /* PBXTargetDependency */,
                        );
                        name = GFlux;
                        productName = GFlux;
                        productReference = AFA55BA309933FDA00F3E977 /* GFlux.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55BAB099340CE00F3E977 /* Circuit */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55BAC099340CE00F3E977 /* PBXTargetDependency */,
                        );
                        name = Circuit;
                        productName = Circuit;
                        productReference = AFA55BBD099340CE00F3E977 /* Circuit.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55BE40993429100F3E977 /* Menger */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55BE50993429100F3E977 /* PBXTargetDependency */,
                        );
                        name = Menger;
                        productName = Menger;
                        productReference = AFA55BF60993429100F3E977 /* Menger.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55C0E0993431300F3E977 /* Engine */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55C0F0993431300F3E977 /* PBXTargetDependency */,
                        );
                        name = Engine;
                        productName = Engine;
                        productReference = AFA55C200993431300F3E977 /* Engine.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55C77099349A600F3E977 /* GLSnake */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55C78099349A600F3E977 /* PBXTargetDependency */,
                        );
                        name = GLSnake;
                        productName = GLSnake;
                        productReference = AFA55C89099349A600F3E977 /* GLSnake.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55CA909934BB200F3E977 /* Boxed */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55CAA09934BB200F3E977 /* PBXTargetDependency */,
                        );
                        name = Boxed;
                        productName = Boxed;
                        productReference = AFA55CBB09934BB200F3E977 /* Boxed.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55CCC09934CE400F3E977 /* GLForestFire */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55CCD09934CE400F3E977 /* PBXTargetDependency */,
                        );
                        name = GLForestFire;
                        productName = GLForestFire;
                        productReference = AFA55CDE09934CE400F3E977 /* GLForestFire.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55D3C0993565300F3E977 /* SBalls */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55D3D0993565300F3E977 /* PBXTargetDependency */,
                        );
                        name = SBalls;
                        productName = SBalls;
                        productReference = AFA55D4E0993565300F3E977 /* SBalls.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55D620993584B00F3E977 /* Cubenetic */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55D630993584B00F3E977 /* PBXTargetDependency */,
                        );
                        name = Cubenetic;
                        productName = Cubenetic;
                        productReference = AFA55D740993584B00F3E977 /* Cubenetic.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55D7F099358C400F3E977 /* Spheremonics */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55D80099358C400F3E977 /* PBXTargetDependency */,
                        );
                        name = Spheremonics;
                        productName = Spheremonics;
                        productReference = AFA55D91099358C400F3E977 /* Spheremonics.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55DC809935D7000F3E977 /* Lavalite */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55DC909935D7000F3E977 /* PBXTargetDependency */,
                        );
                        name = Lavalite;
                        productName = Lavalite;
                        productReference = AFA55DDA09935D7000F3E977 /* Lavalite.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55DF009935E4900F3E977 /* Queens */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55DF109935E4900F3E977 /* PBXTargetDependency */,
                        );
                        name = Queens;
                        productName = Queens;
                        productReference = AFA55E0309935E4900F3E977 /* Queens.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55E0D09935EDC00F3E977 /* Endgame */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55E0E09935EDC00F3E977 /* PBXTargetDependency */,
                        );
                        name = Endgame;
                        productName = Endgame;
                        productReference = AFA55E1F09935EDC00F3E977 /* Endgame.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55E2F09935F8E00F3E977 /* GLBlur */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55E3009935F8E00F3E977 /* PBXTargetDependency */,
                        );
                        name = GLBlur;
                        productName = GLBlur;
                        productReference = AFA55E4209935F8E00F3E977 /* GLBlur.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55E4E09935FF900F3E977 /* FlyingToasters */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55E4F09935FF900F3E977 /* PBXTargetDependency */,
                        );
                        name = FlyingToasters;
                        productName = FlyingToasters;
                        productReference = AFA55E6009935FF900F3E977 /* FlyingToasters.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55EC7099360E300F3E977 /* BouncingCow */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55EC8099360E300F3E977 /* PBXTargetDependency */,
                        );
                        name = BouncingCow;
                        productName = BouncingCow;
                        productReference = AFA55EE3099360E300F3E977 /* BouncingCow.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55F06099361B700F3E977 /* JigglyPuff */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55F07099361B700F3E977 /* PBXTargetDependency */,
                        );
                        name = JigglyPuff;
                        productName = JigglyPuff;
                        productReference = AFA55F1E099361B700F3E977 /* JigglyPuff.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55F2A0993622F00F3E977 /* Klein */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55F2B0993622F00F3E977 /* PBXTargetDependency */,
                        );
                        name = Klein;
                        productName = Klein;
                        productReference = AFA55F3C0993622F00F3E977 /* Klein.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55F420993629000F3E977 /* HyperTorus */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55F430993629000F3E977 /* PBXTargetDependency */,
                        );
                        name = HyperTorus;
                        productName = HyperTorus;
                        productReference = AFA55F540993629000F3E977 /* HyperTorus.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55F720993643600F3E977 /* GLMatrix */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55F730993643600F3E977 /* PBXTargetDependency */,
                        );
                        name = GLMatrix;
                        productName = GLMatrix;
                        productReference = AFA55F840993643600F3E977 /* GLMatrix.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55FD309936BFA00F3E977 /* CubeStorm */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55FD409936BFA00F3E977 /* PBXTargetDependency */,
                        );
                        name = CubeStorm;
                        productName = CubeStorm;
                        productReference = AFA55FE509936BFA00F3E977 /* CubeStorm.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA55FF909936C6D00F3E977 /* GLKnots */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA55FFA09936C6D00F3E977 /* PBXTargetDependency */,
                        );
                        name = GLKnots;
                        productName = GLKnots;
                        productReference = AFA5600B09936C6D00F3E977 /* GLKnots.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5601409936CC800F3E977 /* BlockTube */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5601509936CC800F3E977 /* PBXTargetDependency */,
                        );
                        name = BlockTube;
                        productName = BlockTube;
                        productReference = AFA5602609936CC800F3E977 /* BlockTube.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5603209936D5100F3E977 /* FlipFlop */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5603309936D5100F3E977 /* PBXTargetDependency */,
                        );
                        name = FlipFlop;
                        productName = FlipFlop;
                        productReference = AFA5604409936D5100F3E977 /* FlipFlop.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5604A09936E2100F3E977 /* AntInspect */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5604B09936E2100F3E977 /* PBXTargetDependency */,
                        );
                        name = AntInspect;
                        productName = AntInspect;
                        productReference = AFA5605C09936E2100F3E977 /* AntInspect.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5606209936F3800F3E977 /* AntSpotlight */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5606309936F3800F3E977 /* PBXTargetDependency */,
                        );
                        name = AntSpotlight;
                        productName = AntSpotlight;
                        productReference = AFA5607409936F3800F3E977 /* AntSpotlight.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA560AE0993718D00F3E977 /* Polytopes */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA560AF0993718D00F3E977 /* PBXTargetDependency */,
                        );
                        name = Polytopes;
                        productName = Polytopes;
                        productReference = AFA560C00993718D00F3E977 /* Polytopes.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA560FD0993781600F3E977 /* Molecule */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA560FE0993781600F3E977 /* PBXTargetDependency */,
                                AFA5611E0993791D00F3E977 /* PBXTargetDependency */,
                        name = Molecule;
                        productName = Molecule;
                        productReference = AFA5610F0993781600F3E977 /* Molecule.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5615609937C0D00F3E977 /* BlinkBox */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5615709937C0D00F3E977 /* PBXTargetDependency */,
                        );
                        name = BlinkBox;
                        productName = BlinkBox;
                        productReference = AFA5616A09937C0D00F3E977 /* BlinkBox.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5617B09937CF100F3E977 /* Noof */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5617C09937CF100F3E977 /* PBXTargetDependency */,
                        );
                        name = Noof;
                        productName = Noof;
                        productReference = AFA5618D09937CF100F3E977 /* Noof.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5619D09937D7E00F3E977 /* Polyhedra */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5619E09937D7E00F3E977 /* PBXTargetDependency */,
                        );
                        name = Polyhedra;
                        productName = Polyhedra;
                        productReference = AFA561AF09937D7E00F3E977 /* Polyhedra.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA562060993849F00F3E977 /* Providence */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA562070993849F00F3E977 /* PBXTargetDependency */,
                        );
                        name = Providence;
                        productName = Providence;
                        productReference = AFA562190993849F00F3E977 /* Providence.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA5621F0993852500F3E977 /* Pinion */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA562200993852500F3E977 /* PBXTargetDependency */,
                        );
                        name = Pinion;
                        productName = Pinion;
                        productReference = AFA562310993852500F3E977 /* Pinion.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA562BF099392C600F3E977 /* Boing */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA562C0099392C600F3E977 /* PBXTargetDependency */,
                        );
                        name = Boing;
                        productName = Boing;
                        productReference = AFA562D1099392C600F3E977 /* Boing.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA562DA099393C900F3E977 /* AntMaze */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA562DB099393C900F3E977 /* PBXTargetDependency */,
                        );
                        name = AntMaze;
                        productName = AntMaze;
                        productReference = AFA562EC099393C900F3E977 /* AntMaze.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA562F20993943B00F3E977 /* Tangram */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA562F30993943B00F3E977 /* PBXTargetDependency */,
                        );
                        name = Tangram;
                        productName = Tangram;
                        productReference = AFA563040993943B00F3E977 /* Tangram.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA563130993951000F3E977 /* Crackberg */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA563140993951000F3E977 /* PBXTargetDependency */,
                        );
                        name = Crackberg;
                        productName = Crackberg;
                        productReference = AFA563260993951000F3E977 /* Crackberg.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA56331099395ED00F3E977 /* GLHanoi */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA56332099395ED00F3E977 /* PBXTargetDependency */,
                        );
                        name = GLHanoi;
                        productName = GLHanoi;
                        productReference = AFA56343099395ED00F3E977 /* GLHanoi.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA56351099396C000F3E977 /* Cube21 */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA56352099396C000F3E977 /* PBXTargetDependency */,
                        );
                        name = Cube21;
                        productName = Cube21;
                        productReference = AFA56363099396C000F3E977 /* Cube21.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA56379099397B300F3E977 /* TimeTunnel */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA5637A099397B300F3E977 /* PBXTargetDependency */,
                        );
                        name = TimeTunnel;
                        productName = TimeTunnel;
                        productReference = AFA5638B099397B300F3E977 /* TimeTunnel.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFA563A4099398BB00F3E977 /* Juggler3D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFA563A5099398BB00F3E977 /* PBXTargetDependency */,
                        );
                        name = Juggler3D;
                        productName = Juggler3D;
                        productReference = AFA563B6099398BB00F3E977 /* Juggler3D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56DF10996A03800BA26F7 /* GLText */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56DF20996A03800BA26F7 /* PBXTargetDependency */,
                        );
                        name = GLText;
                        productName = GLText;
                        productReference = AFD56E040996A03800BA26F7 /* GLText.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56EAE0996A72600BA26F7 /* Braid */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56EAF0996A72600BA26F7 /* PBXTargetDependency */,
                        );
                        name = Braid;
                        productName = Braid;
                        productReference = AFD56EBE0996A72600BA26F7 /* Braid.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56EDA0996A95700BA26F7 /* Forest */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56EDB0996A95700BA26F7 /* PBXTargetDependency */,
                        );
                        name = Forest;
                        productName = Forest;
                        productReference = AFD56EEA0996A95700BA26F7 /* Forest.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56F0B0996AAFA00BA26F7 /* Vines */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56F0C0996AAFA00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Vines;
                        productName = Vines;
                        productReference = AFD56F1B0996AAFA00BA26F7 /* Vines.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56F230996AB8A00BA26F7 /* Galaxy */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56F240996AB8A00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Galaxy;
                        productName = Galaxy;
                        productReference = AFD56F330996AB8A00BA26F7 /* Galaxy.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56F4F0996AEEE00BA26F7 /* Grav */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56F500996AEEE00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Grav;
                        productName = Grav;
                        productReference = AFD56F5F0996AEEE00BA26F7 /* Grav.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56F6B0996B01600BA26F7 /* Hopalong */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56F6C0996B01600BA26F7 /* PBXTargetDependency */,
                        );
                        name = Hopalong;
                        productName = Hopalong;
                        productReference = AFD56F7B0996B01600BA26F7 /* Hopalong.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56F8C0996B09400BA26F7 /* Laser */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56F8D0996B09400BA26F7 /* PBXTargetDependency */,
                        );
                        name = Laser;
                        productName = Laser;
                        productReference = AFD56F9C0996B09400BA26F7 /* Laser.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56FA30996B10F00BA26F7 /* Lightning */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56FA40996B10F00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Lightning;
                        productName = Lightning;
                        productReference = AFD56FB30996B10F00BA26F7 /* Lightning.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56FB90996B18F00BA26F7 /* Lisa */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56FBA0996B18F00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Lisa;
                        productName = Lisa;
                        productReference = AFD56FC90996B18F00BA26F7 /* Lisa.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56FCF0996B20900BA26F7 /* Lissie */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56FD00996B20900BA26F7 /* PBXTargetDependency */,
                        );
                        name = Lissie;
                        productName = Lissie;
                        productReference = AFD56FDF0996B20900BA26F7 /* Lissie.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD56FF80996B43800BA26F7 /* Penrose */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD56FF90996B43800BA26F7 /* PBXTargetDependency */,
                        );
                        name = Penrose;
                        productName = Penrose;
                        productReference = AFD570080996B43800BA26F7 /* Penrose.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD5700F0996B4CC00BA26F7 /* Sierpinski */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570100996B4CC00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Sierpinski;
                        productName = Sierpinski;
                        productReference = AFD5701F0996B4CC00BA26F7 /* Sierpinski.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570260996B56D00BA26F7 /* Sphere */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570270996B56D00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Sphere;
                        productName = Sphere;
                        productReference = AFD570360996B56D00BA26F7 /* Sphere.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570430996B61600BA26F7 /* Spiral */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570440996B61600BA26F7 /* PBXTargetDependency */,
                        );
                        name = Spiral;
                        productName = Spiral;
                        productReference = AFD570530996B61600BA26F7 /* Spiral.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570590996B6A300BA26F7 /* FadePlot */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD5705A0996B6A300BA26F7 /* PBXTargetDependency */,
                        );
                        name = FadePlot;
                        productName = FadePlot;
                        productReference = AFD570690996B6A300BA26F7 /* FadePlot.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD5706F0996B72700BA26F7 /* Mountain */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570700996B72700BA26F7 /* PBXTargetDependency */,
                        );
                        name = Mountain;
                        productName = Mountain;
                        productReference = AFD5707F0996B72800BA26F7 /* Mountain.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570850996B80300BA26F7 /* Triangle */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570860996B80300BA26F7 /* PBXTargetDependency */,
                        );
                        name = Triangle;
                        productName = Triangle;
                        productReference = AFD570950996B80300BA26F7 /* Triangle.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD5709B0996B88E00BA26F7 /* Worm */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD5709C0996B88E00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Worm;
                        productName = Worm;
                        productReference = AFD570AB0996B88E00BA26F7 /* Worm.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570B10996B93000BA26F7 /* Rotor */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570B20996B93000BA26F7 /* PBXTargetDependency */,
                        );
                        name = Rotor;
                        productName = Rotor;
                        productReference = AFD570C10996B93000BA26F7 /* Rotor.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570C90996B9F800BA26F7 /* Ant */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570CA0996B9F800BA26F7 /* PBXTargetDependency */,
                        );
                        name = Ant;
                        productName = Ant;
                        productReference = AFD570D90996B9F800BA26F7 /* Ant.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD570EA0996BBBF00BA26F7 /* Flow */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD570EB0996BBBF00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Flow;
                        productName = Flow;
                        productReference = AFD570FA0996BBBF00BA26F7 /* Flow.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD571130996BE9300BA26F7 /* Discrete */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD571140996BE9300BA26F7 /* PBXTargetDependency */,
                        );
                        name = Discrete;
                        productName = Discrete;
                        productReference = AFD571230996BE9300BA26F7 /* Discrete.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD5712C0996BF2E00BA26F7 /* Apollonian */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD5712D0996BF2E00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Apollonian;
                        productName = Apollonian;
                        productReference = AFD5713C0996BF2E00BA26F7 /* Apollonian.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD571430996C01700BA26F7 /* Euler2D */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD571440996C01700BA26F7 /* PBXTargetDependency */,
                        );
                        name = Euler2D;
                        productName = Euler2D;
                        productReference = AFD571530996C01700BA26F7 /* Euler2D.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD571590996C0CE00BA26F7 /* Thornbird */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD5715A0996C0CE00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Thornbird;
                        productName = Thornbird;
                        productReference = AFD571690996C0CE00BA26F7 /* Thornbird.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD571B50996D9DC00BA26F7 /* Juggle */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD571B60996D9DC00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Juggle;
                        productName = Juggle;
                        productReference = AFD571C50996D9DC00BA26F7 /* Juggle.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD572220996E4A300BA26F7 /* Swirl */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD572230996E4A300BA26F7 /* PBXTargetDependency */,
                        );
                        name = Swirl;
                        productName = Swirl;
                        productReference = AFD572320996E4A300BA26F7 /* Swirl.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD5726D0996EE8500BA26F7 /* Polyominoes */ = {
                                AFD572720996EE8500BA26F7 /* Sources */,
                                AFD572750996EE8500BA26F7 /* Frameworks */,
                                AFD572790996EE8500BA26F7 /* Rez */,
-                               AFA3D93909C03D5E00E4CFCA /* ShellScript */,
-                       );
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
+                               AFA3D93909C03D5E00E4CFCA /* ShellScript */,
+                       );
+                       buildRules = (
+                       );
                        dependencies = (
                                AFD5726E0996EE8500BA26F7 /* PBXTargetDependency */,
                        );
                        name = Polyominoes;
                        productName = Polyominoes;
                        productReference = AFD5727D0996EE8500BA26F7 /* Polyominoes.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD572A50996F99600BA26F7 /* Bouboule */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD572A60996F99600BA26F7 /* PBXTargetDependency */,
                        );
                        name = Bouboule;
                        productName = Bouboule;
                        productReference = AFD572B50996F99600BA26F7 /* Bouboule.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD572C20996FC0F00BA26F7 /* Crystal */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD572C30996FC0F00BA26F7 /* PBXTargetDependency */,
                        );
                        name = Crystal;
                        productName = Crystal;
                        productReference = AFD572D20996FC0F00BA26F7 /* Crystal.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD572F9099701C000BA26F7 /* Julia */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD572FA099701C000BA26F7 /* PBXTargetDependency */,
                        );
                        name = Julia;
                        productName = Julia;
                        productReference = AFD57309099701C000BA26F7 /* Julia.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFD5735D0997411200BA26F7 /* Strange */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFD5735E0997411200BA26F7 /* PBXTargetDependency */,
                        );
                        name = Strange;
                        productName = Strange;
                        productReference = AFD5736D0997411200BA26F7 /* Strange.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
+                       productType = "com.apple.product-type.bundle";
+               };
+               AFE6A1820CDD7B2E002805BF /* MoebiusGears */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = AFE6A1940CDD7B2E002805BF /* Build configuration list for PBXNativeTarget "MoebiusGears" */;
+                       buildPhases = (
+                               AFE6A1850CDD7B2E002805BF /* Resources */,
+                               AFE6A1870CDD7B2E002805BF /* Sources */,
+                               AFE6A18B0CDD7B2E002805BF /* Frameworks */,
+                               AFE6A1920CDD7B2E002805BF /* Rez */,
+                               AFE6A1930CDD7B2E002805BF /* ShellScript */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               AFE6A1830CDD7B2E002805BF /* PBXTargetDependency */,
+                       );
+                       name = MoebiusGears;
+                       productName = Pinion;
+                       productReference = AFE6A1970CDD7B2E002805BF /* MoebiusGears.saver */;
+                       productType = "com.apple.product-type.bundle";
+               };
+               AFE6A41B0CDD7FAA002805BF /* Abstractile */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = AFE6A42A0CDD7FAA002805BF /* Build configuration list for PBXNativeTarget "Abstractile" */;
+                       buildPhases = (
+                               AFE6A41E0CDD7FAA002805BF /* Resources */,
+                               AFE6A4210CDD7FAA002805BF /* Sources */,
+                               AFE6A4240CDD7FAA002805BF /* Frameworks */,
+                               AFE6A4280CDD7FAA002805BF /* Rez */,
+                               AFE6A4290CDD7FAA002805BF /* ShellScript */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               AFE6A41C0CDD7FAA002805BF /* PBXTargetDependency */,
+                       );
+                       name = Abstractile;
+                       productName = Zoom;
+                       productReference = AFE6A42D0CDD7FAA002805BF /* Abstractile.saver */;
                        productType = "com.apple.product-type.bundle";
                };
                AFF463360C4403E400EE6509 /* CWaves */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFF463370C4403E400EE6509 /* PBXTargetDependency */,
                        );
                        name = CWaves;
                        productName = CCurve;
                        productReference = AFF463470C4403E400EE6509 /* CWaves.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
                AFF463580C440AEF00EE6509 /* GLCells */ = {
                        );
                        buildRules = (
                        );
-                       buildSettings = {
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_MODEL_TUNING = G5;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
-                               INFOPLIST_FILE = "Deco-Info.plist";
-                               INSTALL_PATH = "$(HOME)/Library/Bundles";
-                               OTHER_LDFLAGS = (
-                                       "-framework",
-                                       Carbon,
-                               );
-                               PREBINDING = NO;
-                               PRODUCT_NAME = Deco;
-                               WRAPPER_EXTENSION = bundle;
-                               ZERO_LINK = YES;
-                       };
                        dependencies = (
                                AFF463590C440AEF00EE6509 /* PBXTargetDependency */,
                        );
                        name = GLCells;
                        productName = GLBlur;
                        productReference = AFF4636C0C440AEF00EE6509 /* GLCells.saver */;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Deco</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.yourcompany.Deco</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>BNDL</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0</string>
-       <key>CSResourcesFileMapped</key>
-       <string>yes</string>
-</dict>
-</plist>
-";
                        productType = "com.apple.product-type.bundle";
                };
 /* End PBXNativeTarget section */
                29B97313FDCFA39411CA2CEA /* Project object */ = {
                        isa = PBXProject;
                        buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "xscreensaver" */;
-                       buildSettings = {
-                       };
-                       buildStyles = (
-                               4A9504CCFFE6A4B311CA0CBA /* Debug */,
-                               4A9504CDFFE6A4B311CA0CBA /* Release */,
-                       );
+                       compatibilityVersion = "Xcode 2.4";
                        hasScannedForEncodings = 1;
                        mainGroup = 29B97314FDCFA39411CA2CEA /* xscreensaver */;
                        projectDirPath = "";
+                       projectRoot = "";
                        targets = (
                                AF480D5A098EED5E00FB32B8 /* All Savers */,
                                AF4808C0098C3B6C00FB32B8 /* jwxyz */,
                                AF480AAF098C669800FB32B8 /* All Savers (XScreenSaver) */,
+                               AFE6A41B0CDD7FAA002805BF /* Abstractile */,
                                AF47721E099D4F67001F091E /* Anemone */,
                                AF4773C1099D67B9001F091E /* Anemotaxis */,
                                AF9D4DEC09B5BB19006E59CF /* Apple2 */,
                                AFA55F2A0993622F00F3E977 /* Klein */,
                                AFA55A790993364300F3E977 /* Lament */,
                                AFA55DC809935D7000F3E977 /* Lavalite */,
+                               AF4FD6E60CE7A486005EE58E /* Lockward */,
                                AFA55BE40993429100F3E977 /* Menger */,
                                AF77778E09B64A5200EA3033 /* MirrorBlob */,
                                AFA5596D0993317900F3E977 /* Moebius */,
+                               AFE6A1820CDD7B2E002805BF /* MoebiusGears */,
                                AFA560FD0993781600F3E977 /* Molecule */,
                                AFA559B50993328000F3E977 /* Morph3D */,
                                AFA5617B09937CF100F3E977 /* Noof */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF4FD6E90CE7A486005EE58E /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AF4FD7030CE7A5BC005EE58E /* lockward.xml in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF6423F5099FF9C2000F4CD4 /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AFE6A1850CDD7B2E002805BF /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AFE6A40E0CDD7BDC002805BF /* moebiusgears.xml in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               AFE6A41E0CDD7FAA002805BF /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AFE6A4200CDD7FAA002805BF /* xscreensaver-getimage-file in Resources */,
+                               AFE6A4370CDD8027002805BF /* abstractile.xml in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AFF463390C4403E400EE6509 /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF4FD6F50CE7A486005EE58E /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF642401099FF9C2000F4CD4 /* Rez */ = {
                        isa = PBXRezBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AFE6A1920CDD7B2E002805BF /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               AFE6A4280CDD7FAA002805BF /* Rez */ = {
+                       isa = PBXRezBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AFF463420C4403E400EE6509 /* Rez */ = {
                        isa = PBXRezBuildPhase;
                        buildActionMask = 2147483647;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AF0DCA520C4CBB0D00D76972 /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AF48DEFF0A0C25E000F94CF9 /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
+               };
+               AF4FD6F60CE7A486005EE58E /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AF998EEA0A083DB30051049D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3393C0B058505002B0E7D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA33C010B058E17002B0E7D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D69409C03B6200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D85B09C03BD300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D85D09C03BD700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D85F09C03BDA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86109C03BDE00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86309C03BE200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86509C03BE500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86709C03BE800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86909C03BEC00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86B09C03BEF00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86D09C03BF300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D86F09C03BF700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87109C03BFB00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87309C03C0000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87509C03C0400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87709C03C0A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87909C03C1200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87B09C03C1700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87D09C03C1B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D87F09C03C1E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88109C03C2100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88309C03C2400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88509C03C2700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88709C03C2A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88909C03C2E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88B09C03C3200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88D09C03C3600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D88F09C03C3900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89109C03C3C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89309C03C4000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89509C03C4400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89709C03C4700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89909C03C4A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89B09C03C4D00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89D09C03C5000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D89F09C03C5300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8A109C03C5600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8A309C03C5F00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8A509C03C6200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8A709C03C6500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8A909C03C6900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8AB09C03C6D00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8AD09C03C7000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8AF09C03C7300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8B109C03C7600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8B309C03C7900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8B509C03C7C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8B709C03C7F00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8B909C03C8200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8BB09C03C8600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8BD09C03C8900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8BF09C03C8D00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8C109C03C9000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8C309C03C9300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8C509C03C9600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8C709C03C9900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8C909C03C9E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8CB09C03CA100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8CD09C03CA400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8CF09C03CA800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8D109C03CAB00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8D309C03CAE00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8D509C03CB100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8D709C03CB400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8D909C03CB700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8DB09C03CBA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8DD09C03CBD00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8DF09C03CC000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8E109C03CC400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8E309C03CCA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8E509C03CCD00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8E709C03CD100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8E909C03CD500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8EB09C03CD800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8ED09C03CDB00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8EF09C03CDE00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8F109C03CE100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8F309C03CE400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8F509C03CE800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8F709C03CEA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8F909C03CED00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8FB09C03CF100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8FD09C03CF400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D8FF09C03CF700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90109C03D0000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90309C03D0400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90509C03D0700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90709C03D0B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90909C03D0E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90B09C03D1100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90D09C03D1400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D90F09C03D1800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91109C03D1B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91309C03D1E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91509C03D2100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91709C03D2400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91909C03D2700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91D09C03D3000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D91F09C03D3300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92109C03D3600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92309C03D3A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92509C03D3D00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92709C03D4000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92909C03D4400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92B09C03D4700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92D09C03D4A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D92F09C03D4E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93109C03D5100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93309C03D5400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93509C03D5700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93709C03D5B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93909C03D5E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93B09C03D6200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93D09C03D6C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D93F09C03D6F00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94109C03D7200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94309C03D7600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94509C03D7A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94709C03D7E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94909C03D8100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94B09C03D8500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94D09C03D8D00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D94F09C03D9100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95109C03D9400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95309C03D9800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95509C03D9C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95709C03DA100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95909C03DA400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95B09C03DA800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95D09C03DAB00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D95F09C03DAE00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96109C03DB100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96309C03DB500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96509C03DB900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96709C03DBC00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96909C03DBF00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96B09C03DC600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96D09C03DCA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D96F09C03DCD00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97109C03DD000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97309C03DD300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97509C03DD700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97709C03DDA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97909C03DDD00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97B09C03DE000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97D09C03DE400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D97F09C03DE700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98109C03DEA00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98309C03DEE00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98509C03DF100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98709C03DF400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98909C03DF700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98B09C03DFC00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98D09C03E0500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D98F09C03E0F00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99109C03E1200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99309C03E1600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99509C03E1900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99709C03E1C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99909C03E2000E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99B09C03E2300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99D09C03E2600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D99F09C03E2900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9A109C03E2E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9A309C03E3200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9A509C03E3600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9A709C03E3A00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9A909C03E3D00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9AB09C03E4200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9AD09C03E4600E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9AF09C03E4B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9B109C03E4E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9B309C03E5100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9B509C03E5700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9B709C03E5B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9B909C03E5E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9BB09C03E6200E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9BD09C03E6500E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9BF09C03E6900E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9C109C03E6E00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9C309C03E7100E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9C509C03E7400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9C709C03E7800E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9C909C03E7C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9CB09C03E7F00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9CD09C03E8400E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9CF09C03E8700E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9D109C03E8B00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9D309C03E8F00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3D9D509C03E9300E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFA3DBA209C0424C00E4CFCA /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBB509C033DF00353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBC709C03AAF00353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBCB09C03AEE00353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBCD09C03AF400353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBCF09C03AF800353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBD109C03AFC00353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBD309C03B0000353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFCCCBD509C03B0500353F4D /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
+               };
+               AFE6A1930CDD7B2E002805BF /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
+               };
+               AFE6A4290CDD7FAA002805BF /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFF463430C4403E400EE6509 /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
                AFF463680C440AEF00EE6509 /* ShellScript */ = {
                        isa = PBXShellScriptBuildPhase;
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
                };
 /* End PBXShellScriptBuildPhase section */
 
                        files = (
                                AF4812580990CE2700FB32B8 /* gears.c in Sources */,
                                AF9CCABA09959D170075E99B /* XScreenSaverSubclass.m in Sources */,
+                               AFCFF1D90CE4517C00C7D111 /* involute.c in Sources */,
+                               AFCFF1DA0CE4518B00C7D111 /* tube.c in Sources */,
+                               AFCFF1DB0CE451A300C7D111 /* normals.c in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF4FD6EB0CE7A486005EE58E /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AF4FD6EC0CE7A486005EE58E /* XScreenSaverSubclass.m in Sources */,
+                               AF4FD7010CE7A577005EE58E /* lockward.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF6423F7099FF9C2000F4CD4 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
                                AFA562350993856A00F3E977 /* pinion.c in Sources */,
                                AF9CCAE909959E000075E99B /* XScreenSaverSubclass.m in Sources */,
+                               AFE6A16C0CDD78EA002805BF /* involute.c in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AFE6A1870CDD7B2E002805BF /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AFE6A1890CDD7B2E002805BF /* XScreenSaverSubclass.m in Sources */,
+                               AFE6A18A0CDD7B2E002805BF /* involute.c in Sources */,
+                               AFE6A40C0CDD7BC3002805BF /* moebiusgears.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               AFE6A4210CDD7FAA002805BF /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AFE6A4220CDD7FAA002805BF /* XScreenSaverSubclass.m in Sources */,
+                               AFE6A4350CDD800F002805BF /* abstractile.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AFF4633B0C4403E400EE6509 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        target = AF48DEEF0A0C25E000F94CF9 /* GLSchool */;
                        targetProxy = AF48DF050A0C261100F94CF9 /* PBXContainerItemProxy */;
                };
+               AF4FD6E70CE7A486005EE58E /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
+                       targetProxy = AF4FD6E80CE7A486005EE58E /* PBXContainerItemProxy */;
+               };
+               AF4FD6FF0CE7A4F9005EE58E /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AF4FD6E60CE7A486005EE58E /* Lockward */;
+                       targetProxy = AF4FD6FE0CE7A4F9005EE58E /* PBXContainerItemProxy */;
+               };
                AF6423F3099FF9C2000F4CD4 /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
                        target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
                        targetProxy = AFD5735F0997411200BA26F7 /* PBXContainerItemProxy */;
                };
+               AFE6A1830CDD7B2E002805BF /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
+                       targetProxy = AFE6A1840CDD7B2E002805BF /* PBXContainerItemProxy */;
+               };
+               AFE6A19C0CDD7B7F002805BF /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AFE6A1820CDD7B2E002805BF /* MoebiusGears */;
+                       targetProxy = AFE6A19B0CDD7B7F002805BF /* PBXContainerItemProxy */;
+               };
+               AFE6A41C0CDD7FAA002805BF /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
+                       targetProxy = AFE6A41D0CDD7FAA002805BF /* PBXContainerItemProxy */;
+               };
+               AFE6A4300CDD7FEE002805BF /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AFE6A41B0CDD7FAA002805BF /* Abstractile */;
+                       targetProxy = AFE6A42F0CDD7FEE002805BF /* PBXContainerItemProxy */;
+               };
                AFF463370C4403E400EE6509 /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
                        };
                        name = Release;
                };
+               AF4FD6F80CE7A486005EE58E /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+                                       "USE_GL=1",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+                               );
+                       };
+                       name = Debug;
+               };
+               AF4FD6F90CE7A486005EE58E /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+                                       "USE_GL=1",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+                               );
+                       };
+                       name = Release;
+               };
                AF642403099FF9C2000F4CD4 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                        };
                        name = Release;
                };
+               AFE6A1950CDD7B2E002805BF /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+                                       "USE_GL=1",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+                               );
+                       };
+                       name = Debug;
+               };
+               AFE6A1960CDD7B2E002805BF /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+                                       "USE_GL=1",
+                                       "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+                               );
+                       };
+                       name = Release;
+               };
+               AFE6A42B0CDD7FAA002805BF /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Debug;
+               };
+               AFE6A42C0CDD7FAA002805BF /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Release;
+               };
                AFF463450C4403E400EE6509 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Release;
                };
+               AF4FD6F70CE7A486005EE58E /* Build configuration list for PBXNativeTarget "Lockward" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               AF4FD6F80CE7A486005EE58E /* Debug */,
+                               AF4FD6F90CE7A486005EE58E /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
                AF642402099FF9C2000F4CD4 /* Build configuration list for PBXNativeTarget "Extrusion" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Release;
                };
+               AFE6A1940CDD7B2E002805BF /* Build configuration list for PBXNativeTarget "MoebiusGears" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               AFE6A1950CDD7B2E002805BF /* Debug */,
+                               AFE6A1960CDD7B2E002805BF /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               AFE6A42A0CDD7FAA002805BF /* Build configuration list for PBXNativeTarget "Abstractile" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               AFE6A42B0CDD7FAA002805BF /* Debug */,
+                               AFE6A42C0CDD7FAA002805BF /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
                AFF463440C4403E400EE6509 /* Build configuration list for PBXNativeTarget "CWaves" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (