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#undef POSIX 16 17/* 18 * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 19 * job control facilities. 20 */ 21#undef POSIXJOBS 22 23/* 24 * VFORK This machine has a vfork(). 25 * It used to be that for job control to work, this define 26 * was mandatory. This is not the case any more. 27 * If you think you still need it, but you don't have vfork, 28 * define this anyway and then do #define vfork fork. 29 * I do this anyway on a Sun because of yellow pages brain damage, 30 * [should not be needed under 4.1] 31 * and on the iris4d cause SGI's fork is sufficiently "virtual" 32 * that vfork isn't necessary. (Besides, SGI's vfork is weird). 33 * Note that some machines eg. rs6000 have a vfork, but not 34 * with the berkeley semantics, so we cannot use it there either. 35 */ 36#if defined(NeXT) && !defined(__STRICT_BSD__) 37# undef VFORK 38#endif 39 40/* 41 * BSDJOBS You have BSD-style job control (both process groups and 42 * a tty that deals correctly 43 */ 44#define BSDJOBS 45 46/* 47 * BSDTIMES You have BSD-style process time stuff (like rusage) 48 * This may or may not be true. For example, Apple Unix 49 * (OREO) has BSDJOBS but not BSDTIMES. 50 */ 51#define BSDTIMES 52 53/* 54 * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 55 */ 56#define BSDLIMIT 57 58/* 59 * TERMIO You have struct termio instead of struct sgttyb. 60 * This is usually the case for SYSV systems, where 61 * BSD uses sgttyb. POSIX systems should define this 62 * anyway, even though they use struct termios. 63 */ 64#undef TERMIO 65 66/* 67 * SYSVREL Your machine is SYSV based (HPUX, A/UX) 68 * NOTE: don't do this if you are on a Pyramid -- tcsh is 69 * built in a BSD universe. 70 * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V 71 * you are running. Or set it to 0 if you are not SYSV based 72 */ 73#define SYSVREL 0 74 75/* 76 * YPBUGS Work around Sun YP bugs that cause expansion of ~username 77 * to send command output to /dev/null 78 */ 79#undef YPBUGS 80 81/****************** local defines *********************/ 82#ifdef NeXT 83# define environ _environ 84#else 85# ifdef notdef 86# define SETENV_IN_LIB /* read comment in sh.func.c */ 87# define setenv(x,y) Setenv(x,y) 88# endif 89#endif 90 91/* this define is necessary for NeXT users running 3.1 without */ 92/* POSIX to avoid undefined symbols during final link */ 93/* You'll need to define __NeXT31__ */ 94#if defined(__NeXT31__) && !defined(POSIX) 95# define _TERMIOS_H_ 96#endif /* __NeXT31__ && !POSIX */ 97 98#ifndef NeXT 99#undef NLS_CATALOGS 100#endif 101#endif /* _h_config */ 102