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#ifndef _h_config 9#define _h_config 10 11#ifdef PL8CC 12/* for an RT running the IBM Sys. V version of AIX. -- tells the compiler 13 reasonable things. MUST BE the fist thing the compiler sees */ 14\option MAXD(20000,20000) MAXS(50000,50000) MAXL(20000,20000) MAXH(20000,20000); 15\option MAXA(20000,20000) MAXP(500) EL_SIZE(20000) ET_SIZE(30000); 16\option OPTIONS UNSAFE; 17#endif 18 19#if defined(_AIX) && defined(_I386) && defined(aiws) 20# undef aiws /* not an rt */ 21#endif /* _AIX && _386 && aiws */ 22 23/****************** System dependant compilation flags ****************/ 24/* 25 * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). 26 */ 27#if defined(_IBMR2) 28#define POSIX 29#else 30#undef POSIX 31#endif 32 33/* 34 * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 35 * job control facilities. 36 */ 37#ifndef aiws 38#define POSIXJOBS 39#else 40#undef POSIXJOBS 41#endif 42 43/* 44 * VFORK This machine has a vfork(). 45 * It used to be that for job control to work, this define 46 * was mandatory. This is not the case any more. 47 * If you think you still need it, but you don't have vfork, 48 * define this anyway and then do #define vfork fork. 49 * I do this anyway on a Sun because of yellow pages brain damage, 50 * [should not be needed under 4.1] 51 * and on the iris4d cause SGI's fork is sufficiently "virtual" 52 * that vfork isn't necessary. (Besides, SGI's vfork is weird). 53 * Note that some machines eg. rs6000 have a vfork, but not 54 * with the berkeley semantics, so we cannot use it there either. 55 */ 56#undef VFORK 57 58/* 59 * BSDJOBS You have BSD-style job control (both process groups and 60 * a tty that deals correctly 61 */ 62#ifndef aiws 63# define BSDJOBS 64#else 65# undef BSDJOBS 66#endif 67 68/* 69 * BSDTIMES You have BSD-style process time stuff (like rusage) 70 * This may or may not be true. For example, Apple Unix 71 * (OREO) has BSDJOBS but not BSDTIMES. 72 */ 73#ifndef aiws 74# define BSDTIMES 75#else 76# undef BSDTIMES 77#endif 78 79/* 80 * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 81 */ 82#ifndef aiws 83# define BSDLIMIT 84#else 85# undef BSDLIMIT 86#endif 87 88/* 89 * TERMIO You have struct termio instead of struct sgttyb. 90 * This is usually the case for SYSV systems, where 91 * BSD uses sgttyb. POSIX systems should define this 92 * anyway, even though they use struct termios. 93 */ 94#if defined(_IBMR2) || defined(aiws) 95# define TERMIO 96#else 97# undef TERMIO 98#endif /* _IBMR2 || aiws */ 99 100/* 101 * SYSVRELYour machine is SYSV based (HPUX, A/UX) 102 * NOTE: don't do this if you are on a Pyramid -- tcsh is 103 * built in a BSD universe. 104 * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V 105 * you are running. Or set it to 0 if you are not SYSV based 106 */ 107#ifndef aiws 108# define SYSVREL 0 109#else 110# define SYSVREL 2 111#endif /* aiws */ 112 113/* 114 * YPBUGS Work around Sun YP bugs that cause expansion of ~username 115 * to send command output to /dev/null 116 */ 117#undef YPBUGS 118 119/****************** local defines *********************/ 120/* 121 * IBMAIX You are running aix on the ps2, rs6000, on ibm370 122 */ 123#define IBMAIX 124 125/* 126 * TCF You have the transparent computing facility. 127 */ 128#if !defined(_IBMR2) && !defined(aiws) 129# define TCF /* ps2 and 370 have TCF */ 130#else 131# undef TCF /* The rs6000 and the rt does not have TCF yet */ 132#endif 133 134#if defined(_AIX) && defined(_I386) 135# define _AIXPS2 /* give a more sane name */ 136#endif /* _AIX && _386 */ 137 138#if defined(_AIXPS2) 139# define _NO_PROTO 140# define _BSD 141# define _BSD_INCLUDES 142#endif /* _AIXPS2 */ 143 144#if defined(_IBMR2) 145# define _POSIX_SOURCE 146# define _ALL_SOURCE /* for window size etc, extra tty chars etc. */ 147#endif 148 149/* 150 * Function pointer comparisons are broken 151 */ 152#ifdef aiws 153#define void int 154#endif /* aiws */ 155 156/* > 2GB file support (stat64 etc.) */ 157#define _LARGE_FILES 158 159#if defined(_AIXPS2) || defined(aiws) 160# undef NLS_CATALOGS 161#endif 162 163#endif /* _h_config */ 164