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#define POSIX 16 17/* 18 * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 19 * job control facilities. 20 */ 21#define POSIXJOBS 22 23/* 24 * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. 25 */ 26#undef POSIXSIGS 27 28/* 29 * VFORK This machine has a vfork(). 30 * It used to be that for job control to work, this define 31 * was mandatory. This is not the case any more. 32 * If you think you still need it, but you don't have vfork, 33 * define this anyway and then do #define vfork fork. 34 * I do this anyway on a Sun because of yellow pages brain damage, 35 * [should not be needed under 4.1] 36 * and on the iris4d cause SGI's fork is sufficiently "virtual" 37 * that vfork isn't necessary. (Besides, SGI's vfork is weird). 38 * Note that some machines eg. rs6000 have a vfork, but not 39 * with the berkeley semantics, so we cannot use it there either. 40 */ 41#define VFORK 42 43/* 44 * BSDJOBS You have BSD-style job control (both process groups and 45 * a tty that deals correctly 46 */ 47#define BSDJOBS 48 49/* 50 * BSDSIGS You have 4.2-style signals, rather than USG style. 51 * Note: POSIX systems should not define this unless they 52 * have sigvec() and friends (ie: 4.3BSD-RENO, HP-UX). 53 */ 54#define BSDSIGS 55 56/* 57 * BSDTIMES You have BSD-style process time stuff (like rusage) 58 * This may or may not be true. For example, Apple Unix 59 * (OREO) has BSDJOBS and BSDSIGS but not BSDTIMES. 60 */ 61#define BSDTIMES 62 63/* 64 * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 65 */ 66#define BSDLIMIT 67 68/* 69 * BSDNICE Your system uses setpriority() instead of nice, to 70 * change a processes scheduling priority 71 */ 72#define BSDNICE 73 74/* 75 * TERMIO You have struct termio instead of struct sgttyb. 76 * This is usually the case for SYSV systems, where 77 * BSD uses sgttyb. POSIX systems should define this 78 * anyway, even though they use struct termios. 79 */ 80#define TERMIO 81 82/* 83 * SYSVREL Your machine is SYSV based (HPUX, A/UX) 84 * NOTE: don't do this if you are on a Pyramid -- tcsh is 85 * built in a BSD universe. 86 * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V 87 * you are running. Or set it to 0 if you are not SYSV based 88 */ 89#define SYSVREL 0 90 91/* 92 * YPBUGS Work around Sun YP bugs that cause expansion of ~username 93 * to send command output to /dev/null 94 */ 95#undef YPBUGS 96 97/* 98 * SIGVOID Define this if your signal handlers return void. On older 99 * systems, signal returns int, but on newer ones, it returns void. 100 */ 101#define SIGVOID 102 103/* 104 * HAVEDUP2 Define this if your system supports dup2(). 105 */ 106#define HAVEDUP2 107 108/* 109 * UTHOST Does the utmp file have a host field? 110 */ 111#define UTHOST 112 113/* 114 * DIRENT Your system has <dirent.h> instead of <sys/dir.h> 115 */ 116#define DIRENT 117/****************** local defines *********************/ 118/****************** configurable hacks ****************/ 119 120/* have been moved to config_f.h */ 121#include "config_f.h" 122 123#if defined(__FreeBSD__) 124#define NLS_BUGS 125#define BSD_STYLE_COLORLS 126#endif 127 128#if defined(__NetBSD__) 129#include <sys/param.h> 130#if __NetBSD_Version__ >= 106030000 /* NetBSD 1.6C */ 131#define HAVEUTMPX 132#endif 133#endif 134 135#if defined(__bsdi__) 136/* 137 * _PATH_TCSHELL if you've change the installation location (vix) 138 */ 139#include <sys/param.h> 140# ifdef _BSDI_VERSION >= 199701 141# define _PATH_TCSHELL "/bin/tcsh" 142# undef SYSMALLOC 143# define SYSMALLOC 144# else 145# define _PATH_TCSHELL "/usr/contrib/bin/tcsh" 146# endif 147 148# undef NLS 149# undef NLS_CATALOGS 150 151#elif defined(__APPLE__) 152# define SYSMALLOC 153 154#else 155# define NLS_CATALOGS 156#endif 157 158#endif /* _h_config */ 159