1 /* config.h.in --- xscreensaver, Copyright (c) 1997 Jamie Zawinski.
3 * The best way to set these parameters is by running the included `configure'
4 * script. That examines your system, and generates `config.h' from
7 * If something goes very wrong, you can edit `config.h' directly, but beware
8 * that your changes will be lost if you ever run `configure' again.
12 /* *************************************************************************
13 CONFIGURING SERVER EXTENSIONS
14 ************************************************************************* */
16 /* Define this if you have the XReadDisplay extension (I think this is an
17 SGI-only thing; it's in <X11/extensions/readdisplay.h>.) A few of the
18 screenhacks will take advantage of this if it's available.
20 #undef HAVE_READ_DISPLAY_EXTENSION
22 /* Define this if you have the Iris Video Library (dmedia/vl.h on SGI.)
23 A few of the screenhacks will take advantage of this if it's available.
27 /* Define this if you have the XHPDisableReset function (an HP only thing.)
29 #undef HAVE_XHPDISABLERESET
31 /* First, some background: there are three distinct server extensions which
32 * are useful to a screen saver program: they are XIDLE, MIT-SCREEN-SAVER,
35 * The XIDLE extension resides in .../contrib/extensions/xidle/ on the X11R5
36 * contrib tape. This extension lets the client get accurate idle-time
37 * information from the X server in a potentially more reliable way than by
38 * simply watching for keyboard and mouse activity. However, the XIDLE
39 * extension has apparently not been ported to X11R6.
41 * The SCREEN_SAVER extension is found (as far as I know) only in the SGI
42 * X server, and it exists in all releases since (at least) Irix 5. The
43 * relevant header file is /usr/include/X11/extensions/XScreenSaver.h.
45 * The similarly-named MIT-SCREEN-SAVER extension came into existence long
46 * after the SGI SCREEN_SAVER extension was already in use, and resides in
47 * .../contrib/extensions/screensaver/ on the X11R6 contrib tape. It is
48 * also found in certain recent X servers built in to NCD X terminals.
50 * The MIT extension does basically the same thing that the XIDLE extension
51 * does, but there are two things wrong with it: first, because of the way
52 * the extension was designed, the `fade' option to XScreenSaver will be
53 * uglier: just before the screen fades out, there will be an unattractive
54 * flicker to black, because this extension blanks the screen *before*
55 * telling us that it is time to do so. Second, this extension is known to
56 * be buggy; on the systems I use, it works, but some people have reported
57 * X server crashes as a result of using it. XScreenSaver uses this
58 * extension rather conservatively, because when I tried to use any of its
59 * more complicated features, I could get it to crash the server at the
62 * In short, the MIT-SCREEN-SAVER extension is a piece of junk. The older
63 * SGI SCREEN_SAVER extension works great, as does XIDLE. It would be nice
64 * If those two existed on more systems, that is, would be adopted by the
65 * X Consortium in favor of their inferior "not-invented-here" entry.
68 /* Define this if you have the XIDLE extension installed. If you have the
69 * XIDLE extension, this is recommended. (You have this extension if the
70 * file /usr/include/X11/extensions/xidle.h exists.) Turning on this flag
71 * lets XScreenSaver work better with servers which support this extension;
72 * but it will still work with servers which do not suport it, so it's a good
73 * idea to compile in support for it if you can.
75 #undef HAVE_XIDLE_EXTENSION
77 /* Define this if you have the MIT-SCREEN-SAVER extension installed. See the
78 * caveats about this extension, above. (It's available if the file
79 * /usr/include/X11/extensions/scrnsaver.h exists.)
81 #undef HAVE_MIT_SAVER_EXTENSION
83 /* Define this if you have the SGI SCREEN_SAVER extension. This is standard
84 * on Irix systems, and not available elsewhere.
86 #undef HAVE_SGI_SAVER_EXTENSION
88 /* Define this if you have the SGI-VIDEO-CONTROL extension. This is standard
89 * on Irix systems, and not available elsewhere.
91 #undef HAVE_SGI_VC_EXTENSION
93 /* Define this if you have the XDPMS extension. This is standard on
94 * sufficiently-recent XFree86 systems, and possibly elsewhere. (It's
95 * available if the file /usr/include/X11/extensions/dpms.h exists.)
97 #undef HAVE_DPMS_EXTENSION
100 /* *************************************************************************
101 CONFIGURING GRAPHICS TOOLKITS
102 ************************************************************************* */
104 /* Define this if you have Motif.
108 /* Define this if you don't have Motif, but you have Athena (-Xaw).
112 /* Define this if you have Athena, and the version you have includes the
113 * XawViewportSetCoordinates function in Viewport.h (some old versions of
114 * the library didn't have this function.)
116 #undef HAVE_XawViewportSetCoordinates
118 /* Define this if you have the XPM library installed. Some of the demos can
119 * make use of this if it is available.
123 /* Define this if you have the Xmu library. This is standard part of X, and
124 * if your vendor doesn't ship it, you should report that as a bug.
128 /* Define this if you have OpenGL. Some of the demos require it, so if you
129 * don't have it, then those particular demos won't be built. (This won't
130 * affect the screen saver as a whole.)
134 /* Define this if you have OpenGL, but it's the MesaGL variant. (The
135 libraries have different names.) (HAVE_GL should be defined too.)
139 /* Define this if your version of OpenGL has the glBindTexture() routine.
140 This is the case for OpenGL 1.1, but not for OpenGL 1.0.
142 #undef HAVE_GLBINDTEXTURE
144 /* Define this if you have the X Shared Memory Extension.
146 #undef HAVE_XSHM_EXTENSION
148 /* Some screenhacks like to run an external program to generate random pieces
149 of text; set this to the one you like ("yow" and "fortune" are the most
150 likely prospects.) Note that this is just the default; X resources can
151 be used to override it.
153 #define ZIPPY_PROGRAM "fortune"
157 /* *************************************************************************
158 CONFIGURING PASSWORD AUTHENTICATION
159 ************************************************************************* */
161 /* Define this to remove the option of locking the screen at all.
165 /* Define this if you want to use Kerberos authentication to lock/unlock the
166 * screen instead of your local password. This currently uses Kerberos V4,
167 * but a V5 server with V4 compatibility will work. WARNING: DO NOT USE AFS
168 * string-to-key passwords with this option. This option currently *only*
169 * works with standard Kerberos des_string_to_key. If your password is an
170 * AFS password and not a kerberos password, it will not authenticate
171 * properly. See the comments in driver/kpasswd.c for more information if you
177 /* Define this if your system uses `shadow' passwords, that is, the passwords
178 * live in /etc/shadow instead of /etc/passwd, and one reads them with
179 * getspnam() instead of getpwnam(). (Note that SCO systems do some random
180 * other thing; others might as well. See the ifdefs in driver/passwd.c if
181 * you're having trouble related to reading passwords.)
183 #undef HAVE_SHADOW_PASSWD
185 /* Define this if your system is Digital or SCO Unix with so-called ``Enhanced
186 Security'', that is, the passwords live in /tcb/files/auth/<x>/<xyz>
187 instead of in /etc/passwd, and one reads them with getprpwnam() instead
190 #undef HAVE_ENHANCED_PASSWD
192 /* Define this if your system is Solaris with ``adjunct'' passwords (this is
193 the version where one gets at the passwords with getpwanam() instead of
194 getpwnam().) I haven't tested this one, let me know if it works.
196 #undef HAVE_ADJUNCT_PASSWD
198 /* Define this if you are running HPUX with so-called ``Secure Passwords''
199 (if you have /usr/include/hpsecurity.h, you probably have this.) I
200 haven't tested this one, let me know if it works.
202 #undef HAVE_HPUX_PASSWD
205 /* *************************************************************************
206 OTHER C ENVIRONMENT JUNK
207 ************************************************************************* */
209 /* Define this to void* if you're using X11R4 or earlier. */
212 /* Define if you have the nice function. */
215 /* Define if you have the setpriority function. */
216 #undef HAVE_SETPRIORITY
218 /* Define to empty if the keyword does not work. */
221 /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
222 #undef HAVE_SYS_WAIT_H
224 /* Define as __inline if that's what the C compiler calls it. */
227 /* Define to `int' if <sys/types.h> doesn't define. */
230 /* Define to `int' if <sys/types.h> doesn't define. */
233 /* Define as the return type of signal handlers (int or void). */
236 /* Define to `unsigned' if <sys/types.h> doesn't define. */
239 /* Define if you have the ANSI C header files. */
242 /* Define if you can safely include both <sys/time.h> and <time.h>. */
243 #undef TIME_WITH_SYS_TIME
245 /* Define if you have the gettimeofday function. */
246 #undef HAVE_GETTIMEOFDAY
248 /* Define if gettimeofday requires two arguments. */
249 #undef GETTIMEOFDAY_TWO_ARGS
251 /* Define if you have the putenv function. */
254 /* Define if you have the select function. */
257 /* Define if you have the getcwd function. */
260 /* Define if you have the getcwd function. */
263 /* Define if you have the uname function. */
266 /* Define if you have the fcntl function. */
269 /* Define if you have the sigaction function. */
270 #undef HAVE_SIGACTION
272 /* Define if you have the <unistd.h> header file. */
275 /* Define to use sigaction() instead of signal() for SIGCHLD-related activity.
276 This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug.