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