/*
* 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.
*/
#define POSIXJOBS
/*
* 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
*/
#undef BSDJOBS
/*
* BSDTIMES You have BSD-style process time stuff (like rusage)
* This may or may not be true. For example, Apple Unix
* (OREO) has BSDJOBS 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
/*
* 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
/*
* 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
#endif /* _h_config */