This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 3.0 patch #44 patch #42, continued
[perl5.git] / config.h.SH
CommitLineData
8d063cd8
LW
1case $CONFIG in
2'')
3 if test ! -f config.sh; then
4 ln ../config.sh . || \
5 ln ../../config.sh . || \
6 ln ../../../config.sh . || \
7 (echo "Can't find config.sh."; exit 1)
8 echo "Using config.sh from above..."
9 fi
378cc40b 10 . ./config.sh
8d063cd8
LW
11 ;;
12esac
13echo "Extracting config.h (with variable substitutions)"
13281fa4 14sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!'
8d063cd8
LW
15/* config.h
16 * This file was produced by running the config.h.SH script, which
17 * gets its values from config.sh, which is generally produced by
18 * running Configure.
19 *
20 * Feel free to modify any of this as the need arises. Note, however,
21 * that running config.h.SH again will wipe out any changes you've made.
22 * For a more permanent change edit config.sh and rerun config.h.SH.
23 */
24
25
26/* EUNICE:
27 * This symbol, if defined, indicates that the program is being compiled
28 * under the EUNICE package under VMS. The program will need to handle
29 * things like files that don't go away the first time you unlink them,
30 * due to version numbering. It will also need to compensate for lack
31 * of a respectable link() command.
32 */
33/* VMS:
34 * This symbol, if defined, indicates that the program is running under
35 * VMS. It is currently only set in conjunction with the EUNICE symbol.
36 */
37#$d_eunice EUNICE /**/
38#$d_eunice VMS /**/
39
7e1cf235
LW
40/* ALIGNBYTES:
41 * This symbol contains the number of bytes required to align a double.
42 * Usual values are 2, 4, and 8.
43 */
44#define ALIGNBYTES $alignbytes /**/
45
a687059c
LW
46/* BIN:
47 * This symbol holds the name of the directory in which the user wants
48 * to put publicly executable images for the package in question. It
49 * is most often a local directory such as /usr/local/bin.
50 */
51#define BIN "$bin" /**/
52
53/* BYTEORDER:
54 * This symbol contains an encoding of the order of bytes in a long.
55 * Usual values (in octal) are 01234, 04321, 02143, 03412...
56 */
0d3e774c 57#define BYTEORDER 0x$byteorder /**/
a687059c 58
378cc40b 59/* CPPSTDIN:
36ce8bec
DFDL
60 * This symbol contains the first part of the string which will invoke
61 * the C preprocessor on the standard input and produce to standard
62 * output. Typical value of "cc -E" or "/lib/cpp".
63 */
64/* CPPMINUS:
65 * This symbol contains the second part of the string which will invoke
66 * the C preprocessor on the standard input and produce to standard
378cc40b 67 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
36ce8bec
DFDL
68 * to specify standard input, otherwise the value is "".
69 */
378cc40b 70#define CPPSTDIN "$cppstdin"
36ce8bec
DFDL
71#define CPPMINUS "$cppminus"
72
a687059c
LW
73/* BCMP:
74 * This symbol, if defined, indicates that the bcmp routine is available
75 * to compare blocks of memory. If undefined, use memcmp. If that's
76 * not available, roll your own.
77 */
78#$d_bcmp BCMP /**/
79
c51b80d1
LW
80/* BCOPY:
81 * This symbol, if defined, indicates that the bcopy routine is available
82 * to copy blocks of memory. Otherwise you should probably use memcpy().
83 */
84#$d_bcopy BCOPY /**/
85
0d3e774c
LW
86/* BZERO:
87 * This symbol, if defined, indicates that the bzero routine is available
88 * to zero blocks of memory. Otherwise you should probably use memcpy().
89 */
90#$d_bzero BZERO /**/
91
b1248f16
LW
92/* CASTNEGFLOAT:
93 * This symbol, if defined, indicates that this C compiler knows how to
94 * cast negative numbers to unsigned longs, ints and shorts.
95 */
7e1cf235
LW
96/* CASTFLAGS:
97 * This symbol contains flags that say what difficulties the compiler
98 * has casting odd floating values to unsigned long:
99 * 1 = couldn't cast < 0
100 * 2 = couldn't cast >= 0x80000000
101 */
b1248f16 102#$d_castneg CASTNEGFLOAT /**/
7e1cf235 103#define CASTFLAGS $castflags /**/
b1248f16 104
8d063cd8
LW
105/* CHARSPRINTF:
106 * This symbol is defined if this system declares "char *sprintf()" in
107 * stdio.h. The trend seems to be to declare it as "int sprintf()". It
108 * is up to the package author to declare sprintf correctly based on the
109 * symbol.
110 */
111#$d_charsprf CHARSPRINTF /**/
112
87250799
LW
113/* CHSIZE:
114 * This symbol, if defined, indicates that the chsize routine is available
115 * to truncate files. You might need a -lx to get this routine.
116 */
117#$d_chsize CHSIZE /**/
118
2e1b3b7e
KK
119/* CRYPT:
120 * This symbol, if defined, indicates that the crypt routine is available
121 * to encrypt passwords and the like.
122 */
123#$d_crypt CRYPT /**/
124
bf38876a
LW
125/* CSH:
126 * This symbol, if defined, indicates that the C-shell exists.
127 * If defined, contains the full pathname of csh.
128 */
129#$d_csh CSH "$csh" /**/
130
13281fa4
LW
131/* DOSUID:
132 * This symbol, if defined, indicates that the C program should
133 * check the script that it is executing for setuid/setgid bits, and
134 * attempt to emulate setuid/setgid on systems that have disabled
135 * setuid #! scripts because the kernel can't do it securely.
136 * It is up to the package designer to make sure that this emulation
137 * is done securely. Among other things, it should do an fstat on
138 * the script it just opened to make sure it really is a setuid/setgid
139 * script, it should make sure the arguments passed correspond exactly
140 * to the argument on the #! line, and it should not trust any
141 * subprocesses to which it must pass the filename rather than the
142 * file descriptor of the script to be executed.
143 */
144#$d_dosuid DOSUID /**/
145
a687059c
LW
146/* DUP2:
147 * This symbol, if defined, indicates that the dup2 routine is available
148 * to dup file descriptors. Otherwise you should use dup().
149 */
150#$d_dup2 DUP2 /**/
151
378cc40b
LW
152/* FCHMOD:
153 * This symbol, if defined, indicates that the fchmod routine is available
154 * to change mode of opened files. If unavailable, use chmod().
155 */
156#$d_fchmod FCHMOD /**/
157
158/* FCHOWN:
159 * This symbol, if defined, indicates that the fchown routine is available
160 * to change ownership of opened files. If unavailable, use chown().
161 */
162#$d_fchown FCHOWN /**/
163
a687059c
LW
164/* FCNTL:
165 * This symbol, if defined, indicates to the C program that it should
166 * include fcntl.h.
167 */
168#$d_fcntl FCNTL /**/
169
7e1cf235
LW
170/* FLEXFILENAMES:
171 * This symbol, if defined, indicates that the system supports filenames
172 * longer than 14 characters.
173 */
174#$d_flexfnam FLEXFILENAMES /**/
175
a687059c
LW
176/* FLOCK:
177 * This symbol, if defined, indicates that the flock() routine is
178 * available to do file locking.
179 */
180#$d_flock FLOCK /**/
181
378cc40b
LW
182/* GETGROUPS:
183 * This symbol, if defined, indicates that the getgroups() routine is
184 * available to get the list of process groups. If unavailable, multiple
185 * groups are probably not supported.
186 */
187#$d_getgrps GETGROUPS /**/
188
a687059c
LW
189/* GETHOSTENT:
190 * This symbol, if defined, indicates that the gethostent() routine is
191 * available to lookup host names in some data base or other.
192 */
193#$d_gethent GETHOSTENT /**/
194
195/* GETPGRP:
196 * This symbol, if defined, indicates that the getpgrp() routine is
197 * available to get the current process group.
198 */
199#$d_getpgrp GETPGRP /**/
200
d8f2e4cc
LW
201/* GETPGRP2:
202 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
203 * routine is available to get the current process group.
204 */
205#$d_getpgrp2 GETPGRP2 /**/
206
a687059c
LW
207/* GETPRIORITY:
208 * This symbol, if defined, indicates that the getpriority() routine is
209 * available to get a process's priority.
210 */
211#$d_getprior GETPRIORITY /**/
212
213/* HTONS:
214 * This symbol, if defined, indicates that the htons routine (and friends)
215 * are available to do network order byte swapping.
216 */
217/* HTONL:
218 * This symbol, if defined, indicates that the htonl routine (and friends)
219 * are available to do network order byte swapping.
220 */
221/* NTOHS:
222 * This symbol, if defined, indicates that the ntohs routine (and friends)
223 * are available to do network order byte swapping.
224 */
225/* NTOHL:
226 * This symbol, if defined, indicates that the ntohl routine (and friends)
227 * are available to do network order byte swapping.
228 */
229#$d_htonl HTONS /**/
230#$d_htonl HTONL /**/
231#$d_htonl NTOHS /**/
232#$d_htonl NTOHL /**/
233
8d063cd8
LW
234/* index:
235 * This preprocessor symbol is defined, along with rindex, if the system
236 * uses the strchr and strrchr routines instead.
237 */
238/* rindex:
239 * This preprocessor symbol is defined, along with index, if the system
240 * uses the strchr and strrchr routines instead.
241 */
242#$d_index index strchr /* cultural */
243#$d_index rindex strrchr /* differences? */
244
a687059c
LW
245/* IOCTL:
246 * This symbol, if defined, indicates that sys/ioctl.h exists and should
247 * be included.
248 */
249#$d_ioctl IOCTL /**/
250
378cc40b
LW
251/* KILLPG:
252 * This symbol, if defined, indicates that the killpg routine is available
253 * to kill process groups. If unavailable, you probably should use kill
254 * with a negative process number.
255 */
256#$d_killpg KILLPG /**/
257
0d3e774c
LW
258/* LSTAT:
259 * This symbol, if defined, indicates that the lstat() routine is
260 * available to do file locking.
261 */
262#$d_lstat LSTAT /**/
263
a687059c
LW
264/* MEMCMP:
265 * This symbol, if defined, indicates that the memcmp routine is available
266 * to compare blocks of memory. If undefined, roll your own.
267 */
268#$d_memcmp MEMCMP /**/
269
378cc40b
LW
270/* MEMCPY:
271 * This symbol, if defined, indicates that the memcpy routine is available
272 * to copy blocks of memory. Otherwise you should probably use bcopy().
273 * If neither is defined, roll your own.
274 */
275#$d_memcpy MEMCPY /**/
276
a687059c
LW
277/* MKDIR:
278 * This symbol, if defined, indicates that the mkdir routine is available
279 * to create directories. Otherwise you should fork off a new process to
280 * exec /bin/mkdir.
281 */
282#$d_mkdir MKDIR /**/
283
284/* NDBM:
285 * This symbol, if defined, indicates that ndbm.h exists and should
286 * be included.
287 */
288#$d_ndbm NDBM /**/
289
290/* ODBM:
291 * This symbol, if defined, indicates that dbm.h exists and should
292 * be included.
293 */
294#$d_odbm ODBM /**/
295
296/* READDIR:
297 * This symbol, if defined, indicates that the readdir routine is available
298 * from the C library to create directories.
299 */
300#$d_readdir READDIR /**/
301
378cc40b
LW
302/* RENAME:
303 * This symbol, if defined, indicates that the rename routine is available
304 * to rename files. Otherwise you should do the unlink(), link(), unlink()
305 * trick.
306 */
307#$d_rename RENAME /**/
308
a687059c
LW
309/* RMDIR:
310 * This symbol, if defined, indicates that the rmdir routine is available
311 * to remove directories. Otherwise you should fork off a new process to
312 * exec /bin/rmdir.
313 */
314#$d_rmdir RMDIR /**/
315
87250799
LW
316/* SELECT:
317 * This symbol, if defined, indicates that the select routine is available
318 * to select active file descriptors.
319 */
320#$d_select SELECT /**/
321
378cc40b
LW
322/* SETEGID:
323 * This symbol, if defined, indicates that the setegid routine is available
324 * to change the effective gid of the current program.
325 */
326#$d_setegid SETEGID /**/
327
328/* SETEUID:
329 * This symbol, if defined, indicates that the seteuid routine is available
330 * to change the effective uid of the current program.
331 */
332#$d_seteuid SETEUID /**/
333
a687059c
LW
334/* SETPGRP:
335 * This symbol, if defined, indicates that the setpgrp() routine is
336 * available to set the current process group.
337 */
338#$d_setpgrp SETPGRP /**/
339
d8f2e4cc
LW
340/* SETPGRP2:
341 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
342 * routine is available to set the current process group.
343 */
344#$d_setpgrp2 SETPGRP2 /**/
345
a687059c
LW
346/* SETPRIORITY:
347 * This symbol, if defined, indicates that the setpriority() routine is
348 * available to set a process's priority.
349 */
350#$d_setprior SETPRIORITY /**/
351
352/* SETREGID:
353 * This symbol, if defined, indicates that the setregid routine is
354 * available to change the real and effective gid of the current program.
355 */
356/* SETRESGID:
357 * This symbol, if defined, indicates that the setresgid routine is
358 * available to change the real, effective and saved gid of the current
359 * program.
360 */
361#$d_setregid SETREGID /**/
362#$d_setresgid SETRESGID /**/
363
364/* SETREUID:
365 * This symbol, if defined, indicates that the setreuid routine is
366 * available to change the real and effective uid of the current program.
367 */
368/* SETRESUID:
369 * This symbol, if defined, indicates that the setresuid routine is
370 * available to change the real, effective and saved uid of the current
371 * program.
372 */
373#$d_setreuid SETREUID /**/
374#$d_setresuid SETRESUID /**/
375
378cc40b
LW
376/* SETRGID:
377 * This symbol, if defined, indicates that the setrgid routine is available
378 * to change the real gid of the current program.
379 */
380#$d_setrgid SETRGID /**/
381
382/* SETRUID:
383 * This symbol, if defined, indicates that the setruid routine is available
384 * to change the real uid of the current program.
385 */
386#$d_setruid SETRUID /**/
387
a687059c
LW
388/* SOCKET:
389 * This symbol, if defined, indicates that the BSD socket interface is
390 * supported.
391 */
392/* SOCKETPAIR:
393 * This symbol, if defined, indicates that the BSD socketpair call is
394 * supported.
395 */
396/* OLDSOCKET:
397 * This symbol, if defined, indicates that the 4.1c BSD socket interface
398 * is supported instead of the 4.2/4.3 BSD socket interface.
399 */
400#$d_socket SOCKET /**/
401
402#$d_sockpair SOCKETPAIR /**/
403
404#$d_oldsock OLDSOCKET /**/
405
c51b80d1
LW
406/* STATBLOCKS:
407 * This symbol is defined if this system has a stat structure declaring
408 * st_blksize and st_blocks.
409 */
410#$d_statblks STATBLOCKS /**/
411
36ce8bec
DFDL
412/* STDSTDIO:
413 * This symbol is defined if this system has a FILE structure declaring
414 * _ptr and _cnt in stdio.h.
415 */
416#$d_stdstdio STDSTDIO /**/
417
8d063cd8
LW
418/* STRUCTCOPY:
419 * This symbol, if defined, indicates that this C compiler knows how
420 * to copy structures. If undefined, you'll need to use a block copy
421 * routine of some sort instead.
422 */
423#$d_strctcpy STRUCTCOPY /**/
424
d8f2e4cc
LW
425/* STRERROR:
426 * This symbol, if defined, indicates that the strerror() routine is
427 * available to translate error numbers to strings.
428 */
429#$d_strerror STRERROR /**/
430
2e1b3b7e
KK
431/* SYMLINK:
432 * This symbol, if defined, indicates that the symlink routine is available
433 * to create symbolic links.
434 */
435#$d_symlink SYMLINK /**/
436
a687059c
LW
437/* SYSCALL:
438 * This symbol, if defined, indicates that the syscall routine is available
439 * to call arbitrary system calls. If undefined, that's tough.
440 */
441#$d_syscall SYSCALL /**/
442
39c3038c
LW
443/* SYSVIPC:
444 * This symbol, if defined, indicates that System V IPC exists.
445 */
e5d73d77
LW
446/* IPCMSG:
447 * This symbol, if defined, indicates that System V IPC messages exist.
448 */
449/* IPCSEM:
450 * This symbol, if defined, indicates that System V IPC semaphores exist.
451 */
452/* IPCSHM:
453 * This symbol, if defined, indicates that System V IPC shared memory
454 * exists.
455 */
39c3038c
LW
456#$d_sysvipc SYSVIPC /**/
457
e5d73d77
LW
458#$d_ipcmsg IPCMSG /**/
459
460#$d_ipcsem IPCSEM /**/
461
462#$d_ipcshm IPCSHM /**/
463
87250799
LW
464/* TRUNCATE:
465 * This symbol, if defined, indicates that the truncate routine is
466 * available to truncate files.
467 */
468#$d_truncate TRUNCATE /**/
469
a687059c
LW
470/* VARARGS:
471 * This symbol, if defined, indicates to the C program that it should
472 * include varargs.h.
473 */
474#$d_varargs VARARGS /**/
c51b80d1 475
03a14243
LW
476/* VFORK:
477 * This symbol, if defined, indicates that vfork() exists.
8d063cd8 478 */
03a14243 479#$d_vfork VFORK /**/
8d063cd8 480
36ce8bec
DFDL
481/* VOIDSIG:
482 * This symbol is defined if this system declares "void (*signal())()" in
483 * signal.h. The old way was to declare it as "int (*signal())()". It
484 * is up to the package author to declare things correctly based on the
485 * symbol.
486 */
487#$d_voidsig VOIDSIG /**/
488
afd9f252
LW
489/* HASVOLATILE:
490 * This symbol, if defined, indicates that this C compiler knows about
491 * the volatile declaration.
492 */
493#$d_volatile HASVOLATILE /**/
494
a687059c
LW
495/* VPRINTF:
496 * This symbol, if defined, indicates that the vprintf routine is available
497 * to printf with a pointer to an argument list. If unavailable, you
498 * may need to write your own, probably in terms of _doprnt().
499 */
500/* CHARVSPRINTF:
501 * This symbol is defined if this system has vsprintf() returning type
502 * (char*). The trend seems to be to declare it as "int vsprintf()". It
503 * is up to the package author to declare vsprintf correctly based on the
504 * symbol.
505 */
506#$d_vprintf VPRINTF /**/
507#$d_charvspr CHARVSPRINTF /**/
508
bf38876a
LW
509/* WAIT4:
510 * This symbol, if defined, indicates that wait4() exists.
511 */
512#$d_wait4 WAIT4 /**/
513
39c3038c
LW
514/* WAITPID:
515 * This symbol, if defined, indicates that waitpid() exists.
516 */
517#$d_waitpid WAITPID /**/
518
378cc40b
LW
519/* GIDTYPE:
520 * This symbol has a value like gid_t, int, ushort, or whatever type is
521 * used to declare group ids in the kernel.
522 */
523#define GIDTYPE $gidtype /**/
524
a687059c
LW
525/* I_DIRENT:
526 * This symbol, if defined, indicates to the C program that it should
527 * include dirent.h.
528 */
529/* DIRNAMLEN:
530 * This symbol, if defined, indicates to the C program that the length
531 * of directory entry names is provided by a d_namlen field. Otherwise
532 * you need to do strlen() on the d_name field.
533 */
534#$i_dirent I_DIRENT /**/
535#$d_dirnamlen DIRNAMLEN /**/
536
537/* I_FCNTL:
538 * This symbol, if defined, indicates to the C program that it should
539 * include fcntl.h.
540 */
541#$i_fcntl I_FCNTL /**/
542
543/* I_GRP:
544 * This symbol, if defined, indicates to the C program that it should
545 * include grp.h.
546 */
547#$i_grp I_GRP /**/
548
03a14243
LW
549/* I_NETINET_IN:
550 * This symbol, if defined, indicates to the C program that it should
551 * include netinet/in.h.
552 */
553#$i_niin I_NETINET_IN /**/
554
a687059c
LW
555/* I_PWD:
556 * This symbol, if defined, indicates to the C program that it should
557 * include pwd.h.
558 */
39c3038c
LW
559/* PWCOMMENT:
560 * This symbol, if defined, indicates to the C program that struct passwd
561 * contains pw_comment.
562 */
a687059c
LW
563/* PWQUOTA:
564 * This symbol, if defined, indicates to the C program that struct passwd
565 * contains pw_quota.
566 */
567/* PWAGE:
568 * This symbol, if defined, indicates to the C program that struct passwd
569 * contains pw_age.
570 */
03a14243
LW
571/* PWCHANGE:
572 * This symbol, if defined, indicates to the C program that struct passwd
573 * contains pw_change.
574 */
575/* PWCLASS:
576 * This symbol, if defined, indicates to the C program that struct passwd
577 * contains pw_class.
578 */
579/* PWEXPIRE:
580 * This symbol, if defined, indicates to the C program that struct passwd
581 * contains pw_expire.
582 */
a687059c 583#$i_pwd I_PWD /**/
39c3038c 584#$d_pwcomment PWCOMMENT /**/
a687059c
LW
585#$d_pwquota PWQUOTA /**/
586#$d_pwage PWAGE /**/
bf38876a
LW
587#$d_pwchange PWCHANGE /**/
588#$d_pwclass PWCLASS /**/
589#$d_pwexpire PWEXPIRE /**/
a687059c
LW
590
591/* I_SYSDIR:
592 * This symbol, if defined, indicates to the C program that it should
593 * include sys/dir.h.
594 */
595#$i_sysdir I_SYSDIR /**/
596
597/* I_SYSIOCTL:
598 * This symbol, if defined, indicates that sys/ioctl.h exists and should
599 * be included.
600 */
601#$i_sysioctl I_SYSIOCTL /**/
602
d8f2e4cc
LW
603/* I_SYSNDIR:
604 * This symbol, if defined, indicates to the C program that it should
605 * include sys/ndir.h.
606 */
607#$i_sysndir I_SYSNDIR /**/
608
609/* I_TIME:
610 * This symbol is defined if the program should include <time.h>.
611 */
612/* I_SYSTIME:
613 * This symbol is defined if the program should include <sys/time.h>.
614 */
615/* I_SYSTIMEKERNEL:
616 * This symbol is defined if the program should include <sys/time.h>
617 * with KERNEL defined.
618 */
619#$i_time I_TIME /**/
620#$i_systime I_SYSTIME /**/
621#$d_systimekernel SYSTIMEKERNEL /**/
622
623/* I_UTIME:
624 * This symbol, if defined, indicates to the C program that it should
afd9f252 625 * include utime.h.
d8f2e4cc
LW
626 */
627#$i_utime I_UTIME /**/
628
a687059c
LW
629/* I_VARARGS:
630 * This symbol, if defined, indicates to the C program that it should
631 * include varargs.h.
632 */
633#$i_varargs I_VARARGS /**/
634
635/* I_VFORK:
636 * This symbol, if defined, indicates to the C program that it should
637 * include vfork.h.
638 */
639#$i_vfork I_VFORK /**/
640
641/* INTSIZE:
642 * This symbol contains the size of an int, so that the C preprocessor
643 * can make decisions based on it.
644 */
645#define INTSIZE $intsize /**/
646
647/* RANDBITS:
648 * This symbol contains the number of bits of random number the rand()
649 * function produces. Usual values are 15, 16, and 31.
650 */
651#define RANDBITS $randbits /**/
652
87250799
LW
653/* SCRIPTDIR:
654 * This symbol holds the name of the directory in which the user wants
655 * to put publicly executable scripts for the package in question. It
656 * is often a directory that is mounted across diverse architectures.
657 */
658#define SCRIPTDIR "$scriptdir" /**/
659
a687059c
LW
660/* SIG_NAME:
661 * This symbol contains an list of signal names in order.
662 */
663#define SIG_NAME "`echo $sig_name | sed 's/ /","/g'`" /**/
664
36ce8bec
DFDL
665/* STDCHAR:
666 * This symbol is defined to be the type of char used in stdio.h.
667 * It has the values "unsigned char" or "char".
668 */
669#define STDCHAR $stdchar /**/
670
378cc40b
LW
671/* UIDTYPE:
672 * This symbol has a value like uid_t, int, ushort, or whatever type is
673 * used to declare user ids in the kernel.
674 */
675#define UIDTYPE $uidtype /**/
676
8d063cd8
LW
677/* VOIDFLAGS:
678 * This symbol indicates how much support of the void type is given by this
679 * compiler. What various bits mean:
680 *
681 * 1 = supports declaration of void
682 * 2 = supports arrays of pointers to functions returning void
683 * 4 = supports comparisons between pointers to void functions and
684 * addresses of void functions
685 *
686 * The package designer should define VOIDUSED to indicate the requirements
687 * of the package. This can be done either by #defining VOIDUSED before
688 * including config.h, or by defining defvoidused in Myinit.U. If the
a687059c 689 * latter approach is taken, only those flags will be tested. If the
8d063cd8
LW
690 * level of void support necessary is not present, defines void to int.
691 */
692#ifndef VOIDUSED
693#define VOIDUSED $defvoidused
694#endif
695#define VOIDFLAGS $voidflags
696#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
697#$define void int /* is void to be avoided? */
698#$define M_VOID /* Xenix strikes again */
699#endif
700
378cc40b
LW
701/* PRIVLIB:
702 * This symbol contains the name of the private library for this package.
703 * The library is private in the sense that it needn't be in anyone's
a687059c
LW
704 * execution path, but it should be accessible by the world. The program
705 * should be prepared to do ~ expansion.
378cc40b
LW
706 */
707#define PRIVLIB "$privlib" /**/
708
8d063cd8 709!GROK!THIS!