/* * 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). */ #define POSIX /* * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) * job control facilities. */ #define POSIXJOBS /* * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. */ #define 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 BSDJOBS # 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. */ #undef BSDTIMES /* * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) */ #define BSDLIMIT /* * BSDNICE Your system uses setpriority() instead of nice, to * change a processes scheduling priority */ #define BSDNICE /* * 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, or 3, depending the version of System V * you are running. Or set it to 0 if you are not SYSV based */ #define SYSVREL 4 /* * YPBUGS Work around Sun YP bugs that cause expansion of ~username * to send command output to /dev/null [they are back!] */ #undef YPBUGS /* * NISPLUS Make sure that fd's 0, 1, and 2 always are open so that * Sun's NIS+ doesn't get them, making ~-expansion hang. */ #undef NISPLUS /* * SIGVOID Define this if your signal handlers return void. On older * systems, signal returns int, but on newer ones, it returns void. */ #define SIGVOID /* * HAVEDUP2 Define this if your system supports dup2(). */ #define HAVEDUP2 /* * HAVEUTMPX Define if you have extended utmp (utmpx). * (common for svr4 systems) */ #define HAVEUTMPX /* * UTHOST Does the utmp file have a host field? */ #ifdef HAVEUTMPX # define UTHOST #else # undef UTHOST #endif /* HAVEUTMPX */ /* * 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 /****************** local defines *********************/ #ifndef BSDTIMES # define NEEDgethostname #endif /* * Shadow passwd file */ #undef PW_SHADOW /* * OS Release dependent * Work around OS deficiency which cannot start #!/bin/sh scripts */ /* #define HASHBANG */ /* * OS/390 c89 compilation environment varies dramatically * without each of the following. */ #define MAXSIG 38 #define _OE_SOCKETS #define _POSIX_SOURCE #define _XOPEN_SOURCE #define _XOPEN_SOURCE_EXTENDED 1 /* This stuff is supposed to be needed for ioctl() but does not work yet. #include #include #include #include */ /* * gcc has been ported to os/390 let's make sure that OS dependent * stuff works for gcc users (???) */ #ifndef __MVS__ #define __MVS__ #endif /****************** configurable hacks ****************/ /* have been moved to config_f.h */ #include "config_f.h" #endif /* _h_config */