home *** CD-ROM | disk | FTP | other *** search
- /*
- * vi configuration file
- * We try to automatically configure to various compilers and operating
- * systems. Extend the autoconf section as needed.
- */
-
- #ifndef _CONFIG_H
- # define _CONFIG_H
-
- /*************************** autoconf section ************************/
-
- /* Commodore-Amiga */
- #ifdef amiga
- # define AMIGA 1
- # define COMPILED_BY "Manx Aztec C 5.2b"
- #endif
-
- /* standard unix V (?) */
- #ifdef M_SYSV
- # define UNIXV 1
- #endif
-
- /* xelos system, University of Ulm */
- #ifdef xelos
- # define UNIXV 1
- #endif
-
- /* BSD UNIX? */
- #ifdef bsd
- # define BSD 1
- #else
- # ifdef sun
- # define BSD 1
- # endif
- #endif
-
- /* Microsoft C: sorry, Watcom does the same thing */
- #ifdef M_I86
- # ifndef M_SYSV
- # define MSDOS 1
- # ifdef IBMC2
- # define COMPILED_BY "IBM C/2 1.00"
- # else
- # define MICROSOFT 1
- # define COMPILED_BY "Microsoft C 5.10"
- # endif
- # endif
- #endif
-
- /* Borland's Turbo C */
- #ifdef __TURBOC__
- # define MSDOS 1
- # define TURBOC 1
- # ifdef __BORLANDC__
- # define COMPILED_BY "Borland C 2.00"
- # else
- # define COMPILED_BY (__TURBOC__ >= 661 ? "Turbo C++ 1.00" : "Turbo C 2.00")
- # endif
- #endif
-
- /* Tos Mark-Williams */
- #ifdef M68000
- # define TOS 1
- # define COMPILED_BY "Mark Williams C"
- #endif
-
- /* Tos GNU-C */
- #if defined(__atarist__) && defined(__gem__)
- # define TOS 1
- # define COMPILED_BY "GNU-C " __VERSION__
- #endif
-
- /* OS9/68000 */
- #ifdef OSK
- # define COMPILED_BY "Microware C V2.3 Edition 40"
- #endif
-
- /* DEC Rainbow, running MS-DOS (handled by earlier MS-DOS tests) */
- /* (would need -DRAINBOW in CFLAGS to compile a Rainbow-compatible .EXE) */
-
- #ifdef VMS
- # define COMPILED_BY "VAX/VMS VAXC compiler"
- # undef VMS
- # define VMS 1
- #endif
-
- /*************************** end of autoconf section ************************/
-
- /* All undefined symbols are defined to zero here, to allow for older */
- /* compilers which dont understand #if defined() or #if UNDEFINED_SYMBOL */
-
- /*************************** operating systems *****************************/
-
- #ifndef BSD
- # define BSD 0 /* UNIX - Berkeley 4.x */
- #endif
-
- #ifndef UNIXV
- # define UNIXV 0 /* UNIX - AT&T SYSV */
- #endif
-
- #ifndef UNIX7
- # define UNIX7 0 /* UNIX - version 7 */
- #endif
-
- #ifndef MSDOS
- # define MSDOS 0 /* PC */
- #endif
-
- #ifndef TOS
- # define TOS 0 /* Atari ST */
- #endif
-
- #ifndef AMIGA
- # define AMIGA 0 /* Commodore Amiga */
- #endif
-
- #ifndef OSK
- # define OSK 0 /* OS-9 / 68k */
- #endif
-
- #ifndef COHERENT
- # define COHERENT 0 /* Coherent */
- #endif
-
- #ifndef RAINBOW /* DEC Rainbow support, under MS-DOS */
- # define RAINBOW 0
- #endif
-
- #ifndef VMS
- # define VMS 0 /* VAX/VMS */
- #endif
- /* Minix has no predefines */
- #if !BSD && !UNIXV && !UNIX7 && !MSDOS && !TOS && !AMIGA && !OSK && !COHERENT && !VMS
- # define MINIX 1
- #else
- # define MINIX 0
- #endif
-
- /* generic combination of Unices */
- #if UNIXV || UNIX7 || BSD || MINIX || COHERENT
- # define ANY_UNIX 1
- #else
- # define ANY_UNIX 0
- #endif
-
- /*************************** compilers **************************************/
-
- #ifndef AZTEC_C
- # define AZTEC_C 0
- #endif
-
- #ifndef MICROSOFT
- # define MICROSOFT 0
- #endif
-
- #ifndef TURBOC
- # define TURBOC 0
- #endif
-
- /******************************* Credit ************************************/
-
- #if MSDOS
- # define CREDIT "Ported to MS-DOS by Guntram Blohm & Martin Patzel"
- # if RAINBOW
- # define CREDIT2 "Rainbow support added by Willett Kempton"
- # endif
- #endif
-
- #if AMIGA
- # define CREDIT "Ported to AmigaDOS 2.04 by Mike Rieser & Dale Rahn"
- #endif
-
- #if TOS
- # define CREDIT "Ported to Atari/TOS by Guntram Blohm & Martin Patzel"
- #endif
-
- #if OSK
- # define CREDIT "Ported to Microware OS9/68k by Peter Reinig"
- #endif
-
- #if COHERENT
- # define CREDIT "Ported to Coherent by Esa Ahola"
- #endif
-
- #if VMS
- # define CREDIT "Ported to VAX/VMS by John Campbell"
- #endif
- /*************************** functions depending on OS *********************/
-
- /* There are two terminal-related functions that we need: ttyread() and
- * ttywrite(). The ttyread() function implements read-with-timeout and is
- * a true function on all systems. The ttywrite() function is almost always
- * just a macro...
- */
- #if !TOS && !AMIGA
- # define ttywrite(buf, len) write(1, buf, (unsigned)(len)) /* raw write */
- #endif
-
- /* The strchr() function is an official standard now, so everybody has it
- * except Unix version 7 (which is old) and BSD Unix (which is academic).
- * Those guys use something called index() to do the same thing.
- */
- #if BSD || UNIX7 || OSK
- # define strchr index
- #endif
- extern char *strchr();
-
- /* BSD uses bcopy() instead of memcpy() */
- #if BSD
- # define memcpy(dest, src, siz) bcopy(src, dest, siz)
- #endif
-
- /* BSD uses getwd() instead of getcwd(). The arguments are a little different,
- * but we'll ignore that and hope for the best; adding arguments to the macro
- * would mess up an "extern" declaration of the function.
- */
- #if BSD || COHERENT
- # define getcwd getwd
- #endif
- extern char *getcwd();
-
- /* text versa binary mode for read/write */
- #if !TOS
- #define tread(fd,buf,n) read(fd,buf,(unsigned)(n))
- #define twrite(fd,buf,n) write(fd,buf,(unsigned)(n))
- #endif
-
- /**************************** Compiler quirks *********************************/
-
- /* the UNIX version 7 and (some) TOS compilers, don't allow "void" */
- #if UNIX7 || TOS
- # define void int
- #endif
-
- /* as far as I know, all compilers except version 7 support unsigned char */
- /* NEWFLASH: the Minix-ST compiler has subtle problems with unsigned char */
- #if UNIX7 || MINIX
- # define UCHAR(c) ((c) & 0xff)
- # define uchar char
- #else
- # define UCHAR(c) ((unsigned char)(c))
- # define uchar unsigned char
- #endif
-
- /* Some compilers prefer to have malloc declared as returning a (void *) */
- #if BSD || AMIGA
- extern void *malloc();
- #else
- extern char *malloc();
- #endif
-
- /* everybody but Amiga wants lseek declared here */
- #if !AMIGA
- extern long lseek();
- #endif
-
- /******************* Names of files and environment vars **********************/
-
- #if ANY_UNIX
- # ifndef TMPDIR
- # if MINIX
- # define TMPDIR "/usr/tmp" /* Keep elvis' temp files off RAM disk! */
- # else
- # define TMPDIR "/tmp" /* directory where temp files live */
- # endif
- # endif
- # ifndef PRSVDIR
- # define PRSVDIR "/usr/preserve" /* directory where preserved file live */
- # endif
- # ifndef PRSVINDEX
- # define PRSVINDEX "/usr/preserve/Index" /* index of files in PRSVDIR */
- # endif
- # ifndef EXRC
- # define EXRC ".exrc" /* init file in current directory */
- # endif
- # define SCRATCHOUT "%s/soXXXXXX" /* temp file used as input to filter */
- # ifndef SHELL
- # define SHELL "/bin/sh" /* default shell */
- # endif
- # if COHERENT
- # ifndef REDIRECT
- # define REDIRECT ">" /* Coherent CC writes errors to stdout */
- # endif
- # endif
- #endif
-
- #if AMIGA /* Specify AMIGA environment */
- # ifndef CC_COMMAND
- # define CC_COMMAND "cc" /* generic C compiler */
- # endif
- # ifndef COLON
- # define COLON ':' /* Amiga files can also end in `:' */
- # endif
- # ifndef SYSEXRC
- # define SYSEXRC "S:" EXRC /* name of ".exrc" file in system dir */
- # endif
- # ifndef MAXRCLEN
- # define MAXRCLEN 2048 /* max size of a .exrc file */
- # endif
- # ifndef NBUFS
- # define NBUFS 10 /* must be at least 3 -- more is better */
- # endif
- # ifndef NEEDSYNC
- # define NEEDSYNC TRUE /* assume ":se sync" by default */
- # endif
- # ifndef PRSVDIR
- # define PRSVDIR "Elvis:" /* directory where preserved file live */
- # endif
- # ifndef PRSVINDEX
- # define PRSVINDEX "Elvis:Index" /* index of files in PRSVDIR */
- # endif
- # ifndef REDIRECT
- # define REDIRECT ">" /* Amiga writes errors to stdout */
- # endif
- # ifndef SCRATCHIN
- # define SCRATCHIN "%sSIXXXXXX"
- # endif
- # ifndef SCRATCHOUT
- # define SCRATCHOUT "%sSOXXXXXX"
- # endif
- # ifndef SHELL
- # define SHELL "newshell" /* default shell */
- # endif
- # ifndef TERMTYPE
- # define TERMTYPE "amiga" /* default termtype */
- # endif
- # ifndef TMPDIR /* for AMIGA should end in `:' or `/' */
- # define TMPDIR "T:" /* directory where temp files live */
- # endif
- # ifndef TMPNAME
- # define TMPNAME "%selv_%x.%x" /* format of names for temp files */
- # endif
- #endif
-
- #if MSDOS || TOS
- /* do not change TMPNAME and SCRATCH*: they MUST begin with '%s\\'! */
- # ifndef TMPDIR
- # define TMPDIR "C:\\tmp" /* directory where temp files live */
- # endif
- # ifndef PRSVDIR
- # define PRSVDIR "C:\\preserve" /* directory where preserved file live */
- # endif
- # ifndef PRSVINDEX
- # define PRSVINDEX "C:\\preserve\\Index" /* index of files in PRSVDIR */
- # endif
- # define TMPNAME "%s\\elv_%x.%x" /* temp file */
- # if MSDOS
- # if MICROSOFT
- # define CC_COMMAND "cl -c" /* C compiler */
- # else
- # if __BORLANDC__ /* Borland C */
- # define CC_COMMAND "bcc" /* C compiler */
- # else
- # if TURBOC /* Turbo C */
- # define CC_COMMAND "tcc" /* C compiler */
- # endif /* TURBOC */
- # endif /* BORLANDC */
- # endif /* MICROSOFT */
- # endif /* MSDOS */
- # define SCRATCHIN "%s\\siXXXXXX" /* DOS ONLY - output of filter program */
- # define SCRATCHOUT "%s\\soXXXXXX" /* temp file used as input to filter */
- # define SLASH '\\'
- # ifndef SHELL
- # if TOS
- # define SHELL "shell.ttp" /* default shell */
- # else
- # define SHELL "command.com" /* default shell */
- # endif
- # endif
- # define NEEDSYNC TRUE /* assume ":se sync" by default */
- # if TOS && __GNUC__ /* probably on other systems, too */
- # define REDIRECT "2>" /* GNUC reports on 2, others on 1 */
- # define CC_COMMAND "gcc -c"
- # else
- # define REDIRECT ">" /* shell's redirection of stderr */
- # endif
- #endif
-
- #if VMS
- /* do not change TMPNAME, and SCRATCH*: they MUST begin with '%s\\'! */
- # ifndef TMPDIR
- # define TMPDIR "sys$scratch:" /* directory where temp files live */
- # endif
- # define TMPNAME "%selv_%x.%x;1" /* temp file */
- # define SCRATCHIN "%ssiXXXXXX" /* DOS ONLY - output of filter program */
- # define SCRATCHOUT "%ssoXXXXXX" /* temp file used as input to filter */
- # define SLASH '\:' /* Worry point... jdc */
- # ifndef SHELL
- # define SHELL "" /* default shell */
- # endif
- # define REDIRECT ">" /* shell's redirection of stderr */
- # define tread(fd,buf,n) vms_read(fd,buf,(unsigned)(n))
- # define close vms_close
- # define lseek vms_lseek
- # define unlink vms_delete
- # define delete __delete /* local routine conflicts w/VMS rtl routine. */
- # define rpipe vms_rpipe
- # define rpclose vms_rpclose
- # define ttyread vms_ttyread
- /* There is no sync() on vms */
- # define sync()
- /* jdc -- seems VMS external symbols are case insensitive */
- # define m_fWord m_fw_ord
- # define m_bWord m_bw_ord
- # define m_eWord m_ew_ord
- # define m_Nsrch m_n_srch
- # define m_Fch m_f_ch
- # define m_Tch m_t_ch
- # define v_Xchar v_x_char
- /* jdc -- also, braindead vms curses always found by linker. */
- # define LINES elvis_LINES
- # define COLS elvis_COLS
- # define curscr elvis_curscr
- # define stdscr elvis_stdscr
- # define initscr elvis_initscr
- # define endwin elvis_endwin
- # define wrefresh elvis_wrefresh
- #endif
-
- #if OSK
- # ifndef TMPDIR
- # define TMPDIR "/dd/tmp" /* directory where temp files live */
- # endif
- # ifndef PRSVDIR
- # define PRSVDIR "/dd/usr/preserve" /* directory where preserved file live */
- # endif
- # ifndef PRSVINDEX
- # define PRSVINDEX "/dd/usr/preserve/Index" /* index of files in PRSVDIR */
- # endif
- # ifndef CC_COMMAND
- # define CC_COMMAND "cc -r" /* name of the compiler */
- # endif
- # ifndef EXRC
- # define EXRC ".exrc" /* init file in current directory */
- # endif
- # define SCRATCHOUT "%s/soXXXXXX" /* temp file used as input to filter */
- # ifndef SHELL
- # define SHELL "shell" /* default shell */
- # endif
- # define FILEPERMS (S_IREAD|S_IWRITE) /* file permissions used for creat() */
- # define REDIRECT ">>-" /* shell's redirection of stderr */
- # define sync() /* OS9 doesn't need a sync() */
- #endif
-
- #ifndef TAGS
- # define TAGS "tags" /* name of the tags file */
- #endif
-
- #ifndef TMPNAME
- # define TMPNAME "%s/elv_%x.%x" /* format of names for temp files */
- #endif
-
- #ifndef EXINIT
- # define EXINIT "EXINIT" /* name of EXINIT environment variable */
- #endif
-
- #ifndef EXRC
- # define EXRC "elvis.rc" /* name of ".exrc" file in current dir */
- #endif
-
- #ifndef HMEXRC
- # define HMEXRC EXRC /* name of ".exrc" file in home dir */
- #endif
-
- #ifndef KEYWORDPRG
- # define KEYWORDPRG "ref"
- #endif
-
- #ifndef SCRATCHOUT
- # define SCRATCHIN "%s/SIXXXXXX"
- # define SCRATCHOUT "%s/SOXXXXXX"
- #endif
-
- #ifndef ERRLIST
- # define ERRLIST "errlist"
- #endif
-
- #ifndef SLASH
- # define SLASH '/'
- #endif
-
- #ifndef SHELL
- # define SHELL "shell"
- #endif
-
- #ifndef REG
- # define REG register
- #endif
-
- #ifndef NEEDSYNC
- # define NEEDSYNC FALSE
- #endif
-
- #ifndef FILEPERMS
- # define FILEPERMS 0666
- #endif
-
- #ifndef PRESERVE
- # define PRESERVE "elvprsv" /* name of the "preserve" program */
- #endif
-
- #ifndef CC_COMMAND
- # define CC_COMMAND "cc -c"
- #endif
-
- #ifndef MAKE_COMMAND
- # define MAKE_COMMAND "make"
- #endif
-
- #ifndef REDIRECT
- # define REDIRECT "2>"
- #endif
-
- #ifndef BLKSIZE
- # ifdef CRUNCH
- # define BLKSIZE 1024
- # else
- # define BLKSIZE 2048
- # endif
- #endif
-
- #ifndef KEYBUFSIZE
- # define KEYBUFSIZE 1000
- #endif
-
- #endif /* ndef _CONFIG_H */
-