1 /* $FreeBSD$ */ 2 /* 3 * config.h -- configure various defines for tcsh 4 * 5 * All source files should #include this FIRST. 6 * 7 * Edit this to match your system type. 8 */ 9 10 #ifndef _h_config 11 #define _h_config 12 /****************** System dependant compilation flags ****************/ 13 /* 14 * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). 15 */ 16 #define POSIX 17 18 /* 19 * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 20 * job control facilities. 21 */ 22 #define POSIXJOBS 23 24 /* 25 * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. 26 */ 27 #undef POSIXSIGS 28 29 /* 30 * VFORK This machine has a vfork(). 31 * It used to be that for job control to work, this define 32 * was mandatory. This is not the case any more. 33 * If you think you still need it, but you don't have vfork, 34 * define this anyway and then do #define vfork fork. 35 * I do this anyway on a Sun because of yellow pages brain damage, 36 * [should not be needed under 4.1] 37 * and on the iris4d cause SGI's fork is sufficiently "virtual" 38 * that vfork isn't necessary. (Besides, SGI's vfork is weird). 39 * Note that some machines eg. rs6000 have a vfork, but not 40 * with the berkeley semantics, so we cannot use it there either. 41 */ 42 #define VFORK 43 44 /* 45 * BSDJOBS You have BSD-style job control (both process groups and 46 * a tty that deals correctly 47 */ 48 #define BSDJOBS 49 50 /* 51 * BSDSIGS You have 4.2-style signals, rather than USG style. 52 * Note: POSIX systems should not define this unless they 53 * have sigvec() and friends (ie: 4.3BSD-RENO, HP-UX). 54 */ 55 #define BSDSIGS 56 57 /* 58 * BSDTIMES You have BSD-style process time stuff (like rusage) 59 * This may or may not be true. For example, Apple Unix 60 * (OREO) has BSDJOBS and BSDSIGS but not BSDTIMES. 61 */ 62 #define BSDTIMES 63 64 /* 65 * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 66 */ 67 #define BSDLIMIT 68 69 /* 70 * TERMIO You have struct termio instead of struct sgttyb. 71 * This is usually the case for SYSV systems, where 72 * BSD uses sgttyb. POSIX systems should define this 73 * anyway, even though they use struct termios. 74 */ 75 #define TERMIO 76 77 /* 78 * SYSVREL Your machine is SYSV based (HPUX, A/UX) 79 * NOTE: don't do this if you are on a Pyramid -- tcsh is 80 * built in a BSD universe. 81 * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V 82 * you are running. Or set it to 0 if you are not SYSV based 83 */ 84 #define SYSVREL 0 85 86 /* 87 * YPBUGS Work around Sun YP bugs that cause expansion of ~username 88 * to send command output to /dev/null 89 */ 90 #undef YPBUGS 91 92 /****************** local defines *********************/ 93 94 #if defined(__FreeBSD__) 95 #define NLS_BUGS 96 #define BSD_STYLE_COLORLS 97 /* we want to use the system malloc when we install as /bin/csh */ 98 #define SYSMALLOC 99 /* Use LC_MESSAGES locale category to open the message catalog */ 100 #define MCLoadBySet NL_CAT_LOCALE 101 #define BUFSIZE 8192 102 #endif 103 104 #if defined(__bsdi__) 105 /* 106 * _PATH_TCSHELL if you've change the installation location (vix) 107 */ 108 #include <sys/param.h> 109 # ifdef _BSDI_VERSION >= 199701 110 # define _PATH_TCSHELL "/bin/tcsh" 111 # undef SYSMALLOC 112 # define SYSMALLOC 113 # else 114 # define _PATH_TCSHELL "/usr/contrib/bin/tcsh" 115 # endif 116 117 # undef NLS 118 # undef NLS_CATALOGS 119 120 #elif defined(__APPLE__) 121 # define SYSMALLOC 122 123 #else 124 # define NLS_CATALOGS 125 #endif 126 127 #endif /* _h_config */ 128