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