a "replacement" for awk and sed
[perl.git] / config.h.SH
1 case $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
10     . config.sh
11     ;;
12 esac
13 echo "Extracting config.h (with variable substitutions)"
14 cat <<!GROK!THIS! >config.h
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
40 /* CHARSPRINTF:
41  *      This symbol is defined if this system declares "char *sprintf()" in
42  *      stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
43  *      is up to the package author to declare sprintf correctly based on the
44  *      symbol.
45  */
46 #$d_charsprf    CHARSPRINTF     /**/
47
48 /* index:
49  *      This preprocessor symbol is defined, along with rindex, if the system
50  *      uses the strchr and strrchr routines instead.
51  */
52 /* rindex:
53  *      This preprocessor symbol is defined, along with index, if the system
54  *      uses the strchr and strrchr routines instead.
55  */
56 #$d_index       index strchr    /* cultural */
57 #$d_index       rindex strrchr  /*  differences? */
58
59 /* STRUCTCOPY:
60  *      This symbol, if defined, indicates that this C compiler knows how
61  *      to copy structures.  If undefined, you'll need to use a block copy
62  *      routine of some sort instead.
63  */
64 #$d_strctcpy    STRUCTCOPY      /**/
65
66 /* vfork:
67  *      This symbol, if defined, remaps the vfork routine to fork if the
68  *      vfork() routine isn't supported here.
69  */
70 #$d_vfork       vfork fork      /**/
71
72 /* VOIDFLAGS:
73  *      This symbol indicates how much support of the void type is given by this
74  *      compiler.  What various bits mean:
75  *
76  *          1 = supports declaration of void
77  *          2 = supports arrays of pointers to functions returning void
78  *          4 = supports comparisons between pointers to void functions and
79  *                  addresses of void functions
80  *
81  *      The package designer should define VOIDUSED to indicate the requirements
82  *      of the package.  This can be done either by #defining VOIDUSED before
83  *      including config.h, or by defining defvoidused in Myinit.U.  If the
84  *      level of void support necessary is not present, defines void to int.
85  */
86 #ifndef VOIDUSED
87 #define VOIDUSED $defvoidused
88 #endif
89 #define VOIDFLAGS $voidflags
90 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
91 #$define void int               /* is void to be avoided? */
92 #$define M_VOID         /* Xenix strikes again */
93 #endif
94
95 !GROK!THIS!