f8aed5560f8882894c42556e11dba3434397bf7f
[xscreensaver] / config.h.in
1 /* config.h.in --- xscreensaver, Copyright (c) 1997 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
94 /* *************************************************************************
95                           CONFIGURING GRAPHICS TOOLKITS
96    ************************************************************************* */
97
98 /*  Define this if you have Motif.
99  */
100 #undef HAVE_MOTIF
101
102 /*  Define this if you don't have Motif, but you have Athena (-Xaw).
103  */
104 #undef HAVE_ATHENA
105
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.)
109  */
110 #undef HAVE_XawViewportSetCoordinates
111
112 /*  Define this if you have the XPM library installed.  Some of the demos can
113  *  make use of this if it is available.
114  */
115 #undef HAVE_XPM
116
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.
119  */
120 #undef HAVE_XMU
121
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.)
125  */
126 #undef HAVE_GL
127
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.)
130  */
131 #undef HAVE_MESA_GL
132
133 /*  Define this if you have the X Shared Memory Extension.
134  */
135 #undef HAVE_XSHM_EXTENSION
136
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.
141  */
142 #define ZIPPY_PROGRAM "fortune"
143
144
145
146 /* *************************************************************************
147                        CONFIGURING PASSWORD AUTHENTICATION
148    ************************************************************************* */
149
150 /* Define this to remove the option of locking the screen at all.
151  */
152 #undef NO_LOCKING
153
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
161  *  need it. 
162  */
163 #undef HAVE_KERBEROS
164
165
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.)
171  */
172 #undef HAVE_SHADOW_PASSWD
173
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 
177     of getpwnam().
178  */
179 #undef HAVE_ENHANCED_PASSWD
180
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.
184  */
185 #undef HAVE_ADJUNCT_PASSWD
186
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.
190  */
191 #undef HAVE_HPUX_PASSWD
192
193
194 /* *************************************************************************
195                             OTHER C ENVIRONMENT JUNK
196    ************************************************************************* */
197
198 /* Define this to void* if you're using X11R4 or earlier.  */
199 #undef XPointer
200
201 /* Define if you have the nice function.  */
202 #undef HAVE_NICE
203
204 /* Define if you have the setpriority function.  */
205 #undef HAVE_SETPRIORITY
206
207 /* Define to empty if the keyword does not work.  */
208 #undef const
209
210 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
211 #undef HAVE_SYS_WAIT_H
212
213 /* Define as __inline if that's what the C compiler calls it.  */
214 #undef inline
215
216 /* Define to `int' if <sys/types.h> doesn't define.  */
217 #undef mode_t
218
219 /* Define to `int' if <sys/types.h> doesn't define.  */
220 #undef pid_t
221
222 /* Define as the return type of signal handlers (int or void).  */
223 #undef RETSIGTYPE
224
225 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
226 #undef size_t
227
228 /* Define if you have the ANSI C header files.  */
229 #undef STDC_HEADERS
230
231 /* Define if you can safely include both <sys/time.h> and <time.h>.  */
232 #undef TIME_WITH_SYS_TIME
233
234 /* Define if you have the gettimeofday function.  */
235 #undef HAVE_GETTIMEOFDAY
236
237 /* Define if gettimeofday requires two arguments.  */
238 #undef GETTIMEOFDAY_TWO_ARGS
239
240 /* Define if you have the putenv function.  */
241 #undef HAVE_PUTENV
242
243 /* Define if you have the select function.  */
244 #undef HAVE_SELECT
245
246 /* Define if you have the getcwd function.  */
247 #undef HAVE_GETCWD
248
249 /* Define if you have the getcwd function.  */
250 #undef HAVE_GETWD
251
252 /* Define if you have the uname function.  */
253 #undef HAVE_UNAME
254
255 /* Define if you have the fcntl function.  */
256 #undef HAVE_FCNTL
257
258 /* Define if you have the sigaction function.  */
259 #undef HAVE_SIGACTION
260
261 /* Define if you have the <unistd.h> header file.  */
262 #undef HAVE_UNISTD_H
263
264 /* Define to use sigaction() instead of signal() for SIGCHLD-related activity.
265    This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug.
266  */
267 #undef USE_SIGACTION