Commit | Line | Data |
---|---|---|
ede098d3 EA |
1 | : make config.h.SH |
2 | case $CONFIG in | |
3 | '') | |
4 | if test ! -f config.sh; then | |
5 | ln ../config.sh . || \ | |
6 | ln ../../config.sh . || \ | |
7 | ln ../../../config.sh . || \ | |
8 | (echo "Can't find config.sh."; exit 1) | |
9 | echo "Using config.sh from above..." | |
10 | fi 2>/dev/null | |
11 | . ./config.sh | |
12 | ;; | |
13 | esac | |
14 | echo "Extracting config.h (with variable substitutions)" | |
15 | sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!' | |
16 | #ifndef config_h | |
17 | #define config_h | |
18 | /* config.h | |
19 | * This file was produced by running the config.h.SH script, which | |
20 | * gets its values from config.sh, which is generally produced by | |
21 | * running Configure. | |
22 | * | |
23 | * Feel free to modify any of this as the need arises. Note, however, | |
24 | * that running config.h.SH again will wipe out any changes you've made. | |
25 | * For a more permanent change edit config.sh and rerun config.h.SH. | |
26 | */ | |
27 | /*SUPPRESS 460*/ | |
28 | ||
29 | ||
30 | /* EUNICE | |
31 | * This symbol, if defined, indicates that the program is being compiled | |
32 | * under the EUNICE package under VMS. The program will need to handle | |
33 | * things like files that don't go away the first time you unlink them, | |
34 | * due to version numbering. It will also need to compensate for lack | |
35 | * of a respectable link() command. | |
36 | */ | |
37 | /* VMS | |
38 | * This symbol, if defined, indicates that the program is running under | |
39 | * VMS. It is currently only set in conjunction with the EUNICE symbol. | |
40 | */ | |
41 | #$d_eunice EUNICE /**/ | |
42 | #$d_eunice VMS /**/ | |
43 | ||
44 | /* LOC_SED | |
45 | * This symbol holds the complete pathname to the sed program. | |
46 | */ | |
47 | #define LOC_SED "$sed" /**/ | |
48 | ||
49 | /* ALIGNBYTES | |
50 | * This symbol contains the number of bytes required to align a double. | |
51 | * Usual values are 2, 4, and 8. | |
52 | */ | |
53 | #define ALIGNBYTES $alignbytes /**/ | |
54 | ||
55 | /* BIN | |
56 | * This symbol holds the name of the directory in which the user wants | |
57 | * to keep publicly executable images for the package in question. It | |
58 | * is most often a local directory such as /usr/local/bin. | |
59 | */ | |
60 | #define BIN "$bin" /**/ | |
61 | ||
62 | /* BYTEORDER | |
63 | * This symbol contains an encoding of the order of bytes in a long. | |
64 | * Usual values (in hex) are 0x1234, 0x4321, 0x2143, 0x3412... | |
65 | */ | |
66 | #define BYTEORDER 0x$byteorder /**/ | |
67 | ||
68 | /* CPPSTDIN | |
69 | * This symbol contains the first part of the string which will invoke | |
70 | * the C preprocessor on the standard input and produce to standard | |
71 | * output. Typical value of "cc -E" or "/lib/cpp". | |
72 | */ | |
73 | /* CPPMINUS | |
74 | * This symbol contains the second part of the string which will invoke | |
75 | * the C preprocessor on the standard input and produce to standard | |
76 | * output. This symbol will have the value "-" if CPPSTDIN needs a minus | |
77 | * to specify standard input, otherwise the value is "". | |
78 | */ | |
79 | #define CPPSTDIN "$cppstdin" | |
80 | #define CPPMINUS "$cppminus" | |
81 | ||
82 | /* HAS_BCMP | |
83 | * This symbol, if defined, indicates that the bcmp routine is available | |
84 | * to compare blocks of memory. If undefined, use memcmp. If that's | |
85 | * not available, roll your own. | |
86 | */ | |
87 | #$d_bcmp HAS_BCMP /**/ | |
88 | ||
89 | /* HAS_BCOPY | |
90 | * This symbol, if defined, indicates that the bcopy routine is available | |
91 | * to copy blocks of memory. Otherwise you should probably use memcpy(). | |
92 | * If neither is defined, roll your own. | |
93 | */ | |
94 | /* SAFE_BCOPY | |
95 | * This symbol, if defined, indicates that the bcopy routine is available | |
96 | * to copy potentially overlapping copy blocks of bcopy. Otherwise you | |
97 | * should probably use memmove() or memcpy(). If neither is defined, | |
98 | * roll your own. | |
99 | */ | |
100 | #$d_bcopy HAS_BCOPY /**/ | |
101 | #$d_safebcpy SAFE_BCOPY /**/ | |
102 | ||
103 | /* HAS_BZERO | |
104 | * This symbol, if defined, indicates that the bzero routine is available | |
105 | * to zero blocks of memory. Otherwise you should probably use memset() | |
106 | * or roll your own. | |
107 | */ | |
108 | #$d_bzero HAS_BZERO /**/ | |
109 | ||
110 | /* CASTNEGFLOAT | |
111 | * This symbol, if defined, indicates that this C compiler knows how to | |
112 | * cast negative or large floating point numbers to unsigned longs, ints | |
113 | * and shorts. | |
114 | */ | |
115 | /* CASTFLAGS | |
116 | * This symbol contains flags that say what difficulties the compiler | |
117 | * has casting odd floating values to unsigned long: | |
118 | * 1 = couldn't cast < 0 | |
119 | * 2 = couldn't cast >= 0x80000000 | |
120 | */ | |
121 | #$d_castneg CASTNEGFLOAT /**/ | |
122 | #define CASTFLAGS $castflags /**/ | |
123 | ||
124 | /* CHARSPRINTF | |
125 | * This symbol is defined if this system declares "char *sprintf()" in | |
126 | * stdio.h. The trend seems to be to declare it as "int sprintf()". It | |
127 | * is up to the package author to declare sprintf correctly based on the | |
128 | * symbol. | |
129 | */ | |
130 | #$d_charsprf CHARSPRINTF /**/ | |
131 | ||
132 | /* HAS_CHSIZE | |
133 | * This symbol, if defined, indicates that the chsize routine is available | |
134 | * to truncate files. You might need a -lx to get this routine. | |
135 | */ | |
136 | #$d_chsize HAS_CHSIZE /**/ | |
137 | ||
138 | /* HAS_CRYPT | |
139 | * This symbol, if defined, indicates that the crypt routine is available | |
140 | * to encrypt passwords and the like. | |
141 | */ | |
142 | #$d_crypt HAS_CRYPT /**/ | |
143 | ||
144 | /* CSH | |
145 | * This symbol, if defined, indicates that the C-shell exists. | |
146 | * If defined, contains the full pathname of csh. | |
147 | */ | |
148 | #$d_csh CSH "$csh" /**/ | |
149 | ||
150 | /* DOSUID | |
151 | * This symbol, if defined, indicates that the C program should | |
152 | * check the script that it is executing for setuid/setgid bits, and | |
153 | * attempt to emulate setuid/setgid on systems that have disabled | |
154 | * setuid #! scripts because the kernel can't do it securely. | |
155 | * It is up to the package designer to make sure that this emulation | |
156 | * is done securely. Among other things, it should do an fstat on | |
157 | * the script it just opened to make sure it really is a setuid/setgid | |
158 | * script, it should make sure the arguments passed correspond exactly | |
159 | * to the argument on the #! line, and it should not trust any | |
160 | * subprocesses to which it must pass the filename rather than the | |
161 | * file descriptor of the script to be executed. | |
162 | */ | |
163 | #$d_dosuid DOSUID /**/ | |
164 | ||
165 | /* HAS_DUP2 | |
166 | * This symbol, if defined, indicates that the dup2 routine is available | |
167 | * to dup file descriptors. Otherwise you should use dup(). | |
168 | */ | |
169 | #$d_dup2 HAS_DUP2 /**/ | |
170 | ||
171 | /* HAS_FCHMOD | |
172 | * This symbol, if defined, indicates that the fchmod routine is available | |
173 | * to change mode of opened files. If unavailable, use chmod(). | |
174 | */ | |
175 | #$d_fchmod HAS_FCHMOD /**/ | |
176 | ||
177 | /* HAS_FCHOWN | |
178 | * This symbol, if defined, indicates that the fchown routine is available | |
179 | * to change ownership of opened files. If unavailable, use chown(). | |
180 | */ | |
181 | #$d_fchown HAS_FCHOWN /**/ | |
182 | ||
183 | /* HAS_FCNTL | |
184 | * This symbol, if defined, indicates to the C program that | |
185 | * the fcntl() function exists. | |
186 | */ | |
187 | #$d_fcntl HAS_FCNTL /**/ | |
188 | ||
189 | /* FLEXFILENAMES | |
190 | * This symbol, if defined, indicates that the system supports filenames | |
191 | * longer than 14 characters. | |
192 | */ | |
193 | #$d_flexfnam FLEXFILENAMES /**/ | |
194 | ||
195 | /* HAS_FLOCK | |
196 | * This symbol, if defined, indicates that the flock() routine is | |
197 | * available to do file locking. | |
198 | */ | |
199 | #$d_flock HAS_FLOCK /**/ | |
200 | ||
201 | /* HAS_GETGROUPS | |
202 | * This symbol, if defined, indicates that the getgroups() routine is | |
203 | * available to get the list of process groups. If unavailable, multiple | |
204 | * groups are probably not supported. | |
205 | */ | |
206 | #$d_getgrps HAS_GETGROUPS /**/ | |
207 | ||
208 | /* HAS_GETHOSTENT | |
209 | * This symbol, if defined, indicates that the gethostent() routine is | |
210 | * available to lookup host names in some data base or other. | |
211 | */ | |
212 | #$d_gethent HAS_GETHOSTENT /**/ | |
213 | ||
214 | /* HAS_GETPGRP | |
215 | * This symbol, if defined, indicates that the getpgrp() routine is | |
216 | * available to get the current process group. | |
217 | */ | |
218 | #$d_getpgrp HAS_GETPGRP /**/ | |
219 | ||
220 | /* HAS_GETPGRP2 | |
221 | * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) | |
222 | * routine is available to get the current process group. | |
223 | */ | |
224 | #$d_getpgrp2 HAS_GETPGRP2 /**/ | |
225 | ||
226 | /* HAS_GETPRIORITY | |
227 | * This symbol, if defined, indicates that the getpriority() routine is | |
228 | * available to get a process's priority. | |
229 | */ | |
230 | #$d_getprior HAS_GETPRIORITY /**/ | |
231 | ||
232 | /* HAS_HTONS | |
233 | * This symbol, if defined, indicates that the htons routine (and friends) | |
234 | * are available to do network order byte swapping. | |
235 | */ | |
236 | /* HAS_HTONL | |
237 | * This symbol, if defined, indicates that the htonl routine (and friends) | |
238 | * are available to do network order byte swapping. | |
239 | */ | |
240 | /* HAS_NTOHS | |
241 | * This symbol, if defined, indicates that the ntohs routine (and friends) | |
242 | * are available to do network order byte swapping. | |
243 | */ | |
244 | /* HAS_NTOHL | |
245 | * This symbol, if defined, indicates that the ntohl routine (and friends) | |
246 | * are available to do network order byte swapping. | |
247 | */ | |
248 | #$d_htonl HAS_HTONS /**/ | |
249 | #$d_htonl HAS_HTONL /**/ | |
250 | #$d_htonl HAS_NTOHS /**/ | |
251 | #$d_htonl HAS_NTOHL /**/ | |
252 | ||
253 | /* index | |
254 | * This preprocessor symbol is defined, along with rindex, if the system | |
255 | * uses the strchr and strrchr routines instead. | |
256 | */ | |
257 | /* rindex | |
258 | * This preprocessor symbol is defined, along with index, if the system | |
259 | * uses the strchr and strrchr routines instead. | |
260 | */ | |
261 | #$d_index index strchr /* cultural */ | |
262 | #$d_index rindex strrchr /* differences? */ | |
263 | ||
264 | /* HAS_ISASCII | |
265 | * This symbol, if defined, indicates that the isascii routine is available | |
266 | * to test characters for asciiness. | |
267 | */ | |
268 | #$d_isascii HAS_ISASCII /**/ | |
269 | ||
270 | /* HAS_KILLPG | |
271 | * This symbol, if defined, indicates that the killpg routine is available | |
272 | * to kill process groups. If unavailable, you probably should use kill | |
273 | * with a negative process number. | |
274 | */ | |
275 | #$d_killpg HAS_KILLPG /**/ | |
276 | ||
277 | /* HAS_LSTAT | |
278 | * This symbol, if defined, indicates that the lstat() routine is | |
279 | * available to stat symbolic links. | |
280 | */ | |
281 | #$d_lstat HAS_LSTAT /**/ | |
282 | ||
283 | /* HAS_MEMCMP | |
284 | * This symbol, if defined, indicates that the memcmp routine is available | |
285 | * to compare blocks of memory. If undefined, roll your own. | |
286 | */ | |
287 | #$d_memcmp HAS_MEMCMP /**/ | |
288 | ||
289 | /* HAS_MEMCPY | |
290 | * This symbol, if defined, indicates that the memcpy routine is available | |
291 | * to copy blocks of memory. Otherwise you should probably use bcopy(). | |
292 | * If neither is defined, roll your own. | |
293 | */ | |
294 | /* SAFE_MEMCPY | |
295 | * This symbol, if defined, indicates that the memcpy routine is available | |
296 | * to copy potentially overlapping copy blocks of memory. Otherwise you | |
297 | * should probably use memmove() or bcopy(). If neither is defined, | |
298 | * roll your own. | |
299 | */ | |
300 | #$d_memcpy HAS_MEMCPY /**/ | |
301 | #$d_safemcpy SAFE_MEMCPY /**/ | |
302 | ||
303 | /* HAS_MEMMOVE | |
304 | * This symbol, if defined, indicates that the memmove routine is available | |
305 | * to move potentially overlapping blocks of memory. Otherwise you | |
306 | * should use bcopy() or roll your own. | |
307 | */ | |
308 | #$d_memmove HAS_MEMMOVE /**/ | |
309 | ||
310 | /* HAS_MEMSET | |
311 | * This symbol, if defined, indicates that the memset routine is available | |
312 | * to set a block of memory to a character. If undefined, roll your own. | |
313 | */ | |
314 | #$d_memset HAS_MEMSET /**/ | |
315 | ||
316 | /* HAS_MKDIR | |
317 | * This symbol, if defined, indicates that the mkdir routine is available | |
318 | * to create directories. Otherwise you should fork off a new process to | |
319 | * exec /bin/mkdir. | |
320 | */ | |
321 | #$d_mkdir HAS_MKDIR /**/ | |
322 | ||
323 | /* HAS_MSG | |
324 | * This symbol, if defined, indicates that the entire msg*(2) library is | |
325 | * supported. | |
326 | */ | |
327 | #$d_msg HAS_MSG /**/ | |
328 | ||
329 | /* HAS_MSGCTL | |
330 | * This symbol, if defined, indicates that the msgctl() routine is | |
331 | * available to control message passing. | |
332 | */ | |
333 | #$d_msgctl HAS_MSGCTL /**/ | |
334 | ||
335 | /* HAS_MSGGET | |
336 | * This symbol, if defined, indicates that the msgget() routine is | |
337 | * available to get messages. | |
338 | */ | |
339 | #$d_msgget HAS_MSGGET /**/ | |
340 | ||
341 | /* HAS_MSGRCV | |
342 | * This symbol, if defined, indicates that the msgrcv() routine is | |
343 | * available to receive messages. | |
344 | */ | |
345 | #$d_msgrcv HAS_MSGRCV /**/ | |
346 | ||
347 | /* HAS_MSGSND | |
348 | * This symbol, if defined, indicates that the msgsnd() routine is | |
349 | * available to send messages. | |
350 | */ | |
351 | #$d_msgsnd HAS_MSGSND /**/ | |
352 | ||
353 | /* HAS_NDBM | |
354 | * This symbol, if defined, indicates that ndbm.h exists and should | |
355 | * be included. | |
356 | */ | |
357 | #$d_ndbm HAS_NDBM /**/ | |
358 | ||
359 | /* HAS_ODBM | |
360 | * This symbol, if defined, indicates that dbm.h exists and should | |
361 | * be included. | |
362 | */ | |
363 | #$d_odbm HAS_ODBM /**/ | |
364 | ||
365 | /* HAS_OPEN3 | |
366 | * This manifest constant lets the C program know that the three | |
367 | * argument form of open(2) is available. | |
368 | */ | |
369 | #$d_open3 HAS_OPEN3 /**/ | |
370 | ||
371 | /* HAS_READDIR | |
372 | * This symbol, if defined, indicates that the readdir routine is available | |
373 | * from the C library to read directories. | |
374 | */ | |
375 | #$d_readdir HAS_READDIR /**/ | |
376 | ||
377 | /* HAS_RENAME | |
378 | * This symbol, if defined, indicates that the rename routine is available | |
379 | * to rename files. Otherwise you should do the unlink(), link(), unlink() | |
380 | * trick. | |
381 | */ | |
382 | #$d_rename HAS_RENAME /**/ | |
383 | ||
384 | /* HAS_REWINDDIR | |
385 | * This symbol, if defined, indicates that the rewindir routine is | |
386 | * available to rewind directories. | |
387 | */ | |
388 | #$d_rewindir HAS_REWINDDIR /**/ | |
389 | ||
390 | /* HAS_RMDIR | |
391 | * This symbol, if defined, indicates that the rmdir routine is available | |
392 | * to remove directories. Otherwise you should fork off a new process to | |
393 | * exec /bin/rmdir. | |
394 | */ | |
395 | #$d_rmdir HAS_RMDIR /**/ | |
396 | ||
397 | /* HAS_SEEKDIR | |
398 | * This symbol, if defined, indicates that the seekdir routine is | |
399 | * available to seek into directories. | |
400 | */ | |
401 | #$d_seekdir HAS_SEEKDIR /**/ | |
402 | ||
403 | /* HAS_SELECT | |
404 | * This symbol, if defined, indicates that the select() subroutine | |
405 | * exists. | |
406 | */ | |
407 | #$d_select HAS_SELECT /**/ | |
408 | ||
409 | /* HAS_SEM | |
410 | * This symbol, if defined, indicates that the entire sem*(2) library is | |
411 | * supported. | |
412 | */ | |
413 | #$d_sem HAS_SEM /**/ | |
414 | ||
415 | /* HAS_SEMCTL | |
416 | * This symbol, if defined, indicates that the semctl() routine is | |
417 | * available to control semaphores. | |
418 | */ | |
419 | #$d_semctl HAS_SEMCTL /**/ | |
420 | ||
421 | /* HAS_SEMGET | |
422 | * This symbol, if defined, indicates that the semget() routine is | |
423 | * available to get semaphores ids. | |
424 | */ | |
425 | #$d_semget HAS_SEMGET /**/ | |
426 | ||
427 | /* HAS_SEMOP | |
428 | * This symbol, if defined, indicates that the semop() routine is | |
429 | * available to perform semaphore operations. | |
430 | */ | |
431 | #$d_semop HAS_SEMOP /**/ | |
432 | ||
433 | /* HAS_SETEGID | |
434 | * This symbol, if defined, indicates that the setegid routine is available | |
435 | * to change the effective gid of the current program. | |
436 | */ | |
437 | #$d_setegid HAS_SETEGID /**/ | |
438 | ||
439 | /* HAS_SETEUID | |
440 | * This symbol, if defined, indicates that the seteuid routine is available | |
441 | * to change the effective uid of the current program. | |
442 | */ | |
443 | #$d_seteuid HAS_SETEUID /**/ | |
444 | ||
445 | /* HAS_SETPGRP | |
446 | * This symbol, if defined, indicates that the setpgrp() routine is | |
447 | * available to set the current process group. | |
448 | */ | |
449 | #$d_setpgrp HAS_SETPGRP /**/ | |
450 | ||
451 | /* HAS_SETPGRP2 | |
452 | * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) | |
453 | * routine is available to set the current process group. | |
454 | */ | |
455 | #$d_setpgrp2 HAS_SETPGRP2 /**/ | |
456 | ||
457 | /* HAS_SETPRIORITY | |
458 | * This symbol, if defined, indicates that the setpriority() routine is | |
459 | * available to set a process's priority. | |
460 | */ | |
461 | #$d_setprior HAS_SETPRIORITY /**/ | |
462 | ||
463 | /* HAS_SETREGID | |
464 | * This symbol, if defined, indicates that the setregid routine is | |
465 | * available to change the real and effective gid of the current program. | |
466 | */ | |
467 | /* HAS_SETRESGID | |
468 | * This symbol, if defined, indicates that the setresgid routine is | |
469 | * available to change the real, effective and saved gid of the current | |
470 | * program. | |
471 | */ | |
472 | #$d_setregid HAS_SETREGID /**/ | |
473 | #$d_setresgid HAS_SETRESGID /**/ | |
474 | ||
475 | /* HAS_SETREUID | |
476 | * This symbol, if defined, indicates that the setreuid routine is | |
477 | * available to change the real and effective uid of the current program. | |
478 | */ | |
479 | /* HAS_SETRESUID | |
480 | * This symbol, if defined, indicates that the setresuid routine is | |
481 | * available to change the real, effective and saved uid of the current | |
482 | * program. | |
483 | */ | |
484 | #$d_setreuid HAS_SETREUID /**/ | |
485 | #$d_setresuid HAS_SETRESUID /**/ | |
486 | ||
487 | /* HAS_SETRGID | |
488 | * This symbol, if defined, indicates that the setrgid routine is available | |
489 | * to change the real gid of the current program. | |
490 | */ | |
491 | #$d_setrgid HAS_SETRGID /**/ | |
492 | ||
493 | /* HAS_SETRUID | |
494 | * This symbol, if defined, indicates that the setruid routine is available | |
495 | * to change the real uid of the current program. | |
496 | */ | |
497 | #$d_setruid HAS_SETRUID /**/ | |
498 | ||
499 | /* HAS_SHM | |
500 | * This symbol, if defined, indicates that the entire shm*(2) library is | |
501 | * supported. | |
502 | */ | |
503 | #$d_shm HAS_SHM /**/ | |
504 | ||
505 | /* HAS_SHMAT | |
506 | * This symbol, if defined, indicates that the shmat() routine is | |
507 | * available to attach a shared memory segment. | |
508 | */ | |
509 | /* VOID_SHMAT | |
510 | * This symbol, if defined, indicates that the shmat() routine | |
511 | * returns a pointer of type void*. | |
512 | */ | |
513 | #$d_shmat HAS_SHMAT /**/ | |
514 | ||
515 | #$d_voidshmat VOIDSHMAT /**/ | |
516 | ||
517 | /* HAS_SHMCTL | |
518 | * This symbol, if defined, indicates that the shmctl() routine is | |
519 | * available to control a shared memory segment. | |
520 | */ | |
521 | #$d_shmctl HAS_SHMCTL /**/ | |
522 | ||
523 | /* HAS_SHMDT | |
524 | * This symbol, if defined, indicates that the shmdt() routine is | |
525 | * available to detach a shared memory segment. | |
526 | */ | |
527 | #$d_shmdt HAS_SHMDT /**/ | |
528 | ||
529 | /* HAS_SHMGET | |
530 | * This symbol, if defined, indicates that the shmget() routine is | |
531 | * available to get a shared memory segment id. | |
532 | */ | |
533 | #$d_shmget HAS_SHMGET /**/ | |
534 | ||
535 | /* HAS_SOCKET | |
536 | * This symbol, if defined, indicates that the BSD socket interface is | |
537 | * supported. | |
538 | */ | |
539 | /* HAS_SOCKETPAIR | |
540 | * This symbol, if defined, indicates that the BSD socketpair call is | |
541 | * supported. | |
542 | */ | |
543 | /* OLDSOCKET | |
544 | * This symbol, if defined, indicates that the 4.1c BSD socket interface | |
545 | * is supported instead of the 4.2/4.3 BSD socket interface. | |
546 | */ | |
547 | #$d_socket HAS_SOCKET /**/ | |
548 | ||
549 | #$d_sockpair HAS_SOCKETPAIR /**/ | |
550 | ||
551 | #$d_oldsock OLDSOCKET /**/ | |
552 | ||
553 | /* STATBLOCKS | |
554 | * This symbol is defined if this system has a stat structure declaring | |
555 | * st_blksize and st_blocks. | |
556 | */ | |
557 | #$d_statblks STATBLOCKS /**/ | |
558 | ||
559 | /* STDSTDIO | |
560 | * This symbol is defined if this system has a FILE structure declaring | |
561 | * _ptr and _cnt in stdio.h. | |
562 | */ | |
563 | #$d_stdstdio STDSTDIO /**/ | |
564 | ||
565 | /* STRUCTCOPY | |
566 | * This symbol, if defined, indicates that this C compiler knows how | |
567 | * to copy structures. If undefined, you'll need to use a block copy | |
568 | * routine of some sort instead. | |
569 | */ | |
570 | #$d_strctcpy STRUCTCOPY /**/ | |
571 | ||
572 | /* HAS_STRERROR | |
573 | * This symbol, if defined, indicates that the strerror() routine is | |
574 | * available to translate error numbers to strings. | |
575 | */ | |
576 | #$d_strerror HAS_STRERROR /**/ | |
577 | ||
578 | /* HAS_SYMLINK | |
579 | * This symbol, if defined, indicates that the symlink routine is available | |
580 | * to create symbolic links. | |
581 | */ | |
582 | #$d_symlink HAS_SYMLINK /**/ | |
583 | ||
584 | /* HAS_SYSCALL | |
585 | * This symbol, if defined, indicates that the syscall routine is available | |
586 | * to call arbitrary system calls. If undefined, that's tough. | |
587 | */ | |
588 | #$d_syscall HAS_SYSCALL /**/ | |
589 | ||
590 | /* HAS_TELLDIR | |
591 | * This symbol, if defined, indicates that the telldir routine is | |
592 | * available to tell your location in directories. | |
593 | */ | |
594 | #$d_telldir HAS_TELLDIR /**/ | |
595 | ||
596 | /* HAS_TRUNCATE | |
597 | * This symbol, if defined, indicates that the truncate routine is | |
598 | * available to truncate files. | |
599 | */ | |
600 | #$d_truncate HAS_TRUNCATE /**/ | |
601 | ||
602 | /* HAS_VFORK | |
603 | * This symbol, if defined, indicates that vfork() exists. | |
604 | */ | |
605 | #$d_vfork HAS_VFORK /**/ | |
606 | ||
607 | /* VOIDSIG | |
608 | * This symbol is defined if this system declares "void (*signal())()" in | |
609 | * signal.h. The old way was to declare it as "int (*signal())()". It | |
610 | * is up to the package author to declare things correctly based on the | |
611 | * symbol. | |
612 | */ | |
613 | /* TO_SIGNAL | |
614 | * This symbol's value is either "void" or "int", corresponding to the | |
615 | * appropriate return "type" of a signal handler. Thus, one can declare | |
616 | * a signal handler using "TO_SIGNAL (*handler())()", and define the | |
617 | * handler using "TO_SIGNAL handler(sig)". | |
618 | */ | |
619 | #$d_voidsig VOIDSIG /**/ | |
620 | #$define TO_SIGNAL $d_tosignal /**/ | |
621 | ||
622 | /* HASVOLATILE | |
623 | * This symbol, if defined, indicates that this C compiler knows about | |
624 | * the volatile declaration. | |
625 | */ | |
626 | #$d_volatile HASVOLATILE /**/ | |
627 | ||
628 | /* HAS_VPRINTF | |
629 | * This symbol, if defined, indicates that the vprintf routine is available | |
630 | * to printf with a pointer to an argument list. If unavailable, you | |
631 | * may need to write your own, probably in terms of _doprnt(). | |
632 | */ | |
633 | /* CHARVSPRINTF | |
634 | * This symbol is defined if this system has vsprintf() returning type | |
635 | * (char*). The trend seems to be to declare it as "int vsprintf()". It | |
636 | * is up to the package author to declare vsprintf correctly based on the | |
637 | * symbol. | |
638 | */ | |
639 | #$d_vprintf HAS_VPRINTF /**/ | |
640 | #$d_charvspr CHARVSPRINTF /**/ | |
641 | ||
642 | /* HAS_WAIT4 | |
643 | * This symbol, if defined, indicates that wait4() exists. | |
644 | */ | |
645 | #$d_wait4 HAS_WAIT4 /**/ | |
646 | ||
647 | /* HAS_WAITPID | |
648 | * This symbol, if defined, indicates that waitpid() exists. | |
649 | */ | |
650 | #$d_waitpid HAS_WAITPID /**/ | |
651 | ||
652 | /* GIDTYPE | |
653 | * This symbol has a value like gid_t, int, ushort, or whatever type is | |
654 | * used to declare group ids in the kernel. | |
655 | */ | |
656 | #define GIDTYPE $gidtype /**/ | |
657 | ||
658 | /* GROUPSTYPE | |
659 | * This symbol has a value like gid_t, int, ushort, or whatever type is | |
660 | * used in the return value of getgroups(). | |
661 | */ | |
662 | #define GROUPSTYPE $groupstype /**/ | |
663 | ||
664 | /* I_FCNTL | |
665 | * This manifest constant tells the C program to include <fcntl.h>. | |
666 | */ | |
667 | #$i_fcntl I_FCNTL /**/ | |
668 | ||
669 | /* I_GDBM | |
670 | * This symbol, if defined, indicates that gdbm.h exists and should | |
671 | * be included. | |
672 | */ | |
673 | #$i_gdbm I_GDBM /**/ | |
674 | ||
675 | /* I_GRP | |
676 | * This symbol, if defined, indicates to the C program that it should | |
677 | * include grp.h. | |
678 | */ | |
679 | #$i_grp I_GRP /**/ | |
680 | ||
681 | /* I_NETINET_IN | |
682 | * This symbol, if defined, indicates to the C program that it should | |
683 | * include netinet/in.h. | |
684 | */ | |
685 | /* I_SYS_IN | |
686 | * This symbol, if defined, indicates to the C program that it should | |
687 | * include sys/in.h. | |
688 | */ | |
689 | #$i_niin I_NETINET_IN /**/ | |
690 | #$i_sysin I_SYS_IN /**/ | |
691 | ||
692 | /* I_PWD | |
693 | * This symbol, if defined, indicates to the C program that it should | |
694 | * include pwd.h. | |
695 | */ | |
696 | /* PWQUOTA | |
697 | * This symbol, if defined, indicates to the C program that struct passwd | |
698 | * contains pw_quota. | |
699 | */ | |
700 | /* PWAGE | |
701 | * This symbol, if defined, indicates to the C program that struct passwd | |
702 | * contains pw_age. | |
703 | */ | |
704 | /* PWCHANGE | |
705 | * This symbol, if defined, indicates to the C program that struct passwd | |
706 | * contains pw_change. | |
707 | */ | |
708 | /* PWCLASS | |
709 | * This symbol, if defined, indicates to the C program that struct passwd | |
710 | * contains pw_class. | |
711 | */ | |
712 | /* PWEXPIRE | |
713 | * This symbol, if defined, indicates to the C program that struct passwd | |
714 | * contains pw_expire. | |
715 | */ | |
716 | /* PWCOMMENT | |
717 | * This symbol, if defined, indicates to the C program that struct passwd | |
718 | * contains pw_comment. | |
719 | */ | |
720 | #$i_pwd I_PWD /**/ | |
721 | #$d_pwquota PWQUOTA /**/ | |
722 | #$d_pwage PWAGE /**/ | |
723 | #$d_pwchange PWCHANGE /**/ | |
724 | #$d_pwclass PWCLASS /**/ | |
725 | #$d_pwexpire PWEXPIRE /**/ | |
726 | #$d_pwcomment PWCOMMENT /**/ | |
727 | ||
728 | /* I_SYS_FILE | |
729 | * This manifest constant tells the C program to include <sys/file.h>. | |
730 | */ | |
731 | #$i_sys_file I_SYS_FILE /**/ | |
732 | ||
733 | /* I_SYSIOCTL | |
734 | * This symbol, if defined, indicates that sys/ioctl.h exists and should | |
735 | * be included. | |
736 | */ | |
737 | #$i_sysioctl I_SYSIOCTL /**/ | |
738 | ||
739 | /* I_TIME | |
740 | * This symbol is defined if the program should include <time.h>. | |
741 | */ | |
742 | /* I_SYS_TIME | |
743 | * This symbol is defined if the program should include <sys/time.h>. | |
744 | */ | |
745 | /* SYSTIMEKERNEL | |
746 | * This symbol is defined if the program should include <sys/time.h> | |
747 | * with KERNEL defined. | |
748 | */ | |
749 | /* I_SYS_SELECT | |
750 | * This symbol is defined if the program should include <sys/select.h>. | |
751 | */ | |
752 | #$i_time I_TIME /**/ | |
753 | #$i_sys_time I_SYS_TIME /**/ | |
754 | #$d_systimekernel SYSTIMEKERNEL /**/ | |
755 | #$i_sys_select I_SYS_SELECT /**/ | |
756 | ||
757 | /* I_UTIME | |
758 | * This symbol, if defined, indicates to the C program that it should | |
759 | * include utime.h. | |
760 | */ | |
761 | #$i_utime I_UTIME /**/ | |
762 | ||
763 | /* I_VARARGS | |
764 | * This symbol, if defined, indicates to the C program that it should | |
765 | * include varargs.h. | |
766 | */ | |
767 | #$i_varargs I_VARARGS /**/ | |
768 | ||
769 | /* I_VFORK | |
770 | * This symbol, if defined, indicates to the C program that it should | |
771 | * include vfork.h. | |
772 | */ | |
773 | #$i_vfork I_VFORK /**/ | |
774 | ||
775 | /* INTSIZE | |
776 | * This symbol contains the size of an int, so that the C preprocessor | |
777 | * can make decisions based on it. | |
778 | */ | |
779 | #define INTSIZE $intsize /**/ | |
780 | ||
781 | /* I_DIRENT | |
782 | * This symbol, if defined, indicates that the program should use the | |
783 | * P1003-style directory routines, and include <dirent.h>. | |
784 | */ | |
785 | /* I_SYS_DIR | |
786 | * This symbol, if defined, indicates that the program should use the | |
787 | * directory functions by including <sys/dir.h>. | |
788 | */ | |
789 | /* I_NDIR | |
790 | * This symbol, if defined, indicates that the program should include the | |
791 | * system's version of ndir.h, rather than the one with this package. | |
792 | */ | |
793 | /* I_SYS_NDIR | |
794 | * This symbol, if defined, indicates that the program should include the | |
795 | * system's version of sys/ndir.h, rather than the one with this package. | |
796 | */ | |
797 | /* I_MY_DIR | |
798 | * This symbol, if defined, indicates that the program should compile | |
799 | * the ndir.c code provided with the package. | |
800 | */ | |
801 | /* DIRNAMLEN | |
802 | * This symbol, if defined, indicates to the C program that the length | |
803 | * of directory entry names is provided by a d_namlen field. Otherwise | |
804 | * you need to do strlen() on the d_name field. | |
805 | */ | |
806 | #$i_dirent I_DIRENT /**/ | |
807 | #$i_sys_dir I_SYS_DIR /**/ | |
808 | #$i_ndir I_NDIR /**/ | |
809 | #$i_sys_ndir I_SYS_NDIR /**/ | |
810 | #$i_my_dir I_MY_DIR /**/ | |
811 | #$d_dirnamlen DIRNAMLEN /**/ | |
812 | ||
813 | /* MYMALLOC | |
814 | * This symbol, if defined, indicates that we're using our own malloc. | |
815 | */ | |
816 | /* MALLOCPTRTYPE | |
817 | * This symbol defines the kind of ptr returned by malloc and realloc. | |
818 | */ | |
819 | #$d_mymalloc MYMALLOC /**/ | |
820 | ||
821 | #define MALLOCPTRTYPE $mallocptrtype /**/ | |
822 | ||
823 | ||
824 | /* RANDBITS | |
825 | * This symbol contains the number of bits of random number the rand() | |
826 | * function produces. Usual values are 15, 16, and 31. | |
827 | */ | |
828 | #define RANDBITS $randbits /**/ | |
829 | ||
830 | /* SCRIPTDIR | |
831 | * This symbol holds the name of the directory in which the user wants | |
832 | * to keep publicly executable scripts for the package in question. It | |
833 | * is often a directory that is mounted across diverse architectures. | |
834 | */ | |
835 | #define SCRIPTDIR "$scriptdir" /**/ | |
836 | ||
837 | /* SIG_NAME | |
838 | * This symbol contains an list of signal names in order. | |
839 | */ | |
840 | #define SIG_NAME "`echo $sig_name | sed 's/ /","/g'`" /**/ | |
841 | ||
842 | /* STDCHAR | |
843 | * This symbol is defined to be the type of char used in stdio.h. | |
844 | * It has the values "unsigned char" or "char". | |
845 | */ | |
846 | #define STDCHAR $stdchar /**/ | |
847 | ||
848 | /* UIDTYPE | |
849 | * This symbol has a value like uid_t, int, ushort, or whatever type is | |
850 | * used to declare user ids in the kernel. | |
851 | */ | |
852 | #define UIDTYPE $uidtype /**/ | |
853 | ||
854 | /* VOIDHAVE | |
855 | * This symbol indicates how much support of the void type is given by this | |
856 | * compiler. What various bits mean: | |
857 | * | |
858 | * 1 = supports declaration of void | |
859 | * 2 = supports arrays of pointers to functions returning void | |
860 | * 4 = supports comparisons between pointers to void functions and | |
861 | * addresses of void functions | |
862 | * | |
863 | * The package designer should define VOIDWANT to indicate the requirements | |
864 | * of the package. This can be done either by #defining VOIDWANT before | |
865 | * including config.h, or by defining voidwant in Myinit.U. If the level | |
866 | * of void support necessary is not present, config.h defines void to "int", | |
867 | * VOID to the empty string, and VOIDP to "char *". | |
868 | */ | |
869 | /* void | |
870 | * This symbol is used for void casts. On implementations which support | |
871 | * void appropriately, its value is "void". Otherwise, its value maps | |
872 | * to "int". | |
873 | */ | |
874 | /* VOID | |
875 | * This symbol's value is "void" if the implementation supports void | |
876 | * appropriately. Otherwise, its value is the empty string. The primary | |
877 | * use of this symbol is in specifying void parameter lists for function | |
878 | * prototypes. | |
879 | */ | |
880 | /* VOIDP | |
881 | * This symbol is used for casting generic pointers. On implementations | |
882 | * which support void appropriately, its value is "void *". Otherwise, | |
883 | * its value is "char *". | |
884 | */ | |
885 | #ifndef VOIDWANT | |
886 | #define VOIDWANT $voidwant | |
887 | #endif | |
888 | #define VOIDHAVE $voidhave | |
889 | #if (VOIDHAVE & VOIDWANT) != VOIDWANT | |
890 | #define void int /* is void to be avoided? */ | |
891 | #define VOID | |
892 | #define VOIDP (char *) | |
893 | #define M_VOID /* Xenix strikes again */ | |
894 | #else | |
895 | #define VOID void | |
896 | #define VOIDP (void *) | |
897 | #endif | |
898 | ||
899 | /* PRIVLIB | |
900 | * This symbol contains the name of the private library for this package. | |
901 | * The library is private in the sense that it needn't be in anyone's | |
902 | * execution path, but it should be accessible by the world. The program | |
903 | * should be prepared to do ~ expansion. | |
904 | */ | |
905 | #define PRIVLIB "$privlib" /**/ | |
906 | ||
907 | #endif | |
908 | !GROK!THIS! |