|
|
1.1 root 1: /*
2: * vi configuration file
3: * We try to automatically configure to various compilers and operating
4: * systems. Extend the autoconf section as needed.
5: */
6:
7: #ifndef _CONFIG_H
8: # define _CONFIG_H
9:
10: /*************************** autoconf section ************************/
11:
12: /* Commodore-Amiga */
13: #ifdef amiga
14: # define AMIGA 1
15: # define COMPILED_BY "Manx Aztec C 5.2b"
16: # define TINYSTACK 1
17: #endif
18:
19: /* standard unix V (?) */
20: #ifdef M_SYSV
21: # define UNIXV 1
22: # ifdef M_XENIX
23: # ifndef M_I386
24: # define TINYSTACK 1
25: # endif
26: # endif
27: #endif
28:
29: /* xelos system, University of Ulm */
30: #ifdef xelos
31: # define UNIXV 1
32: #endif
33:
34: /* BSD UNIX? */
35: #ifdef bsd
36: # define BSD 1
37: #else
38: # ifdef sun
39: # define BSD 1
40: # endif
41: #endif
42:
43: /* Microsoft C: sorry, Watcom does the same thing */
44: #ifdef M_I86
45: # ifndef M_SYSV
46: # define MSDOS 1
47: # ifdef IBMC2
48: # define COMPILED_BY "IBM C/2 1.00"
49: # else
50: # define MICROSOFT 1
51: # define COMPILED_BY "Microsoft C 5.10"
52: # endif
53: # define TINYSTACK 1
54: # endif
55: #endif
56:
57: /* Borland's Turbo C */
58: #ifdef __TURBOC__
59: # define MSDOS 1
60: # define TURBOC 1
61: # ifdef __BORLANDC__
62: # define COMPILED_BY "Borland C 2.00"
63: # else
64: # define COMPILED_BY (__TURBOC__ >= 661 ? "Turbo C++ 1.00" : "Turbo C 2.00")
65: # endif
66: # define TINYSTACK 1
67: #endif
68:
69: /* Tos Mark-Williams */
70: #ifdef M68000
71: # define TOS 1
72: # define COMPILED_BY "Mark Williams C"
73: # define TINYSTACK 1
74: #endif
75:
76: /* Tos GNU-C */
77: #ifdef __atarist__
78: # ifdef __gem__
79: # define TOS 1
80: # define COMPILED_BY "GNU-C " __VERSION__
81: # define TINYSTACK 1
82: # endif
83: #endif
84:
85: /* OS9/68000 */
86: #ifdef OSK
87: # define COMPILED_BY "Microware C V2.3 Edition 40"
88: # define TINYSTACK 1
89: #endif
90:
91: /* DEC Rainbow, running MS-DOS (handled by earlier MS-DOS tests) */
92: /* (would need -DRAINBOW in CFLAGS to compile a Rainbow-compatible .EXE) */
93:
94: #ifdef VMS
95: # define COMPILED_BY "VAX/VMS VAXC compiler"
96: # undef VMS
97: # define VMS 1
98: #endif
99:
100:
101: /*************************** end of autoconf section ************************/
102:
103: /* All undefined symbols are defined to zero here, to allow for older */
104: /* compilers which dont understand #if defined() or #if UNDEFINED_SYMBOL */
105:
106: /*************************** operating systems *****************************/
107:
108: #ifndef BSD
109: # define BSD 0 /* UNIX - Berkeley 4.x */
110: #endif
111:
112: #ifndef UNIXV
113: # define UNIXV 0 /* UNIX - AT&T SYSV */
114: #endif
115:
116: #ifndef UNIX7
117: # define UNIX7 0 /* UNIX - version 7 */
118: #endif
119:
120: #ifndef MSDOS
121: # define MSDOS 0 /* PC */
122: #endif
123:
124: #ifndef TOS
125: # define TOS 0 /* Atari ST */
126: #endif
127:
128: #ifndef AMIGA
129: # define AMIGA 0 /* Commodore Amiga */
130: #endif
131:
132: #ifndef OSK
133: # define OSK 0 /* OS-9 / 68k */
134: #endif
135:
136: #ifndef COHERENT
137: # define COHERENT 0 /* Coherent */
138: #endif
139:
140: #ifndef RAINBOW /* DEC Rainbow support, under MS-DOS */
141: # define RAINBOW 0
142: #endif
143:
144: #ifndef VMS
145: # define VMS 0 /* VAX/VMS */
146: #endif
147:
148: /* Minix has no predefines */
149: #if !BSD && !UNIXV && !UNIX7 && !MSDOS && !TOS && !AMIGA && !OSK && !COHERENT && !VMS
150: # define MINIX 1
151: #else
152: # define MINIX 0
153: #endif
154:
155: /* generic combination of Unices */
156: #if UNIXV || UNIX7 || BSD || MINIX || COHERENT
157: # define ANY_UNIX 1
158: #else
159: # define ANY_UNIX 0
160: #endif
161:
162: #ifndef TINYSTACK
163: # define TINYSTACK 0
164: #endif
165:
166: /*************************** compilers **************************************/
167:
168: #ifndef AZTEC_C
169: # define AZTEC_C 0
170: #endif
171:
172: #ifndef MICROSOFT
173: # define MICROSOFT 0
174: #endif
175:
176: #ifndef TURBOC
177: # define TURBOC 0
178: #endif
179:
180: /* Should we use "new style" ANSI C prototypes? */
181: #ifdef __STDC__
182: # define NEWSTYLE 1
183: #endif
184: #ifdef __cplusplus
185: # define NEWSTYLE 1
186: #endif
187: #ifndef NEWSTYLE
188: # define NEWSTYLE 0
189: #endif
190:
191: #if NEWSTYLE
192: # define P_(s) s
193: #else
194: # define P_(s) ()
195: #endif
196:
197: /******************************* Credit ************************************/
198:
199: #if MSDOS
200: # define CREDIT "Ported to MS-DOS by Guntram Blohm & Martin Patzel"
201: # if RAINBOW
202: # define CREDIT2 "Rainbow support added by Willett Kempton"
203: # endif
204: #endif
205:
206: #if AMIGA
207: # define CREDIT "Ported to AmigaDOS 2.04 by Mike Rieser & Dale Rahn"
208: #endif
209:
210: #if TOS
211: # define CREDIT "Ported to Atari/TOS by Guntram Blohm & Martin Patzel"
212: #endif
213:
214: #if OSK
215: # define CREDIT "Ported to Microware OS9/68k by Peter Reinig"
216: #endif
217:
218: #if COHERENT
219: # define CREDIT "Ported to Coherent by Esa Ahola"
220: #endif
221:
222: #if VMS
223: # define CREDIT "Ported to VAX/VMS by John Campbell"
224: #endif
225: /*************************** functions depending on OS *********************/
226:
227: /* There are two terminal-related functions that we need: ttyread() and
228: * ttywrite(). The ttyread() function implements read-with-timeout and is
229: * a true function on all systems. The ttywrite() function is almost always
230: * just a macro...
231: */
232: #if !TOS && !AMIGA
233: # define ttywrite(buf, len) write(1, buf, (unsigned)(len)) /* raw write */
234: #endif
235:
236: /* The strchr() function is an official standard now, so everybody has it
237: * except Unix version 7 (which is old) and BSD Unix (which is academic).
238: * Those guys use something called index() to do the same thing.
239: */
240: #if BSD || UNIX7 || OSK
241: # define strchr index
242: #endif
243: #if !NEWSTYLE
244: extern char *strchr();
245: #endif
246:
247: /* BSD uses bcopy() instead of memcpy() */
248: #if BSD
249: # define memcpy(dest, src, siz) bcopy(src, dest, siz)
250: #endif
251:
252: /* BSD uses getwd() instead of getcwd(). The arguments are a little different,
253: * but we'll ignore that and hope for the best; adding arguments to the macro
254: * would mess up an "extern" declaration of the function.
255: */
256: #if BSD
257: # define getcwd getwd
258: #endif
259: extern char *getcwd();
260:
261: /* text versa binary mode for read/write */
262: #if !TOS
263: #define tread(fd,buf,n) read(fd,buf,(unsigned)(n))
264: #define twrite(fd,buf,n) write(fd,buf,(unsigned)(n))
265: #endif
266:
267: /**************************** Compiler quirks *********************************/
268:
269: /* the UNIX version 7 and (some) TOS compilers, don't allow "void" */
270: #if UNIX7 || TOS
271: # define void int
272: #endif
273:
274: /* as far as I know, all compilers except version 7 support unsigned char */
275: /* NEWFLASH: the Minix-ST compiler has subtle problems with unsigned char */
276: #if UNIX7 || MINIX
277: # define UCHAR(c) ((c) & 0xff)
278: # define uchar char
279: #else
280: # define UCHAR(c) ((unsigned char)(c))
281: # define uchar unsigned char
282: #endif
283:
284: /* Some compilers prefer to have malloc declared as returning a (void *) */
285: /* ANSI, on the other hand, needs the arguments to free() to be cast */
286: #ifndef __STDC__
287: # if BSD || AMIGA || MINIX
288: extern void *malloc();
289: # define _free_(ptr) free((void *)ptr)
290: # else
291: extern char *malloc();
292: # define _free_(ptr) free((char *)ptr)
293: # endif
294: #else
295: # define _free_(ptr) free((void *)ptr)
296: #endif /* __STDC__ */
297:
298: /* everybody but Amiga wants lseek declared here */
299: #if !AMIGA
300: extern long lseek();
301: #endif
302:
303: /******************* Names of files and environment vars **********************/
304:
305: #if ANY_UNIX
306: # ifndef TMPDIR
307: # if (MINIX || COHERENT)
308: # define TMPDIR "/usr/tmp" /* Keep elvis' temp files off RAM disk! */
309: # else
310: # define TMPDIR "/tmp" /* directory where temp files live */
311: # endif
312: # endif
313: # ifndef PRSVDIR
314: # define PRSVDIR "/usr/preserve" /* directory where preserved file live */
315: # endif
316: # ifndef PRSVINDEX
317: # define PRSVINDEX "/usr/preserve/Index" /* index of files in PRSVDIR */
318: # endif
319: # ifndef EXRC
320: # define EXRC ".exrc" /* init file in current directory */
321: # endif
322: # define SCRATCHOUT "%s/soXXXXXX" /* temp file used as input to filter */
323: # ifndef SHELL
324: # define SHELL "/bin/sh" /* default shell */
325: # endif
326: # if COHERENT
327: # ifndef REDIRECT
328: # ifndef _I386
329: # define REDIRECT ">" /* Coherent CC writes errors to stdout */
330: # endif
331: # endif
332: # endif
333: #endif
334:
335: #if AMIGA /* Specify AMIGA environment */
336: # ifndef CC_COMMAND
337: # define CC_COMMAND "cc" /* generic C compiler */
338: # endif
339: # ifndef COLON
340: # define COLON ':' /* Amiga files can also end in `:' */
341: # endif
342: # ifndef SYSEXRC
343: # define SYSEXRC "S:" EXRC /* name of ".exrc" file in system dir */
344: # endif
345: # ifndef MAXRCLEN
346: # define MAXRCLEN 2048 /* max size of a .exrc file */
347: # endif
348: # ifndef NBUFS
349: # define NBUFS 10 /* must be at least 3 -- more is better */
350: # endif
351: # ifndef NEEDSYNC
352: # define NEEDSYNC TRUE /* assume ":se sync" by default */
353: # endif
354: # ifndef PRSVDIR
355: # define PRSVDIR "Elvis:" /* directory where preserved file live */
356: # endif
357: # ifndef PRSVINDEX
358: # define PRSVINDEX "Elvis:Index" /* index of files in PRSVDIR */
359: # endif
360: # ifndef REDIRECT
361: # define REDIRECT ">" /* Amiga writes errors to stdout */
362: # endif
363: # ifndef SCRATCHIN
364: # define SCRATCHIN "%sSIXXXXXX"
365: # endif
366: # ifndef SCRATCHOUT
367: # define SCRATCHOUT "%sSOXXXXXX"
368: # endif
369: # ifndef SHELL
370: # define SHELL "newshell" /* default shell */
371: # endif
372: # ifndef TERMTYPE
373: # define TERMTYPE "amiga" /* default termtype */
374: # endif
375: # ifndef TMPDIR /* for AMIGA should end in `:' or `/' */
376: # define TMPDIR "T:" /* directory where temp files live */
377: # endif
378: # ifndef TMPNAME
379: # define TMPNAME "%selv_%x.%x" /* format of names for temp files */
380: # endif
381: #endif
382:
383: #if MSDOS || TOS
384: /* do not change TMPNAME and SCRATCH*: they MUST begin with '%s\\'! */
385: # ifndef TMPDIR
386: # define TMPDIR "C:\\tmp" /* directory where temp files live */
387: # endif
388: # ifndef PRSVDIR
389: # define PRSVDIR "C:\\preserve" /* directory where preserved file live */
390: # endif
391: # ifndef PRSVINDEX
392: # define PRSVINDEX "C:\\preserve\\Index" /* index of files in PRSVDIR */
393: # endif
394: # define TMPNAME "%s\\elv_%x.%x" /* temp file */
395: # if MSDOS
396: # if MICROSOFT
397: # define CC_COMMAND "cl -c" /* C compiler */
398: # else
399: # if __BORLANDC__ /* Borland C */
400: # define CC_COMMAND "bcc" /* C compiler */
401: # else
402: # if TURBOC /* Turbo C */
403: # define CC_COMMAND "tcc" /* C compiler */
404: # endif /* TURBOC */
405: # endif /* BORLANDC */
406: # endif /* MICROSOFT */
407: # endif /* MSDOS */
408: # define SCRATCHIN "%s\\siXXXXXX" /* DOS ONLY - output of filter program */
409: # define SCRATCHOUT "%s\\soXXXXXX" /* temp file used as input to filter */
410: # define SLASH '\\'
411: # ifndef SHELL
412: # if TOS
413: # define SHELL "shell.ttp" /* default shell */
414: # else
415: # define SHELL "command.com" /* default shell */
416: # endif
417: # endif
418: # define NEEDSYNC TRUE /* assume ":se sync" by default */
419: # if TOS && __GNUC__ /* probably on other systems, too */
420: # define REDIRECT "2>" /* GNUC reports on 2, others on 1 */
421: # define CC_COMMAND "gcc -c"
422: # else
423: # define REDIRECT ">" /* shell's redirection of stderr */
424: # endif
425: #endif
426:
427: #if VMS
428: /* do not change TMPNAME, and SCRATCH*: they MUST begin with '%s\\'! */
429: # ifndef TMPDIR
430: # define TMPDIR "sys$scratch:" /* directory where temp files live */
431: # endif
432: # define TMPNAME "%selv_%x.%x;1" /* temp file */
433: # define SCRATCHIN "%ssiXXXXXX" /* DOS ONLY - output of filter program */
434: # define SCRATCHOUT "%ssoXXXXXX" /* temp file used as input to filter */
435: # define SLASH '\:' /* Worry point... jdc */
436: # ifndef SHELL
437: # define SHELL "" /* default shell */
438: # endif
439: # define REDIRECT ">" /* shell's redirection of stderr */
440: # define tread(fd,buf,n) vms_read(fd,buf,(unsigned)(n))
441: # define close vms_close
442: # define lseek vms_lseek
443: # define unlink vms_delete
444: # define delete __delete /* local routine conflicts w/VMS rtl routine. */
445: # define rpipe vms_rpipe
446: # define rpclose vms_rpclose
447: # define ttyread vms_ttyread
448: /* There is no sync() on vms */
449: # define sync()
450: /* jdc -- seems VMS external symbols are case insensitive */
451: # define m_fWord m_fw_ord
452: # define m_bWord m_bw_ord
453: # define m_eWord m_ew_ord
454: # define m_Nsrch m_n_srch
455: # define m_Fch m_f_ch
456: # define m_Tch m_t_ch
457: # define v_Xchar v_x_char
458: /* jdc -- also, braindead vms curses always found by linker. */
459: # define LINES elvis_LINES
460: # define COLS elvis_COLS
461: # define curscr elvis_curscr
462: # define stdscr elvis_stdscr
463: # define initscr elvis_initscr
464: # define endwin elvis_endwin
465: # define wrefresh elvis_wrefresh
466: #endif
467:
468: #if OSK
469: # ifndef TMPDIR
470: # define TMPDIR "/dd/tmp" /* directory where temp files live */
471: # endif
472: # ifndef PRSVDIR
473: # define PRSVDIR "/dd/usr/preserve" /* directory where preserved file live */
474: # endif
475: # ifndef PRSVINDEX
476: # define PRSVINDEX "/dd/usr/preserve/Index" /* index of files in PRSVDIR */
477: # endif
478: # ifndef CC_COMMAND
479: # define CC_COMMAND "cc -r" /* name of the compiler */
480: # endif
481: # ifndef EXRC
482: # define EXRC ".exrc" /* init file in current directory */
483: # endif
484: # define SCRATCHOUT "%s/soXXXXXX" /* temp file used as input to filter */
485: # ifndef SHELL
486: # define SHELL "shell" /* default shell */
487: # endif
488: # define FILEPERMS (S_IREAD|S_IWRITE) /* file permissions used for creat() */
489: # define REDIRECT ">>-" /* shell's redirection of stderr */
490: # define sync() /* OS9 doesn't need a sync() */
491: #endif
492:
493: #ifndef TAGS
494: # define TAGS "tags" /* name of the tags file */
495: #endif
496:
497: #ifndef TMPNAME
498: # define TMPNAME "%s/elv_%x.%x" /* format of names for temp files */
499: #endif
500:
501: #ifndef EXINIT
502: # define EXINIT "EXINIT" /* name of EXINIT environment variable */
503: #endif
504:
505: #ifndef EXRC
506: # define EXRC "elvis.rc" /* name of ".exrc" file in current dir */
507: #endif
508:
509: #ifndef HMEXRC
510: # define HMEXRC EXRC /* name of ".exrc" file in home dir */
511: #endif
512:
513: #ifndef KEYWORDPRG
514: # define KEYWORDPRG "ref"
515: #endif
516:
517: #ifndef SCRATCHOUT
518: # define SCRATCHIN "%s/SIXXXXXX"
519: # define SCRATCHOUT "%s/SOXXXXXX"
520: #endif
521:
522: #ifndef ERRLIST
523: # define ERRLIST "errlist"
524: #endif
525:
526: #ifndef SLASH
527: # define SLASH '/'
528: #endif
529:
530: #ifndef SHELL
531: # define SHELL "shell"
532: #endif
533:
534: #ifndef REG
535: # define REG register
536: #endif
537:
538: #ifndef NEEDSYNC
539: # define NEEDSYNC FALSE
540: #endif
541:
542: #ifndef FILEPERMS
543: # define FILEPERMS 0666
544: #endif
545:
546: #ifndef PRESERVE
547: # define PRESERVE "elvprsv" /* name of the "preserve" program */
548: #endif
549:
550: #ifndef CC_COMMAND
551: # define CC_COMMAND "cc -c"
552: #endif
553:
554: #ifndef MAKE_COMMAND
555: # define MAKE_COMMAND "make"
556: #endif
557:
558: #ifndef REDIRECT
559: # define REDIRECT "2>"
560: #endif
561:
562: #ifndef BLKSIZE
563: # ifdef CRUNCH
564: # define BLKSIZE 1024
565: # else
566: # define BLKSIZE 2048
567: # endif
568: #endif
569:
570: #ifndef KEYBUFSIZE
571: # define KEYBUFSIZE 1000
572: #endif
573:
574: #ifndef MAILER
575: # define MAILER "mail"
576: #endif
577:
578: #endif /* ndef _CONFIG_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.