perl 2.0 patch 1: removed redundant debugging code in regexp.c
[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 sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!'
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 /* CPPSTDIN:
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 CPPSTDIN needs a minus
49  *      to specify standard input, otherwise the value is "".
50  */
51 #define CPPSTDIN "$cppstdin"
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 /* DOSUID:
75  *      This symbol, if defined, indicates that the C program should
76  *      check the script that it is executing for setuid/setgid bits, and
77  *      attempt to emulate setuid/setgid on systems that have disabled
78  *      setuid #! scripts because the kernel can't do it securely.
79  *      It is up to the package designer to make sure that this emulation
80  *      is done securely.  Among other things, it should do an fstat on
81  *      the script it just opened to make sure it really is a setuid/setgid
82  *      script, it should make sure the arguments passed correspond exactly
83  *      to the argument on the #! line, and it should not trust any
84  *      subprocesses to which it must pass the filename rather than the
85  *      file descriptor of the script to be executed.
86  */
87 #$d_dosuid DOSUID               /**/
88
89 /* FCHMOD:
90  *      This symbol, if defined, indicates that the fchmod routine is available
91  *      to change mode of opened files.  If unavailable, use chmod().
92  */
93 #$d_fchmod      FCHMOD          /**/
94
95 /* FCHOWN:
96  *      This symbol, if defined, indicates that the fchown routine is available
97  *      to change ownership of opened files.  If unavailable, use chown().
98  */
99 #$d_fchown      FCHOWN          /**/
100
101 /* GETGROUPS:
102  *      This symbol, if defined, indicates that the getgroups() routine is
103  *      available to get the list of process groups.  If unavailable, multiple
104  *      groups are probably not supported.
105  */
106 #$d_getgrps     GETGROUPS               /**/
107
108 /* index:
109  *      This preprocessor symbol is defined, along with rindex, if the system
110  *      uses the strchr and strrchr routines instead.
111  */
112 /* rindex:
113  *      This preprocessor symbol is defined, along with index, if the system
114  *      uses the strchr and strrchr routines instead.
115  */
116 #$d_index       index strchr    /* cultural */
117 #$d_index       rindex strrchr  /*  differences? */
118
119 /* KILLPG:
120  *      This symbol, if defined, indicates that the killpg routine is available
121  *      to kill process groups.  If unavailable, you probably should use kill
122  *      with a negative process number.
123  */
124 #$d_killpg      KILLPG          /**/
125
126 /* MEMCPY:
127  *      This symbol, if defined, indicates that the memcpy routine is available
128  *      to copy blocks of memory.  Otherwise you should probably use bcopy().
129  *      If neither is defined, roll your own.
130  */
131 #$d_memcpy      MEMCPY          /**/
132
133 /* RENAME:
134  *      This symbol, if defined, indicates that the rename routine is available
135  *      to rename files.  Otherwise you should do the unlink(), link(), unlink()
136  *      trick.
137  */
138 #$d_rename      RENAME          /**/
139
140 /* SETEGID:
141  *      This symbol, if defined, indicates that the setegid routine is available
142  *      to change the effective gid of the current program.
143  */
144 #$d_setegid     SETEGID         /**/
145
146 /* SETEUID:
147  *      This symbol, if defined, indicates that the seteuid routine is available
148  *      to change the effective uid of the current program.
149  */
150 #$d_seteuid     SETEUID         /**/
151
152 /* SETRGID:
153  *      This symbol, if defined, indicates that the setrgid routine is available
154  *      to change the real gid of the current program.
155  */
156 #$d_setrgid     SETRGID         /**/
157
158 /* SETRUID:
159  *      This symbol, if defined, indicates that the setruid routine is available
160  *      to change the real uid of the current program.
161  */
162 #$d_setruid     SETRUID         /**/
163
164 /* STATBLOCKS:
165  *      This symbol is defined if this system has a stat structure declaring
166  *      st_blksize and st_blocks.
167  */
168 #$d_statblks    STATBLOCKS      /**/
169
170 /* STDSTDIO:
171  *      This symbol is defined if this system has a FILE structure declaring
172  *      _ptr and _cnt in stdio.h.
173  */
174 #$d_stdstdio    STDSTDIO        /**/
175
176 /* STRCSPN:
177  *      This symbol, if defined, indicates that the strcspn routine is available
178  *      to scan strings.
179  */
180 #$d_strcspn     STRCSPN         /**/
181
182 /* STRUCTCOPY:
183  *      This symbol, if defined, indicates that this C compiler knows how
184  *      to copy structures.  If undefined, you'll need to use a block copy
185  *      routine of some sort instead.
186  */
187 #$d_strctcpy    STRUCTCOPY      /**/
188
189 /* SYMLINK:
190  *      This symbol, if defined, indicates that the symlink routine is available
191  *      to create symbolic links.
192  */
193 #$d_symlink     SYMLINK         /**/
194
195 /* TMINSYS:
196  *      This symbol is defined if this system declares "struct tm" in
197  *      in <sys/time.h> rather than <time.h>.  We can't just say
198  *      -I/usr/include/sys because some systems have both time files, and
199  *      the -I trick gets the wrong one.
200  */
201 #$d_tminsys     TMINSYS         /**/
202
203 /* vfork:
204  *      This symbol, if defined, remaps the vfork routine to fork if the
205  *      vfork() routine isn't supported here.
206  */
207 #$d_vfork       vfork fork      /**/
208
209 /* VOIDSIG:
210  *      This symbol is defined if this system declares "void (*signal())()" in
211  *      signal.h.  The old way was to declare it as "int (*signal())()".  It
212  *      is up to the package author to declare things correctly based on the
213  *      symbol.
214  */
215 #$d_voidsig     VOIDSIG         /**/
216
217 /* GIDTYPE:
218  *      This symbol has a value like gid_t, int, ushort, or whatever type is
219  *      used to declare group ids in the kernel.
220  */
221 #define GIDTYPE $gidtype                /**/
222
223 /* STDCHAR:
224  *      This symbol is defined to be the type of char used in stdio.h.
225  *      It has the values "unsigned char" or "char".
226  */
227 #define STDCHAR $stdchar        /**/
228
229 /* UIDTYPE:
230  *      This symbol has a value like uid_t, int, ushort, or whatever type is
231  *      used to declare user ids in the kernel.
232  */
233 #define UIDTYPE $uidtype                /**/
234
235 /* VOIDFLAGS:
236  *      This symbol indicates how much support of the void type is given by this
237  *      compiler.  What various bits mean:
238  *
239  *          1 = supports declaration of void
240  *          2 = supports arrays of pointers to functions returning void
241  *          4 = supports comparisons between pointers to void functions and
242  *                  addresses of void functions
243  *
244  *      The package designer should define VOIDUSED to indicate the requirements
245  *      of the package.  This can be done either by #defining VOIDUSED before
246  *      including config.h, or by defining defvoidused in Myinit.U.  If the
247  *      level of void support necessary is not present, defines void to int.
248  */
249 #ifndef VOIDUSED
250 #define VOIDUSED $defvoidused
251 #endif
252 #define VOIDFLAGS $voidflags
253 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
254 #$define void int               /* is void to be avoided? */
255 #$define M_VOID         /* Xenix strikes again */
256 #endif
257
258 /* PRIVLIB:
259  *      This symbol contains the name of the private library for this package.
260  *      The library is private in the sense that it needn't be in anyone's
261  *      execution path, but it should be accessible by the world.
262  */
263 #define PRIVLIB "$privlib"              /**/
264
265 !GROK!THIS!