1/* 2 * config.h -- configure various defines for tcsh 3 * 4 * All source files should #include this FIRST. 5 * 6 * Edit this to match your system type. 7 */ 8 9#ifndef _h_config 10#define _h_config 11/****************** System dependant compilation flags ****************/ 12/* 13 * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). 14 */ 15#ifdef mips 16# define POSIX 17#else 18# undef POSIX 19#endif 20 21/* 22 * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 23 * job control facilities. 24 */ 25#undef POSIXJOBS 26 27/* 28 * VFORK This machine has a vfork(). 29 * It used to be that for job control to work, this define 30 * was mandatory. This is not the case any more. 31 * If you think you still need it, but you don't have vfork, 32 * define this anyway and then do #define vfork fork. 33 * I do this anyway on a Sun because of yellow pages brain damage, 34 * [should not be needed under 4.1] 35 * and on the iris4d cause SGI's fork is sufficiently "virtual" 36 * that vfork isn't necessary. (Besides, SGI's vfork is weird). 37 * Note that some machines eg. rs6000 have a vfork, but not 38 * with the berkeley semantics, so we cannot use it there either. 39 */ 40#undef VFORK 41 42/* 43 * BSDJOBS You have BSD-style job control (both process groups and 44 * a tty that deals correctly 45 */ 46#ifdef mips 47# define BSDJOBS 48#else 49# undef BSDJOBS 50#endif 51 52/* 53 * BSDTIMES You have BSD-style process time stuff (like rusage) 54 * This may or may not be true. For example, Apple Unix 55 * (OREO) has BSDJOBS but not BSDTIMES. 56 */ 57#ifdef mips 58# define BSDTIMES 59#else 60# undef BSDTIMES 61#endif 62 63/* 64 * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 65 */ 66#ifdef mips 67# define BSDLIMIT 68#else 69# undef BSDLIMIT 70#endif 71 72/* 73 * TERMIO You have struct termio instead of struct sgttyb. 74 * This is usually the case for SYSV systems, where 75 * BSD uses sgttyb. POSIX systems should define this 76 * anyway, even though they use struct termios. 77 */ 78#define TERMIO 79 80/* 81 * SYSVREL Your machine is SYSV based (HPUX, A/UX) 82 * NOTE: don't do this if you are on a Pyramid -- tcsh is 83 * built in a BSD universe. 84 * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V 85 * you are running. Or set it to 0 if you are not SYSV based 86 */ 87#ifdef mips 88# if defined(SYSTYPE_SVR4) || defined(_SYSTYPE_SVR4) 89# define SYSVREL 4 90# else 91# define SYSVREL 3 92# endif /* SYSTYPE_SVR4 || _SYSTYPE_SVR4 */ 93#else 94/* 95 * For the 3000: 96 * We may not technically be compliant, and I don't know whether we are 97 * SVR1 or SVR2. We're pretty System V-ish, though, so we won't say 0. 98 * We'll guess 1. There are no checks for SYSVREL <= 1 vs. SYSVREL >= 2 at 99 * current writing anyway. 100 */ 101# define SYSVREL 1 102#endif 103 104/* 105 * YPBUGS Work around Sun YP bugs that cause expansion of ~username 106 * to send command output to /dev/null 107 */ 108#define YPBUGS 109 110/* 111 * ECHO_STYLE Optionally change the behavior of the builtin echo 112 * BOTH_ECHO: Support both bsd options (-n) and sysv escapes (\nnn) 113 * BSD_ECHO: Support only -n 114 * SYSV_ECHO: Support only sysv escapes (\nnn) 115 * NONE_ECHO: Pure echo. 116 */ 117#define ECHO_STYLE BOTH_ECHO /* Both BSD and SYSV options */ 118 119/****************** local defines *********************/ 120#ifdef mips 121/* 122 * IRIS4D You are running on an Iris 4D 123 */ 124# define IRIS4D 125 126/* 127 * IRIX3_3 You are running IRIX 3.3 (or later) 128 */ 129# define IRIX3_3 130#endif 131 132#ifdef m68000 133/* 134 * IRIS3D You are running on an Iris 3000 series 135 */ 136# define IRIS3D 137#endif 138 139/* 140 * lookupname/namei ignores tailing '/' on files 141 */ 142#define NAMEI_BUG 143 144#ifdef notdef 145/* You can put these back if your os does not really support nls */ 146#undef NLS_CATALOGS 147#endif 148#endif /* _h_config */ 149