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