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
94 /* *************************************************************************
95 CONFIGURING GRAPHICS TOOLKITS
96 ************************************************************************* */
98 /* Define this if you have Motif.
102 /* Define this if you don't have Motif, but you have Athena (-Xaw).
106 /* Define this if you have Athena, and the version you have includes the
107 * XawViewportSetCoordinates function in Viewport.h (some old versions of
108 * the library didn't have this function.)
110 #undef HAVE_XawViewportSetCoordinates
112 /* Define this if you have the XPM library installed. Some of the demos can
113 * make use of this if it is available.
117 /* Define this if you have the Xmu library. This is standard part of X, and
118 * if your vendor doesn't ship it, you should report that as a bug.
122 /* Define this if you have OpenGL. Some of the demos require it, so if you
123 * don't have it, then those particular demos won't be built. (This won't
124 * affect the screen saver as a whole.)
128 /* Define this if you have GL, but it's the MesaGL variant. (The libraries
129 have different names.) (HAVE_GL should be defined too.)
133 /* Define this if you have the X Shared Memory Extension.
135 #undef HAVE_XSHM_EXTENSION
137 /* Some screenhacks like to run an external program to generate random pieces
138 of text; set this to the one you like ("yow" and "fortune" are the most
139 likely prospects.) Note that this is just the default; X resources can
140 be used to override it.
142 #define ZIPPY_PROGRAM "fortune"
146 /* *************************************************************************
147 CONFIGURING PASSWORD AUTHENTICATION
148 ************************************************************************* */
150 /* Define this to remove the option of locking the screen at all.
154 /* Define this if you want to use Kerberos authentication to lock/unlock the
155 * screen instead of your local password. This currently uses Kerberos V4,
156 * but a V5 server with V4 compatibility will work. WARNING: DO NOT USE AFS
157 * string-to-key passwords with this option. This option currently *only*
158 * works with standard Kerberos des_string_to_key. If your password is an
159 * AFS password and not a kerberos password, it will not authenticate
160 * properly. See the comments in driver/kpasswd.c for more information if you
166 /* Define this if your system uses `shadow' passwords, that is, the passwords
167 * live in /etc/shadow instead of /etc/passwd, and one reads them with
168 * getspnam() instead of getpwnam(). (Note that SCO systems do some random
169 * other thing; others might as well. See the ifdefs in driver/passwd.c if
170 * you're having trouble related to reading passwords.)
172 #undef HAVE_SHADOW_PASSWD
174 /* Define this if your system is Digital or SCO Unix with so-called ``Enhanced
175 Security'', that is, the passwords live in /tcb/files/auth/<x>/<xyz>
176 instead of in /etc/passwd, and one reads them with getprpwnam() instead
179 #undef HAVE_ENHANCED_PASSWD
181 /* Define this if your system is Solaris with ``adjunct'' passwords (this is
182 the version where one gets at the passwords with getpwanam() instead of
183 getpwnam().) I haven't tested this one, let me know if it works.
185 #undef HAVE_ADJUNCT_PASSWD
187 /* Define this if you are running HPUX with so-called ``Secure Passwords''
188 (if you have /usr/include/hpsecurity.h, you probably have this.) I
189 haven't tested this one, let me know if it works.
191 #undef HAVE_HPUX_PASSWD
194 /* *************************************************************************
195 OTHER C ENVIRONMENT JUNK
196 ************************************************************************* */
198 /* Define this to void* if you're using X11R4 or earlier. */
201 /* Define if you have the nice function. */
204 /* Define if you have the setpriority function. */
205 #undef HAVE_SETPRIORITY
207 /* Define to empty if the keyword does not work. */
210 /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
211 #undef HAVE_SYS_WAIT_H
213 /* Define as __inline if that's what the C compiler calls it. */
216 /* Define to `int' if <sys/types.h> doesn't define. */
219 /* Define to `int' if <sys/types.h> doesn't define. */
222 /* Define as the return type of signal handlers (int or void). */
225 /* Define to `unsigned' if <sys/types.h> doesn't define. */
228 /* Define if you have the ANSI C header files. */
231 /* Define if you can safely include both <sys/time.h> and <time.h>. */
232 #undef TIME_WITH_SYS_TIME
234 /* Define if you have the gettimeofday function. */
235 #undef HAVE_GETTIMEOFDAY
237 /* Define if gettimeofday requires two arguments. */
238 #undef GETTIMEOFDAY_TWO_ARGS
240 /* Define if you have the putenv function. */
243 /* Define if you have the select function. */
246 /* Define if you have the getcwd function. */
249 /* Define if you have the getcwd function. */
252 /* Define if you have the uname function. */
255 /* Define if you have the fcntl function. */
258 /* Define if you have the <unistd.h> header file. */
261 /* Define to use sigaction() instead of signal() for SIGCHLD-related activity.
262 This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug.