/* * config.h -- configure various defines for tcsh * * All source files should #include this FIRST. * * Edit this to match your system type. */ #ifndef _h_config #define _h_config /****************** System dependant compilation flags ****************/ /* * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). */ #ifdef mips # define POSIX #else # undef POSIX #endif /* * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) * job control facilities. */ #undef POSIXJOBS /* * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. */ #undef POSIXSIGS /* * VFORK This machine has a vfork(). * It used to be that for job control to work, this define * was mandatory. This is not the case any more. * If you think you still need it, but you don't have vfork, * define this anyway and then do #define vfork fork. * I do this anyway on a Sun because of yellow pages brain damage, * [should not be needed under 4.1] * and on the iris4d cause SGI's fork is sufficiently "virtual" * that vfork isn't necessary. (Besides, SGI's vfork is weird). * Note that some machines eg. rs6000 have a vfork, but not * with the berkeley semantics, so we cannot use it there either. */ #undef VFORK /* * BSDJOBS You have BSD-style job control (both process groups and * a tty that deals correctly */ #ifdef mips # define BSDJOBS #else # undef BSDJOBS #endif /* * BSDSIGS You have 4.2-style signals, rather than USG style. * Note: POSIX systems should not define this unless they * have sigvec() and friends (ie: 4.3BSD-RENO, HP-UX). */ #undef BSDSIGS /* * BSDTIMES You have BSD-style process time stuff (like rusage) * This may or may not be true. For example, Apple Unix * (OREO) has BSDJOBS and BSDSIGS but not BSDTIMES. */ #ifdef mips # define BSDTIMES #else # undef BSDTIMES #endif /* * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) */ #ifdef mips # define BSDLIMIT #else # undef BSDLIMIT #endif /* * BSDNICE Your system uses setpriority() instead of nice, to * change a processes scheduling priority */ #ifdef mips # define BSDNICE #else # undef BSDNICE #endif /* * TERMIO You have struct termio instead of struct sgttyb. * This is usually the case for SYSV systems, where * BSD uses sgttyb. POSIX systems should define this * anyway, even though they use struct termios. */ #define TERMIO /* * SYSVREL Your machine is SYSV based (HPUX, A/UX) * NOTE: don't do this if you are on a Pyramid -- tcsh is * built in a BSD universe. * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V * you are running. Or set it to 0 if you are not SYSV based */ #ifdef mips # if defined(SYSTYPE_SVR4) || defined(_SYSTYPE_SVR4) # define SYSVREL 4 # else # define SYSVREL 3 # endif /* SYSTYPE_SVR4 || _SYSTYPE_SVR4 */ #else /* * For the 3000: * We may not technically be compliant, and I don't know whether we are * SVR1 or SVR2. We're pretty System V-ish, though, so we won't say 0. * We'll guess 1. There are no checks for SYSVREL <= 1 vs. SYSVREL >= 2 at * current writing anyway. */ # define SYSVREL 1 #endif /* * YPBUGS Work around Sun YP bugs that cause expansion of ~username * to send command output to /dev/null */ #define YPBUGS /* * SIGVOID Define this if your signal handlers return void. On older * systems, signal returns int, but on newer ones, it returns void. */ #ifdef mips # define SIGVOID #else # undef SIGVOID #endif /* * HAVEDUP2 Define this if your system supports dup2(). */ #ifdef mips # define HAVEDUP2 #else # undef HAVEDUP2 #endif /* * HAVEUTMPX Define if you have extended utmp (utmpx). * (common for svr4 systems) * UTHOST Does the utmp file have a host field? */ #if SYSVREL > 3 # define HAVEUTMPX # define UTHOST #else # undef UTHOST #endif /* SVR4 */ /* * DIRENT Your system has instead of */ #define DIRENT /* * ECHO_STYLE Optionally change the behavior of the builtin echo * BOTH_ECHO: Support both bsd options (-n) and sysv escapes (\nnn) * BSD_ECHO: Support only -n * SYSV_ECHO: Support only sysv escapes (\nnn) * NONE_ECHO: Pure echo. */ #define ECHO_STYLE BOTH_ECHO /* Both BSD and SYSV options */ /****************** local defines *********************/ #ifdef mips /* * IRIS4D You are running on an Iris 4D */ # define IRIS4D /* * IRIX3_3 You are running IRIX 3.3 (or later) */ # define IRIX3_3 #endif #ifdef m68000 /* * IRIS3D You are running on an Iris 3000 series */ # define IRIS3D #endif /* * lookupname/namei ignores tailing '/' on files */ #define NAMEI_BUG /****************** configurable hacks ****************/ /* have been moved to config_f.h */ #include "config_f.h" #ifdef notdef /* You can put these back if your os does not really support nls */ #undef NLS #undef NLS_CATALOGS #endif #endif /* _h_config */