http://ftp.x.org/contrib/applications/xscreensaver-3.03.tar.gz
[xscreensaver] / config.h.in
1 /* config.h.in --- xscreensaver, Copyright (c) 1998 Jamie Zawinski.
2  *
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 
5  *  `config.h.in'.
6  *
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.
9  */
10
11
12 /* *************************************************************************
13                           CONFIGURING SERVER EXTENSIONS
14    ************************************************************************* */
15
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.
19  */
20 #undef HAVE_READ_DISPLAY_EXTENSION
21
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.
24  */
25 #undef HAVE_SGI_VIDEO
26
27 /* Define this if you have the XHPDisableReset function (an HP only thing.)
28  */
29 #undef HAVE_XHPDISABLERESET
30
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, 
33  *  and SCREEN_SAVER.
34  *
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.
40  *
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.
44  *
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.
49  *
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
60  *     drop of a hat.
61  *
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.
66  */
67
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.
74  */
75 #undef HAVE_XIDLE_EXTENSION
76
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.)
80  */
81 #undef HAVE_MIT_SAVER_EXTENSION
82
83 /*  Define this if you have the SGI SCREEN_SAVER extension.  This is standard
84  *  on Irix systems, and not available elsewhere.
85  */
86 #undef HAVE_SGI_SAVER_EXTENSION
87
88 /*  Define this if you have the SGI-VIDEO-CONTROL extension.  This is standard
89  *  on Irix systems, and not available elsewhere.
90  */
91 #undef HAVE_SGI_VC_EXTENSION
92
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.)
96  */
97 #undef HAVE_DPMS_EXTENSION
98
99
100 /* *************************************************************************
101                           CONFIGURING GRAPHICS TOOLKITS
102    ************************************************************************* */
103
104 /*  Define this if you have Motif.
105  */
106 #undef HAVE_MOTIF
107
108 /*  Define this if you don't have Motif, but you have Athena (-Xaw).
109  */
110 #undef HAVE_ATHENA
111
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.)
115  */
116 #undef HAVE_XawViewportSetCoordinates
117
118 /*  Define this if you have the XPM library installed.  Some of the demos can
119  *  make use of this if it is available.
120  */
121 #undef HAVE_XPM
122
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.
125  */
126 #undef HAVE_XMU
127
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.)
131  */
132 #undef HAVE_GL
133
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.)
136  */
137 #undef HAVE_MESA_GL
138
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.
141  */
142 #undef HAVE_GLBINDTEXTURE
143
144 /*  Define this if you have the X Shared Memory Extension.
145  */
146 #undef HAVE_XSHM_EXTENSION
147
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.
152  */
153 #define ZIPPY_PROGRAM "fortune"
154
155
156
157 /* *************************************************************************
158                        CONFIGURING PASSWORD AUTHENTICATION
159    ************************************************************************* */
160
161 /* Define this to remove the option of locking the screen at all.
162  */
163 #undef NO_LOCKING
164
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
172  *  need it. 
173  */
174 #undef HAVE_KERBEROS
175
176 /*  Define this if you want to use PAM (Pluggable Authentication Modules)
177  *  to lock/unlock the screen, instead of standard /etc/passwd authentication.
178  */
179 #undef HAVE_PAM
180
181 /*  If PAM is being used, this is the name of the PAM service that xscreensaver
182  *  will authenticate as.  It would be sensible to set this to "xscreensaver".
183  *  However, since some systems already have a PAM service named "xlock" 
184  *  defined, we might as well use that.
185  */
186 #define PAM_SERVICE_NAME "xlock"
187
188 /*  Define this if your system uses `shadow' passwords, that is, the passwords
189  *  live in /etc/shadow instead of /etc/passwd, and one reads them with
190  *  getspnam() instead of getpwnam().  (Note that SCO systems do some random
191  *  other thing; others might as well.  See the ifdefs in driver/passwd.c if
192  *  you're having trouble related to reading passwords.)
193  */
194 #undef HAVE_SHADOW_PASSWD
195
196 /*  Define this if your system is Digital or SCO Unix with so-called ``Enhanced
197     Security'', that is, the passwords live in /tcb/files/auth/<x>/<xyz> 
198     instead of in /etc/passwd, and one reads them with getprpwnam() instead 
199     of getpwnam().
200  */
201 #undef HAVE_ENHANCED_PASSWD
202
203 /*  Define this if your system is Solaris with ``adjunct'' passwords (this is
204     the version where one gets at the passwords with getpwanam() instead of
205     getpwnam().)  I haven't tested this one, let me know if it works.
206  */
207 #undef HAVE_ADJUNCT_PASSWD
208
209 /*  Define this if you are running HPUX with so-called ``Secure Passwords'' 
210     (if you have /usr/include/hpsecurity.h, you probably have this.)  I
211     haven't tested this one, let me know if it works.
212  */
213 #undef HAVE_HPUX_PASSWD
214
215 /*  Define this if you are on a system that supports the VT_LOCKSWITCH and
216     VT_UNLOCKSWITCH ioctls.  If this is defined, then when the screen is
217     locked, switching to another virtual terminal will also be prevented.
218     That is, the whole console will be locked, rather than just the VT on
219     which X is running.
220  */
221 #undef HAVE_VT_LOCKSWITCH
222
223
224 /* Define this if you the openlog(), syslog(), and closelog() functions.
225    This is used for logging failed login attempts.
226  */
227 #undef HAVE_SYSLOG
228
229
230 /* *************************************************************************
231                             OTHER C ENVIRONMENT JUNK
232    ************************************************************************* */
233
234 /* Define this to void* if you're using X11R4 or earlier.  */
235 #undef XPointer
236
237 /* Define if you have the nice function.  */
238 #undef HAVE_NICE
239
240 /* Define if you have the setpriority function.  */
241 #undef HAVE_SETPRIORITY
242
243 /* Define to empty if the keyword does not work.  */
244 #undef const
245
246 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
247 #undef HAVE_SYS_WAIT_H
248
249 /* Define as __inline if that's what the C compiler calls it.  */
250 #undef inline
251
252 /* Define to `int' if <sys/types.h> doesn't define.  */
253 #undef mode_t
254
255 /* Define to `int' if <sys/types.h> doesn't define.  */
256 #undef pid_t
257
258 /* Define as the return type of signal handlers (int or void).  */
259 #undef RETSIGTYPE
260
261 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
262 #undef size_t
263
264 /* Define if you have the ANSI C header files.  */
265 #undef STDC_HEADERS
266
267 /* Define if you can safely include both <sys/time.h> and <time.h>.  */
268 #undef TIME_WITH_SYS_TIME
269
270 /* Define if you have the gettimeofday function.  */
271 #undef HAVE_GETTIMEOFDAY
272
273 /* Define if gettimeofday requires two arguments.  */
274 #undef GETTIMEOFDAY_TWO_ARGS
275
276 /* Define if you have the putenv function.  */
277 #undef HAVE_PUTENV
278
279 /* Define if you have the select function.  */
280 #undef HAVE_SELECT
281
282 /* Define if you have the getcwd function.  */
283 #undef HAVE_GETCWD
284
285 /* Define if you have the getcwd function.  */
286 #undef HAVE_GETWD
287
288 /* Define if you have the uname function.  */
289 #undef HAVE_UNAME
290
291 /* Define if you have the fcntl function.  */
292 #undef HAVE_FCNTL
293
294 /* Define if you have the sigaction function.  */
295 #undef HAVE_SIGACTION
296
297 /* Define if you have the <unistd.h> header file.  */
298 #undef HAVE_UNISTD_H
299
300 /* Define if you have the <crypt.h> header file.  */
301 #undef HAVE_CRYPT_H
302
303 /* Define if you have <sys/select.h> that defines fd_set and FD_SET.  */
304 #undef HAVE_SYS_SELECT_H
305
306 /* Define to use sigaction() instead of signal() for SIGCHLD-related activity.
307    This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug.
308  */
309 #undef USE_SIGACTION