perl 1.0 patch 13: fix for faulty patch 12, plus random portability glitches
[p5sagit/p5-mst-13.2.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 /* CPP:
41  *      This symbol contains the first part of the string which will invoke
42  *      the C preprocessor on the standard input and produce to standard
43  *      output.  Typical value of "cc -E" or "/lib/cpp".
44  */
45 /* CPPMINUS:
46  *      This symbol contains the second part of the string which will invoke
47  *      the C preprocessor on the standard input and produce to standard
48  *      output.  This symbol will have the value "-" if CPP needs a minus
49  *      to specify standard input, otherwise the value is "".
50  */
51 #define CPP "$cpp"
52 #define CPPMINUS "$cppminus"
53
54 /* BCOPY:
55  *      This symbol, if defined, indicates that the bcopy routine is available
56  *      to copy blocks of memory.  Otherwise you should probably use memcpy().
57  */
58 #$d_bcopy       BCOPY           /**/
59
60 /* CHARSPRINTF:
61  *      This symbol is defined if this system declares "char *sprintf()" in
62  *      stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
63  *      is up to the package author to declare sprintf correctly based on the
64  *      symbol.
65  */
66 #$d_charsprf    CHARSPRINTF     /**/
67
68 /* CRYPT:
69  *      This symbol, if defined, indicates that the crypt routine is available
70  *      to encrypt passwords and the like.
71  */
72 #$d_crypt       CRYPT           /**/
73
74 /* index:
75  *      This preprocessor symbol is defined, along with rindex, if the system
76  *      uses the strchr and strrchr routines instead.
77  */
78 /* rindex:
79  *      This preprocessor symbol is defined, along with index, if the system
80  *      uses the strchr and strrchr routines instead.
81  */
82 #$d_index       index strchr    /* cultural */
83 #$d_index       rindex strrchr  /*  differences? */
84
85 /* STATBLOCKS:
86  *      This symbol is defined if this system has a stat structure declaring
87  *      st_blksize and st_blocks.
88  */
89 #$d_statblks    STATBLOCKS      /**/
90
91 /* STDSTDIO:
92  *      This symbol is defined if this system has a FILE structure declaring
93  *      _ptr and _cnt in stdio.h.
94  */
95 #$d_stdstdio    STDSTDIO        /**/
96
97 /* STRUCTCOPY:
98  *      This symbol, if defined, indicates that this C compiler knows how
99  *      to copy structures.  If undefined, you'll need to use a block copy
100  *      routine of some sort instead.
101  */
102 #$d_strctcpy    STRUCTCOPY      /**/
103
104 /* SYMLINK:
105  *      This symbol, if defined, indicates that the symlink routine is available
106  *      to create symbolic links.
107  */
108 #$d_symlink     SYMLINK         /**/
109
110 /* TMINSYS:
111  *      This symbol is defined if this system declares "struct tm" in
112  *      in <sys/time.h> rather than <time.h>.  We can't just say
113  *      -I/usr/include/sys because some systems have both time files, and
114  *      the -I trick gets the wrong one.
115  */
116 #$d_tminsys     TMINSYS         /**/
117
118 /* vfork:
119  *      This symbol, if defined, remaps the vfork routine to fork if the
120  *      vfork() routine isn't supported here.
121  */
122 #$d_vfork       vfork fork      /**/
123
124 /* VOIDSIG:
125  *      This symbol is defined if this system declares "void (*signal())()" in
126  *      signal.h.  The old way was to declare it as "int (*signal())()".  It
127  *      is up to the package author to declare things correctly based on the
128  *      symbol.
129  */
130 #$d_voidsig     VOIDSIG         /**/
131
132 /* STDCHAR:
133  *      This symbol is defined to be the type of char used in stdio.h.
134  *      It has the values "unsigned char" or "char".
135  */
136 #define STDCHAR $stdchar        /**/
137
138 /* VOIDFLAGS:
139  *      This symbol indicates how much support of the void type is given by this
140  *      compiler.  What various bits mean:
141  *
142  *          1 = supports declaration of void
143  *          2 = supports arrays of pointers to functions returning void
144  *          4 = supports comparisons between pointers to void functions and
145  *                  addresses of void functions
146  *
147  *      The package designer should define VOIDUSED to indicate the requirements
148  *      of the package.  This can be done either by #defining VOIDUSED before
149  *      including config.h, or by defining defvoidused in Myinit.U.  If the
150  *      level of void support necessary is not present, defines void to int.
151  */
152 #ifndef VOIDUSED
153 #define VOIDUSED $defvoidused
154 #endif
155 #define VOIDFLAGS $voidflags
156 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
157 #$define void int               /* is void to be avoided? */
158 #$define M_VOID         /* Xenix strikes again */
159 #endif
160
161 !GROK!THIS!