http://ftp.ussg.iu.edu/linux/slackware/slackware-9.0/source/xap/xscreensaver/xscreens...
[xscreensaver] / config.h.in
1 /* config.h.in --- xscreensaver, Copyright (c) 1998-2000 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 XHPDisableReset function (an HP only thing.)
23  */
24 #undef HAVE_XHPDISABLERESET
25
26 /*  First, some background: there are three distinct server extensions which
27  *  are useful to a screen saver program: they are XIDLE, MIT-SCREEN-SAVER, 
28  *  and SCREEN_SAVER.
29  *
30  *  The XIDLE extension resides in .../contrib/extensions/xidle/ on the X11R5
31  *  contrib tape.  This extension lets the client get accurate idle-time 
32  *  information from the X server in a potentially more reliable way than by
33  *  simply watching for keyboard and mouse activity.  However, the XIDLE 
34  *  extension has apparently not been ported to X11R6.
35  *
36  *  The SCREEN_SAVER extension is found (as far as I know) only in the SGI
37  *  X server, and it exists in all releases since (at least) Irix 5.  The
38  *  relevant header file is /usr/include/X11/extensions/XScreenSaver.h.
39  *
40  *  The similarly-named MIT-SCREEN-SAVER extension came into existence long
41  *  after the SGI SCREEN_SAVER extension was already in use, and resides in
42  *  .../contrib/extensions/screensaver/ on the X11R6 contrib tape.  It is
43  *  also found in certain recent X servers built in to NCD X terminals.
44  *
45  *     The MIT extension does basically the same thing that the XIDLE extension
46  *     does, but there are two things wrong with it: first, because of the way
47  *     the extension was designed, the `fade' option to XScreenSaver will be
48  *     uglier: just before the screen fades out, there will be an unattractive
49  *     flicker to black, because this extension blanks the screen *before*
50  *     telling us that it is time to do so.  Second, this extension is known to
51  *     be buggy; on the systems I use, it works, but some people have reported
52  *     X server crashes as a result of using it.  XScreenSaver uses this
53  *     extension rather conservatively, because when I tried to use any of its
54  *     more complicated features, I could get it to crash the server at the
55  *     drop of a hat.
56  *
57  *     In short, the MIT-SCREEN-SAVER extension is a piece of junk.  The older
58  *     SGI SCREEN_SAVER extension works great, as does XIDLE.  It would be nice
59  *     If those two existed on more systems, that is, would be adopted by the
60  *     X Consortium in favor of their inferior "not-invented-here" entry.
61  */
62
63 /*  Define this if you have the XIDLE extension installed. If you have the
64  *  XIDLE extension, this is recommended.  (You have this extension if the
65  *  file /usr/include/X11/extensions/xidle.h exists.)  Turning on this flag
66  *  lets XScreenSaver work better with servers which support this extension; 
67  *  but it will still work with servers which do not suport it, so it's a good
68  *  idea to compile in support for it if you can.
69  */
70 #undef HAVE_XIDLE_EXTENSION
71
72 /*  Define this if you have the MIT-SCREEN-SAVER extension installed.  See the
73  *  caveats about this extension, above.  (It's available if the file
74  *  /usr/include/X11/extensions/scrnsaver.h exists.)
75  */
76 #undef HAVE_MIT_SAVER_EXTENSION
77
78 /*  Define this if you have the SGI SCREEN_SAVER extension.  This is standard
79  *  on Irix systems, and not available elsewhere.
80  */
81 #undef HAVE_SGI_SAVER_EXTENSION
82
83 /*  Define this if you have the SGI-VIDEO-CONTROL extension.  This is standard
84  *  on Irix systems, and not available elsewhere.
85  */
86 #undef HAVE_SGI_VC_EXTENSION
87
88 /*  Define this if you have the XDPMS extension.  This is standard on
89  *  sufficiently-recent XFree86 systems, and possibly elsewhere.  (It's
90  *  available if the file /usr/include/X11/extensions/dpms.h exists.)
91  */
92 #undef HAVE_DPMS_EXTENSION
93
94 /*  Define this if you have the functions XF86VidModeGetModeLine() and
95  *  XF86VidModeGetViewPort(), in support of virtual desktops where the
96  *  X server's root window is bigger than the actual screen.  This is
97  *  an XFree86 thing, and probably doesn't exist elsewhere.  (It's
98  *  available if the file /usr/include/X11/extensions/xf86vmode.h exists.)
99  */
100 #undef HAVE_XF86VMODE
101
102 /*  Define this if you have the functions XF86VidModeGetGamma() and
103  *  XF86VidModeSetGamma(), which allow clients to change the gamma
104  *  response of the monitor.  This is an XFree86 4.0.x thing, and
105  *  probably doesn't exist elsewhere.  (It's available if the file
106  *  /usr/include/X11/extensions/xf86vmode.h exists and has stuff about
107  *  gamma in it.)
108  */
109 #undef HAVE_XF86VMODE_GAMMA
110
111 /*  Define this if you have the functions XF86VidModeGetGammaRamp() and
112  *  XF86VidModeSetGammaRamp(), which provide finer-grained control than
113  *  XF86VidMode[GS]etGamma().  These appeared in XFree86 4.1.0.
114  */
115 #undef HAVE_XF86VMODE_GAMMA_RAMP
116
117 /*  Define this if you have the Xinerama extension.  This is standard on
118  *  sufficiently-recent XFree86 systems, and possibly elsewhere.  (It's
119  *  available if the file /usr/include/X11/extensions/Xinerama.h exists.)
120  */
121 #undef HAVE_XINERAMA
122
123 /*  Define this if you have a Linux-like /proc/interrupts file which can be
124  *  examined to determine when keyboard activity has occurred.
125  */
126 #undef HAVE_PROC_INTERRUPTS
127
128
129
130 /* *************************************************************************
131                           CONFIGURING GRAPHICS TOOLKITS
132    ************************************************************************* */
133
134 /*  Define this if you have Motif.
135  */
136 #undef HAVE_MOTIF
137
138 /*  Define this if you have the XmComboBox Motif widget (Motif 2.0.)
139  */
140 #undef HAVE_XMCOMBOBOX
141
142 /*  Define this if you have Gtk (any version.)
143  */
144 #undef HAVE_GTK
145
146 /* Define this if you have Gtk 2.x.
147  */
148 #undef HAVE_GTK2
149
150 /*  Define this if you have Gnome and want to build support for the 
151     xscreensaver control panel in the Gnome Control Center (gnomecc).
152     (This is needed only with Gtk 1.x.)
153  */
154 #undef HAVE_CRAPPLET
155
156 /*  Define this if HAVE_CRAPPLET is defined, and the function
157     capplet_widget_changes_are_immediate() is available.
158  */
159 #undef HAVE_CRAPPLET_IMMEDIATE
160
161 /*  Define this if you have the XML library.
162  */
163 #undef HAVE_XML
164
165 /* Define this if you have the XML library headers in their old,
166  * non-namespaced location (you lack the gnome-xml/libxml symlink)
167  */
168 #undef HAVE_OLD_XML_HEADERS
169
170 /*  Define this if you have the XPM library installed.  Some of the demos can
171  *  make use of this if it is available.
172  */
173 #undef HAVE_XPM
174
175 /*  Define this if you have the GDK_Pixbuf library installed.  Some of the
176  *  demos can make use of this if it is available.
177  */
178 #undef HAVE_GDK_PIXBUF
179
180 /*  Define this if you have the Independent JPEG Group's JPEG library
181  *  installed.  Some of the demos can make use of this if it is available.
182  */
183 #undef HAVE_JPEGLIB
184
185 /*  Define this if you have the Xmu library.  This is standard part of X, and
186  *  if your vendor doesn't ship it, you should report that as a bug.
187  */
188 #undef HAVE_XMU
189
190 /*  Define this if you have OpenGL.  Some of the demos require it, so if you
191  *  don't have it, then those particular demos won't be built.  (This won't
192  *  affect the screen saver as a whole.)
193  */
194 #undef HAVE_GL
195
196 /*  Define this if you have OpenGL, but it's the MesaGL variant.  (The 
197     libraries have different names.)  (HAVE_GL should be defined too.)
198  */
199 #undef HAVE_MESA_GL
200
201 /*  Define this if your version of OpenGL has the glBindTexture() routine.
202     This is the case for OpenGL 1.1, but not for OpenGL 1.0.
203  */
204 #undef HAVE_GLBINDTEXTURE
205
206 /*  Define this if you have the -lgle and -lmatrix libraries (GL extrusion.)
207  */
208 #undef HAVE_GLE
209
210 /*  Define this if you have the -lgle from GLE version 3
211  */
212 #undef HAVE_GLE3
213
214 /*  Define this if you have the X Shared Memory Extension.
215  */
216 #undef HAVE_XSHM_EXTENSION
217
218 /*  Define this if you have the X Double Buffer Extension.
219  */
220 #undef HAVE_DOUBLE_BUFFER_EXTENSION
221
222 /*  Some screenhacks like to run an external program to generate random pieces
223     of text; set this to the one you like.  Note that this is just the
224     default; X resources can be used to override it.
225  */
226 #define FORTUNE_PROGRAM "fortune"
227
228
229
230 /* *************************************************************************
231                        CONFIGURING PASSWORD AUTHENTICATION
232    ************************************************************************* */
233
234 /* Define this to remove the option of locking the screen at all.
235  */
236 #undef NO_LOCKING
237
238 /*  Define this if you want to use Kerberos authentication to lock/unlock the
239  *  screen instead of your local password.  This currently uses Kerberos V4, 
240  *  but a V5 server with V4 compatibility will work.  WARNING: DO NOT USE AFS
241  *  string-to-key passwords with this option. This option currently *only* 
242  *  works with standard Kerberos des_string_to_key.  If your password is an
243  *  AFS password and not a kerberos password, it will not authenticate 
244  *  properly. See the comments in driver/kpasswd.c for more information if you
245  *  need it. 
246  */
247 #undef HAVE_KERBEROS
248
249 /* Define this if you have Kerberos 5, meaning we need to use the Kerberos 4
250  * compatibility layer.
251  */
252 #undef HAVE_KERBEROS5
253
254 /*  Define this if you want to use PAM (Pluggable Authentication Modules)
255  *  to lock/unlock the screen, instead of standard /etc/passwd authentication.
256  */
257 #undef HAVE_PAM
258
259 /*  If PAM is being used, this is the name of the PAM service that xscreensaver
260  *  will authenticate as.  The default is "xscreensaver", which means that the
261  *  PAM library will look for an "xscreensaver" line in /etc/pam.conf, or (on
262  *  recent Linux systems) will look for a file called /etc/pam.d/xscreensaver.
263  *  Some systems might already have a PAM installation that is configured for
264  *  xlock, so setting this to "xlock" would also work in that case.
265  */
266 #define PAM_SERVICE_NAME "xscreensaver"
267
268 /* Define if you have PAM and pam_strerror() requires two arguments.  */
269 #undef PAM_STRERROR_TWO_ARGS
270
271 /*  Define this if your system uses `shadow' passwords, that is, the passwords
272  *  live in /etc/shadow instead of /etc/passwd, and one reads them with
273  *  getspnam() instead of getpwnam().  (Note that SCO systems do some random
274  *  other thing; others might as well.  See the ifdefs in driver/passwd-pwent.c
275  *  if you're having trouble related to reading passwords.)
276  */
277 #undef HAVE_SHADOW_PASSWD
278
279 /*  Define this if your system is Digital or SCO Unix with so-called ``Enhanced
280     Security'', that is, the passwords live in /tcb/files/auth/<x>/<xyz> 
281     instead of in /etc/passwd, and one reads them with getprpwnam() instead 
282     of getpwnam().
283  */
284 #undef HAVE_ENHANCED_PASSWD
285
286 /*  Define this if your system is Solaris with ``adjunct'' passwords (this is
287     the version where one gets at the passwords with getpwanam() instead of
288     getpwnam().)  I haven't tested this one, let me know if it works.
289  */
290 #undef HAVE_ADJUNCT_PASSWD
291
292 /*  Define this if you are running HPUX with so-called ``Secure Passwords'' 
293     (if you have /usr/include/hpsecurity.h, you probably have this.)  I
294     haven't tested this one, let me know if it works.
295  */
296 #undef HAVE_HPUX_PASSWD
297
298 /*  Define this if you are on a system that supports the VT_LOCKSWITCH and
299     VT_UNLOCKSWITCH ioctls.  If this is defined, then when the screen is
300     locked, switching to another virtual terminal will also be prevented.
301     That is, the whole console will be locked, rather than just the VT on
302     which X is running.  (Well, that's the theory anyway -- in practice,
303     I haven't yet figured out how to make that work.)
304  */
305 #undef HAVE_VT_LOCKSWITCH
306
307
308 /* Define this if you the openlog(), syslog(), and closelog() functions.
309    This is used for logging failed login attempts.
310  */
311 #undef HAVE_SYSLOG
312
313
314 /* *************************************************************************
315                             OTHER C ENVIRONMENT JUNK
316    ************************************************************************* */
317
318 /* Define this to void* if you're using X11R4 or earlier.  */
319 #undef XPointer
320
321 /* Define if you have the nice function.  */
322 #undef HAVE_NICE
323
324 /* Define if you have the setpriority function.  */
325 #undef HAVE_SETPRIORITY
326
327 /* Define to empty if the keyword does not work.  */
328 #undef const
329
330 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
331 #undef HAVE_SYS_WAIT_H
332
333 /* Define as __inline if that's what the C compiler calls it.  */
334 #undef inline
335
336 /* Define to `int' if <sys/types.h> doesn't define.  */
337 #undef mode_t
338
339 /* Define to `int' if <sys/types.h> doesn't define.  */
340 #undef pid_t
341
342 /* Define as the return type of signal handlers (int or void).  */
343 #undef RETSIGTYPE
344
345 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
346 #undef size_t
347
348 /* Define if you have the ANSI C header files.  */
349 #undef STDC_HEADERS
350
351 /* Define if you can safely include both <sys/time.h> and <time.h>.  */
352 #undef TIME_WITH_SYS_TIME
353
354 /* Define if you have the gettimeofday function.  */
355 #undef HAVE_GETTIMEOFDAY
356
357 /* Define if gettimeofday requires two arguments.  */
358 #undef GETTIMEOFDAY_TWO_ARGS
359
360 /* Define if you have the putenv function.  */
361 #undef HAVE_PUTENV
362
363 /* Define if you have the select function.  */
364 #undef HAVE_SELECT
365
366 /* Define if you have the getcwd function.  */
367 #undef HAVE_GETCWD
368
369 /* Define if you have the getcwd function.  */
370 #undef HAVE_GETWD
371
372 /* Define if you have the realpath function.  */
373 #undef HAVE_REALPATH
374
375 /* Define if you have the uname function.  */
376 #undef HAVE_UNAME
377
378 /* Define if you have the fcntl function.  */
379 #undef HAVE_FCNTL
380
381 /* Define if you have the sigaction function.  */
382 #undef HAVE_SIGACTION
383
384 /* Define this if you have the setrlimit function. */
385 #undef HAVE_SETRLIMIT
386
387 /* Define if you have the sbrk function.  */
388 #define HAVE_SBRK 1
389
390 /* Define if you have the <unistd.h> header file.  */
391 #undef HAVE_UNISTD_H
392
393 /* Define if you have the <crypt.h> header file.  */
394 #undef HAVE_CRYPT_H
395
396 /* Define if you have <sys/select.h> that defines fd_set and FD_SET.  */
397 #undef HAVE_SYS_SELECT_H
398
399 /* Define this if you do pings with a `struct icmp' and  a `icmp_id' slot.
400  */
401 #undef HAVE_ICMP
402
403 /* Define this if you do pings with a `struct icmphdr' and a `un.echo.id' slot.
404  */
405 #undef HAVE_ICMPHDR
406
407 /* This is the name of the gettext package to use.
408  */
409 #undef GETTEXT_PACKAGE
410
411 /* This is the same as GETTEXT_PACKAGE, but for the glade generated
412  * code.
413  */
414 #undef PACKAGE
415
416 /* Define this if you want to build with NLS support
417  */
418 #undef ENABLE_NLS