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