home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / elvis184.zip / src / config.h < prev    next >
C/C++ Source or Header  |  1994-03-26  |  18KB  |  767 lines

  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. # undef COHERENT
  28. #endif
  29.  
  30. /* HPUX 8.07 */
  31. #ifdef hpux
  32. # define UNIXV        1
  33. # define TERMIOS    1
  34. #endif
  35.  
  36. /* linux */
  37. #ifdef linux
  38. # define UNIXV        1
  39. # define TERMIOS    1
  40. # define LINUX        1
  41. #endif
  42.  
  43. /* xelos system, University of Ulm */
  44. #ifdef    xelos
  45. # define UNIXV        1
  46. #endif
  47.  
  48. /* BSD UNIX? */
  49. #ifdef bsd
  50. # define BSD        1
  51. #else
  52. # ifdef sun
  53. #  ifndef M_SYSV
  54. #   define BSD        1
  55. #  endif
  56. # endif
  57. # ifdef __386BSD__
  58. #  define BSD        1
  59. # endif
  60. #endif
  61.  
  62. /* Microsoft C: sorry, Watcom does the same thing */
  63. #ifdef    M_I86
  64. # ifndef M_SYSV
  65. #  define MSDOS        1
  66. #  ifdef IBMC2
  67. #   define COMPILED_BY    "IBM C/2 1.00"
  68. #  else
  69. #   define MICROSOFT    1
  70. #   define COMPILED_BY    "Microsoft C 5.10"
  71. #  endif
  72. #  define TINYSTACK    1
  73. # endif
  74. #endif
  75.  
  76. /* Borland's Turbo C */
  77. #ifdef    __TURBOC__
  78. # define MSDOS        1
  79. # define TURBOC        1
  80. # ifdef __BORLANDC__
  81. #  define COMPILED_BY    (__BORLANDC__ == 0x0200 ? "Borland C++ 2.00" :         \
  82.                (__BORLANDC__ == 0x0400 ? "Borland C++ 3.0" :     \
  83.                   (__BORLANDC__ == 0x0410 ? "Borland C++ 3.1" :  \
  84.                  "Borland C++ > 3.1!" ) ) )
  85. # else
  86. #  define COMPILED_BY    (__TURBOC__ >= 661 ? "Turbo C++ 1.00" : "Turbo C 2.00")
  87. # endif
  88. # define TINYSTACK    1
  89. #endif
  90.  
  91. /* Tos Mark-Williams */
  92. #ifdef    M68000
  93. # define TOS 1
  94. # define COMPILED_BY    "Mark Williams C"
  95. # define TINYSTACK    1
  96. #endif
  97.  
  98. /* Tos GNU-C */
  99. #ifdef __atarist__
  100. # ifdef __gem__
  101. #  define TOS 1
  102. #  define COMPILED_BY    "GNU-C " __VERSION__
  103. #  define TINYSTACK    1
  104. # endif
  105. #endif
  106.  
  107. /* OS9/68000 */
  108. #ifdef    OSK
  109. # define COMPILED_BY    "Microware C V2.3 Edition 40"
  110. # define TINYSTACK    1
  111. #endif
  112.  
  113. /* DEC Rainbow, running MS-DOS (handled by earlier MS-DOS tests) */
  114. /* (would need -DRAINBOW in CFLAGS to compile a Rainbow-compatible .EXE) */
  115.  
  116. #if VMS
  117. # define COMPILED_BY    "VAX/VMS VAXC compiler"
  118. # undef VMS
  119. # define VMS 1
  120. #endif
  121.  
  122. #ifdef __EMX__
  123. # define COMPILED_BY    "emx+gcc " __VERSION__ " on " __DATE__
  124. #endif
  125.  
  126.  
  127. #ifdef COHERENT
  128. # ifdef _I386
  129. #  define COH_386 1
  130. #  define COH_286 0
  131. # else
  132. #  define COH_386 0
  133. #  define COH_286 1
  134. # endif
  135. # undef COHERENT
  136. # define COHERENT 1
  137. #endif
  138.  
  139. /*************************** end of autoconf section ************************/
  140.  
  141. /* All undefined symbols are defined to zero here, to allow for older    */
  142. /* compilers which dont understand #if defined() or #if UNDEFINED_SYMBOL */
  143.  
  144. /*************************** operating systems *****************************/
  145.  
  146. #ifndef    BSD
  147. # define BSD    0        /* UNIX - Berkeley 4.x */
  148. #endif
  149.  
  150. #ifndef    UNIXV
  151. # define UNIXV    0        /* UNIX - AT&T SYSV */
  152. #endif
  153.  
  154. #ifndef    UNIX7
  155. # define UNIX7    0        /* UNIX - version 7 */
  156. #endif
  157.  
  158. #ifndef    MSDOS
  159. # define MSDOS    0        /* PC DOS*/
  160. #endif
  161.  
  162. #ifndef    OS2
  163. # define OS2    0        /* OS2 */
  164. #endif
  165.  
  166. #ifndef    TOS
  167. # define TOS    0        /* Atari ST */
  168. #endif
  169.  
  170. #ifndef    AMIGA
  171. # define AMIGA    0        /* Commodore Amiga */
  172. #endif
  173.  
  174. #ifndef OSK
  175. # define OSK    0        /* OS-9 / 68k */
  176. #endif
  177.  
  178. #ifndef COHERENT
  179. # define COHERENT 0        /* Coherent */
  180. #endif
  181.  
  182. #ifndef LINUX
  183. # define LINUX 0        /* Linux */
  184. #endif
  185.  
  186. #ifndef RAINBOW            /* DEC Rainbow support, under MS-DOS */
  187. # define RAINBOW 0
  188. #endif
  189.  
  190. #ifndef VMS
  191. # define VMS 0                  /* VAX/VMS */
  192. #endif
  193.  
  194. #ifndef OS2
  195. # define OS2 0                  /* PC OS/2 */
  196. #endif
  197.  
  198.                 /* Minix has no predefines */
  199. #if !BSD && !UNIXV && !UNIX7 && !MSDOS && !TOS && !AMIGA && !OSK && !COHERENT && !VMS && !LINUX && !OS2
  200. # define MINIX    1
  201. #else
  202. # define MINIX    0
  203. #endif
  204.  
  205.                 /* generic combination of Unices */
  206. #if UNIXV || UNIX7 || BSD || MINIX || COHERENT || LINUX
  207. # define ANY_UNIX 1
  208. #else
  209. # define ANY_UNIX 0
  210. #endif
  211.  
  212. #ifndef TINYSTACK
  213. # define TINYSTACK 0
  214. #endif
  215.  
  216. #ifdef TERMIOS
  217. # define TERMIOS 1
  218. #else
  219. # define TERMIOS 0
  220. #endif
  221.  
  222. /*************************** compilers **************************************/
  223.  
  224. #ifndef    AZTEC_C
  225. # define AZTEC_C    0
  226. #endif
  227.  
  228. #ifndef    MICROSOFT
  229. # define MICROSOFT    0
  230. #endif
  231.  
  232. #ifndef    TURBOC
  233. # define TURBOC        0
  234. #endif
  235.  
  236. /* Should we use "new style" ANSI C prototypes? */
  237. #ifdef __STDC__
  238. # define NEWSTYLE 1
  239. #endif
  240. #ifdef __cplusplus
  241. # define NEWSTYLE 1
  242. #endif
  243. #ifdef __TURBOC__
  244. # define NEWSTYLE 1
  245. #endif
  246. #ifndef NEWSTYLE
  247. # define NEWSTYLE 0
  248. #endif
  249.  
  250. #if NEWSTYLE
  251. # define P_(s) s
  252. #else
  253. # define P_(s) ()
  254. #endif
  255.  
  256.  
  257. /* Do we have standard C headers? */
  258. #ifdef __STDC__
  259. # define HAS_STDLIB 1
  260. #endif
  261. #ifdef __TURBOC__
  262. # define HAS_STDLIB 1
  263. #endif
  264. #ifndef HAS_STDLIB
  265. # define HAS_STDLIB 0
  266. #endif
  267.  
  268.  
  269. /******************************* Credit ************************************/
  270.  
  271. #if MSDOS
  272. # define CREDIT "Ported to MS-DOS by Guntram Blohm & Martin Patzel"
  273. # ifdef RAINBOW
  274. #  define CREDIT2 "Rainbow support added by Willett Kempton"
  275. # endif
  276. #endif
  277.  
  278. #if AMIGA
  279. # define CREDIT "Ported to AmigaDOS 2.04 by Mike Rieser & Dale Rahn"
  280. #endif
  281.  
  282. #if TOS
  283. # define CREDIT "Ported to Atari/TOS by Guntram Blohm & Martin Patzel"
  284. #endif
  285.  
  286. #if OSK
  287. # define CREDIT    "Ported to Microware OS9/68k by Peter Reinig"
  288. #endif
  289.  
  290. #if COHERENT
  291. # define CREDIT    "Ported to Coherent by Esa Ahola"
  292. #endif
  293.  
  294. #if VMS
  295. # define CREDIT "Ported to VAX/VMS by John Campbell"
  296. #endif
  297.  
  298. #if OS2
  299. # define CREDIT "Ported to OS/2 by Kai Uwe Rommel & Greg Roelofs"
  300. #endif
  301.  
  302.  
  303. /**************************** Compiler quirks *********************************/
  304.  
  305. /* the UNIX version 7 and (some) TOS compilers, don't allow "void" */
  306. #if UNIX7 || TOS
  307. # define void int
  308. #endif
  309.  
  310. /* as far as I know, all compilers except version 7 support unsigned char */
  311. /* NEWFLASH: the Minix-ST compiler has subtle problems with unsigned char */
  312. #if UNIX7 || MINIX
  313. # define UCHAR(c)    ((c) & 0xff)
  314. # define uchar        char
  315. #else
  316. # define UCHAR(c)    ((unsigned char)(c))
  317. # define uchar        unsigned char
  318. #endif
  319.  
  320. /* UNIX declares lseek in <unistd.h>.  Everybody else (except Amiga) wants
  321.  * lseek declared here.  Note: "off_t" may be preferable to "long".
  322.  */
  323. #if ANY_UNIX
  324. # include <sys/types.h>
  325. # include <unistd.h>
  326. #else
  327. # if !AMIGA
  328. extern long lseek();
  329. # endif
  330. #endif
  331.  
  332. /* Some compilers prefer to have malloc declared as returning a (void *) */
  333. /* ANSI, on the other hand, needs the arguments to free() to be cast */
  334. #if !HAS_STDLIB
  335. # if BSD || AMIGA || MINIX
  336. extern void *malloc();
  337. #  define _free_(ptr)    free((void *)ptr)
  338. # else
  339. extern char *malloc();
  340. #  define _free_(ptr)    free((char *)ptr)
  341. # endif
  342. #else
  343. # define _free_(ptr)    free((void *)ptr)
  344. #endif    /* __STDC__ */
  345.  
  346. /* ANSI C has getenv() and atol() declared in stdlib.h, which we've already
  347.  * included.  Other compilers will need them declared here, though.
  348.  */
  349. #if !HAS_STDLIB
  350. extern char *getenv();
  351. extern long atol();
  352. #endif
  353.  
  354. /* Signal handler functions used to return an int value, which was ignored.
  355.  * On newer systems, signal handlers are void functions.  Here, we try to
  356.  * guess the proper return type for this system.
  357.  */
  358. #ifndef __STDC__
  359. # if MINIX || TOS
  360. #  define SIGTYPE int
  361. # endif
  362. #endif
  363. #ifndef SIGTYPE
  364. # define SIGTYPE void
  365. #endif
  366.  
  367. /* There are two terminal-related functions that we need: ttyread() and
  368.  * ttywrite().  The ttyread() function implements read-with-timeout and is
  369.  * a true function on all systems.  The ttywrite() function is almost always
  370.  * just a macro...
  371.  */
  372. #if !TOS && !AMIGA
  373. # define ttywrite(buf, len)    write(1, buf, (unsigned)(len))    /* raw write */
  374. #endif
  375.  
  376. /* The strchr() function is an official standard now, so everybody has it
  377.  * except Unix version 7 (which is old) and BSD Unix (which is academic).
  378.  * Those guys use something called index() to do the same thing.
  379.  */
  380. #if BSD || UNIX7 || OSK
  381. # include <strings.h>
  382. # define strchr    index
  383. # define strrchr rindex
  384. #endif
  385. #if !NEWSTYLE
  386. extern char *strchr();
  387. #endif
  388.  
  389. /* BSD uses bcopy() instead of memcpy() */
  390. #if BSD && !hpux
  391. # define memcpy(dest, src, siz)    bcopy(src, dest, siz)
  392. #endif
  393.  
  394. /* BSD uses getwd() instead of getcwd().  The arguments are a little different,
  395.  * but we'll ignore that and hope for the best; adding arguments to the macro
  396.  * would mess up an "extern" declaration of the function.
  397.  *
  398.  * Also, the Coherent-286 uses getwd(), but Coherent-386 uses getcwd()
  399.  */
  400. #ifndef getcwd
  401. # if BSD || COH_286
  402. #  ifndef __386BSD__
  403. #   define getcwd(path, sz)    getwd(path)
  404. extern char *getwd();
  405. #  endif
  406. #endif
  407. #endif
  408. #ifndef getcwd
  409. extern char *getcwd();
  410. #endif
  411.  
  412. /* text versa binary mode for read/write */
  413. #if !TOS
  414. #define    tread(fd,buf,n)        read(fd,buf,(unsigned)(n))
  415. #define twrite(fd,buf,n)    write(fd,buf,(unsigned)(n))
  416. #endif
  417.  
  418. /******************* Names of files and environment vars **********************/
  419.  
  420. #ifdef __386BSD__
  421. # define PRSVDIR    "/var/preserve"
  422. # define PRSVINDEX    "/var/preserve/Index"
  423. # define TMPDIR        "/var/tmp"
  424. #endif
  425.  
  426. #if ANY_UNIX
  427. # ifndef TMPDIR
  428. #  if MINIX
  429. #   define TMPDIR    "/usr/tmp"    /* Keep elvis' temp files off RAM disk! */
  430. #  else
  431. #   define TMPDIR    "/tmp"        /* directory where temp files live */
  432. #  endif
  433. # endif
  434. # ifndef PRSVDIR
  435. #  define PRSVDIR    "/usr/preserve"    /* directory where preserved file live */
  436. # endif
  437. # ifndef PRSVINDEX
  438. #  define PRSVINDEX    "/usr/preserve/Index" /* index of files in PRSVDIR */
  439. # endif
  440. # ifndef EXRC
  441. #  define EXRC        ".exrc"        /* init file in current directory */
  442. # endif
  443. # ifndef EXFILERC
  444. #  define EXFILERC    ".exfilerc"    /* init file for each file */
  445. # endif
  446. # define SCRATCHOUT    "%s/soXXXXXX"    /* temp file used as input to filter */
  447. # ifndef SHELL
  448. #  define SHELL        "/bin/sh"    /* default shell */
  449. # endif
  450. # if COHERENT
  451. #  ifndef REDIRECT
  452. #   define REDIRECT    ">"        /* Coherent CC writes errors to stdout */
  453. #  endif
  454. # endif
  455. # define gethome(x)    getenv("HOME")
  456. #endif
  457.  
  458. #if AMIGA        /* Specify AMIGA environment */
  459. # ifndef CC_COMMAND
  460. #  define CC_COMMAND    "cc"        /* generic C compiler */
  461. # endif
  462. # ifndef COLON
  463. #  define COLON        ':'        /* Amiga files can also end in `:' */
  464. # endif
  465. # ifndef SYSEXRC
  466. #  define SYSEXRC    "S:" EXRC    /* name of ".exrc" file in system dir */
  467. # endif
  468. # ifndef MAXRCLEN
  469. #  define MAXRCLEN    2048        /* max size of a .exrc file */
  470. # endif
  471. # ifndef NBUFS
  472. #  define NBUFS        10        /* must be at least 3 -- more is better */
  473. # endif
  474. # ifndef NEEDSYNC
  475. #  define NEEDSYNC    TRUE        /* assume ":se sync" by default */
  476. # endif
  477. # ifndef PRSVDIR
  478. #  define PRSVDIR    "Elvis:"    /* directory where preserved file live */
  479. # endif
  480. # ifndef PRSVINDEX
  481. #  define PRSVINDEX    "Elvis:Index"    /* index of files in PRSVDIR */
  482. # endif
  483. # ifndef REDIRECT
  484. #  define REDIRECT    ">"        /* Amiga writes errors to stdout */
  485. # endif
  486. # ifndef SCRATCHIN
  487. #  define SCRATCHIN    "%sSIXXXXXX"
  488. # endif
  489. # ifndef SCRATCHOUT
  490. #  define SCRATCHOUT    "%sSOXXXXXX"
  491. # endif
  492. # ifndef SHELL
  493. #  define SHELL        "newshell"    /* default shell */
  494. # endif
  495. # ifndef TERMTYPE
  496. #  define TERMTYPE    "amiga"        /* default termtype */
  497. # endif
  498. # ifndef TMPDIR                /* for AMIGA should end in `:' or `/' */
  499. #  define TMPDIR    "T:"        /* directory where temp files live */
  500. # endif
  501. # ifndef TMPNAME
  502. #  define TMPNAME    "%selv_%x.%x"    /* format of names for temp files */
  503. # endif
  504. # define gethome(x)    getenv("HOME")
  505. #endif
  506.  
  507. #if MSDOS || TOS
  508. /* do not change TMPNAME and SCRATCH*: they MUST begin with '%s\\'! */
  509. # ifndef TMPDIR
  510. #  define TMPDIR    "C:\\tmp"    /* directory where temp files live */
  511. # endif
  512. # ifndef PRSVDIR
  513. #  define PRSVDIR    "C:\\preserve"    /* directory where preserved file live */
  514. # endif
  515. # ifndef PRSVINDEX
  516. #  define PRSVINDEX    "C:\\preserve\\Index" /* index of files in PRSVDIR */
  517. # endif
  518. # define TMPNAME    "%s\\elv_%x.%x" /* temp file */
  519. # if MSDOS
  520. #  if MICROSOFT
  521. #   define CC_COMMAND    "cl -c"        /* C compiler */
  522. #  else
  523. #   if __BORLANDC__  /* Borland C */
  524. #    define CC_COMMAND    "bcc"        /* C compiler */
  525. #   else
  526. #   if TURBOC        /* Turbo C */
  527. #    define CC_COMMAND    "tcc"        /* C compiler */
  528. #   endif    /* TURBOC */
  529. #   endif    /* BORLANDC */
  530. #  endif        /* MICROSOFT */
  531. # endif        /* MSDOS */
  532. # define SCRATCHIN    "%s\\siXXXXXX"    /* DOS ONLY - output of filter program */
  533. # define SCRATCHOUT    "%s\\soXXXXXX"    /* temp file used as input to filter */
  534. # define SLASH        '\\'
  535. # ifndef SHELL
  536. #  if TOS
  537. #   define SHELL    "shell.ttp"    /* default shell */
  538. #  else
  539. #   define SHELL    "command.com"    /* default shell */
  540. #  endif
  541. # endif
  542. # define NEEDSYNC    TRUE        /* assume ":se sync" by default */
  543. # if TOS && __GNUC__            /* probably on other systems, too */
  544. #  define REDIRECT    "2>"        /* GNUC reports on 2, others on 1 */
  545. #  define CC_COMMAND    "gcc -c"
  546. # else
  547. #  define REDIRECT    ">"        /* shell's redirection of stderr */
  548. # endif
  549. #endif
  550.  
  551. #if OS2
  552. /* do not change TMPNAME and SCRATCH*: they MUST begin with '%s\\'! */
  553. # ifndef TMPDIR
  554. #  define TMPDIR    "C:"    /* directory where temp files live */
  555. # endif
  556. # ifndef PRSVDIR
  557. #  define PRSVDIR    "C:\\preserve"    /* directory where preserved file live */
  558. # endif
  559. # ifndef PRSVINDEX
  560. #  define PRSVINDEX    "C:\\preserve\\Index" /* index of files in PRSVDIR */
  561. # endif
  562. # define TMPNAME    "%s\\elv_%x.%x" /* temp file */
  563. # define SCRATCHOUT    "%s\\soXXXXXX"    /* temp file used as input to filter */
  564. # define CC_COMMAND    "gcc -c"    /* C compiler */
  565. # define SLASH        '\\'
  566. # define SHELL        "cmd.exe"    /* default shell */
  567. # define NEEDSYNC    TRUE        /* assume ":se sync" by default */
  568. # define REDIRECT    "2>"
  569. #endif
  570.  
  571. #if VMS
  572. /* do not change TMPNAME, and SCRATCH*: they MUST begin with '%s\\'! */
  573. # ifndef TMPDIR
  574. #  define TMPDIR        "sys$scratch:"  /* directory where temp files live */
  575. # endif
  576. # ifndef PRSVDIR
  577. #  define PRSVDIR    "sys$scratch:"    /* directory where preserved file live */
  578. # endif
  579. # ifndef PRSVINDEX
  580. #  define PRSVINDEX    "sys$scratch:index;1" /* index of files in PRSVDIR */
  581. # endif
  582. # define TMPNAME        "%selv_%x.%x;1" /* temp file */
  583. # define SCRATCHIN      "%ssiXXXXXX"    /* DOS ONLY - output of filter program */
  584. # define SCRATCHOUT     "%ssoXXXXXX"    /* temp file used as input to filter */
  585. # define SLASH          '\:'  /* Worry point... jdc */
  586. # ifndef SHELL
  587. #   define SHELL        ""      /* default shell */
  588. # endif
  589. # define REDIRECT       ">"             /* shell's redirection of stderr */
  590. # define tread(fd,buf,n)  vms_read(fd,buf,(unsigned)(n))
  591. # define close vms_close
  592. # define lseek vms_lseek
  593. # define unlink vms_delete
  594. # define delete __delete   /* local routine conflicts w/VMS rtl routine. */
  595. # define rpipe vms_rpipe
  596. # define rpclose vms_rpclose
  597. # define ttyread vms_ttyread
  598. # define gethome(x) getenv("HOME")
  599. /* There is no sync() on vms */
  600. # define sync()
  601. /* jdc -- seems VMS external symbols are case insensitive */
  602. # define m_fWord m_fw_ord
  603. # define m_bWord m_bw_ord
  604. # define m_eWord m_ew_ord
  605. # define m_Nsrch m_n_srch
  606. # define m_Fch   m_f_ch
  607. # define m_Tch   m_t_ch
  608. # define v_Xchar v_x_char
  609. /* jdc -- also, braindead vms curses always found by linker. */
  610. # define LINES elvis_LINES
  611. # define COLS  elvis_COLS
  612. # define curscr elvis_curscr
  613. # define stdscr elvis_stdscr
  614. # define initscr elvis_initscr
  615. # define endwin  elvis_endwin
  616. # define wrefresh elvis_wrefresh
  617. #endif
  618.  
  619. #if OSK
  620. # ifndef TMPDIR
  621. #  define TMPDIR    "/dd/tmp"       /* directory where temp files live */
  622. # endif
  623. # ifndef PRSVDIR
  624. #  define PRSVDIR    "/dd/usr/preserve" /* directory where preserved file live */
  625. # endif
  626. # ifndef PRSVINDEX
  627. #  define PRSVINDEX    "/dd/usr/preserve/Index" /* index of files in PRSVDIR */
  628. # endif
  629. # ifndef CC_COMMAND
  630. #  define CC_COMMAND    "cc -r"           /* name of the compiler */
  631. # endif
  632. # ifndef EXRC
  633. #  define EXRC        ".exrc"           /* init file in current directory */
  634. # endif
  635. # define SCRATCHOUT    "%s/soXXXXXX"       /* temp file used as input to filter */
  636. # ifndef SHELL
  637. #  define SHELL        "shell"           /* default shell */
  638. # endif
  639. # define FILEPERMS    (S_IREAD|S_IWRITE) /* file permissions used for creat() */
  640. # define REDIRECT    ">>-"           /* shell's redirection of stderr */
  641. # define sync()                   /* OS9 doesn't need a sync() */
  642. # define gethome(x)    getenv("HOME")
  643. #endif
  644.  
  645. #ifndef    TAGS
  646. # define TAGS        "tags"        /* name of the tags file */
  647. #endif
  648.  
  649. #ifndef TMPNAME
  650. # define TMPNAME    "%s/elv_%x.%x"    /* format of names for temp files */
  651. #endif
  652.  
  653. #ifndef EXINIT
  654. # define EXINIT        "EXINIT"    /* name of EXINIT environment variable */
  655. #endif
  656.  
  657. #ifndef    EXRC
  658. # define EXRC        "elvis.rc"    /* name of ".exrc" file in current dir */
  659. #endif
  660.  
  661. #ifndef HMEXRC
  662. # define HMEXRC        EXRC        /* name of ".exrc" file in home dir */
  663. #endif
  664.  
  665. #ifndef EXFILERC
  666. # define EXFILERC    "exfile.rc"    /* name of ".exfilerc" file in home dir */
  667. #endif
  668.  
  669. #ifndef    KEYWORDPRG
  670. # define KEYWORDPRG    "ref"
  671. #endif
  672.  
  673. #ifndef    SCRATCHOUT
  674. # define SCRATCHIN    "%s/SIXXXXXX"
  675. # define SCRATCHOUT    "%s/SOXXXXXX"
  676. #endif
  677.  
  678. #ifndef ERRLIST
  679. # define ERRLIST    "errlist"
  680. #endif
  681.  
  682. /* alternate char to be used in place of spaces in filenames while spaces
  683.  * are being used as delimiters (can be a space if they are not allowed
  684.  * in filenames; else any very unlikely non-white char [not tab, CR, LF]) */
  685. #ifndef    SPACEHOLDER
  686. # define SPACEHOLDER    0xff
  687. #endif
  688.  
  689. #ifndef    SLASH
  690. # define SLASH        '/'
  691. #endif
  692.  
  693. #ifndef SHELL
  694. # define SHELL        "shell"
  695. #endif
  696.  
  697. #ifndef REG
  698. # define REG        register
  699. #endif
  700.  
  701. #ifndef NEEDSYNC
  702. # define NEEDSYNC    FALSE
  703. #endif
  704.  
  705. #ifndef FILEPERMS
  706. # define FILEPERMS    0666
  707. #endif
  708.  
  709. #ifndef PRESERVE
  710. # define PRESERVE    "elvprsv"    /* name of the "preserve" program */
  711. #endif
  712.  
  713. #ifndef CC_COMMAND
  714. # define CC_COMMAND    "cc -c"
  715. #endif
  716.  
  717. #ifndef MAKE_COMMAND
  718. # define MAKE_COMMAND    "make"
  719. #endif
  720.  
  721. #ifndef REDIRECT
  722. # define REDIRECT    "2>"
  723. #endif
  724.  
  725. #ifndef BLKSIZE
  726. # ifdef CRUNCH
  727. #  define BLKSIZE    1024
  728. # else
  729. #  define BLKSIZE    2048
  730. # endif
  731. #endif
  732.  
  733. #ifndef KEYBUFSIZE
  734. # define KEYBUFSIZE    1000
  735. #endif
  736.  
  737. #ifndef MAILER
  738. # define MAILER        "mail"
  739. #endif
  740.  
  741. #ifndef WSRCH_MAX
  742. # define WSRCH_MAX    50
  743. #endif
  744.  
  745. #ifndef gethome
  746. extern char *gethome P_((char *));
  747. #endif
  748.  
  749. #if TURBOC
  750. # undef RAINBOW
  751. # include <stdlib.h>
  752. # include <stdio.h>
  753. # include <string.h>
  754. # include <dir.h>
  755. # include <io.h>
  756. extern    void    sleep P_((unsigned));
  757. extern    int    rpipe P_((char *, int));
  758. extern    int    rpclose P_((int));
  759. extern    int    sync P_((void));
  760. #endif
  761.  
  762. #if MSDOS
  763. extern    void    raw_set_stdio P_((int));
  764. #endif
  765.  
  766. #endif  /* ndef _CONFIG_H */
  767.