|
|
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.