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