MAJOR="$$1"; MINOR="$$2"; \
NEW=`echo $$MINOR + 1 | bc` ; \
NEW=`echo $$NEW | sed 's/^\([0-9]\)$$/0\1/'` ; \
- D=`date '+%d-%b-%y'`; \
+ D=`date '+%d-%b-%Y'`; \
if [ ! -f xscreensaver-$$MAJOR.$$MINOR.tar.gz ]; then \
echo "WARNING: xscreensaver-$$MAJOR.$$MINOR.tar.gz does not exist."; \
fi ; \
( cd BIN/lesstif ; \
CC=cc ; \
export CC ; \
- ../../configure --with-motif=/usr/local/lesstif ; \
+ ../../configure --with-motif=/usr/local/lesstif --without-gnome ; \
echo --------------------------------------------------------------- ; \
( cd utils; gmake all ) ; \
( cd driver; gmake all ) ; \
============
+Changes since 3.23: * Added `-ignorant' option to `maze' hack.
+ * Updates to `critical', `bsod', `xflame', and `flow'.
+ * Added support for Kerberos 5 (via its Kerberos 4
+ compatibility layer.)
+ * Fixed a bad leak in `xteevee'.
+ * Updated `webcollage' to handle recent Altavista URL
+ format changes.
+ * Removed xscreensaver-demo's `Ok' and `Cancel' buttons,
+ since they were confusing people: all changes are now
+ instantanious.
+ * Made xscreensaver-demo install itself into the Gnome
+ Control Center.
Changes since 3.22: * Fixed some misplaced text fields in the Motif version
of xscreensaver-demo; fixed a crash in the Gtk version
that would happen if the programs list was empty.
GL visual should be used with nVidia systems now.
* Made the Makefiles obey $install_prefix.
* Made the `xscreensaver.spec' file able to generate both
- GL and non-GL packages simultaniously.
+ GL and non-GL packages simultaneously.
Changes since 3.19: * Added new hacks `ripples' and `sierpinski3d'.
* Made `xscreensaver-command -exit' be silent when no
screen saver was running (instead of complaining.)
*/
#undef HAVE_GTK
+/* Define this if you have Gnome and want to build support for the
+ xscreensaver control panel in the Gnome Control Center (gnomecc).
+ */
+#undef HAVE_CRAPPLET
+
/* Define this if you have the XPM library installed. Some of the demos can
* make use of this if it is available.
*/
*/
#undef HAVE_KERBEROS
+/* Define this if you have Kerberos 5, meaning we need to use the Kerberos 4
+ * compatibility layer.
+ */
+#undef HAVE_KERBEROS5
+
/* Define this if you want to use PAM (Pluggable Authentication Modules)
* to lock/unlock the screen, instead of standard /etc/passwd authentication.
*/
ac_help="$ac_help
--with-gtk Use the Gtk toolkit for the user interface."
ac_help="$ac_help
+ --with-gnome Include support for the Gnome Control Center."
+ac_help="$ac_help
Graphics options:
+###############################################################################
+#
+# Function to demand "bc". Losers.
+#
+###############################################################################
+
+
+
###############################################################################
#
# Functions to check how to do ICMP PING requests.
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:802: checking host system type" >&5
+echo "configure:812: checking host system type" >&5
host_alias=$host
case "$host_alias" in
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:825: checking for $ac_word" >&5
+echo "configure:835: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:855: checking for $ac_word" >&5
+echo "configure:865: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:906: checking for $ac_word" >&5
+echo "configure:916: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:938: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:948: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
cat > conftest.$ac_ext << EOF
-#line 949 "configure"
+#line 959 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:980: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:990: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:985: checking whether we are using GNU C" >&5
+echo "configure:995: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1004: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1013: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1023: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -z "$GCC"; then
echo $ac_n "checking how to request ANSI compilation""... $ac_c" 1>&6
-echo "configure:1047: checking how to request ANSI compilation" >&5
+echo "configure:1057: checking how to request ANSI compilation" >&5
case "$host" in
*-hpux* )
echo "$ac_t""HPUX: adding -Ae" 1>&6
fi
echo $ac_n "checking whether the compiler works on ANSI C""... $ac_c" 1>&6
-echo "configure:1070: checking whether the compiler works on ANSI C" >&5
+echo "configure:1080: checking whether the compiler works on ANSI C" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: Couldn't build even a trivial ANSI C program: check CC." 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 1075 "configure"
+#line 1085 "configure"
#include "confdefs.h"
main(int ac, char **av) { return 0; }
EOF
-if { (eval echo configure:1079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""yes" 1>&6
else
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1114: checking how to run the C preprocessor" >&5
+echo "configure:1124: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1129 "configure"
+#line 1139 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1146 "configure"
+#line 1156 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1163 "configure"
+#line 1173 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1179: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1194: checking for working const" >&5
+echo "configure:1204: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1199 "configure"
+#line 1209 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1269: checking for inline" >&5
+echo "configure:1279: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 1276 "configure"
+#line 1286 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:1283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
;;
esac
+ac_bc_result=`echo 6+9 | bc 2>/dev/null`
+ echo $ac_n "checking for bc""... $ac_c" 1>&6
+echo "configure:1320: checking for bc" >&5
+ if test "$ac_bc_result" = "15" ; then
+ echo "$ac_t""yes" 1>&6
+ else
+ echo "$ac_t""no" 1>&6
+ echo ''
+ { echo "configure: error: Your system doesn't have \"bc\", which has been a standard
+ part of Unix since the 1970s. Come back when your vendor
+ has grown a clue." 1>&2; exit 1; }
+ fi
+
# stuff for Makefiles
# Find a good install program. We prefer a C program (faster),
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1322: checking for a BSD compatible install" >&5
+echo "configure:1345: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether \"\${INSTALL} -d\" creates intermediate directories""... $ac_c" 1>&6
-echo "configure:1375: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
+echo "configure:1398: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
if eval "test \"`echo '$''{'ac_cv_install_d_creates_dirs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$ac_cv_install_d_creates_dirs" = no ; then
echo $ac_n "checking whether \"mkdir -p\" creates intermediate directories""... $ac_c" 1>&6
-echo "configure:1397: checking whether \"mkdir -p\" creates intermediate directories" >&5
+echo "configure:1420: checking whether \"mkdir -p\" creates intermediate directories" >&5
if eval "test \"`echo '$''{'ac_cv_mkdir_p_creates_dirs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1428: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1451: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
# random libc stuff
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1457: checking for ANSI C header files" >&5
+echo "configure:1480: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1462 "configure"
+#line 1485 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1487 "configure"
+#line 1510 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1505 "configure"
+#line 1528 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 1526 "configure"
+#line 1549 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:1537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1564: checking for $ac_hdr" >&5
+echo "configure:1587: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1569 "configure"
+#line 1592 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
done
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:1601: checking for mode_t" >&5
+echo "configure:1624: checking for mode_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1606 "configure"
+#line 1629 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1634: checking for pid_t" >&5
+echo "configure:1657: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1639 "configure"
+#line 1662 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1667: checking for size_t" >&5
+echo "configure:1690: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1672 "configure"
+#line 1695 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1700: checking return type of signal handlers" >&5
+echo "configure:1723: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1705 "configure"
+#line 1728 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:1722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1741: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1764: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1746 "configure"
+#line 1769 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:1755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1778: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1776: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1799: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1781 "configure"
+#line 1804 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:1797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1820: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:1822: checking for $ac_hdr that defines DIR" >&5
+echo "configure:1845: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1827 "configure"
+#line 1850 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:1835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:1860: checking for opendir in -ldir" >&5
+echo "configure:1883: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1868 "configure"
+#line 1891 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opendir()
; return 0; }
EOF
-if { (eval echo configure:1879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:1901: checking for opendir in -lx" >&5
+echo "configure:1924: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1909 "configure"
+#line 1932 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opendir()
; return 0; }
EOF
-if { (eval echo configure:1920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking how to call gettimeofday""... $ac_c" 1>&6
-echo "configure:1943: checking how to call gettimeofday" >&5
+echo "configure:1966: checking how to call gettimeofday" >&5
if eval "test \"`echo '$''{'ac_cv_gettimeofday_args'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1948 "configure"
+#line 1971 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <sys/time.h>
gettimeofday(&tv, &tzp);
; return 0; }
EOF
-if { (eval echo configure:1957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_gettimeofday_args=2
else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 1965 "configure"
+#line 1988 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <sys/time.h>
struct timeval tv; gettimeofday(&tv);
; return 0; }
EOF
-if { (eval echo configure:1973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_gettimeofday_args=1
else
for ac_func in select fcntl uname nice setpriority getcwd getwd putenv
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2012: checking for $ac_func" >&5
+echo "configure:2035: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2017 "configure"
+#line 2040 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:2040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in sigaction syslog realpath
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2068: checking for $ac_func" >&5
+echo "configure:2091: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2073 "configure"
+#line 2096 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:2096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking for struct icmp""... $ac_c" 1>&6
-echo "configure:2121: checking for struct icmp" >&5
+echo "configure:2144: checking for struct icmp" >&5
if eval "test \"`echo '$''{'ac_cv_have_icmp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2126 "configure"
+#line 2149 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdio.h>
ip.ip_hl = 0;
; return 0; }
EOF
-if { (eval echo configure:2161: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_icmp=yes
else
fi
echo $ac_n "checking for struct icmphdr""... $ac_c" 1>&6
-echo "configure:2181: checking for struct icmphdr" >&5
+echo "configure:2204: checking for struct icmphdr" >&5
if eval "test \"`echo '$''{'ac_cv_have_icmphdr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2186 "configure"
+#line 2209 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdio.h>
ip.ip_hl = 0;
; return 0; }
EOF
-if { (eval echo configure:2221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_icmphdr=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2244: checking for $ac_hdr" >&5
+echo "configure:2267: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2249 "configure"
+#line 2272 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2285: checking for $ac_word" >&5
+echo "configure:2308: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
PERL_VERSION=0
else
echo $ac_n "checking perl version""... $ac_c" 1>&6
-echo "configure:2324: checking perl version" >&5
+echo "configure:2347: checking perl version" >&5
if eval "test \"`echo '$''{'ac_cv_perl_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:2346: checking for X" >&5
+echo "configure:2369: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 2408 "configure"
+#line 2431 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2482 "configure"
+#line 2505 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:2489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:2595: checking whether -R must be followed by a space" >&5
+echo "configure:2618: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 2598 "configure"
+#line 2621 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 2621 "configure"
+#line 2644 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
# libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:2660: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:2683: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2668 "configure"
+#line 2691 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:2679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:2701: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:2724: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2709 "configure"
+#line 2732 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:2720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:2749: checking for gethostbyname" >&5
+echo "configure:2772: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2754 "configure"
+#line 2777 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
; return 0; }
EOF
-if { (eval echo configure:2777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2798: checking for gethostbyname in -lnsl" >&5
+echo "configure:2821: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2806 "configure"
+#line 2829 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:2817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:2847: checking for connect" >&5
+echo "configure:2870: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2852 "configure"
+#line 2875 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
; return 0; }
EOF
-if { (eval echo configure:2875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:2896: checking for connect in -lsocket" >&5
+echo "configure:2919: checking for connect in -lsocket" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2904 "configure"
+#line 2927 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
connect()
; return 0; }
EOF
-if { (eval echo configure:2915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:2939: checking for remove" >&5
+echo "configure:2962: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2944 "configure"
+#line 2967 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
; return 0; }
EOF
-if { (eval echo configure:2967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:2988: checking for remove in -lposix" >&5
+echo "configure:3011: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2996 "configure"
+#line 3019 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
remove()
; return 0; }
EOF
-if { (eval echo configure:3007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:3031: checking for shmat" >&5
+echo "configure:3054: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3036 "configure"
+#line 3059 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
; return 0; }
EOF
-if { (eval echo configure:3059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:3080: checking for shmat in -lipc" >&5
+echo "configure:3103: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3088 "configure"
+#line 3111 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shmat()
; return 0; }
EOF
-if { (eval echo configure:3099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:3132: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:3155: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3140 "configure"
+#line 3163 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:3151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for X app-defaults directory""... $ac_c" 1>&6
-echo "configure:3182: checking for X app-defaults directory" >&5
+echo "configure:3205: checking for X app-defaults directory" >&5
if eval "test \"`echo '$''{'ac_cv_x_app_defaults'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Some versions of Slowlaris Motif require -lgen. But not all. Why?
echo $ac_n "checking for regcmp in -lgen""... $ac_c" 1>&6
-echo "configure:3381: checking for regcmp in -lgen" >&5
+echo "configure:3404: checking for regcmp in -lgen" >&5
ac_lib_var=`echo gen'_'regcmp | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lgen $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3389 "configure"
+#line 3412 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
regcmp()
; return 0; }
EOF
-if { (eval echo configure:3400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
;;
esac
echo $ac_n "checking for XPointer""... $ac_c" 1>&6
-echo "configure:3424: checking for XPointer" >&5
+echo "configure:3447: checking for XPointer" >&5
if eval "test \"`echo '$''{'ac_cv_xpointer'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 3435 "configure"
+#line 3458 "configure"
#include "confdefs.h"
#include <X11/Xlib.h>
int main() {
XPointer foo = (XPointer) 0;
; return 0; }
EOF
-if { (eval echo configure:3442: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_xpointer=yes
else
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/Xmu/Error.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xmu/Error.h""... $ac_c" 1>&6
-echo "configure:3480: checking for X11/Xmu/Error.h" >&5
+echo "configure:3503: checking for X11/Xmu/Error.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3485 "configure"
+#line 3508 "configure"
#include "confdefs.h"
#include <X11/Xmu/Error.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3490: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
case "$host" in
*-sunos4*)
echo $ac_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug""... $ac_c" 1>&6
-echo "configure:3541: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
+echo "configure:3564: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
if eval "test \"`echo '$''{'ac_cv_sunos_xmu_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# with X libraries because we know it's SunOS.
LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
cat > conftest.$ac_ext <<EOF
-#line 3554 "configure"
+#line 3577 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_sunos_xmu_bug=no
else
echo "$ac_t""$ac_cv_sunos_xmu_bug" 1>&6
if test "$ac_cv_sunos_xmu_bug" = yes ; then
echo $ac_n "checking whether the compiler understands -static""... $ac_c" 1>&6
-echo "configure:3577: checking whether the compiler understands -static" >&5
+echo "configure:3600: checking whether the compiler understands -static" >&5
if eval "test \"`echo '$''{'ac_cv_ld_static'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -static"
cat > conftest.$ac_ext <<EOF
-#line 3584 "configure"
+#line 3607 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_ld_static=yes
else
/*)
echo $ac_n "checking for SGI SCREEN_SAVER headers""... $ac_c" 1>&6
-echo "configure:3674: checking for SGI SCREEN_SAVER headers" >&5
+echo "configure:3697: checking for SGI SCREEN_SAVER headers" >&5
d=$with_sgi/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for SGI SCREEN_SAVER libs""... $ac_c" 1>&6
-echo "configure:3684: checking for SGI SCREEN_SAVER libs" >&5
+echo "configure:3707: checking for SGI SCREEN_SAVER libs" >&5
d=$with_sgi/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/XScreenSaver.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/XScreenSaver.h""... $ac_c" 1>&6
-echo "configure:3717: checking for X11/extensions/XScreenSaver.h" >&5
+echo "configure:3740: checking for X11/extensions/XScreenSaver.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3722 "configure"
+#line 3745 "configure"
#include "confdefs.h"
#include <X11/extensions/XScreenSaver.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
/*)
echo $ac_n "checking for MIT-SCREEN-SAVER headers""... $ac_c" 1>&6
-echo "configure:3784: checking for MIT-SCREEN-SAVER headers" >&5
+echo "configure:3807: checking for MIT-SCREEN-SAVER headers" >&5
d=$with_mit/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for MIT-SCREEN-SAVER libs""... $ac_c" 1>&6
-echo "configure:3794: checking for MIT-SCREEN-SAVER libs" >&5
+echo "configure:3817: checking for MIT-SCREEN-SAVER libs" >&5
d=$with_mit/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/scrnsaver.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/scrnsaver.h""... $ac_c" 1>&6
-echo "configure:3827: checking for X11/extensions/scrnsaver.h" >&5
+echo "configure:3850: checking for X11/extensions/scrnsaver.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3832 "configure"
+#line 3855 "configure"
#include "confdefs.h"
#include <X11/extensions/scrnsaver.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XScreenSaverRegister in -lXext""... $ac_c" 1>&6
-echo "configure:3882: checking for XScreenSaverRegister in -lXext" >&5
+echo "configure:3905: checking for XScreenSaverRegister in -lXext" >&5
ac_lib_var=`echo Xext'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3890 "configure"
+#line 3913 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XScreenSaverRegister()
; return 0; }
EOF
-if { (eval echo configure:3901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XScreenSaverRegister in -lXExExt""... $ac_c" 1>&6
-echo "configure:3948: checking for XScreenSaverRegister in -lXExExt" >&5
+echo "configure:3971: checking for XScreenSaverRegister in -lXExExt" >&5
ac_lib_var=`echo XExExt'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXExExt -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3956 "configure"
+#line 3979 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XScreenSaverRegister()
; return 0; }
EOF
-if { (eval echo configure:3967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XScreenSaverRegister in -lXss""... $ac_c" 1>&6
-echo "configure:4017: checking for XScreenSaverRegister in -lXss" >&5
+echo "configure:4040: checking for XScreenSaverRegister in -lXss" >&5
ac_lib_var=`echo Xss'_'XScreenSaverRegister | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXss -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4025 "configure"
+#line 4048 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XScreenSaverRegister()
; return 0; }
EOF
-if { (eval echo configure:4036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for XIDLE headers""... $ac_c" 1>&6
-echo "configure:4102: checking for XIDLE headers" >&5
+echo "configure:4125: checking for XIDLE headers" >&5
d=$with_xidle/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for XIDLE libs""... $ac_c" 1>&6
-echo "configure:4112: checking for XIDLE libs" >&5
+echo "configure:4135: checking for XIDLE libs" >&5
d=$with_xidle/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/xidle.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/xidle.h""... $ac_c" 1>&6
-echo "configure:4145: checking for X11/extensions/xidle.h" >&5
+echo "configure:4168: checking for X11/extensions/xidle.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4150 "configure"
+#line 4173 "configure"
#include "confdefs.h"
#include <X11/extensions/xidle.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
/*)
echo $ac_n "checking for SGI-VIDEO-CONTROL headers""... $ac_c" 1>&6
-echo "configure:4211: checking for SGI-VIDEO-CONTROL headers" >&5
+echo "configure:4234: checking for SGI-VIDEO-CONTROL headers" >&5
d=$with_sgivc/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for SGI-VIDEO-CONTROL libs""... $ac_c" 1>&6
-echo "configure:4221: checking for SGI-VIDEO-CONTROL libs" >&5
+echo "configure:4244: checking for SGI-VIDEO-CONTROL libs" >&5
d=$with_sgivc/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/XSGIvc.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/XSGIvc.h""... $ac_c" 1>&6
-echo "configure:4256: checking for X11/extensions/XSGIvc.h" >&5
+echo "configure:4279: checking for X11/extensions/XSGIvc.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4261 "configure"
+#line 4284 "configure"
#include "confdefs.h"
#include <X11/extensions/XSGIvc.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XSGIvcQueryGammaMap in -lXsgivc""... $ac_c" 1>&6
-echo "configure:4310: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5
+echo "configure:4333: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5
ac_lib_var=`echo Xsgivc'_'XSGIvcQueryGammaMap | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXsgivc -lXext -lX11 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4318 "configure"
+#line 4341 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XSGIvcQueryGammaMap()
; return 0; }
EOF
-if { (eval echo configure:4329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for DPMS headers""... $ac_c" 1>&6
-echo "configure:4394: checking for DPMS headers" >&5
+echo "configure:4417: checking for DPMS headers" >&5
d=$with_dpms/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for DPMS libs""... $ac_c" 1>&6
-echo "configure:4404: checking for DPMS libs" >&5
+echo "configure:4427: checking for DPMS libs" >&5
d=$with_dpms/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/dpms.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/dpms.h""... $ac_c" 1>&6
-echo "configure:4439: checking for X11/extensions/dpms.h" >&5
+echo "configure:4462: checking for X11/extensions/dpms.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4444 "configure"
+#line 4467 "configure"
#include "confdefs.h"
#include <X11/extensions/dpms.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4449: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for DPMSInfo in -lXdpms""... $ac_c" 1>&6
-echo "configure:4493: checking for DPMSInfo in -lXdpms" >&5
+echo "configure:4516: checking for DPMSInfo in -lXdpms" >&5
ac_lib_var=`echo Xdpms'_'DPMSInfo | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXdpms -lXext -lX11 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4501 "configure"
+#line 4524 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
DPMSInfo()
; return 0; }
EOF
-if { (eval echo configure:4512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for xf86vmode headers""... $ac_c" 1>&6
-echo "configure:4577: checking for xf86vmode headers" >&5
+echo "configure:4600: checking for xf86vmode headers" >&5
d=$with_xf86vmode/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for xf86vmode libs""... $ac_c" 1>&6
-echo "configure:4587: checking for xf86vmode libs" >&5
+echo "configure:4610: checking for xf86vmode libs" >&5
d=$with_xf86vmode/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6
-echo "configure:4622: checking for X11/extensions/xf86vmode.h" >&5
+echo "configure:4645: checking for X11/extensions/xf86vmode.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4627 "configure"
+#line 4650 "configure"
#include "confdefs.h"
#include <X11/extensions/xf86vmode.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4655: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XF86VidModeGetViewPort in -lXxf86vm""... $ac_c" 1>&6
-echo "configure:4676: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
+echo "configure:4699: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
ac_lib_var=`echo Xxf86vm'_'XF86VidModeGetViewPort | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXxf86vm -lXext -lX11 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4684 "configure"
+#line 4707 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XF86VidModeGetViewPort()
; return 0; }
EOF
-if { (eval echo configure:4695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 4749 "configure"
+#line 4772 "configure"
#include "confdefs.h"
#include <X11/XHPlib.h>
EOF
if test "$with_proc_interrupts" = yes; then
echo $ac_n "checking whether /proc/interrupts contains keyboard data""... $ac_c" 1>&6
-echo "configure:4787: checking whether /proc/interrupts contains keyboard data" >&5
+echo "configure:4810: checking whether /proc/interrupts contains keyboard data" >&5
if eval "test \"`echo '$''{'ac_cv_have_proc_interrupts'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
/*)
echo $ac_n "checking for PAM headers""... $ac_c" 1>&6
-echo "configure:4920: checking for PAM headers" >&5
+echo "configure:4943: checking for PAM headers" >&5
d=$with_pam/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for PAM libs""... $ac_c" 1>&6
-echo "configure:4930: checking for PAM libs" >&5
+echo "configure:4953: checking for PAM libs" >&5
d=$with_pam/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
if test "$enable_locking" = yes -a "$with_pam" = yes; then
echo $ac_n "checking for PAM""... $ac_c" 1>&6
-echo "configure:4956: checking for PAM" >&5
+echo "configure:4979: checking for PAM" >&5
if eval "test \"`echo '$''{'ac_cv_pam'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 4967 "configure"
+#line 4990 "configure"
#include "confdefs.h"
#include <security/pam_appl.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:4974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_pam=yes
else
# libpam typically requires dlopen and dlsym. On FreeBSD,
# those are in libc. On Linux and Solaris, they're in libdl.
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:4999: checking for dlopen in -ldl" >&5
+echo "configure:5022: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5007 "configure"
+#line 5030 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dlopen()
; return 0; }
EOF
-if { (eval echo configure:5018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking how to call pam_strerror""... $ac_c" 1>&6
-echo "configure:5040: checking how to call pam_strerror" >&5
+echo "configure:5063: checking how to call pam_strerror" >&5
if eval "test \"`echo '$''{'ac_cv_pam_strerror_args'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5045 "configure"
+#line 5068 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
char *s = pam_strerror(pamh, PAM_SUCCESS);
; return 0; }
EOF
-if { (eval echo configure:5055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_pam_strerror_args=2
else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 5063 "configure"
+#line 5086 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
pam_strerror(PAM_SUCCESS);
; return 0; }
EOF
-if { (eval echo configure:5073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5096: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_pam_strerror_args=1
else
###############################################################################
have_kerberos=no
+have_kerberos5=no
with_kerberos_req=unspecified
# Check whether --with-kerberos or --without-kerberos was given.
/*)
echo $ac_n "checking for Kerberos headers""... $ac_c" 1>&6
-echo "configure:5129: checking for Kerberos headers" >&5
+echo "configure:5153: checking for Kerberos headers" >&5
d=$with_kerberos/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for Kerberos libs""... $ac_c" 1>&6
-echo "configure:5139: checking for Kerberos libs" >&5
+echo "configure:5163: checking for Kerberos libs" >&5
d=$with_kerberos/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
- echo $ac_n "checking for Kerberos""... $ac_c" 1>&6
-echo "configure:5165: checking for Kerberos" >&5
+ echo $ac_n "checking for Kerberos 4""... $ac_c" 1>&6
+echo "configure:5189: checking for Kerberos 4" >&5
if eval "test \"`echo '$''{'ac_cv_kerberos'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 5176 "configure"
+#line 5200 "configure"
#include "confdefs.h"
#include <krb.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:5183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5207: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_kerberos=yes
else
fi
echo "$ac_t""$ac_cv_kerberos" 1>&6
+ echo $ac_n "checking for Kerberos 5""... $ac_c" 1>&6
+echo "configure:5222: checking for Kerberos 5" >&5
+if eval "test \"`echo '$''{'ac_cv_kerberos5'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ if test \! -z "$includedir" ; then
+ CPPFLAGS="$CPPFLAGS -I$includedir"
+ fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ cat > conftest.$ac_ext <<EOF
+#line 5233 "configure"
+#include "confdefs.h"
+#include <kerberosIV/krb.h>
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:5240: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_kerberos5=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_kerberos5=no
+fi
+rm -f conftest*
+ CPPFLAGS="$ac_save_CPPFLAGS"
+fi
+
+echo "$ac_t""$ac_cv_kerberos5" 1>&6
+
if test "$ac_cv_kerberos" = yes ; then
have_kerberos=yes
cat >> confdefs.h <<\EOF
#define HAVE_KERBEROS 1
EOF
+ fi
+ if test "$ac_cv_kerberos5" = yes ; then
+ have_kerberos=yes
+ have_kerberos5=yes
+ cat >> confdefs.h <<\EOF
+#define HAVE_KERBEROS 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_KERBEROS5 1
+EOF
+
+ fi
+
+ if test "$have_kerberos5" = yes ; then
+ # from Matt Knopp <mhat@infocalypse.netlag.com>
+ # (who got it from amu@mit.edu)
+ PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
+ elif test "$have_kerberos" = yes ; then
# from Tim Showalter <tjs+@andrew.cmu.edu>
PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes"
+ fi
+
+ if test "$have_kerberos" = yes ; then
echo $ac_n "checking for res_search""... $ac_c" 1>&6
-echo "configure:5207: checking for res_search" >&5
+echo "configure:5287: checking for res_search" >&5
if eval "test \"`echo '$''{'ac_cv_func_res_search'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5212 "configure"
+#line 5292 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char res_search(); below. */
; return 0; }
EOF
-if { (eval echo configure:5235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_res_search=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for res_search in -lresolv""... $ac_c" 1>&6
-echo "configure:5253: checking for res_search in -lresolv" >&5
+echo "configure:5333: checking for res_search in -lresolv" >&5
ac_lib_var=`echo resolv'_'res_search | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lresolv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5261 "configure"
+#line 5341 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
res_search()
; return 0; }
EOF
-if { (eval echo configure:5272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
-
fi
fi
/*)
echo $ac_n "checking for shadow password headers""... $ac_c" 1>&6
-echo "configure:5328: checking for shadow password headers" >&5
+echo "configure:5407: checking for shadow password headers" >&5
d=$with_shadow/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for shadow password libs""... $ac_c" 1>&6
-echo "configure:5338: checking for shadow password libs" >&5
+echo "configure:5417: checking for shadow password libs" >&5
d=$with_shadow/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
if test "$with_shadow" = yes ; then
echo $ac_n "checking for Sun-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5376: checking for Sun-style shadow passwords" >&5
+echo "configure:5455: checking for Sun-style shadow passwords" >&5
if eval "test \"`echo '$''{'ac_cv_sun_adjunct'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 5387 "configure"
+#line 5466 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <unistd.h>
const char *pw = p->pwa_passwd;
; return 0; }
EOF
-if { (eval echo configure:5400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5479: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sun_adjunct=yes
else
if test "$with_shadow" = yes ; then
echo $ac_n "checking for DEC-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5430: checking for DEC-style shadow passwords" >&5
+echo "configure:5509: checking for DEC-style shadow passwords" >&5
if eval "test \"`echo '$''{'ac_cv_enhanced_passwd'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 5441 "configure"
+#line 5520 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <unistd.h>
pw = p->ufld.fd_encrypt;
; return 0; }
EOF
-if { (eval echo configure:5458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_enhanced_passwd=yes
else
# But on DEC, it's in -lsecurity.
#
echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6
-echo "configure:5482: checking for getprpwnam in -lprot" >&5
+echo "configure:5561: checking for getprpwnam in -lprot" >&5
ac_lib_var=`echo prot'_'getprpwnam | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lprot -lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5490 "configure"
+#line 5569 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
getprpwnam()
; return 0; }
EOF
-if { (eval echo configure:5501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:5520: checking for getprpwnam in -lsecurity" >&5
+echo "configure:5599: checking for getprpwnam in -lsecurity" >&5
ac_lib_var=`echo security'_'getprpwnam | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsecurity $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5528 "configure"
+#line 5607 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
getprpwnam()
; return 0; }
EOF
-if { (eval echo configure:5539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_shadow" = yes ; then
echo $ac_n "checking for HP-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5572: checking for HP-style shadow passwords" >&5
+echo "configure:5651: checking for HP-style shadow passwords" >&5
if eval "test \"`echo '$''{'ac_cv_hpux_passwd'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 5583 "configure"
+#line 5662 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <unistd.h>
const char *pw = p->pw_passwd;
; return 0; }
EOF
-if { (eval echo configure:5596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_hpux_passwd=yes
else
# on HPUX, bigcrypt is in -lsec
echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6
-echo "configure:5617: checking for bigcrypt in -lsec" >&5
+echo "configure:5696: checking for bigcrypt in -lsec" >&5
ac_lib_var=`echo sec'_'bigcrypt | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsec $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5625 "configure"
+#line 5704 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
bigcrypt()
; return 0; }
EOF
-if { (eval echo configure:5636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_shadow" = yes ; then
echo $ac_n "checking for FreeBSD-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5674: checking for FreeBSD-style shadow passwords" >&5
+echo "configure:5753: checking for FreeBSD-style shadow passwords" >&5
if eval "test \"`echo '$''{'ac_cv_master_passwd'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$with_shadow" = yes ; then
echo $ac_n "checking for generic shadow passwords""... $ac_c" 1>&6
-echo "configure:5700: checking for generic shadow passwords" >&5
+echo "configure:5779: checking for generic shadow passwords" >&5
if eval "test \"`echo '$''{'ac_cv_shadow'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 5711 "configure"
+#line 5790 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <unistd.h>
const char *pw = p->sp_pwdp;
; return 0; }
EOF
-if { (eval echo configure:5723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_shadow=yes
else
# On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
have_getspnam=no
echo $ac_n "checking for getspnam in -lc""... $ac_c" 1>&6
-echo "configure:5744: checking for getspnam in -lc" >&5
+echo "configure:5823: checking for getspnam in -lc" >&5
ac_lib_var=`echo c'_'getspnam | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5752 "configure"
+#line 5831 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
getspnam()
; return 0; }
EOF
-if { (eval echo configure:5763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$have_getspnam" = no ; then
echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6
-echo "configure:5785: checking for getspnam in -lgen" >&5
+echo "configure:5864: checking for getspnam in -lgen" >&5
ac_lib_var=`echo gen'_'getspnam | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lgen $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5793 "configure"
+#line 5872 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
getspnam()
; return 0; }
EOF
-if { (eval echo configure:5804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
have_crypt=no
echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6
-echo "configure:5840: checking for crypt in -lc" >&5
+echo "configure:5919: checking for crypt in -lc" >&5
ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5848 "configure"
+#line 5927 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
crypt()
; return 0; }
EOF
-if { (eval echo configure:5859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$have_crypt" = no ; then
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:5881: checking for crypt in -lcrypt" >&5
+echo "configure:5960: checking for crypt in -lcrypt" >&5
ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcrypt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5889 "configure"
+#line 5968 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
crypt()
; return 0; }
EOF
-if { (eval echo configure:5900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for Motif headers""... $ac_c" 1>&6
-echo "configure:5984: checking for Motif headers" >&5
+echo "configure:6063: checking for Motif headers" >&5
d=$with_motif/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for Motif libs""... $ac_c" 1>&6
-echo "configure:5994: checking for Motif libs" >&5
+echo "configure:6073: checking for Motif libs" >&5
d=$with_motif/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:6033: checking for Xm/Xm.h" >&5
+echo "configure:6112: checking for Xm/Xm.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6038 "configure"
+#line 6117 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6043: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6122: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "Xm/ComboBox.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xm/ComboBox.h""... $ac_c" 1>&6
-echo "configure:6082: checking for Xm/ComboBox.h" >&5
+echo "configure:6161: checking for Xm/ComboBox.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6087 "configure"
+#line 6166 "configure"
#include "confdefs.h"
#include <Xm/ComboBox.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
###############################################################################
#
-# Check for -lgtk.
+# Check for -lgtk (and Gnome stuff)
#
###############################################################################
/*)
echo $ac_n "checking for Gtk headers""... $ac_c" 1>&6
-echo "configure:6155: checking for Gtk headers" >&5
+echo "configure:6234: checking for Gtk headers" >&5
d=$with_gtk/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
-echo "configure:6165: checking for Gtk libs" >&5
+echo "configure:6244: checking for Gtk libs" >&5
d=$with_gtk/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
exit 1
fi
+have_gnome=no
+with_gnome_req=unspecified
+# Check whether --with-gnome or --without-gnome was given.
+if test "${with_gnome+set}" = set; then
+ withval="$with_gnome"
+ with_gnome="$withval"; with_gnome_req="$withval"
+else
+ with_gnome=yes
+fi
+
+
+# if --with-gnome=/directory/ was specified, remember that directory so that
+# we can also look for the `gnome-config' program in that directory.
+case "$with_gnome" in
+ /*)
+ gnome_dir="$with_gnome"
+ ;;
+ *)
+ gnome_dir=""
+ ;;
+esac
+
+
+ case "$with_gnome" in
+ yes) ;;
+ no) ;;
+
+ /*)
+ echo $ac_n "checking for Gnome headers""... $ac_c" 1>&6
+echo "configure:6302: checking for Gnome headers" >&5
+ d=$with_gnome/include
+ if test -d $d; then
+ X_CFLAGS="-I$d $X_CFLAGS"
+ echo "$ac_t""$d" 1>&6
+ else
+ echo "$ac_t""not found ($d: no such directory)" 1>&6
+ fi
+
+ echo $ac_n "checking for Gnome libs""... $ac_c" 1>&6
+echo "configure:6312: checking for Gnome libs" >&5
+ d=$with_gnome/lib
+ if test -d $d; then
+ X_LIBS="-L$d $X_LIBS"
+ echo "$ac_t""$d" 1>&6
+ else
+ echo "$ac_t""not found ($d: no such directory)" 1>&6
+ fi
+
+ # replace the directory string with "yes".
+ with_gnome_req="yes"
+ with_gnome=$with_gnome_req
+ ;;
+
+ *)
+ echo ""
+ echo "error: argument to --with-gnome must be \"yes\", \"no\", or a directory."
+ echo " If it is a directory, then \`DIR/include' will be added to"
+ echo " the -I list, and \`DIR/lib' will be added to the -L list."
+ exit 1
+ ;;
+ esac
+
+
+if test "$with_gnome" != yes -a "$with_gnome" != no ; then
+ echo "error: must be yes or no: --with-gnome=$with_gnome"
+ exit 1
+fi
+
+
jurassic_gtk=no
if test "$with_gtk" = yes; then
have_gtk=no
if test ! -z "$gtk_dir"; then
# canonicalize slashes.
gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- gtk_path="$gtk_dir:$gtk_dir:$gtk_path"
+ gtk_path="$gtk_dir:$gtk_path"
+ fi
+
+ if test ! -z "gnome_dir"; then
+ # canonicalize slashes.
+ gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+ gtk_path="$gnome_dir:$gtk_path"
fi
for ac_prog in glib-config
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6214: checking for $ac_word" >&5
+echo "configure:6368: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_glib_config'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6254: checking for $ac_word" >&5
+echo "configure:6408: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_gtk_config'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
done
+ if test "$with_gnome" = yes; then
+ for ac_prog in gnome-config
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:6450: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_gnome_config'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$gnome_config" in
+ /*)
+ ac_cv_path_gnome_config="$gnome_config" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_gnome_config="$gnome_config" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$gtk_path"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_gnome_config="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+fi
+gnome_config="$ac_cv_path_gnome_config"
+if test -n "$gnome_config"; then
+ echo "$ac_t""$gnome_config" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$gnome_config" && break
+done
+
+ fi
+
if test -n "$glib_config" -a -n "gtk_config" ; then
have_gtk=yes
+ if test "$with_gnome" = yes -a -n "$gnome_config" ; then
+ have_gnome=yes
+ fi
fi
+
if test "$have_gtk" = yes; then
echo $ac_n "checking Gtk version number""... $ac_c" 1>&6
-echo "configure:6295: checking Gtk version number" >&5
+echo "configure:6496: checking Gtk version number" >&5
if eval "test \"`echo '$''{'ac_cv_gtk_version_string'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
then
have_gtk=no
+ have_gnome=no
jurassic_gtk=yes
fi
fi
+
if test "$have_gtk" = yes; then
echo $ac_n "checking for Gtk includes""... $ac_c" 1>&6
-echo "configure:6322: checking for Gtk includes" >&5
+echo "configure:6525: checking for Gtk includes" >&5
if eval "test \"`echo '$''{'ac_cv_gtk_config_cflags'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo "$ac_t""$ac_cv_gtk_config_cflags" 1>&6
echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
-echo "configure:6331: checking for Gtk libs" >&5
+echo "configure:6534: checking for Gtk libs" >&5
if eval "test \"`echo '$''{'ac_cv_gtk_config_libs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo "$ac_t""$ac_cv_gtk_config_libs" 1>&6
- INCLUDES="$INCLUDES $ac_cv_gtk_config_cflags"
- GTK_LIBS="$GTK_LIBS $ac_cv_gtk_config_libs"
+ fi
+ ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
+ ac_gtk_config_libs=$ac_cv_gtk_config_libs
+
+ # Check for Gnome Capplet support.
+ #
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ gnome_config_libs="capplet gnomeui"
+ echo $ac_n "checking for Gnome capplet includes""... $ac_c" 1>&6
+echo "configure:6551: checking for Gnome capplet includes" >&5
+ if eval "test \"`echo '$''{'ac_cv_gnome_config_cflags'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
+ grep -q Unknown ) ; then
+ ac_cv_gnome_config_cflags=''
+ else
+ ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
+ fi
+fi
+
+ ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
+ if test "$ac_gnome_config_cflags" = "" ; then
+ have_gnome=no
+ echo "$ac_t""no" 1>&6
+ else
+ echo "$ac_t""$ac_gnome_config_cflags" 1>&6
+ fi
+ fi
+
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ echo $ac_n "checking for Gnome capplet libs""... $ac_c" 1>&6
+echo "configure:6574: checking for Gnome capplet libs" >&5
+ if eval "test \"`echo '$''{'ac_cv_gnome_config_libs'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null |
+ grep -q Unknown ) ; then
+ ac_cv_gnome_config_libs=''
+ else
+ ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
+ fi
+fi
+
+ ac_gnome_config_libs=$ac_cv_gnome_config_libs
+ if test "$ac_gnome_config_libs" = "" ; then
+ have_gnome=no
+ echo "$ac_t""no" 1>&6
+ else
+ echo "$ac_t""$ac_gnome_config_libs" 1>&6
+ fi
+ fi
+
+ GNOME_DATADIR=""
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ GNOME_DATADIR=`$gnome_config --datadir`
+ fi
+
+
+ # If we have Gnome, then override the gtk-config values with
+ # the gnome-config values.
+ #
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ ac_gtk_config_cflags=$ac_gnome_config_cflags
+ ac_gtk_config_libs=$ac_gnome_config_libs
+ cat >> confdefs.h <<\EOF
+#define HAVE_CRAPPLET 1
+EOF
+
+ fi
+
+
+ if test "$have_gtk" = yes; then
+ INCLUDES="$INCLUDES $ac_gtk_config_cflags"
+ GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
cat >> confdefs.h <<\EOF
#define HAVE_GTK 1
EOF
fi
+
fi
have_lesstif=no
if test "$have_motif" = yes ; then
echo $ac_n "checking whether Motif is really LessTif""... $ac_c" 1>&6
-echo "configure:6358: checking whether Motif is really LessTif" >&5
+echo "configure:6635: checking whether Motif is really LessTif" >&5
if eval "test \"`echo '$''{'ac_cv_have_lesstif'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 6369 "configure"
+#line 6646 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
int main() {
long vers = LesstifVersion;
; return 0; }
EOF
-if { (eval echo configure:6376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_lesstif=yes
else
ltv=unknown
echo unknown > conftest-lt
echo $ac_n "checking LessTif version number""... $ac_c" 1>&6
-echo "configure:6401: checking LessTif version number" >&5
+echo "configure:6678: checking LessTif version number" >&5
if eval "test \"`echo '$''{'ac_cv_lesstif_version_string'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_lesstif_version_string=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 6416 "configure"
+#line 6693 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <Xm/Xm.h>
exit(0);
}
EOF
-if { (eval echo configure:6429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ltv=`cat conftest-lt`
ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
mtv=unknown
echo unknown > conftest-mt
echo $ac_n "checking Motif version number""... $ac_c" 1>&6
-echo "configure:6459: checking Motif version number" >&5
+echo "configure:6736: checking Motif version number" >&5
if eval "test \"`echo '$''{'ac_cv_motif_version_string'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_motif_version_string=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 6474 "configure"
+#line 6751 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <Xm/Xm.h>
exit(0);
}
EOF
-if { (eval echo configure:6487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
mtv=`cat conftest-mt`
ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
motif_requires_xpm=no
if test "$have_motif" = yes ; then
echo $ac_n "checking whether Motif requires XPM""... $ac_c" 1>&6
-echo "configure:6531: checking whether Motif requires XPM" >&5
+echo "configure:6808: checking whether Motif requires XPM" >&5
if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
then
motif_requires_xpm=yes
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XpQueryExtension in -lXp""... $ac_c" 1>&6
-echo "configure:6573: checking for XpQueryExtension in -lXp" >&5
+echo "configure:6850: checking for XpQueryExtension in -lXp" >&5
ac_lib_var=`echo Xp'_'XpQueryExtension | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXp -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6581 "configure"
+#line 6858 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XpQueryExtension()
; return 0; }
EOF
-if { (eval echo configure:6592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for _Xsetlocale in -lXintl""... $ac_c" 1>&6
-echo "configure:6646: checking for _Xsetlocale in -lXintl" >&5
+echo "configure:6923: checking for _Xsetlocale in -lXintl" >&5
ac_lib_var=`echo Xintl'_'_Xsetlocale | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXintl -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6654 "configure"
+#line 6931 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
_Xsetlocale()
; return 0; }
EOF
-if { (eval echo configure:6665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for GL headers""... $ac_c" 1>&6
-echo "configure:6722: checking for GL headers" >&5
+echo "configure:6999: checking for GL headers" >&5
d=$with_gl/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for GL libs""... $ac_c" 1>&6
-echo "configure:6732: checking for GL libs" >&5
+echo "configure:7009: checking for GL libs" >&5
d=$with_gl/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "GL/gl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for GL/gl.h""... $ac_c" 1>&6
-echo "configure:6768: checking for GL/gl.h" >&5
+echo "configure:7045: checking for GL/gl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6773 "configure"
+#line 7050 "configure"
#include "confdefs.h"
#include <GL/gl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6778: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7055: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "GL/glx.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for GL/glx.h""... $ac_c" 1>&6
-echo "configure:6809: checking for GL/glx.h" >&5
+echo "configure:7086: checking for GL/glx.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6814 "configure"
+#line 7091 "configure"
#include "confdefs.h"
#include <GL/glx.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6819: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7096: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
# to link against.
#
echo $ac_n "checking whether GL is really MesaGL""... $ac_c" 1>&6
-echo "configure:6851: checking whether GL is really MesaGL" >&5
+echo "configure:7128: checking whether GL is really MesaGL" >&5
if eval "test \"`echo '$''{'ac_cv_have_mesa_gl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 6863 "configure"
+#line 7140 "configure"
#include "confdefs.h"
#include <GL/glx.h>
EOF
#
if test "$ac_have_mesa_gl" = yes; then
echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:6892: checking for pthread_create in -lpthread" >&5
+echo "configure:7169: checking for pthread_create in -lpthread" >&5
ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lpthread $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6900 "configure"
+#line 7177 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
pthread_create()
; return 0; }
EOF
-if { (eval echo configure:6911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for glXCreateContext in -lMesaGL""... $ac_c" 1>&6
-echo "configure:6958: checking for glXCreateContext in -lMesaGL" >&5
+echo "configure:7235: checking for glXCreateContext in -lMesaGL" >&5
ac_lib_var=`echo MesaGL'_'glXCreateContext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6966 "configure"
+#line 7243 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
glXCreateContext()
; return 0; }
EOF
-if { (eval echo configure:6977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for glXCreateContext in -lGL""... $ac_c" 1>&6
-echo "configure:7023: checking for glXCreateContext in -lGL" >&5
+echo "configure:7300: checking for glXCreateContext in -lGL" >&5
ac_lib_var=`echo GL'_'glXCreateContext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7031 "configure"
+#line 7308 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
glXCreateContext()
; return 0; }
EOF
-if { (eval echo configure:7042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$ac_have_mesa_gl" = yes; then
echo $ac_n "checking MesaGL version number""... $ac_c" 1>&6
-echo "configure:7100: checking MesaGL version number" >&5
+echo "configure:7377: checking MesaGL version number" >&5
if eval "test \"`echo '$''{'ac_cv_mesagl_version_string'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7105 "configure"
+#line 7382 "configure"
#include "confdefs.h"
#include <GL/gl.h>
configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for glBindTexture in -l$gl_lib_1""... $ac_c" 1>&6
-echo "configure:7171: checking for glBindTexture in -l$gl_lib_1" >&5
+echo "configure:7448: checking for glBindTexture in -l$gl_lib_1" >&5
ac_lib_var=`echo $gl_lib_1'_'glBindTexture | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7179 "configure"
+#line 7456 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
glBindTexture()
; return 0; }
EOF
-if { (eval echo configure:7190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# See comments in utils/visual-gl.c for why this is sometimes necessary.
#
echo $ac_n "checking whether drastic GL measures must be taken""... $ac_c" 1>&6
-echo "configure:7224: checking whether drastic GL measures must be taken" >&5
+echo "configure:7501: checking whether drastic GL measures must be taken" >&5
case "$host" in
*-sgi*)
echo "$ac_t""yes -- hello, SGI." 1>&6
/*)
echo $ac_n "checking for GLE headers""... $ac_c" 1>&6
-echo "configure:7277: checking for GLE headers" >&5
+echo "configure:7554: checking for GLE headers" >&5
d=$with_gle/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for GLE libs""... $ac_c" 1>&6
-echo "configure:7287: checking for GLE libs" >&5
+echo "configure:7564: checking for GLE libs" >&5
d=$with_gle/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "GL/gutil.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for GL/gutil.h""... $ac_c" 1>&6
-echo "configure:7323: checking for GL/gutil.h" >&5
+echo "configure:7600: checking for GL/gutil.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7328 "configure"
+#line 7605 "configure"
#include "confdefs.h"
#include <GL/gutil.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7610: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "GL/tube.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for GL/tube.h""... $ac_c" 1>&6
-echo "configure:7364: checking for GL/tube.h" >&5
+echo "configure:7641: checking for GL/tube.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7369 "configure"
+#line 7646 "configure"
#include "confdefs.h"
#include <GL/tube.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7374: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7651: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for gleCreateGC in -lgle""... $ac_c" 1>&6
-echo "configure:7419: checking for gleCreateGC in -lgle" >&5
+echo "configure:7696: checking for gleCreateGC in -lgle" >&5
ac_lib_var=`echo gle'_'gleCreateGC | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7427 "configure"
+#line 7704 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gleCreateGC()
; return 0; }
EOF
-if { (eval echo configure:7438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for uview_direction_d in -lmatrix""... $ac_c" 1>&6
-echo "configure:7497: checking for uview_direction_d in -lmatrix" >&5
+echo "configure:7774: checking for uview_direction_d in -lmatrix" >&5
ac_lib_var=`echo matrix'_'uview_direction_d | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7505 "configure"
+#line 7782 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
uview_direction_d()
; return 0; }
EOF
-if { (eval echo configure:7516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for XPM headers""... $ac_c" 1>&6
-echo "configure:7583: checking for XPM headers" >&5
+echo "configure:7860: checking for XPM headers" >&5
d=$with_xpm/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for XPM libs""... $ac_c" 1>&6
-echo "configure:7593: checking for XPM libs" >&5
+echo "configure:7870: checking for XPM libs" >&5
d=$with_xpm/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6
-echo "configure:7626: checking for X11/xpm.h" >&5
+echo "configure:7903: checking for X11/xpm.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7631 "configure"
+#line 7908 "configure"
#include "confdefs.h"
#include <X11/xpm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7913: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
/*)
echo $ac_n "checking for XSHM headers""... $ac_c" 1>&6
-echo "configure:7702: checking for XSHM headers" >&5
+echo "configure:7979: checking for XSHM headers" >&5
d=$with_xshm/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for XSHM libs""... $ac_c" 1>&6
-echo "configure:7712: checking for XSHM libs" >&5
+echo "configure:7989: checking for XSHM libs" >&5
d=$with_xshm/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/XShm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/XShm.h""... $ac_c" 1>&6
-echo "configure:7747: checking for X11/extensions/XShm.h" >&5
+echo "configure:8024: checking for X11/extensions/XShm.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7752 "configure"
+#line 8029 "configure"
#include "confdefs.h"
#include <X11/extensions/XShm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
-echo "configure:7791: checking for sys/ipc.h" >&5
+echo "configure:8068: checking for sys/ipc.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7796 "configure"
+#line 8073 "configure"
#include "confdefs.h"
#include <sys/ipc.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "sys/shm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/shm.h""... $ac_c" 1>&6
-echo "configure:7836: checking for sys/shm.h" >&5
+echo "configure:8113: checking for sys/shm.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7841 "configure"
+#line 8118 "configure"
#include "confdefs.h"
#include <sys/shm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7846: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
echo $ac_n "checking for XShmQueryExtension in -lXextSam""... $ac_c" 1>&6
-echo "configure:7898: checking for XShmQueryExtension in -lXextSam" >&5
+echo "configure:8175: checking for XShmQueryExtension in -lXextSam" >&5
ac_lib_var=`echo XextSam'_'XShmQueryExtension | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lXextSam -lX11 -lXext -lm $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7906 "configure"
+#line 8183 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XShmQueryExtension()
; return 0; }
EOF
-if { (eval echo configure:7917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
/*)
echo $ac_n "checking for DOUBLE-BUFFER headers""... $ac_c" 1>&6
-echo "configure:7984: checking for DOUBLE-BUFFER headers" >&5
+echo "configure:8261: checking for DOUBLE-BUFFER headers" >&5
d=$with_xdbe/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for DOUBLE-BUFFER libs""... $ac_c" 1>&6
-echo "configure:7994: checking for DOUBLE-BUFFER libs" >&5
+echo "configure:8271: checking for DOUBLE-BUFFER libs" >&5
d=$with_xdbe/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/Xdbe.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/Xdbe.h""... $ac_c" 1>&6
-echo "configure:8028: checking for X11/extensions/Xdbe.h" >&5
+echo "configure:8305: checking for X11/extensions/Xdbe.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8033 "configure"
+#line 8310 "configure"
#include "confdefs.h"
#include <X11/extensions/Xdbe.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8038: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
/*)
echo $ac_n "checking for XReadDisplay headers""... $ac_c" 1>&6
-echo "configure:8101: checking for XReadDisplay headers" >&5
+echo "configure:8378: checking for XReadDisplay headers" >&5
d=$with_readdisplay/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for XReadDisplay libs""... $ac_c" 1>&6
-echo "configure:8111: checking for XReadDisplay libs" >&5
+echo "configure:8388: checking for XReadDisplay libs" >&5
d=$with_readdisplay/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "X11/extensions/readdisplay.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/readdisplay.h""... $ac_c" 1>&6
-echo "configure:8144: checking for X11/extensions/readdisplay.h" >&5
+echo "configure:8421: checking for X11/extensions/readdisplay.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8149 "configure"
+#line 8426 "configure"
#include "confdefs.h"
#include <X11/extensions/readdisplay.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8154: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
/*)
echo $ac_n "checking for Iris Video headers""... $ac_c" 1>&6
-echo "configure:8209: checking for Iris Video headers" >&5
+echo "configure:8486: checking for Iris Video headers" >&5
d=$with_sgivideo/include
if test -d $d; then
X_CFLAGS="-I$d $X_CFLAGS"
fi
echo $ac_n "checking for Iris Video libs""... $ac_c" 1>&6
-echo "configure:8219: checking for Iris Video libs" >&5
+echo "configure:8496: checking for Iris Video libs" >&5
d=$with_sgivideo/lib
if test -d $d; then
X_LIBS="-L$d $X_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
ac_safe=`echo "dmedia/vl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dmedia/vl.h""... $ac_c" 1>&6
-echo "configure:8252: checking for dmedia/vl.h" >&5
+echo "configure:8529: checking for dmedia/vl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8257 "configure"
+#line 8534 "configure"
#include "confdefs.h"
#include <dmedia/vl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$have_sgivideo" = yes; then
have_sgivideo=no
echo $ac_n "checking for vlOpenVideo in -lvl""... $ac_c" 1>&6
-echo "configure:8287: checking for vlOpenVideo in -lvl" >&5
+echo "configure:8564: checking for vlOpenVideo in -lvl" >&5
ac_lib_var=`echo vl'_'vlOpenVideo | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lvl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 8295 "configure"
+#line 8572 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
vlOpenVideo()
; return 0; }
EOF
-if { (eval echo configure:8306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
case "$with_zippy_req" in
/*)
echo $ac_n "checking for $with_zippy_req""... $ac_c" 1>&6
-echo "configure:8377: checking for $with_zippy_req" >&5
+echo "configure:8654: checking for $with_zippy_req" >&5
if test -x "$with_zippy_req" ; then
echo "$ac_t""yes" 1>&6
else
# Extract the first word of "$with_zippy_req", so it can be a program name with args.
set dummy $with_zippy_req; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8391: checking for $ac_word" >&5
+echo "configure:8668: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_zip2'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8441: checking for $ac_word" >&5
+echo "configure:8718: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_emacs_exe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8475: checking for $ac_word" >&5
+echo "configure:8752: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_xemacs_exe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$emacs_exe" ; then
echo $ac_n "checking for emacs yow""... $ac_c" 1>&6
-echo "configure:8510: checking for emacs yow" >&5
+echo "configure:8787: checking for emacs yow" >&5
#
# get emacs to tell us where the libexec directory is.
#
if test -z "$ac_cv_zippy_program" ; then
echo $ac_n "checking for xemacs yow""... $ac_c" 1>&6
-echo "configure:8532: checking for xemacs yow" >&5
+echo "configure:8809: checking for xemacs yow" >&5
if test -n "$xemacs_exe" ; then
#
# get xemacs to tell us where the libexec directory is.
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8591: checking for $ac_word" >&5
+echo "configure:8868: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_fortune'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8627: checking for $ac_word" >&5
+echo "configure:8904: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_fortune'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
+
APPDEFAULTS=$ac_x_app_defaults
s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
s%@glib_config@%$glib_config%g
s%@gtk_config@%$gtk_config%g
+s%@gnome_config@%$gnome_config%g
s%@zip2@%$zip2%g
s%@emacs_exe@%$emacs_exe%g
s%@xemacs_exe@%$xemacs_exe%g
s%@GLE_MEN@%$GLE_MEN%g
s%@GLE_KLUDGE@%$GLE_KLUDGE%g
s%@HACKDIR@%$HACKDIR%g
+s%@GNOME_DATADIR@%$GNOME_DATADIR%g
s%@APPDEFAULTS@%$APPDEFAULTS%g
s%@DEPEND@%$DEPEND%g
s%@DEPEND_FLAGS@%$DEPEND_FLAGS%g
fi
+if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
+ warn 'Use of the Gnome Control Panel was requested, but the necessary'
+ warn2 'headers and/or libraries were not found.'
+fi
+
+
if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
preferred_lesstif=0.86
# M4 sucks!!
rpmv=`(rpm -qv xscreensaver) 2>&- | \
- sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-[0-9][0-9]*$/\1/'`
+ sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/'`
if test \! -z "$rpmv" ; then
# Warn about egregious GNOME bogosity.
#
-if (rpm -qv control-center) >&- 2>&- ; then
- warning=no
- warnL "The Gnome Control Center seems to be installed."
- echo ""
- warn2 "Note that simply installing this version of xscreensaver"
- warn2 "will not cause GNOME to know about the newly-added display"
- warn2 "modes -- GNOME is just lame that way. Instead of using the"
- warn2 "Control Center, try using the \`xscreensaver-demo' command."
-fi
+#if (rpm -qv control-center) >&- 2>&- ; then
+# warning=no
+# warnL "The Gnome Control Center seems to be installed."
+# echo ""
+# warn2 "Note that simply installing this version of xscreensaver"
+# warn2 "will not cause GNOME to know about the newly-added display"
+# warn2 "modes -- GNOME is just lame that way. Instead of using the"
+# warn2 "Control Center, try using the \`xscreensaver-demo' command."
+#fi
if test "${bindir}" = "${HACKDIR}" ; then
])
+###############################################################################
+#
+# Function to demand "bc". Losers.
+#
+###############################################################################
+
+AC_DEFUN(AC_DEMAND_BC,
+ [ac_bc_result=`echo 6+9 | bc 2>/dev/null`
+ AC_MSG_CHECKING([for bc])
+ if test "$ac_bc_result" = "15" ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ echo ''
+ AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard
+ part of Unix since the 1970s. Come back when your vendor
+ has grown a clue.])
+ fi
+ ])
+
###############################################################################
#
# Functions to check how to do ICMP PING requests.
AC_PROG_CPP
AC_C_CONST
AC_C_INLINE
+AC_DEMAND_BC
# stuff for Makefiles
AC_PROG_INSTALL
###############################################################################
have_kerberos=no
+have_kerberos5=no
with_kerberos_req=unspecified
AC_ARG_WITH(kerberos,
HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
- AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos,
+ AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos,
[AC_TRY_X_COMPILE([#include <krb.h>],,
[ac_cv_kerberos=yes],
[ac_cv_kerberos=no])])
+ AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5,
+ [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],,
+ [ac_cv_kerberos5=yes],
+ [ac_cv_kerberos5=no])])
+
if test "$ac_cv_kerberos" = yes ; then
have_kerberos=yes
AC_DEFINE(HAVE_KERBEROS)
+ fi
+
+ if test "$ac_cv_kerberos5" = yes ; then
+ have_kerberos=yes
+ have_kerberos5=yes
+ AC_DEFINE(HAVE_KERBEROS)
+ AC_DEFINE(HAVE_KERBEROS5)
+ fi
+ if test "$have_kerberos5" = yes ; then
+ # from Matt Knopp <mhat@infocalypse.netlag.com>
+ # (who got it from amu@mit.edu)
+ PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
+ elif test "$have_kerberos" = yes ; then
# from Tim Showalter <tjs+@andrew.cmu.edu>
PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes"
+ fi
+
+ if test "$have_kerberos" = yes ; then
AC_CHECK_FUNC(res_search,,
AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
))
-
fi
fi
###############################################################################
#
-# Check for -lgtk.
+# Check for -lgtk (and Gnome stuff)
#
###############################################################################
exit 1
fi
+have_gnome=no
+with_gnome_req=unspecified
+AC_ARG_WITH(gnome,
+[ --with-gnome Include support for the Gnome Control Center.],
+ [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
+
+# if --with-gnome=/directory/ was specified, remember that directory so that
+# we can also look for the `gnome-config' program in that directory.
+case "$with_gnome" in
+ /*)
+ gnome_dir="$with_gnome"
+ ;;
+ *)
+ gnome_dir=""
+ ;;
+esac
+
+HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
+
+if test "$with_gnome" != yes -a "$with_gnome" != no ; then
+ echo "error: must be yes or no: --with-gnome=$with_gnome"
+ exit 1
+fi
+
+
jurassic_gtk=no
if test "$with_gtk" = yes; then
have_gtk=no
if test ! -z "$gtk_dir"; then
# canonicalize slashes.
gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- gtk_path="$gtk_dir:$gtk_dir:$gtk_path"
+ gtk_path="$gtk_dir:$gtk_path"
fi
- AC_PATH_PROGS(glib_config, glib-config,, $gtk_path)
- AC_PATH_PROGS(gtk_config, gtk-config,, $gtk_path)
+ if test ! -z "gnome_dir"; then
+ # canonicalize slashes.
+ gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+ gtk_path="$gnome_dir:$gtk_path"
+ fi
+
+ AC_PATH_PROGS(glib_config, glib-config,, $gtk_path)
+ AC_PATH_PROGS(gtk_config, gtk-config,, $gtk_path)
+
+ if test "$with_gnome" = yes; then
+ AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
+ fi
if test -n "$glib_config" -a -n "gtk_config" ; then
have_gtk=yes
+ if test "$with_gnome" = yes -a -n "$gnome_config" ; then
+ have_gnome=yes
+ fi
fi
+
if test "$have_gtk" = yes; then
AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
[ac_cv_gtk_version_string=`$glib_config --version`])
if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
then
have_gtk=no
+ have_gnome=no
jurassic_gtk=yes
fi
fi
+
if test "$have_gtk" = yes; then
AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
[ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
[ac_cv_gtk_config_libs=`$gtk_config --libs`])
- INCLUDES="$INCLUDES $ac_cv_gtk_config_cflags"
- GTK_LIBS="$GTK_LIBS $ac_cv_gtk_config_libs"
+ fi
+ ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
+ ac_gtk_config_libs=$ac_cv_gtk_config_libs
+
+ # Check for Gnome Capplet support.
+ #
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ gnome_config_libs="capplet gnomeui"
+ AC_MSG_CHECKING(for Gnome capplet includes)
+ AC_CACHE_VAL(ac_cv_gnome_config_cflags,
+ [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
+ grep -q Unknown ) ; then
+ ac_cv_gnome_config_cflags=''
+ else
+ ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
+ fi])
+ ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
+ if test "$ac_gnome_config_cflags" = "" ; then
+ have_gnome=no
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT($ac_gnome_config_cflags)
+ fi
+ fi
+
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ AC_MSG_CHECKING(for Gnome capplet libs)
+ AC_CACHE_VAL(ac_cv_gnome_config_libs,
+ [if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null |
+ grep -q Unknown ) ; then
+ ac_cv_gnome_config_libs=''
+ else
+ ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
+ fi])
+ ac_gnome_config_libs=$ac_cv_gnome_config_libs
+ if test "$ac_gnome_config_libs" = "" ; then
+ have_gnome=no
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT($ac_gnome_config_libs)
+ fi
+ fi
+
+ GNOME_DATADIR=""
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ GNOME_DATADIR=`$gnome_config --datadir`
+ fi
+
+
+ # If we have Gnome, then override the gtk-config values with
+ # the gnome-config values.
+ #
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ ac_gtk_config_cflags=$ac_gnome_config_cflags
+ ac_gtk_config_libs=$ac_gnome_config_libs
+ AC_DEFINE(HAVE_CRAPPLET)
+ fi
+
+
+ if test "$have_gtk" = yes; then
+ INCLUDES="$INCLUDES $ac_gtk_config_cflags"
+ GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
AC_DEFINE(HAVE_GTK)
fi
+
fi
AC_SUBST(GLE_MEN)
AC_SUBST(GLE_KLUDGE)
AC_SUBST(HACKDIR)
+AC_SUBST(GNOME_DATADIR)
APPDEFAULTS=$ac_x_app_defaults
AC_SUBST(APPDEFAULTS)
fi
+if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
+ warn 'Use of the Gnome Control Panel was requested, but the necessary'
+ warn2 'headers and/or libraries were not found.'
+fi
+
+
if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
preferred_lesstif=0.86
# M4 sucks!!
changequote(X,Y)
rpmv=`(rpm -qv xscreensaver) 2>&- | \
- sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-[0-9][0-9]*$/\1/'`
+ sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/'`
changequote([,])
if test \! -z "$rpmv" ; then
# Warn about egregious GNOME bogosity.
#
-if (rpm -qv control-center) >&- 2>&- ; then
- warning=no
- warnL "The Gnome Control Center seems to be installed."
- echo ""
- warn2 "Note that simply installing this version of xscreensaver"
- warn2 "will not cause GNOME to know about the newly-added display"
- warn2 "modes -- GNOME is just lame that way. Instead of using the"
- warn2 "Control Center, try using the \`xscreensaver-demo' command."
-fi
+#if (rpm -qv control-center) >&- 2>&- ; then
+# warning=no
+# warnL "The Gnome Control Center seems to be installed."
+# echo ""
+# warn2 "Note that simply installing this version of xscreensaver"
+# warn2 "will not cause GNOME to know about the newly-added display"
+# warn2 "modes -- GNOME is just lame that way. Instead of using the"
+# warn2 "Control Center, try using the \`xscreensaver-demo' command."
+#fi
if test "${bindir}" = "${HACKDIR}" ; then
man1dir = $(mandir)/man1
mansuffix = 1
+GNOME_DATADIR = @GNOME_DATADIR@
+GNOME_CCDIR = $(GNOME_DATADIR)/control-center/Desktop
+GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
+
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
ALL_MEN = xscreensaver.man \
xscreensaver-demo.man xscreensaver-command.man
EXTRAS = README Makefile.in XScreenSaver.ad.in xscreensaver.pam \
- xscreensaver.kss xscreensaver-demo.glade .gdbinit
+ xscreensaver.kss xscreensaver-demo.glade \
+ screensaver-properties.desktop.in .gdbinit
VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \
vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \
vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
default: $(EXES)
all: $(EXES) $(EXES2)
-install: install-program install-ad install-kde install-man @INSTALL_PAM@
-uninstall: uninstall-program uninstall-ad uninstall-kde uninstall-man
+install: install-program install-ad install-gnome install-kde \
+ install-man @INSTALL_PAM@
+uninstall: uninstall-program uninstall-ad uninstall-gnome uninstall-kde \
+ uninstall-man
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
fi ; \
fi
+install-gnome: screensaver-properties.desktop
+ @if [ "$(GNOME_DATADIR)" != "" ]; then \
+ echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \
+ $(GNOME_CCDIR)/screensaver-properties.desktop ; \
+ $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \
+ $(GNOME_CCDIR)/screensaver-properties.desktop ; \
+ echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \
+ $(GNOME_PANELDIR)/screensaver-properties.desktop ; \
+ $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \
+ $(GNOME_PANELDIR)/screensaver-properties.desktop ; \
+ fi
+
+uninstall-gnome:
+ @if [ "$(GNOME_DATADIR)" != "" ]; then \
+ echo rm -f $(GNOME_CCDIR)/screensaver-properties.desktop ; \
+ rm -f $(GNOME_CCDIR)/screensaver-properties.desktop ; \
+ echo rm -f $(GNOME_PANELDIR)/screensaver-properties.desktop ; \
+ rm -f $(GNOME_PANELDIR)/screensaver-properties.desktop ; \
+ fi
+
install-kde:
@src="$(srcdir)/xscreensaver.kss" ; \
if [ "$$KDEDIR" != "" ]; then \
@S=XScreenSaver.ad.in ; \
U=$(UTILS_SRC)/version.h ; \
V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
- D=`date '+%d-%b-%y'` ; \
+ D=`date '+%d-%b-%Y'` ; \
echo -n "Updating version number in $$S to $$V $$D... " ; \
T=/tmp/xs.$$$$ ; \
sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/" \
@for S in $(MEN); do \
U=$(UTILS_SRC)/version.h ; \
V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
- V="`date '+%d-%b-%y'` ($$V)" ; \
+ V="`date '+%d-%b-%Y'` ($$V)" ; \
echo -n "Updating footer in $$S to \"$$V\"... " ; \
T=/tmp/xs.$$$$ ; \
sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/" \
XScreenSaver_ad.h: XScreenSaver.ad
$(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h
+screensaver-properties.desktop: screensaver-properties.desktop.in Makefile
+ @echo generating $@... ; \
+ sed "s%[@]bindir[@]%${bindir}%g" \
+ < ${srcdir}/screensaver-properties.desktop.in \
+ > $@
+
# The executables linked in this directory.
#
xscreensaver: $(SAVER_OBJS)
! a screen saver and locker for the X window system
! by Jamie Zawinski
!
-! version 3.23
-! 30-Jan-00
+! version 3.24
+! 03-Apr-200000
!
! See "man xscreensaver" for more info. The latest version is always
! available at http://www.jwz.org/xscreensaver/
! your home directory, the settings in that file take precedence.
+! Don't hand this file to "xrdb" -- that isn't how app-defaults files work.
+! Though app-defaults files have (mostly) the same syntax as your ~/.Xdefaults
+! file, they are used differently, and if you run this file through xrdb,
+! you will probably mess things up.
+
+#error Do not run app-defaults files through xrdb!
+#error That does not do what you might expect.
+#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.
+
+! /* (xrdb prevention kludge: whole file)
+
*timeout: 10
*cycle: 10
*lockTimeout: 0
-texture_quality -light -fog \n\
@GLE_KLUDGE@GL: extrusion -root \n\
@GL_KLUDGE@ GL: sierpinski3d -root \n\
+@GL_KLUDGE@ GL: starwars -root \n\
\
- xdaliclock -root -builtin3 -cycle \n\
- default-n: xearth -nofork -nostars -ncolors 50 \
- "XMountains (top)" xmountains -b -M -Z 0 -r 1 -m \n\
- xaos -root -autopilot -incoloring -1 \
-nogui -outcoloring -1 \n\
-- xfishtank -d \n\
+- xfishtank -d -s \n\
- xsnow \n\
- goban -root \n\
- electricsheep \n
! sanity check -- hands off.
*hacks.documentation.isInstalled: True
-*hacks.grav.documentation: \
-This program draws a simple orbital simulation. If you turn on \
-trails, it looks kind of like a cloud-chamber photograph. Written by \
-Greg Bowering.
-
*hacks.qix.documentation: \
This is the swiss army chainsaw of qix programs. It bounces a series \
of line segments around the screen, and uses variations on this basic \
By Scott Draves. You can find it at <http://www.electricsheep.org/>. \
See that web site for configuration information.
+
+! (xrdb prevention kludge: whole file) */
+"#error Do not run app-defaults files through xrdb!",
+"#error That does not do what you might expect.",
+"#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.",
"*timeout: 10",
"*cycle: 10",
"*lockTimeout: 0",
-texture_quality -light -fog \\n\
GL: extrusion -root \\n\
GL: sierpinski3d -root \\n\
+ GL: starwars -root \\n\
\
- xdaliclock -root -builtin3 -cycle \\n\
- default-n: xearth -nofork -nostars -ncolors 50 \
- \"XMountains (top)\" xmountains -b -M -Z 0 -r 1 -m \\n\
- xaos -root -autopilot -incoloring -1 \
-nogui -outcoloring -1 \\n\
-- xfishtank -d \\n\
+- xfishtank -d -s \\n\
- xsnow \\n\
- goban -root \\n\
- electricsheep \\n",
"*Cancel.rightOffset: 10",
"*Cancel.bottomOffset: 10",
"*hacks.documentation.isInstalled: True",
-"*hacks.grav.documentation: \
-This program draws a simple orbital simulation. If you turn on \
-trails, it looks kind of like a cloud-chamber photograph. Written by \
-Greg Bowering.",
"*hacks.qix.documentation: \
This is the swiss army chainsaw of qix programs. It bounces a series \
of line segments around the screen, and uses variations on this basic \
void
manual_cb (GtkButton *button,
gpointer user_data);
+
+void
+notebook_switch_page_cb (GtkNotebook *notebook,
+ GtkNotebookPage *page,
+ gint page_num,
+ gpointer user_data);
+
+void
+pref_changed_cb (GtkNotebook *notebook,
+ GtkNotebookPage *page,
+ gint page_num,
+ gpointer user_data);
# include <config.h>
#endif
+#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include "demo-Gtk-stubs.h"
#include "demo-Gtk-widgets.h"
-
GtkWidget*
-create_xscreensaver_demo ()
+create_xscreensaver_demo (void)
{
GtkWidget *xscreensaver_demo;
GtkWidget *outer_vbox;
GtkWidget *fade_button;
GtkWidget *unfade_button;
GtkWidget *lock_button;
- GtkWidget *hbuttonbox3;
- GtkWidget *prefs_ok;
- GtkWidget *prefs_cancel;
GtkWidget *prefs_tab;
GtkAccelGroup *accel_group;
GtkTooltips *tooltips;
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 10, 0);
- hbuttonbox3 = gtk_hbutton_box_new ();
- gtk_widget_set_name (hbuttonbox3, "hbuttonbox3");
- gtk_widget_ref (hbuttonbox3);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "hbuttonbox3", hbuttonbox3,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (hbuttonbox3);
- gtk_box_pack_start (GTK_BOX (prefs_hbox), hbuttonbox3, FALSE, FALSE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 10);
-
- prefs_ok = gtk_button_new_with_label ("OK");
- gtk_widget_set_name (prefs_ok, "prefs_ok");
- gtk_widget_ref (prefs_ok);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_ok", prefs_ok,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (prefs_ok);
- gtk_container_add (GTK_CONTAINER (hbuttonbox3), prefs_ok);
- GTK_WIDGET_SET_FLAGS (prefs_ok, GTK_CAN_DEFAULT);
-
- prefs_cancel = gtk_button_new_with_label ("Cancel");
- gtk_widget_set_name (prefs_cancel, "prefs_cancel");
- gtk_widget_ref (prefs_cancel);
- gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_cancel", prefs_cancel,
- (GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (prefs_cancel);
- gtk_container_add (GTK_CONTAINER (hbuttonbox3), prefs_cancel);
- GTK_WIDGET_SET_FLAGS (prefs_cancel, GTK_CAN_DEFAULT);
-
prefs_tab = gtk_label_new ("Screensaver Options");
gtk_widget_set_name (prefs_tab, "prefs_tab");
gtk_widget_ref (prefs_tab);
gtk_signal_connect (GTK_OBJECT (doc_menu), "activate",
GTK_SIGNAL_FUNC (doc_menu_cb),
NULL);
+ gtk_signal_connect (GTK_OBJECT (notebook), "switch_page",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
gtk_signal_connect (GTK_OBJECT (next), "clicked",
GTK_SIGNAL_FUNC (run_next_cb),
NULL);
gtk_signal_connect (GTK_OBJECT (manual), "clicked",
GTK_SIGNAL_FUNC (manual_cb),
NULL);
- gtk_signal_connect (GTK_OBJECT (prefs_ok), "clicked",
- GTK_SIGNAL_FUNC (prefs_ok_cb),
+ gtk_signal_connect (GTK_OBJECT (timeout_text), "activate",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (timeout_text), "focus_out_event",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (cycle_text), "activate",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (cycle_text), "focus_out_event",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (fade_text), "activate",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (fade_text), "focus_out_event",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (ticks_text), "activate",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (ticks_text), "focus_out_event",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (lock_text), "activate",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (lock_text), "focus_out_event",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (pass_text), "activate",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (pass_text), "focus_out_event",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (verbose_button), "toggled",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (install_button), "toggled",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (fade_button), "toggled",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (unfade_button), "toggled",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
NULL);
- gtk_signal_connect (GTK_OBJECT (prefs_cancel), "clicked",
- GTK_SIGNAL_FUNC (prefs_cancel_cb),
+ gtk_signal_connect (GTK_OBJECT (lock_button), "toggled",
+ GTK_SIGNAL_FUNC (pref_changed_cb),
NULL);
gtk_widget_grab_default (next);
# include "xmu.h"
#endif
-
-
#include <gtk/gtk.h>
+#ifdef HAVE_CRAPPLET
+# include <gnome.h>
+# include <capplet-widget.h>
+#endif
+
extern Display *gdk_display;
#include "version.h"
char *progclass = "XScreenSaver";
XrmDatabase db;
+static Bool crapplet_p = False;
+static Bool initializing_p;
+static GtkWidget *toplevel_widget;
+
typedef struct {
saver_preferences *a, *b;
} prefs_pair;
static GtkWidget *
name_to_widget (GtkWidget *widget, const char *name)
{
- while (1)
- {
- GtkWidget *parent = (GTK_IS_MENU (widget)
- ? gtk_menu_get_attach_widget (GTK_MENU (widget))
- : widget->parent);
- if (parent)
- widget = parent;
- else
- break;
- }
- return (GtkWidget *) gtk_object_get_data (GTK_OBJECT (widget), name);
+ return (GtkWidget *) gtk_object_get_data (GTK_OBJECT(toplevel_widget), name);
}
-
/* Why this behavior isn't automatic in *either* toolkit, I'll never know.
Takes a scroller, viewport, or list as an argument.
*/
}
}
-
static void
-warning_dialog_dismiss_cb (GtkButton *button, gpointer user_data)
+warning_dialog_dismiss_cb (GtkWidget *widget, gpointer user_data)
{
GtkWidget *shell = GTK_WIDGET (user_data);
while (shell->parent)
}
+void restart_menu_cb (GtkWidget *widget, gpointer user_data);
+
+static void warning_dialog_restart_cb (GtkWidget *widget, gpointer user_data)
+{
+ restart_menu_cb (widget, user_data);
+ warning_dialog_dismiss_cb (widget, user_data);
+}
+
static void
-warning_dialog (GtkWidget *parent, const char *message, int center)
+warning_dialog (GtkWidget *parent, const char *message,
+ Boolean restart_button_p, int center)
{
char *msg = strdup (message);
char *head;
GtkWidget *dialog = gtk_dialog_new ();
GtkWidget *label = 0;
GtkWidget *ok = 0;
+ GtkWidget *cancel = 0;
int i = 0;
while (parent->parent)
ok = gtk_button_new_with_label ("OK");
gtk_container_add (GTK_CONTAINER (label), ok);
+ if (restart_button_p)
+ {
+ cancel = gtk_button_new_with_label ("Cancel");
+ gtk_container_add (GTK_CONTAINER (label), cancel);
+ }
+
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 10);
gtk_window_set_title (GTK_WINDOW (dialog), progclass);
gtk_widget_show (ok);
+ if (cancel)
+ gtk_widget_show (cancel);
gtk_widget_show (label);
gtk_widget_show (dialog);
/* gtk_window_set_default (GTK_WINDOW (dialog), ok);*/
- gtk_signal_connect_object (GTK_OBJECT (ok), "clicked",
- GTK_SIGNAL_FUNC (warning_dialog_dismiss_cb),
- (gpointer) dialog);
+ if (restart_button_p)
+ {
+ gtk_signal_connect_object (GTK_OBJECT (ok), "clicked",
+ GTK_SIGNAL_FUNC (warning_dialog_restart_cb),
+ (gpointer) dialog);
+ gtk_signal_connect_object (GTK_OBJECT (cancel), "clicked",
+ GTK_SIGNAL_FUNC (warning_dialog_dismiss_cb),
+ (gpointer) dialog);
+ }
+ else
+ {
+ gtk_signal_connect_object (GTK_OBJECT (ok), "clicked",
+ GTK_SIGNAL_FUNC (warning_dialog_dismiss_cb),
+ (gpointer) dialog);
+ }
gdk_window_set_transient_for (GTK_WIDGET (dialog)->window,
GTK_WIDGET (parent)->window);
sprintf (buf, "Error:\n\n%s", err);
else
strcpy (buf, "Unknown error!");
- warning_dialog (widget, buf, 100);
+ warning_dialog (widget, buf, False, 100);
}
if (err) free (err);
}
/* #### */
warning_dialog (GTK_WIDGET (menuitem),
"Error:\n\n"
- "cut unimplemented\n", 1);
+ "cut unimplemented\n", False, 1);
}
/* #### */
warning_dialog (GTK_WIDGET (menuitem),
"Error:\n\n"
- "copy unimplemented\n", 1);
+ "copy unimplemented\n", False, 1);
}
/* #### */
warning_dialog (GTK_WIDGET (menuitem),
"Error:\n\n"
- "paste unimplemented\n", 1);
+ "paste unimplemented\n", False, 1);
}
s, s2);
free (s);
- warning_dialog (GTK_WIDGET (menuitem), buf, 100);
+ warning_dialog (GTK_WIDGET (menuitem), buf, False, 100);
}
{
warning_dialog (GTK_WIDGET (menuitem),
"Error:\n\n"
- "No Help URL has been specified.\n", 100);
+ "No Help URL has been specified.\n", False, 100);
return;
}
void
-restart_menu_cb (GtkMenuItem *menuitem, gpointer user_data)
+restart_menu_cb (GtkWidget *widget, gpointer user_data)
{
#if 0
- run_cmd (GTK_WIDGET (menuitem), XA_RESTART, 0);
+ run_cmd (GTK_WIDGET (widget), XA_RESTART, 0);
#else
- apply_changes_and_save (GTK_WIDGET (menuitem));
+ apply_changes_and_save (GTK_WIDGET (widget));
xscreensaver_command (gdk_display, XA_EXIT, 0, False, NULL);
sleep (1);
system ("xscreensaver -nosplash &");
if (!f || !*f)
warning_dialog (widget,
"Error:\n\nCouldn't determine init file name!\n",
- 100);
+ False, 100);
else
{
char *b = (char *) malloc (strlen(f) + 1024);
sprintf (b, "Error:\n\nCouldn't write %s\n", f);
- warning_dialog (widget, b, 100);
+ warning_dialog (widget, b, False, 100);
free (b);
}
return -1;
static int
-apply_changes_and_save (GtkWidget *widget)
+apply_changes_and_save_1 (GtkWidget *widget)
{
/* prefs_pair *pair = (prefs_pair *) client_data; */
prefs_pair *pair = global_prefs_pair; /* I hate C so much... */
return 0;
}
+void prefs_ok_cb (GtkButton *button, gpointer user_data);
+
+static int
+apply_changes_and_save (GtkWidget *widget)
+{
+ prefs_ok_cb ((GtkButton *) widget, 0);
+ return apply_changes_and_save_1 (widget);
+}
+
+
void
run_this_cb (GtkButton *button, gpointer user_data)
{
{
warning_dialog (GTK_WIDGET (button),
"Error:\n\nno `manualCommand' resource set.",
- 100);
+ False, 100);
}
free (name);
"Error:\n\n"
"Unparsable time format: \"%s\"\n",
line);
- warning_dialog (widget, b, 100);
+ warning_dialog (widget, b, False, 100);
}
else
*store = value;
{ \
char b[255]; \
sprintf (b, "Error:\n\n" "Not an integer: \"%s\"\n", line); \
- warning_dialog (GTK_WIDGET (button), b, 100); \
+ warning_dialog (GTK_WIDGET (button), b, False, 100); \
} \
else \
*(field) = value; \
}
+void
+pref_changed_cb (GtkButton *button, gpointer user_data)
+{
+ if (! initializing_p)
+ apply_changes_and_save (GTK_WIDGET (button));
+}
+
+
static gint
list_doubleclick_cb (GtkWidget *button, GdkEventButton *event,
gpointer client_data)
"Warning:\n\n"
"file \"%s\" has changed, reloading.\n",
f);
- warning_dialog (widget, b, 100);
+ warning_dialog (widget, b, False, 100);
free (b);
load_init_file (p);
sprintf (msg,
"Warning:\n\n"
"The XScreenSaver daemon doesn't seem to be running\n"
- "on display \"%s\". You can launch it by selecting\n"
- "`Restart Daemon' from the File menu, or by typing\n"
- "\"xscreensaver &\" in a shell.",
+ "on display \"%s\". Launch it now?",
d);
}
else if (p && ruser && *ruser && !!strcmp (ruser, p->pw_name))
"the same ~/.xscreensaver file, so %s isn't\n"
"going to work right.\n"
"\n"
- "Either re-run %s as \"%s\", or re-run\n"
- "xscreensaver as \"%s\" (which you can do by\n"
- "selecting `Restart Daemon' from the File menu.)\n",
+ "You should either re-run %s as \"%s\", or re-run\n"
+ "xscreensaver as \"%s\".\n"
+ "\n"
+ "Restart the xscreensaver daemon now?\n",
progname, luser, lhost,
d,
(ruser ? ruser : "???"), (rhost ? rhost : "???"),
"if they don't see the same ~%s/.xscreensaver file) then\n"
"%s won't work right.\n"
"\n"
- "You can restart the daemon on \"%s\" as \"%s\" by\n"
- "selecting `Restart Daemon' from the File menu.)",
+ "Restart the daemon on \"%s\" as \"%s\" now?\n",
progname, luser, lhost,
d,
(ruser ? ruser : "???"), (rhost ? rhost : "???"),
"Warning:\n\n"
"This is %s version %s.\n"
"But the xscreensaver managing display \"%s\"\n"
- "is version %s. This could cause problems.",
+ "is version %s. This could cause problems.\n"
+ "\n"
+ "Restart the xscreensaver daemon now?\n",
progname, short_version,
d,
rversion);
if (*msg)
- warning_dialog (parent, msg, 1);
+ warning_dialog (parent, msg, True, 1);
free (msg);
}
0
};
+#if 0
+#ifdef HAVE_CRAPPLET
+static struct poptOption crapplet_options[] = {
+ {NULL, '\0', 0, NULL, 0}
+};
+#endif /* HAVE_CRAPPLET */
+#endif /* 0 */
+
+#define USAGE() \
+ fprintf (stderr, "usage: %s [ -display dpy-string ] [ -prefs ]\n", \
+ real_progname)
+
+
+static void
+map_window_cb (GtkWidget *w, gpointer user_data)
+{
+ Boolean oi = initializing_p;
+ initializing_p = True;
+ pixmapify_buttons (w);
+ eschew_gtk_lossage (w);
+ ensure_selected_item_visible (GTK_WIDGET(name_to_widget(w, "list")));
+ initializing_p = oi;
+}
+
+
int
main (int argc, char **argv)
{
XtAppContext app;
+# ifdef HAVE_CRAPPLET
+ GnomeClient *client;
+ GnomeClientFlags flags;
+ int init_results;
+# endif /* HAVE_CRAPPLET */
prefs_pair Pair, *pair;
saver_preferences P, P2, *p, *p2;
Bool prefs = False;
char *real_progname = argv[0];
char *s;
+ initializing_p = True;
+
s = strrchr (real_progname, '/');
if (s) real_progname = s+1;
!strncmp(argv[i], "-display", strlen(argv[i])))
argv[i] = "--display";
+
+ /* We need to parse this arg really early... Sigh. */
+ for (i = 1; i < argc; i++)
+ if (argv[i] &&
+ (!strcmp(argv[i], "--crapplet") ||
+ !strcmp(argv[i], "--capplet")))
+ {
+# ifdef HAVE_CRAPPLET
+ int j;
+ crapplet_p = True;
+ for (j = i; j < argc; j++) /* remove it from the list */
+ argv[j] = argv[j+1];
+ argc--;
+
+# else /* !HAVE_CRAPPLET */
+ fprintf (stderr, "%s: not compiled with --crapplet support\n",
+ real_progname[i]);
+ USAGE ();
+ exit (1);
+# endif /* !HAVE_CRAPPLET */
+ }
+
/* Let Gtk open the X connection, then initialize Xt to use that
- same connection. Doctor Frankenstein would be proud. */
- gtk_init (&argc, &argv);
+ same connection. Doctor Frankenstein would be proud.
+ */
+# ifdef HAVE_CRAPPLET
+ if (crapplet_p)
+ {
+ init_results = gnome_capplet_init ("screensaver-properties",
+ short_version,
+ argc, argv, NULL, 0, NULL);
+
+ if (init_results < 0)
+ {
+# if 0
+ g_error ("An initialization error occurred while "
+ "starting xscreensaver-capplet.\n");
+# else /* !0 */
+ fprintf (stderr, "%s: gnome_capplet_init failed: %d\n",
+ real_progname, init_results);
+ exit (1);
+# endif /* !0 */
+ }
+
+ client = gnome_master_client ();
+
+ if (client)
+ flags = gnome_client_get_flags (client);
+ else
+ flags = 0;
+
+ if (flags & GNOME_CLIENT_IS_CONNECTED)
+ {
+ gnome_client_set_restart_style (client, GNOME_RESTART_NEVER);
+ gnome_client_flush (client);
+ }
+ }
+ else
+# endif /* HAVE_CRAPPLET */
+ {
+ gtk_init (&argc, &argv);
+ }
/* We must read exactly the same resources as xscreensaver.
s++;
if (!strcmp (s, "-prefs"))
prefs = True;
+ else if (crapplet_p)
+ /* There are lots of random args that we don't care about when we're
+ started as a crapplet, so just ignore unknown args in that case. */
+ ;
else
{
fprintf (stderr, "%s: unknown option: %s\n", real_progname, argv[i]);
- fprintf (stderr, "usage: %s [ -display dpy-string ] [ -prefs ]\n",
- real_progname);
- exit (1);
+ USAGE ();
+ exit (1);
}
}
/* Create the window and all its widgets.
*/
gtk_window = create_xscreensaver_demo ();
+ toplevel_widget = gtk_window;
/* Set the window's title. */
{
sensitize_demo_widgets (gtk_window, False);
fix_text_entry_sizes (gtk_window);
scroll_to_current_hack (gtk_window, pair);
- gtk_widget_show (gtk_window);
- /* The next three calls must come after gtk_widget_show(). */
- pixmapify_buttons (gtk_window);
- eschew_gtk_lossage (gtk_window);
- ensure_selected_item_visible (GTK_WIDGET(name_to_widget(gtk_window,"list")));
+ gtk_signal_connect (
+ GTK_OBJECT (name_to_widget (GTK_WIDGET (gtk_window), "list")),
+ "map", GTK_SIGNAL_FUNC(map_window_cb), 0);
+
/* Handle the -prefs command-line argument. */
if (prefs)
gtk_notebook_set_page (notebook, 1);
}
- /* Issue any warnings about the running xscreensaver daemon. */
- the_network_is_not_the_computer (gtk_window);
+# ifdef HAVE_CRAPPLET
+ if (crapplet_p)
+ {
+ GtkWidget *capplet;
+ GtkWidget *top_vbox;
+
+ capplet = capplet_widget_new ();
+
+ top_vbox = GTK_BIN (gtk_window)->child;
+
+ gtk_widget_ref (top_vbox);
+ gtk_container_remove (GTK_CONTAINER (gtk_window), top_vbox);
+ GTK_OBJECT_SET_FLAGS (top_vbox, GTK_FLOATING);
+
+ /* This is a crock, but otherwise, the Control Center expands to
+ be as tall as the screen. */
+ gtk_window_set_default_size (GTK_WINDOW (top_vbox), 600, 400);
+
+ /* In crapplet-mode, take off the menubar. */
+ gtk_widget_hide (name_to_widget (gtk_window, "menubar"));
+
+ gtk_container_add (GTK_CONTAINER (capplet), top_vbox);
+ gtk_widget_show (capplet);
+ gtk_widget_hide (gtk_window);
+
+ /* Hook up the Control Center's redundant Help button, too. */
+ gtk_signal_connect (GTK_OBJECT (capplet), "help",
+ GTK_SIGNAL_FUNC (doc_menu_cb), 0);
+
+ /* Issue any warnings about the running xscreensaver daemon. */
+ the_network_is_not_the_computer (top_vbox);
+ }
+ else
+# endif /* HAVE_CRAPPLET */
+ {
+ gtk_widget_show (gtk_window);
+
+ /* Issue any warnings about the running xscreensaver daemon. */
+ the_network_is_not_the_computer (gtk_window);
+ }
/* Run the Gtk event loop, and not the Xt event loop. This means that
if there were Xt timers or fds registered, they would never get serviced,
Xt so that we could process the command line and use the X resource
manager.
*/
- gtk_main ();
+ initializing_p = False;
+
+# ifdef HAVE_CRAPPLET
+ if (crapplet_p)
+ capplet_gtk_main ();
+ else
+# endif /* HAVE_CRAPPLET */
+ gtk_main ();
+
exit (0);
}
/* kpasswd.c --- verify kerberos passwords.
* written by Nat Lanza (magus@cs.cmu.edu) for
- * xscreensaver, Copyright (c) 1993-1997, 1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-1997, 1998, 2000
+ * 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
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
-#include <krb.h>
-#include <des.h>
+
+#ifdef HAVE_KERBEROS5
+# include <kerberosIV/krb.h>
+# include <kerberosIV/des.h>
+#else /* !HAVE_KERBEROS5 (meaning Kerberos 4) */
+# include <krb.h>
+# include <des.h>
+#endif /* !HAVE_KERBEROS5 */
#if !defined(VMS) && !defined(HAVE_ADJUNCT_PASSWD)
# include <pwd.h>
/* passwd-pam.c --- verifying typed passwords with PAM
* (Pluggable Authentication Modules.)
* written by Bill Nottingham <notting@redhat.com> (and jwz) for
- * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-1998, 2000 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
fprintf (stderr, "%s: pam_authenticate (...) ==> %d (%s)\n",
blurb(), status, PAM_STRERROR(pamh, status));
if (status == PAM_SUCCESS) /* Win! */
- goto DONE;
+ {
+ /* Each time we successfully authenticate, refresh credentials,
+ for Kerberos/AFS/DCE/etc. If this fails, just ignore that
+ failure and blunder along; it shouldn't matter.
+ */
+ int status2 = pam_setcred (pamh, PAM_REFRESH_CRED);
+ if (verbose_p)
+ fprintf (stderr, "%s: pam_setcred (...) ==> %d (%s)\n",
+ blurb(), status2, PAM_STRERROR(pamh, status2));
+ goto DONE;
+ }
/* If that didn't work, set the user to root, and try to authenticate again.
*/
--- /dev/null
+[Desktop Entry]
+Name=Screensaver
+Name[da]=Pauseskærm
+Name[ca]=Protector de pantalla
+Name[de]=Bildschirmschoner
+Name[es]=Propiedades Salvapantallas
+Name[et]=Ekraanisäästja
+Name[fi]=Ruudunsäästäjä
+Name[fr]=Propriétés Économiseur d'écran
+Name[hu]=Képernyõvédõ
+Name[it]=Salvaschermo
+Name[ja]=¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¡¼
+Name[ko]=È¸é º¸È£±â
+Name[no]=Skjermsparer
+Name[pl]=Wygaszacz ekranu
+Name[pt]=Propriedades da protecção de ecrã
+Name[pt_BR]=Propriedades da proteção de tela
+Name[ru]=èÒÁÎÉÔÅÌØ ÜËÒÁÎÁ
+Name[sv]=Skärmsläckare
+Name[wa]=Spårgneu di waitroûle
+Comment=Configure the settings of the screensaver.
+Comment[da]=Indstil din pauseskærm.
+Comment[ca]=Configurar el protector de pantalla.
+Comment[de]=Bildschirmschoner einrichten
+Comment[es]=Configurar el salvapantalla
+Comment[et]=Ekraanisäästja häälestus
+Comment[fi]=Aseta ruudunsäästäjän asetukset.
+Comment[fr]=Configurer l'économiseur d'écran
+Comment[hu]=Képernyõvédõ beállítások
+Comment[it]=Impostazioni del salvaschermo
+Comment[ja]=¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¡¼¤ÎÀßÄê
+Comment[ko]=È¸é º¸È£±â ¼³Á¤
+Comment[no]=Endre innstillingene for skjermspareren
+Comment[pl]=Konfiguracja wygaszacza ekranu
+Comment[pt]=Configura as opções da protecção de ecrã.
+Comment[ru]=îÁÓÔÒÏÊËÁ ÈÒÁÎÉÔÅÌÑ ÜËÒÁÎÁ.
+Comment[sv]=Ändra inställningar för skärmsläckare
+Comment[wa]=Apontiaedje do spårgneu di waitroûle
+Exec=@bindir@/xscreensaver-demo --crapplet
+Icon=gnome-ccscreensaver.png
+Terminal=0
+Type=Application
* GLX and Overlay support added by Jamie Zawinski <jwz@jwz.org>, 11-Nov-99
*
* To compile:
- * cc -DHAVE_GLX xdpyinfo.c -o xdpyinfo -lGL -lX11 -lXext -lm
+ * cc -DHAVE_GLX xdpyinfo.c -o xdpyinfo -lGL -lX11 -lXext [-lXtst] -lm
*
* Other defines to consider:
- * -DHAVE_XIE -DHAVE_XTEST -DHAVE_SYNC -DHAVE_XRECORD
+ * -DMITSHM -DHAVE_XDBE -DHAVE_XIE -DHAVE_XTEST -DHAVE_SYNC
+ * -DHAVE_XRECORD
*/
#include <X11/Xlib.h>
#ifdef HAVE_XSYNC
#include <X11/extensions/sync.h>
#endif /* HAVE_XSYNC */
+#ifdef HAVE_XDBE
#include <X11/extensions/Xdbe.h>
+#endif /* HAVE_XDBE */
#ifdef HAVE_XRECORD
#include <X11/extensions/record.h>
#endif /* HAVE_XRECORD */
}
#endif /* MITSHM */
+#ifdef HAVE_XDBE
int
print_dbe_info(dpy, extname)
Display *dpy;
XdbeFreeVisualInfo(svi);
return 1;
}
+#endif /* HAVE_XDBE */
#ifdef HAVE_XRECORD
int
#ifdef HAVE_XTEST
{XTestExtensionName, print_xtest_info, False},
#endif /* HAVE_XTEST */
+#ifdef HAVE_XDBE
{"DOUBLE-BUFFER", print_dbe_info, False},
+#endif /* HAVE_XDBE */
#ifdef HAVE_XRECORD
{"RECORD", print_record_info, False}
#endif /* HAVE_XRECORD */
.if n .sp 1
.if t .sp .5
..
-.TH XScreenSaver 1 "30-Jan-00 (3.23)" "X Version 11"
+.TH XScreenSaver 1 "03-Apr-2000 (3.24)" "X Version 11"
.SH NAME
xscreensaver-command - control a running xscreensaver process
.SH SYNOPSIS
<main_header_file>demo-Gtk-widgets.h</main_header_file>
<handler_source_file>demo-Gtk-stubs.c</handler_source_file>
<handler_header_file>demo-Gtk-stubs.h</handler_header_file>
- <support_source_file>support.c</support_source_file>
- <support_header_file>support.h</support_header_file>
- <translatable_strings_file></translatable_strings_file>
</project>
<widget>
<class>GtkNotebook</class>
<name>notebook</name>
<can_focus>True</can_focus>
+ <signal>
+ <name>switch_page</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:36:24 GMT</last_modification_time>
+ </signal>
<show_tabs>True</show_tabs>
<show_border>True</show_border>
<tab_pos>GTK_POS_TOP</tab_pos>
<name>timeout_text</name>
<tooltip>How long until the screensaver activates.</tooltip>
<can_focus>True</can_focus>
+ <signal>
+ <name>activate</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:28:10 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>focus_out_event</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:34:26 GMT</last_modification_time>
+ </signal>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>8</text_max_length>
<name>cycle_text</name>
<tooltip>How long each demo will be run before moving on to another.</tooltip>
<can_focus>True</can_focus>
+ <signal>
+ <name>activate</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:28:29 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>focus_out_event</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:35:28 GMT</last_modification_time>
+ </signal>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>8</text_max_length>
<name>fade_text</name>
<tooltip>How long (in seconds) it should take for the screen to fade to black (8-bit displays only.)</tooltip>
<can_focus>True</can_focus>
+ <signal>
+ <name>activate</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:28:29 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>focus_out_event</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:35:28 GMT</last_modification_time>
+ </signal>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>8</text_max_length>
<name>ticks_text</name>
<tooltip>How many steps are in the fade animation (8-bit displays only.)</tooltip>
<can_focus>True</can_focus>
+ <signal>
+ <name>activate</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:28:29 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>focus_out_event</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:35:28 GMT</last_modification_time>
+ </signal>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>8</text_max_length>
<name>lock_text</name>
<tooltip>How long after the screensaver has activated until a password will be required (if `Require Password' is also set.)</tooltip>
<can_focus>True</can_focus>
+ <signal>
+ <name>activate</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:28:29 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>focus_out_event</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:35:28 GMT</last_modification_time>
+ </signal>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>8</text_max_length>
<name>pass_text</name>
<tooltip>How long the password dialog will wait.</tooltip>
<can_focus>True</can_focus>
+ <signal>
+ <name>activate</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:29:08 GMT</last_modification_time>
+ </signal>
+ <signal>
+ <name>focus_out_event</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:35:58 GMT</last_modification_time>
+ </signal>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>8</text_max_length>
<class>GtkCheckButton</class>
<name>verbose_button</name>
<can_focus>True</can_focus>
+ <signal>
+ <name>toggled</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:31:53 GMT</last_modification_time>
+ </signal>
<label>Verbose</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
<class>GtkCheckButton</class>
<name>install_button</name>
<can_focus>True</can_focus>
+ <signal>
+ <name>toggled</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:32:25 GMT</last_modification_time>
+ </signal>
<label>Install Colormap</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
<class>GtkCheckButton</class>
<name>fade_button</name>
<can_focus>True</can_focus>
+ <signal>
+ <name>toggled</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:32:39 GMT</last_modification_time>
+ </signal>
<label>Fade Colormap</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
<class>GtkCheckButton</class>
<name>unfade_button</name>
<can_focus>True</can_focus>
+ <signal>
+ <name>toggled</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:32:51 GMT</last_modification_time>
+ </signal>
<label>Unfade Colormap</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
<class>GtkCheckButton</class>
<name>lock_button</name>
<can_focus>True</can_focus>
+ <signal>
+ <name>toggled</name>
+ <handler>pref_changed_cb</handler>
+ <last_modification_time>Mon, 03 Apr 2000 02:33:01 GMT</last_modification_time>
+ </signal>
<label>Require Password</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
</widget>
</widget>
</widget>
-
- <widget>
- <class>GtkHButtonBox</class>
- <name>hbuttonbox3</name>
- <border_width>10</border_width>
- <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
- <spacing>30</spacing>
- <child_min_width>85</child_min_width>
- <child_min_height>27</child_min_height>
- <child_ipad_x>7</child_ipad_x>
- <child_ipad_y>0</child_ipad_y>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
-
- <widget>
- <class>GtkButton</class>
- <name>prefs_ok</name>
- <can_default>True</can_default>
- <can_focus>True</can_focus>
- <signal>
- <name>clicked</name>
- <handler>prefs_ok_cb</handler>
- <last_modification_time>Mon, 08 Nov 1999 04:39:18 GMT</last_modification_time>
- </signal>
- <label>OK</label>
- </widget>
-
- <widget>
- <class>GtkButton</class>
- <name>prefs_cancel</name>
- <can_default>True</can_default>
- <can_focus>True</can_focus>
- <signal>
- <name>clicked</name>
- <handler>prefs_cancel_cb</handler>
- <last_modification_time>Mon, 08 Nov 1999 04:39:33 GMT</last_modification_time>
- </signal>
- <label>Cancel</label>
- </widget>
- </widget>
</widget>
<widget>
.if n .sp 1
.if t .sp .5
..
-.TH XScreenSaver 1 "30-Jan-00 (3.23)" "X Version 11"
+.TH XScreenSaver 1 "03-Apr-2000 (3.24)" "X Version 11"
.SH NAME
xscreensaver-demo - interactively control the background xscreensaver daemon
.SH SYNOPSIS
.if n .sp 1
.if t .sp .5
..
-.TH XScreenSaver 1 "30-Jan-00 (3.23)" "X Version 11"
+.TH XScreenSaver 1 "03-Apr-2000 (3.24)" "X Version 11"
.SH NAME
xscreensaver - graphics hack and screen locker, launched when the user is idle
.SH SYNOPSIS
xjack.man xlyap.man jigsaw.man epicycle.man bsod.man \
sonar.man t3d.man squiral.man spotlight.man critical.man \
vidwhacker.man webcollage.man xsublim.man distort.man \
- phosphor.man xmatrix.man xteevee.man
+ phosphor.man xmatrix.man xteevee.man xflame.man
STAR = *
EXTRAS = README Makefile.in xlock_23.h .gdbinit \
images/$(STAR).xbm \
truchet: truchet.o $(HACK_OBJS) $(COL)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
-bsod: bsod.o $(HACK_OBJS) $(COL)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) $(XPM_LIBS)
+bsod: bsod.o $(HACK_OBJS) $(GRAB)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS) $(XPM_LIBS) $(GRAB_LIBS)
distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS) $(GRAB_LIBS)
xflame.o: $(UTILS_SRC)/grabscreen.h
xflame.o: $(UTILS_SRC)/visual.h
xflame.o: $(UTILS_SRC)/xshm.h
+xflame.o: $(srcdir)/images/bob.xbm
wander.o: $(srcdir)/screenhack.h
wander.o: ../config.h
wander.o: $(UTILS_SRC)/yarandom.h
-/* xscreensaver, Copyright (c) 1998 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1998, 2000 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
return True;
}
+\f
+/* blit damage
+ *
+ * by Martin Pool <mbp@samba.org>, Feb 2000.
+ *
+ * This is meant to look like the preferred failure mode of NCD
+ * Xterms. The parameters for choosing what to copy where might not
+ * be quite right, but it looks about ugly enough.
+ */
+static Bool
+blitdamage (Display *dpy, Window window, int delay)
+{
+ XGCValues gcv;
+ XWindowAttributes xwa;
+ GC gc0;
+ int i;
+ int delta_x = 0, delta_y = 0;
+ int w, h;
+ int chunk_h, chunk_w;
+ int steps;
+ long gc_mask = 0;
+ int src_x, src_y;
+ int x, y;
+
+ if (!get_boolean_resource("doBlitDamage", "DoBlitDamage"))
+ return False;
+
+ XGetWindowAttributes(dpy, window, &xwa);
+
+ grab_screen_image(xwa.screen, window);
+
+ w = xwa.width;
+ h = xwa.height;
+
+ gc_mask = GCForeground;
+
+ gcv.plane_mask = random();
+ gc_mask |= GCPlaneMask;
+
+ gc0 = XCreateGC(dpy, window, gc_mask, &gcv);
+
+ steps = 50;
+ chunk_w = w / (random() % 1 + 1);
+ chunk_h = h / (random() % 1 + 1);
+ if (random() & 0x1000)
+ delta_y = random() % 600;
+ if (!delta_y || (random() & 0x2000))
+ delta_x = random() % 600;
+ src_x = 0;
+ src_y = 0;
+ x = 0;
+ y = 0;
+
+ for (i = 0; i < steps; i++) {
+ if (x + chunk_w > w)
+ x -= w;
+ else
+ x += delta_x;
+
+ if (y + chunk_h > h)
+ y -= h;
+ else
+ y += delta_y;
+
+ XCopyArea(dpy, window, window, gc0,
+ src_x, src_y,
+ chunk_w, chunk_h,
+ x, y);
+
+ bsod_sleep(dpy, 0);
+ }
+
+ bsod_sleep(dpy, delay);
+
+ XFreeGC(dpy, gc0);
+
+ return True;
+}
+
\f
char *progclass = "BSOD";
"*doMacsBug: True",
"*doSCO: True",
"*doSparcLinux: False", /* boring */
+ "*doBlitDamage: True",
".Windows.font: -*-courier-bold-r-*-*-*-120-*-*-m-*-*-*",
".Windows.font2: -*-courier-bold-r-*-*-*-180-*-*-m-*-*-*",
while (1)
{
Bool did;
- do { i = (random() & 0xFF) % 8; } while (i == j);
+ do { i = (random() & 0xFF) % 9; } while (i == j);
switch (i)
{
case 0: did = windows(dpy, window, delay, True); break;
case 5: did = sco(dpy, window, delay); break;
case 6: did = sparc_linux(dpy, window, delay); break;
case 7: did = atari(dpy, window, delay); break;
+ case 8: did = blitdamage(dpy, window, delay); break;
default: abort(); break;
}
loop++;
.BR doMacsBug ,
.BR doSCO ,
.BR doAtari ,
+.BR doBlitDamage ,
and
.BR doSparcLinux .
Each of these is a Boolean resource, they all default to true, except for
/* critical -- Self-organizing-criticality display hack for XScreenSaver
- * Copyright (C) 1998, 1999 Martin Pool <mbp@humbug.org.au>
+ * Copyright (C) 1998, 1999, 2000 Martin Pool <mbp@humbug.org.au>
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose is hereby granted without
*
* Revision history:
* 13 Nov 1998: Initial version, Martin Pool <mbp@humbug.org.au>
- */
+ * 08 Feb 2000: Change to keeping and erasing a trail, <mbp>
+ *
+ * It would be nice to draw curvy shapes rather than just straight
+ * lines, but X11 doesn't have spline primitives (?) so we'd have to
+ * do all the work ourselves */
#include "screenhack.h"
#include "erase.h"
#include <stdio.h>
#include <stdlib.h>
+#include <assert.h>
char *progclass = "Critical";
unsigned short *cells;
} CriticalModel;
+typedef struct {
+ int trail; /* length of trail */
+ int cell_size;
+} CriticalSettings;
+
CriticalModel * model_allocate (int w, int h);
void model_initialize (CriticalModel *model);
-static void model_step (CriticalModel *model, int *top_x, int *top_y);
-
/* Options this module understands. */
XrmOptionDescRec options[] = {
{ "-restart", ".restart", XrmoptionSepArg, 0 },
{ "-cellsize", ".cellsize", XrmoptionSepArg, 0 },
{ "-batchcount", ".batchcount", XrmoptionSepArg, 0 },
+ { "-trail", ".trail", XrmoptionSepArg, 0 },
{ 0, 0, 0, 0 } /* end */
};
"*delay: 10000",
"*ncolors: 64",
"*restart: 8",
- "*cellsize: 9",
"*batchcount: 1500",
+ "*trail: 50",
0 /* end */
};
+int
+clip (int low, int val, int high)
+{
+ if (val < low)
+ return low;
+ else if (val > high)
+ return high;
+ else
+ return val;
+}
+
+
/* Allocate an return a new simulation model datastructure.
*/
Neighbours that fall off the edge of the model are simply
ignored. */
static void
-model_step (CriticalModel *model, int *top_x, int *top_y)
+model_step (CriticalModel *model, XPoint *ptop)
{
int x, y, i;
int dx, dy;
- unsigned short top_value;
+ unsigned short top_value = 0;
+ int top_x = 0, top_y = 0;
/* Find the top cell */
top_value = 0;
if (model->cells[i] >= top_value)
{
top_value = model->cells[i];
- *top_x = x;
- *top_y = y;
+ top_x = x;
+ top_y = y;
}
i++;
}
/* Replace it and its neighbours with new random values */
for (dy = -1; dy <= 1; dy++)
{
- int y = *top_y + dy;
+ int y = top_y + dy;
if (y < 0 || y >= model->height)
continue;
for (dx = -1; dx <= 1; dx++)
{
- int x = *top_x + dx;
+ int x = top_x + dx;
if (x < 0 || x >= model->width)
continue;
model->cells[y * model->width + x] = (unsigned short) random();
}
}
+
+ ptop->x = top_x;
+ ptop->y = top_y;
}
}
+/* Draw one step of the hack. Positions are cell coordinates. */
+static void
+draw_step (CriticalSettings *settings,
+ Display *dpy, Window window, GC gc,
+ int pos, XPoint *history)
+{
+ int cell_size = settings->cell_size;
+ int half = cell_size/2;
+ int old_pos = (pos + settings->trail - 1) % settings->trail;
+
+ pos = pos % settings->trail;
+
+ XDrawLine (dpy, window, gc,
+ history[pos].x * cell_size + half,
+ history[pos].y * cell_size + half,
+ history[old_pos].x * cell_size + half,
+ history[old_pos].y * cell_size + half);
+}
+
+
/* Display a self-organizing criticality screen hack. The program
runs indefinately on the root window. */
void
screenhack (Display *dpy, Window window)
{
- GC fgc, bgc;
- XGCValues gcv;
- XWindowAttributes wattr;
int n_colors;
XColor *colors;
int model_w, model_h;
CriticalModel *model;
int lines_per_color = 10;
int i_color = 0;
- int x1, y1, x2, y2;
long delay_usecs;
- int cell_size;
int batchcount;
+ XPoint *history; /* in cell coords */
+ int pos = 0;
+ int wrapped = 0;
+ GC fgc, bgc;
+ XGCValues gcv;
+ XWindowAttributes wattr;
+ CriticalSettings settings;
/* Number of screens that should be drawn before reinitializing the
model, and count of the number of screens done so far. */
/* Find window attributes */
XGetWindowAttributes (dpy, window, &wattr);
- /* Construct the initial model state. */
- cell_size = get_integer_resource ("cellsize", "Integer");
- if (cell_size < 1)
- cell_size = 1;
- if (cell_size >= 100)
- cell_size = 99;
-
batchcount = get_integer_resource ("batchcount", "Integer");
if (batchcount < 5)
batchcount = 5;
+
+ /* For the moment the model size is just fixed -- making it vary
+ with the screen size just makes the hack boring on large
+ screens. */
+ model_w = 80;
+ settings.cell_size = wattr.width / model_w;
+ model_h = wattr.height / settings.cell_size;
+
+ /* Construct the initial model state. */
+
+ settings.trail = clip(2, get_integer_resource ("trail", "Integer"), 1000);
- model_w = wattr.width / cell_size;
- model_h = wattr.height / cell_size;
-
+ history = malloc (sizeof history[0] * settings.trail);
+ if (!history)
+ {
+ fprintf (stderr, "critical: "
+ "couldn't allocate trail history of %d cells\n",
+ settings.trail);
+ return;
+ }
+
model = model_allocate (model_w, model_h);
if (!model)
{
fgc = XCreateGC (dpy, window, 0, &gcv);
- x2 = random() % model_w;
- y2 = random() % model_h;
-
delay_usecs = get_integer_resource ("delay", "Integer");
n_restart = get_integer_resource ("restart", "Integer");
while (1) {
int i_batch;
- if (!i_restart)
+ if (i_restart == 0)
{
+ /* Time to start a new simulation, this one has probably got
+ to be a bit boring. */
setup_colormap (dpy, &wattr, &colors, &n_colors);
+ erase_full_window (dpy, window);
model_initialize (model);
+ pos = 1;
+ wrapped = 0;
}
for (i_batch = batchcount; i_batch; i_batch--)
XChangeGC (dpy, fgc, GCForeground, &gcv);
}
- /* draw a line */
- x1 = x2;
- y1 = y2;
+ assert(pos >= 0 && pos < settings.trail);
+ model_step (model, &history[pos]);
- model_step (model, &x2, &y2);
+ draw_step (&settings, dpy, window, fgc, pos, history);
- XDrawLine (dpy, window, fgc,
- x1 * cell_size + cell_size/2,
- y1 * cell_size + cell_size/2,
- x2 * cell_size + cell_size/2,
- y2 * cell_size + cell_size/2);
+ /* we use the history as a ring buffer, but don't start erasing until
+ we've wrapped around once. */
+ if (++pos >= settings.trail)
+ {
+ pos -= settings.trail;
+ wrapped = 1;
+ }
- XSync (dpy, False);
- screenhack_handle_events (dpy);
+ if (wrapped)
+ {
+ draw_step (&settings, dpy, window, bgc, pos+1, history);
+ }
- if (delay_usecs)
- usleep (delay_usecs);
- }
+ XSync (dpy, False);
+ screenhack_handle_events (dpy);
+
+ if (delay_usecs)
+ usleep (delay_usecs);
+ }
+
i_restart = (i_restart + 1) % n_restart;
- erase_full_window (dpy, window);
}
}
-.TH XScreenSaver 1 "13-Nov-98" "X Version 11"
+.TH XScreenSaver 1 "08 Feb 2000" "X Version 11"
.SH NAME
critical - Draw a system showing self-organizing criticality
.SH SYNOPSIS
.B \-ncolors \fIinteger\fP
How many colors should be allocated in the color ramp (note that this
value interacts with \fIoffset\fP.)
+.TP 8
+.B \-trail \fIinteger\fP
+Length of the trail: between 5 and 100 is nice.
.SH ENVIRONMENT
.PP
.TP 8
suitability of this software for any purpose. It is provided "as is"
without express or implied warranty.
.SH AUTHOR
-Martin Pool <mbp@humbug.org.au>, 13-Nov-1998. Based in part on the
+Martin Pool <mbp@humbug.org.au>, 1998-2000. Based in part on the
XScreenSaver code by Jamie Zawinski <jwz@jwz.org>.
/*-
* Copyright (c) 1996 by Tim Auckland <Tim.Auckland@Sun.COM>
+ * Portions added by Stephen Davies are Copyright (c) 2000 Stephen Davies
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* sections of the "Birkhoff Bagel" and Duffing's forced occilator.
*
* Revision History:
+ * 21-Feb-00: Major hackage by Chalky (Stephen Davies, chalky@null.net)
+ * Forced perspective mode, added 3d box around attractor which
+ * involved coding 3d-planar-clipping against the view-frustrum
+ * thingy. Also made view alternate between piggybacking on a 'bee'
+ * to zooming around outside the attractor. Most bees slow down and
+ * stop, to make the structure of the attractor more obvious.
* 31-Nov-98: [TDA] Added Duffing (what a strange day that was :) DAB)
* Duffing's forced oscillator has been added to the formula list and
* the parameters section has been updated to display it in Poincare'
# define HACK_DRAW draw_flow
# define flow_opts xlockmore_opts
# define DEFAULTS "*delay: 1000 \n" \
- "*count: 1024 \n" \
+ "*count: 500 \n" \
"*cycles: 3000 \n" \
- "*ncolors: 200 \n"
+ "*ncolors: 200 \n" \
+ "*rotate: True \n" \
+ "*ride: True \n" \
+ "*zoom: True \n" \
+ "*allow2d: True \n" \
+ "*box: True \n" \
+ "*slow: True \n" \
+ "*freeze: True \n"
# define SMOOTH_COLORS
# include "xlockmore.h" /* in xscreensaver distribution */
# include "erase.h"
# include "xlock.h" /* in xlockmore distribution */
#endif /* STANDALONE */
-ModeSpecOpt flow_opts = { 0, NULL, 0, NULL, NULL };
+XrmOptionDescRec flow_options[];
+ModeSpecOpt flow_opts = { 7, flow_options, 0, NULL, NULL };
#ifdef USE_MODULES
ModStruct flow_description = {
#define Z(t,b) (sp->p[t][b].z)
#define balance_rand(v) ((LRAND()/MAXRAND*(v))-((v)/2)) /* random around 0 */
#define SCALE_X(A) (sp->width/2+sp->width/sp->size*(A))
-#define SCALE_Y(A) (sp->height/2+sp->height/sp->size*(A))
+/*#define SCALE_Y(A) (sp->height/2+sp->height/sp->size*(A))*/
+#define SCALE_Y(A) (sp->height/2+sp->width/sp->size*(A))
+
+/* Mode of operation. Rotate, ride and zoom are mutually exclusive */
+typedef enum {
+ FLOW_ROTATE = 1, /* Rotate around attractor */
+ FLOW_RIDE = 2, /* Ride a trained bee */
+ FLOW_ZOOM = 4, /* Zoom in and out */
+ FLOW_2D = 8, /* Allow 2D attractors */
+ FLOW_BOX = 16, /* Compute a box around the attractor */
+ FLOW_SLOW = 32, /* Some bees are slower (and have antifreeze) */
+ FLOW_FREEZE = 64, /* Freeze some of the bees in action */
+} FlowMode;
+
+#define FLOW_DEFAULT (FLOW_ROTATE|FLOW_RIDE|FLOW_ZOOM|FLOW_2D|\
+ FLOW_BOX|FLOW_SLOW|FLOW_FREEZE)
typedef struct {
int width;
XSegment *old_segs; /* old bee lines */
int nold_segs;
double step;
+ double slow;
+ double slow_view;
dvector centre; /* centre */
+ dvector range;
struct {
double depth;
double height;
} view;
+ dvector circle[2]; /* POV that circles around the scene */
dvector *p[2]; /* bee positions x[time][bee#] */
struct {
double theta;
} tumble;
dvector (*ODE) (Par par, double x, double y, double z);
Par par;
+ FlowMode mode; /* Mode of operation */
} flowstruct;
static flowstruct *flows = NULL;
return d;
}
+void init_clip(flowstruct *sp);
+
void
init_flow(ModeInfo * mi)
{
flowstruct *sp;
int b;
double beemult = 1;
- dvector range;
static int allocated = 0;
if (flows == NULL) {
sp = &flows[MI_SCREEN(mi)];
sp->count = 0;
+ sp->slow = 0.999;
+ sp->slow_view = 0.90;
sp->width = MI_WIDTH(mi);
sp->height = MI_HEIGHT(mi);
sp->tumble.dphi = 0.001;
sp->view.height = 0;
sp->view.depth = 0; /* no perspective view */
+ sp->mode = 0;
+ if (get_boolean_resource ("rotate", "Boolean")) sp->mode |= FLOW_ROTATE;
+ if (get_boolean_resource ("ride", "Boolean")) sp->mode |= FLOW_RIDE;
+ if (get_boolean_resource ("zoom", "Boolean")) sp->mode |= FLOW_ZOOM;
+ if (get_boolean_resource ("allow2d", "Boolean")) sp->mode |= FLOW_2D;
+ if (get_boolean_resource ("slow", "Boolean")) sp->mode |= FLOW_SLOW;
+ if (get_boolean_resource ("freeze", "Boolean")) sp->mode |= FLOW_FREEZE;
+ if (get_boolean_resource ("box", "Boolean")) sp->mode |= FLOW_BOX;
+
+ b = (sp->mode & FLOW_2D) ? 5 : 3;
+ b = NRAND(b);
+
+ /* If more than one of rotate, ride and zoom are set, choose one */
+ if (b < 3) {
+ int num = 0, modes[3];
+
+ if (sp->mode & FLOW_ROTATE) modes[num++] = FLOW_ROTATE;
+ if (sp->mode & FLOW_RIDE) modes[num++] = FLOW_RIDE;
+ if (sp->mode & FLOW_ZOOM) modes[num++] = FLOW_ZOOM;
+
+ sp->mode &= ~(FLOW_ROTATE | FLOW_RIDE | FLOW_ZOOM);
- switch (NRAND(8)) {
+ if (num) sp->mode |= modes[ NRAND(num) ];
+ else sp->mode |= FLOW_ZOOM;
+ }
+
+ switch (b) {
case 0:
sp->view.depth = 10;
sp->view.height = 0.2;
beemult = 3;
- case 1:
sp->ODE = Lorentz;
sp->step = 0.02;
sp->size = 60;
sp->centre.x = 0;
sp->centre.y = 0;
sp->centre.z = 24;
- range.x = 5;
- range.y = 5;
- range.z = 1;
+ sp->range.x = 5;
+ sp->range.y = 5;
+ sp->range.z = 1;
sp->par.a = 10 + balance_rand(5);
sp->par.b = 28 + balance_rand(5);
sp->par.c = 2 + balance_rand(1);
break;
- case 2:
+ case 1:
sp->view.depth = 10;
sp->view.height = 0.1;
beemult = 4;
- case 3:
sp->ODE = Rossler;
sp->step = 0.05;
sp->size = 24;
sp->centre.x = 0;
sp->centre.y = 0;
sp->centre.z = 3;
- range.x = 4;
- range.y = 4;
- range.z = 7;
+ sp->range.x = 4;
+ sp->range.y = 4;
+ sp->range.z = 7;
sp->par.a = 2 + balance_rand(1);
sp->par.b = 0.2 + balance_rand(0.1);
sp->par.c = 0.2 + balance_rand(0.1);
break;
- case 4:
+ case 2:
sp->view.depth = 10;
sp->view.height = 0.1;
beemult = 3;
- case 5:
sp->ODE = RosslerCone;
sp->step = 0.05;
sp->size = 24;
sp->centre.x = 0;
sp->centre.y = 0;
sp->centre.z = 3;
- range.x = 4;
- range.y = 4;
- range.z = 4;
+ sp->range.x = 4;
+ sp->range.y = 4;
+ sp->range.z = 4;
sp->par.a = 2;
sp->par.b = 0.2;
sp->par.c = 0.25 + balance_rand(0.09);
break;
- case 6:
+ case 3:
sp->ODE = Birkhoff;
sp->step = 0.04;
sp->size = 2.6;
sp->centre.x = 0;
sp->centre.y = 0;
sp->centre.z = 0;
- range.x = 3;
- range.y = 4;
- range.z = 0;
+ sp->range.x = 3;
+ sp->range.y = 4;
+ sp->range.z = 0;
sp->par.a = 10 + balance_rand(5);
sp->par.b = 0.35 + balance_rand(0.25);
sp->par.c = 1.57;
sp->tumble.dtheta = 0;
sp->tumble.dphi = 0;
break;
- case 7:
+ case 4:
default:
sp->ODE = Duffing;
sp->step = 0.02;
sp->centre.x = 0;
sp->centre.y = 0;
sp->centre.z = 0;
- range.x = 20;
- range.y = 20;
- range.z = 0;
+ sp->range.x = 20;
+ sp->range.y = 20;
+ sp->range.z = 0;
sp->par.a = 0.2 + balance_rand(0.1);
sp->par.b = 27.0 + balance_rand(3.0);
sp->par.c = 1.33;
break;
}
+ sp->view.depth *= 4;
+
sp->beecount = beemult * MI_COUNT(mi);
if (sp->beecount < 0) /* random variations */
sp->beecount = NRAND(-sp->beecount) + 1; /* Minimum 1 */
(void) free((void *) sp->p[1]);
sp->p[1] = NULL;
}
+ allocated = sp->beecount;
}
/* Allocate memory. */
/* Initialize point positions, velocities, etc. */
for (b = 0; b < sp->beecount; b++) {
- X(1, b) = X(0, b) = balance_rand(range.x);
- Y(1, b) = Y(0, b) = balance_rand(range.y);
- Z(1, b) = Z(0, b) = balance_rand(range.z);
+ X(1, b) = X(0, b) = balance_rand(sp->range.x);
+ Y(1, b) = Y(0, b) = balance_rand(sp->range.y);
+ Z(1, b) = Z(0, b) = balance_rand(sp->range.z);
+ }
+
+ init_clip(sp);
+
+}
+
+/* Clipping planes */
+#define PLANES 5
+static double plane_orig[][2][3] = {
+ /* X goes into screen, Y goes right, Z goes down(up?) */
+ /* {Normal}, {Point} */
+ { {1.0, 0, 0}, {0.01, 0, 0} },
+ { {1.0, 1.0, 0.0}, {0, 0, 0} },
+ { {1.0,-1.0, 0.0}, {0, 0, 0} },
+ { {1.0, 0.0, 1.0}, {0, 0, 0} },
+ { {1.0, 0.0,-1.0}, {0, 0, 0} }
+};
+static double plane[PLANES][2][3];
+static double plane_d[PLANES];
+
+#define BOX_P 32
+#define BOX_L 36
+#define MIN_BOX (3)
+#define MAX_BOX (MIN_BOX + BOX_L)
+/* Points that make up the box (normalized coordinates) */
+static double box_orig[][3] = {
+ {1,1,1}, /* 0 */
+ {1,1,-1}, /* 1 */
+ {1,-1,-1}, /* 2 */
+ {1,-1,1}, /* 3 */
+ {-1,1,1}, /* 4 */
+ {-1,1,-1}, /* 5 */
+ {-1,-1,-1},/* 6 */
+ {-1,-1,1}, /* 7 */
+ {1, .8, .8},
+ {1, .8,-.8},
+ {1,-.8,-.8},
+ {1,-.8, .8},
+ { .8,1, .8},
+ { .8,1,-.8},
+ {-.8,1,-.8},
+ {-.8,1, .8},
+ { .8, .8,1},
+ { .8,-.8,1},
+ {-.8,-.8,1},
+ {-.8, .8,1},
+ {-1, .8, .8},
+ {-1, .8,-.8},
+ {-1,-.8,-.8},
+ {-1,-.8, .8},
+ { .8,-1, .8},
+ { .8,-1,-.8},
+ {-.8,-1,-.8},
+ {-.8,-1, .8},
+ { .8, .8,-1},
+ { .8,-.8,-1},
+ {-.8,-.8,-1},
+ {-.8, .8,-1}
+};
+
+/* Container for scaled box points */
+static double box[BOX_P][3];
+
+/* Lines connecting the box dots */
+static double lines[0][2] = {
+ {0,1}, {1,2}, {2,3}, {3,0}, /* box */
+ {4,5}, {5,6}, {6,7}, {7,4},
+ {0,4}, {1,5}, {2,6}, {3,7},
+ {4+4,5+4}, {5+4,6+4}, {6+4,7+4}, {7+4,4+4},
+ {4+8,5+8}, {5+8,6+8}, {6+8,7+8}, {7+8,4+8},
+ {4+12,5+12}, {5+12,6+12}, {6+12,7+12}, {7+12,4+12},
+ {4+16,5+16}, {5+16,6+16}, {6+16,7+16}, {7+16,4+16},
+ {4+20,5+20}, {5+20,6+20}, {6+20,7+20}, {7+20,4+20},
+ {4+24,5+24}, {5+24,6+24}, {6+24,7+24}, {7+24,4+24},
+};
+
+/* Boundaries of bees */
+double xmin, xmax;
+double ymin, ymax;
+double zmin, zmax;
+
+void init_clip(flowstruct *sp)
+{
+ int i;
+
+ /* Scale the planes to the screen. I had to invert the projection
+ * algorithms so that when projected they would be right at the edge of the
+ * screen. */
+ double width = sp->size/sp->view.depth/2;
+ double height = sp->size/sp->view.depth/2*sp->view.height/sp->view.height;
+ for (i = 0; i < PLANES; i++) {
+ /* Copy orig planes into planes, expanding <-> clippings */
+ plane[i][0][0] = plane_orig[i][0][0];
+ plane[i][0][1] = plane_orig[i][0][1] / width;
+ plane[i][0][2] = plane_orig[i][0][2] / height;
+ plane[i][1][0] = plane_orig[i][1][0];
+ plane[i][1][1] = plane_orig[i][1][1];
+ plane[i][1][2] = plane_orig[i][1][2];
+
+ /* Calculate the 'd' part of 'ax + by + cz = d' */
+ plane_d[i] = - plane[i][0][0] * plane[i][1][0];
+ plane_d[i] -= plane[i][0][1] * plane[i][1][1];
+ plane_d[i] -= plane[i][0][2] * plane[i][1][2];
+ }
+ xmin = X(0, i); xmax = X(0,i);
+ ymin = Y(0, i); ymax = Y(0,i);
+ zmin = Z(0, i); zmax = Z(0,i);
+}
+
+/* Scale the box defined above to fit around all points */
+void create_box(flowstruct *sp)
+{
+ int i = MAX_BOX;
+ double xmid, ymid, zmid;
+ double xsize, ysize, zsize;
+ double size;
+
+ /* Count every 5th point for speed.. */
+ for (; i < sp->beecount; i += 5) {
+ if ( X(0,i) < xmin ) xmin = X(0, i);
+ else if ( X(0,i) > xmax ) xmax = X(0, i);
+ if ( Y(0,i) < ymin ) ymin = Y(0, i);
+ else if ( Y(0,i) > ymax ) ymax = Y(0, i);
+ if ( Z(0,i) < zmin ) zmin = Z(0, i);
+ else if ( Z(0,i) > zmax ) zmax = Z(0, i);
}
+ xmid = (xmax+xmin)/2;
+ ymid = (ymax+ymin)/2;
+ zmid = (zmax+zmin)/2;
+ xsize = xmax - xmin;
+ ysize = ymax - ymin;
+ zsize = zmax - zmin;
+ size = xsize;
+ if (ysize> size) size = ysize;
+ if (zsize > size) size = zsize;
+ size /= 2;
+
+ /* Scale box */
+ for (i = 0; i < BOX_P; i++) {
+ box[i][0] = box_orig[i][0] * size + xmid;
+ box[i][1] = box_orig[i][1] * size + ymid;
+ box[i][2] = box_orig[i][2] * size + zmid;
+ }
+
}
+/* Returns true if point is infront of the plane (rather than behind) */
+int infront_of(double x, double y, double z, int i)
+{
+ double sum = plane[i][0][0]*x + plane[i][0][1]*y + plane[i][0][2]*z + plane_d[i];
+ return sum >= 0.0;
+}
+
+/* Returns true if line was behind a clip plane, or clips the line */
+int clip(double *x1, double *y1, double *z1, double *x2, double *y2, double *z2)
+{
+ int i;
+ for (i = 0; i < PLANES; i++) {
+ double t;
+ double x, y, z; /* Intersection point */
+ double dx, dy, dz; /* line delta */
+ int front1, front2;
+ front1 = infront_of(*x1, *y1, *z1, i);
+ front2 = infront_of(*x2, *y2, *z2, i);
+ if (!front1 && !front2) return 1;
+ if (front1 && front2) continue;
+
+ dx = *x2 - *x1;
+ dy = *y2 - *y1;
+ dz = *z2 - *z1;
+
+ /* Find t in line equation */
+ t = ( plane_d[i] -
+ plane[i][0][0]*(*x1) - plane[i][0][1]*(*y1) - plane[i][0][2]*(*z1) )
+ /
+ ( plane[i][0][0]*dx + plane[i][0][1]*dy + plane[i][0][2]*dz );
+
+ x = *x1 + dx * t;
+ y = *y1 + dy * t;
+ z = *z1 + dz * t;
+ /* Make point that was behind to be the intersect */
+ if (front2) {
+ *x1 = x;
+ *y1 = y;
+ *z1 = z;
+ } else {
+ *x2 = x;
+ *y2 = y;
+ *z2 = z;
+ }
+ }
+ return 0;
+}
+
+
void
draw_flow(ModeInfo * mi)
{
flowstruct *sp = &flows[MI_SCREEN(mi)];
int b, c, i;
int col, ix;
+ int new_view = 0;
double M[3][3]; /* transformation matrix */
+ double step_view = sp->step;
+ double step_bees = sp->step;
+ double step_slow = sp->step;
+ double pp, pc;
+
+ create_box(sp);
if(!sp->view.depth){ /* simple 3D tumble */
double sint, cost, sinp, cosp;
MI_IS_DRAWN(mi) = True;
+ /* Calculate circling POV */
+ sp->circle[1] = sp->circle[0];
+ sp->circle[0].x = sp->size * 2 * sin(sp->count / 40.0) * (0.6 + 0.4 *cos(sp->count / 100.0));
+ sp->circle[0].y = sp->size * 2 * cos(sp->count / 40.0) * (0.6 + 0.4 *cos(sp->count / 100.0));
+ sp->circle[0].z = sp->size * 2 * sin(sp->count / 421.0);
+
+ if (sp->mode & FLOW_ROTATE)
+ pp = 0;
+ else if (sp->mode & FLOW_RIDE)
+ pp = 1;
+ else /* ZOOM */
+ /* Bistable oscillator to switch between the trained bee and the circler */
+ pp = -sin(sin(sin(cos(sp->count / 150.0)*M_PI/2)*M_PI/2)*M_PI/2) *0.5 + 0.5;
+ pc = 1 - pp;
+
+
+ /* Slow down or speed up the bees / view: */
+
+ /* exponentially accelerate towards zero */
+ sp->slow = sp->slow * 1.005 - 0.005;
+ if (sp->slow < 0) sp->slow = 0;
+
+ sp->slow_view = sp->slow_view * 1.005 - 0.005;
+ if (sp->slow_view < 0) sp->slow_view = 0;
+
+ /* View speeds up, slow bees slow to half speed, and other bees will
+ * actually stop */
+ step_view = step_view * (1.01 - sp->slow_view * sp->slow_view) * 0.2;
+ step_slow = step_slow * (sp->slow + 0.5) / 2;
+ if (sp->mode & FLOW_SLOW)
+ step_bees = step_bees * sp->slow;
+ else
+ step_bees = step_slow;
+
/* <=- Bees -=> */
for (b = 0; b < sp->beecount; b++) {
+ /* Calc if this bee is slow. Note normal bees are exempt from
+ * calculations once they slow to half speed, so that they remain as
+ * frozen lines rather than barely-visible points */
+ int slow = ((b & 0x7) == 0);
+ if ( !(sp->mode & FLOW_FREEZE) ) slow = 1;
/* Age the arrays. */
- X(1, b) = X(0, b);
- Y(1, b) = Y(0, b);
- Z(1, b) = Z(0, b);
-
- /* 2nd order Kunge Kutta */
- {
- dvector k1, k2;
-
- k1 = sp->ODE(sp->par, X(1, b), Y(1, b), Z(1, b));
- k1.x *= sp->step;
- k1.y *= sp->step;
- k1.z *= sp->step;
- k2 = sp->ODE(sp->par, X(1, b) + k1.x, Y(1, b) + k1.y, Z(1, b) + k1.z);
- k2.x *= sp->step;
- k2.y *= sp->step;
- k2.z *= sp->step;
- X(0, b) = X(1, b) + (k1.x + k2.x) / 2.0;
- Y(0, b) = Y(1, b) + (k1.y + k2.y) / 2.0;
- Z(0, b) = Z(1, b) + (k1.z + k2.z) / 2.0;
+ if (b < 2 || sp->slow > 0.5 || slow) {
+ X(1, b) = X(0, b);
+ Y(1, b) = Y(0, b);
+ Z(1, b) = Z(0, b);
+
+ /* 2nd order Kunge Kutta */
+ {
+ dvector k1, k2;
+ double step;
+
+ if (b == 0 || b == 1) {
+ step = step_view;
+ } else if (slow) {
+ step = step_slow;
+ } else {
+ step = step_bees;
+ }
+ k1 = sp->ODE(sp->par, X(1, b), Y(1, b), Z(1, b));
+ k1.x *= step;
+ k1.y *= step;
+ k1.z *= step;
+ k2 = sp->ODE(sp->par, X(1, b) + k1.x, Y(1, b) + k1.y, Z(1, b) + k1.z);
+ k2.x *= step;
+ k2.y *= step;
+ k2.z *= step;
+ X(0, b) = X(1, b) + (k1.x + k2.x) / 2.0;
+ Y(0, b) = Y(1, b) + (k1.y + k2.y) / 2.0;
+ Z(0, b) = Z(1, b) + (k1.z + k2.z) / 2.0;
+ }
}
+
/* Colour according to bee */
col = b % (MI_NPIXELS(mi) - 1);
ix = col * sp->beecount + sp->cnsegs[col];
if(sp->view.depth) { /* perspective view has special points */
if(b==0){ /* point of view */
- sp->centre.x=X(0, b);
- sp->centre.y=Y(0, b);
- sp->centre.z=Z(0, b);
+ sp->centre.x = X(0, b) * pp + sp->circle[0].x * pc;
+ sp->centre.y = Y(0, b) * pp + sp->circle[0].y * pc;
+ sp->centre.z = Z(0, b) * pp + sp->circle[0].z * pc;
+ /*printf("center: (%3.3f,%3.3f,%3.3f)\n",sp->centre.x, sp->centre.y, sp->centre.z);*/
}else if(b==1){ /* neighbour: used to compute local axes */
- double x[3], p[3], x2=0, xp=0;
+ double x[3], p[3], x2=0, xp=0, C[3][3];
int j;
/* forward */
Y(0, 1)=Y(0, 0)+M[1][1];
Z(0, 1)=Z(0, 0)+M[1][2];
+ /* Look at trained bee into C matrix */
+ /* forward */
+ x[0] = 0 - sp->circle[0].x;
+ x[1] = 0 - sp->circle[0].y;
+ x[2] = 0 - sp->circle[0].z;
+
+ /* neighbour */
+ p[0] = sp->circle[0].x - sp->circle[1].x;
+ p[1] = sp->circle[0].y - sp->circle[1].y;
+ p[2] = sp->circle[0].z - sp->circle[1].z;
+
+ for(i=0; i<3; i++){
+ x2+= x[i]*x[i]; /* X . X */
+ xp+= x[i]*p[i]; /* X . P */
+ C[0][i] = x[i]; /* X */
+ }
+
+ for(i=0; i<3; i++) /* (X x P) x X */
+ C[1][i] = x2*p[i] - xp*x[i]; /* == (X . X) P - (X . P) X */
+
+ C[2][0] = x[1]*p[2] - x[2]*p[1]; /* X x P */
+ C[2][1] = -x[0]*p[2] + x[2]*p[0];
+ C[2][2] = x[0]*p[1] - x[1]*p[0];
+
+ /* normalise axes */
+ for(j=0; j<3; j++){
+ double A=0;
+ for(i=0; i<3; i++) A+=C[j][i]*C[j][i]; /* sum squares */
+ A=sqrt(A);
+ for(i=0; i<3; i++) C[j][i]/=A;
+ }
+
+ /* Interpolate between Center and Trained Bee matrices */
+ /* This isn't very accurate and leads to weird transformations
+ * (shearing, etc), but it works. Besides, sometimes they look
+ * cool :) */
+ pp = pp * pp; /* Don't follow bee's direction until very close */
+ pc = 1 - pp;
+ for (i = 0; i < 3; i++)
+ for (j = 0; j < 3; j++)
+ M[i][j] = M[i][j] * pp + C[i][j] * pc;
+
+
#if 0 /* display local axes for testing */
X(1, b)=X(0, 0);
Y(1, b)=Y(0, 0);
Y(1, b)=Y(0, 0);
Z(1, b)=Z(0, 0);
#endif
+ /* Draw a box... */
}
}
+ if (b >= MIN_BOX && b < MAX_BOX) {
+ int p1 = lines[b-MIN_BOX][0];
+ int p2 = lines[b-MIN_BOX][1];
+ X(0, b) = box[p1][0]; Y(0, b) = box[p1][1]; Z(0, b) = box[p1][2];
+ X(1, b) = box[p2][0]; Y(1, b) = box[p2][1]; Z(1, b) = box[p2][2];
+ }
+
+#if 0 /* Original code */
for(i=0; i<2; i++){
double x=X(i,b)-sp->centre.x;
double y=Y(i,b)-sp->centre.y;
}
if(i == 2) /* both assigned */
sp->cnsegs[col]++;
- }
+#else
+ /* Chalky's code w/ clipping */
+ if (b < ((sp->mode & FLOW_BOX) ? 2 : MAX_BOX))
+ continue;
+ do {
+ double x1=X(0,b)-sp->centre.x;
+ double y1=Y(0,b)-sp->centre.y;
+ double z1=Z(0,b)-sp->centre.z;
+ double X1=M[0][0]*x1 + M[0][1]*y1 + M[0][2]*z1;
+ double Y1=M[1][0]*x1 + M[1][1]*y1 + M[1][2]*z1;
+ double Z1=M[2][0]*x1 + M[2][1]*y1 + M[2][2]*z1+sp->view.height;
+ double absx1, absy1;
+ double x2=X(1,b)-sp->centre.x;
+ double y2=Y(1,b)-sp->centre.y;
+ double z2=Z(1,b)-sp->centre.z;
+ double X2=M[0][0]*x2 + M[0][1]*y2 + M[0][2]*z2;
+ double Y2=M[1][0]*x2 + M[1][1]*y2 + M[1][2]*z2;
+ double Z2=M[2][0]*x2 + M[2][1]*y2 + M[2][2]*z2+sp->view.height;
+ double absx2, absy2;
+ if(sp->view.depth){
+ /* Need clipping if: is part of box, or close to viewer */
+ if ( (b >= MIN_BOX && b < MAX_BOX) || X1 <= 0.1 || X2 < 0.1)
+ if (clip(&X1, &Y1, &Z1, &X2, &Y2, &Z2))
+ break;
+ if (X1 <= 0 || X2 <= 0) break;
+ absx1=SCALE_X(sp->view.depth*Y1/X1);
+ absy1=SCALE_Y(sp->view.depth*Z1/X1);
+ if(absx1 < -sp->width || absx1 > 2*sp->width ||
+ absy1 < -sp->height || absy1 > 2*sp->height)
+ break;
+ absx2=SCALE_X(sp->view.depth*Y2/X2);
+ absy2=SCALE_Y(sp->view.depth*Z2/X2);
+ if(absx2 < -sp->width || absx2 > 2*sp->width ||
+ absy2 < -sp->height || absy2 > 2*sp->height)
+ break;
+ }else{
+ absx1=SCALE_X(X1);
+ absy1=SCALE_Y(Y1);
+ absx2=SCALE_X(X2);
+ absy2=SCALE_Y(Y2);
+ }
+
+ sp->csegs[ix].x1 = (short) absx1;
+ sp->csegs[ix].y1 = (short) absy1;
+ sp->csegs[ix].x2 = (short) absx2;
+ sp->csegs[ix].y2 = (short) absy2;
+
+ sp->cnsegs[col]++;
+ } while (0);
+#endif
+ }
+
if (sp->count) { /* erase */
XSetForeground(display, gc, MI_BLACK_PIXEL(mi));
XDrawSegments(display, window, gc, sp->old_segs, sp->nold_segs);
if (++sp->count > MI_CYCLES(mi)) /* pick a new flow */
init_flow(mi);
+
+ if (sp->count % (MI_CYCLES(mi)/4) == 0) { /* pick a new view */
+ new_view = 0; /* change to 1 .. */
+ }
+
+ if (X(0, 0) < xmin*2 || X(0, 0) > xmax*2) new_view = 1;
+ if (Y(0, 0) < ymin*2 || Y(0, 0) > ymax*2) new_view = 1;
+ if (Z(0, 0) < zmin*2 || Z(0, 0) > zmax*2) new_view = 1;
+
+ if (new_view) {
+ for (b = 0; b < 2; b++) {
+ X(1, b) = X(0, b) = balance_rand(sp->range.x*4);
+ Y(1, b) = Y(0, b) = balance_rand(sp->range.y*4);
+ Z(1, b) = Z(0, b) = balance_rand(sp->range.z*4);
+ }
+ sp->slow_view = 0.90;
+ }
}
void
{
MI_CLEARWINDOW(mi);
}
+
+XrmOptionDescRec flow_options[] =
+{
+ {"-rotate", ".rotate", XrmoptionSepArg, 0},
+ {"-ride", ".ride", XrmoptionSepArg, 0},
+ {"-zoom", ".zoom", XrmoptionSepArg, 0},
+ {"-box", ".box", XrmoptionSepArg, 0},
+ {"-slow", ".slow", XrmoptionSepArg, 0},
+ {"-freeze", ".freeze", XrmoptionSepArg, 0},
+ {"-allow2d", ".allow2d", XrmoptionSepArg, 0},
+ { 0, 0, 0, 0 }
+};
+
+/*
+char* defaults[] =
+{
+ "*rotate: True",
+ "*ride: True",
+ "*zoom: True",
+ "*allow2d: True",
+ "*box: True",
+ "*slow: True",
+ "*freeze: True",
+ 0
+};
+ */
/******************************************************************************
* [ maze ] ...
*
+ * modified: [ 1-04-00 ] Johannes Keukelaar <johannes@nada.kth.se>
+ * Added -ignorant option (not the default) to remove knowlege
+ * of the direction in which the exit lies.
+ *
* modified: [ 6-28-98 ] Zack Weinberg <zack@rabi.phys.columbia.edu>
*
* Made the maze-solver somewhat more intelligent. There are
static Pixmap logo_map;
static int x = 0, y = 0, restart = 0, stop = 1, state = 1, max_length;
-static int sync_p, bridge_p;
+static int sync_p, bridge_p, ignorant_p;
static int
check_events (void) /* X event handler [ rhess ] */
if(!ways)
goto backtrack;
-
- x = path[i].x - start_x;
- y = path[i].y - start_y;
- /* choice one */
- if(abs(y) <= abs(x))
- dir = (x > 0) ? WALL_LEFT : WALL_RIGHT;
- else
- dir = (y > 0) ? WALL_TOP : WALL_BOTTOM;
-
- if(dir & ways)
- goto found;
-
- /* choice two */
- switch(dir)
- {
- case WALL_LEFT:
- case WALL_RIGHT:
- dir = (y > 0) ? WALL_TOP : WALL_BOTTOM; break;
- case WALL_TOP:
- case WALL_BOTTOM:
- dir = (x > 0) ? WALL_LEFT : WALL_RIGHT;
- }
-
- if(dir & ways)
- goto found;
-
- /* choice three */
-
- dir = (dir << 2 & WALL_ANY) | (dir >> 2 & WALL_ANY);
- if(dir & ways)
- goto found;
-
- /* choice four */
- dir = ways;
- if(!dir)
- goto backtrack;
- found:
+ if (!ignorant_p)
+ {
+ x = path[i].x - start_x;
+ y = path[i].y - start_y;
+ /* choice one */
+ if(abs(y) <= abs(x))
+ dir = (x > 0) ? WALL_LEFT : WALL_RIGHT;
+ else
+ dir = (y > 0) ? WALL_TOP : WALL_BOTTOM;
+
+ if(dir & ways)
+ goto found;
+
+ /* choice two */
+ switch(dir)
+ {
+ case WALL_LEFT:
+ case WALL_RIGHT:
+ dir = (y > 0) ? WALL_TOP : WALL_BOTTOM; break;
+ case WALL_TOP:
+ case WALL_BOTTOM:
+ dir = (x > 0) ? WALL_LEFT : WALL_RIGHT;
+ }
+
+ if(dir & ways)
+ goto found;
+
+ /* choice three */
+
+ dir = (dir << 2 & WALL_ANY) | (dir >> 2 & WALL_ANY);
+ if(dir & ways)
+ goto found;
+
+ /* choice four */
+ dir = ways;
+ if(!dir)
+ goto backtrack;
+
+ found:
+ }
+ else
+ {
+ if(ways&WALL_TOP)
+ dir = WALL_TOP;
+ else if(ways&WALL_LEFT)
+ dir = WALL_LEFT;
+ else if(ways&WALL_BOTTOM)
+ dir = WALL_BOTTOM;
+ else if(ways&WALL_RIGHT)
+ dir = WALL_RIGHT;
+ else
+ goto backtrack;
+ }
bt = 0;
ways &= ~dir; /* tried this one */
return;
}
- if(!bt)
+ if(!bt && !ignorant_p)
find_dead_regions();
bt = 1;
from = path[i-1].dir;
};
XrmOptionDescRec options[] = {
+ { "-ignorant", ".ignorant", XrmoptionNoArg, "True" },
+ { "-no-ignorant", ".ignorant", XrmoptionNoArg, "False" },
{ "-grid-size", ".gridSize", XrmoptionSepArg, 0 },
{ "-solve-delay", ".solveDelay", XrmoptionSepArg, 0 },
{ "-pre-delay", ".preDelay", XrmoptionSepArg, 0 },
generator = get_integer_resource("generator", "Integer");
max_length = get_integer_resource("maxLength", "Integer");
bridge_p = get_boolean_resource("bridge", "Boolean");
+ ignorant_p = get_boolean_resource("ignorant", "Boolean");
if (size < 2) size = 7 + (random () % 30);
grid_width = grid_height = size;
+.de EX \"Begin example
+.ne 5
+.if n .sp 1
+.if t .sp .5
+.nf
+.in +.5i
+..
+.de EE
+.fi
+.in -.5i
+.if n .sp 1
+.if t .sp .5
+..
.TH XScreenSaver 1 "30-Oct-99" "X Version 11"
.SH NAME
phosphor - simulates an old terminal with long-sustain phosphor
will work, but programs like
.BR top (1)
won't.
+
+Here's a good trick, to get phosphor to display recent web search terms:
+.EX
+phosphor -program \\
+ 'wget -qO- http://webcrawler.com/cgi-bin/SearchTicker'
+.EE
.SH ENVIRONMENT
.PP
.TP 8
to get the name of a resource file that overrides the global resources
stored in the RESOURCE_MANAGER property.
.SH SEE ALSO
+.BR wget (1),
.BR X (1),
.BR xscreensaver (1)
.SH COPYRIGHT
# streamer -o $tmp_ppm1
#
+ # James Isaacs says this works for the ATI video capture card:
+ #
+ # atitv snap $tmp_ppm1
+ #
+
else
echo "$0: don't know how to grab video on this OS." >&2
clean2
use Fcntl ':flock'; # import LOCK_* constants
-my $version = q{ $Revision: 1.43 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.44 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my $copyright = "WebCollage $version, Copyright (c) 1999" .
" Jamie Zawinski <jwz\@jwz.org>\n" .
" http://www.jwz.org/xscreensaver/\n";
"?mmdo=3" .
"&nbq=12" .
"&stype=simage" .
- "&oart=1" .
- "&obw=1" .
- "&oshape=0" .
+ "&iclr=1" .
+ "&ibw=1" .
+ "&iexc=1" .
"&what=web" .
"&q=";
my $image_randomizer_2 = "http://www.hotbot.com/?clickSrc=search" .
$word = <IN>; # toss partial line
$word = <IN>; # keep next line
}
+ if (!$word) {
+ seek( IN, 0, 0 );
+ $word = <IN>;
+ }
close (IN);
}
$word =~ s/izes$/ize/;
$word =~ tr/A-Z/a-z/;
+ if ( $word =~ s/[ \t\n\r]/\+/g ) { # convert intra-word spaces to "+".
+ $word = "\%22$word\%22"; # And put quotes (%22) around it.
+ }
+
return $word;
}
# endif /* VMS */
#endif /* HAVE_XMU */
+#include "images/bob.xbm"
+
#define MAX_VAL 255
static Display *display;
{
char *bitmap_name = get_string_resource ("bitmap", "Bitmap");
- if (bitmap_name &&
- *bitmap_name &&
- !!strcmp(bitmap_name, "none"))
+ if (!bitmap_name ||
+ !*bitmap_name ||
+ !strcmp(bitmap_name, "none"))
+ ;
+ else if (!strcmp(bitmap_name, "(default)")) /* use the builtin */
+ {
+ XImage *ximage;
+ unsigned char *result, *o;
+ char *bits = (char *) malloc (sizeof(bob_bits));
+ int x, y;
+ int scale = ((width > bob_width * 11) ? 2 : 1);
+
+ memcpy (bits, bob_bits, sizeof(bob_bits));
+ ximage = XCreateImage (display, visual, 1, XYBitmap, 0, bits,
+ bob_width, bob_height, 8, 0);
+ ximage->byte_order = LSBFirst;
+ ximage->bitmap_bit_order = LSBFirst;
+ *w = ximage->width * scale;
+ *h = ximage->height * scale;
+ o = result = (unsigned char *) malloc ((*w * scale) * (*h * scale));
+ for (y = 0; y < *h; y++)
+ for (x = 0; x < *w; x++)
+ *o++ = (XGetPixel(ximage, x/scale, y/scale) ? 255 : 0);
+
+ return result;
+ }
+ else /* load a bitmap file */
{
#ifdef HAVE_XPM
XpmInfo xpm_info = { 0, };
char *defaults [] = {
".background: black",
".foreground: #FFAF5F",
- "*bitmap: none",
+ "*bitmap: (default)",
"*bitmapBaseline: 20",
"*delay: 10000",
"*hspread: 30",
--- /dev/null
+.TH XScreenSaver 1 "27-Feb-00" "X Version 11"
+.SH NAME
+xflame - draws animated flames
+.SH SYNOPSIS
+.B xflame
+[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
+[\-visual \fIvisual\fP] [\-hspread \fIint\fP] [\-vspread \fIint\fP]
+[\-residual \fIint\fP] [\-variance \fIint\fP] [\-vartrend \fIint\fP]
+[\-bloom \| \-no\-bloom]
+[\-bitmap \fIxbm\-file\fP] [\-baseline \fIint\fP]
+.SH DESCRIPTION
+The \fIxflame\fP program draws animated flames across the bottom of the
+screen. The flames occasionally flare up. If a bitmap is specified,
+that image will float above the flames, burning.
+.SH OPTIONS
+.I phosphor
+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\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 \-bitmap \fIfilename\fP\fP
+Specifies the bitmap file to use (a monochrome XBM file.)
+The name "none" means not to use a bitmap at all.
+If unspecified, a built-in image will be used.
+.PP
+The other options are arcane. If someone would care to document them,
+that would be great.
+.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 1996-1999 by Carsten Haitzler. 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
+Primarily written by Carsten Haitzler <raster@redhat.com>.
+Modified over the years by Rahul Jain <rahul@rice.edu>,
+Daniel Zahn <stumpy@religions.com>, and Jamie Zawinski <jwz@jwz.org>.
x_Gc[color_Index]);
XFreeGC(x_Disp,x_Gc[color_Index]);
}
+
+ for (tile_Index = 0;tile_Index < XTEEVEE_STATIC_TILE_COUNT;
+ tile_Index++)
+ {
+ XFreePixmap(x_Disp, tile_Tile[tile_Index]);
+ }
}
/* Vertical Roll =========================================================== */
free(squares);
}
+/* I first saw something like this, albeit in reverse, in an early Tetris
+ implementation for the Mac.
+ -- Torbjörn Andersson <torbjorn@dev.eurotime.se>
+ */
+
+static void
+slide_lines (Display * dpy, Window window, GC gc, int width, int height,
+ int delay, int granularity)
+{
+ int slide_old_x, slide_new_x, clear_x;
+ int x, y, dx, dy;
+
+ /* This might need some tuning. The idea is to get sensible values no
+ matter what the size of the window.
+
+ Everything moves at constant speed. Should it accelerate instead? */
+
+ granularity *= 2;
+
+ dy = MAX (1, height / granularity);
+ dx = MAX (1, width / 100);
+
+ for (x = 0; x < width; x += dx)
+ {
+ for (y = 0; y < height; y += dy)
+ {
+ if ((y / dy) & 1)
+ {
+ slide_old_x = x;
+ slide_new_x = x + dx;
+ clear_x = x;
+ }
+ else
+ {
+ slide_old_x = dx;
+ slide_new_x = 0;
+ clear_x = width - x - dx;
+ }
+
+ XCopyArea (dpy, window, window, gc, slide_old_x, y, width - x - dx,
+ dy, slide_new_x, y);
+ XClearArea (dpy, window, clear_x, y, dx, dy, False);
+ }
+
+ XSync(dpy, False);
+ usleep(delay * 3);
+ }
+}
static Eraser erasers[] = {
random_lines,
fizzle,
random_squares,
spiral,
+ slide_lines,
};
static const char screensaver_id[] =
- "@(#)xscreensaver 3.23 (30-Jan-00), by Jamie Zawinski (jwz@jwz.org)";
+ "@(#)xscreensaver 3.24 (03-Apr-2000), by Jamie Zawinski (jwz@jwz.org)";
Begin3
Title: xscreensaver
-Version: 3.23
-Entered-date: 30JAN00
+Version: 3.24
+Entered-date: 03APR00
Description: A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.
Author: jwz@jwz.org (Jamie Zawinski)
Maintained-by: jwz@jwz.org (Jamie Zawinski)
Primary-site: http://www.jwz.org/xscreensaver/
- 1272K xscreensaver-3.23.tar.gz
+ 1284K xscreensaver-3.24.tar.gz
40K xscreensaver.README
1K xscreensaver.lsm
Alternate-site: sunsite.unc.edu /pub/Linux/X11/screensavers/
- 1272K xscreensaver-3.23.tar.gz
+ 1284K xscreensaver-3.24.tar.gz
40K xscreensaver.README
1K xscreensaver.lsm
Alternate-site: ftp.x.org /contrib/applications/
- 1272K xscreensaver-3.23.tar.gz
+ 1284K xscreensaver-3.24.tar.gz
40K xscreensaver.README
1K xscreensaver.lsm
Platforms: Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD,
%define name xscreensaver
-%define version 3.23
+%define version 3.24
%define release 1
%define serial 1
%define prefix /usr/X11R6