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 12#undef _FILE_OFFSET_BITS 13 14/****************** System dependant compilation flags ****************/ 15/* 16 * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). 17 */ 18#define POSIX 19 20/* 21 * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX) 22 * job control facilities. 23 */ 24#define POSIXJOBS 25 26/* 27 * VFORK This machine has a vfork(). 28 * It used to be that for job control to work, this define 29 * was mandatory. This is not the case any more. 30 * If you think you still need it, but you don't have vfork, 31 * define this anyway and then do #define vfork fork. 32 * I do this anyway on a Sun because of yellow pages brain damage, 33 * [should not be needed under 4.1] 34 * and on the iris4d cause SGI's fork is sufficiently "virtual" 35 * that vfork isn't necessary. (Besides, SGI's vfork is weird). 36 * Note that some machines eg. rs6000 have a vfork, but not 37 * with the berkeley semantics, so we cannot use it there either. 38 */ 39#undef VFORK 40 41/* 42 * BSDJOBS You have BSD-style job control (both process groups and 43 * a tty that deals correctly 44 */ 45#define BSDJOBS 46 47/* 48 * BSDTIMES You have BSD-style process time stuff (like rusage) 49 * This may or may not be true. For example, Apple Unix 50 * (OREO) has BSDJOBS but not BSDTIMES. 51 */ 52#define BSDTIMES 53 54/* 55 * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit) 56 */ 57#define BSDLIMIT 58 59/* 60 * TERMIO You have struct termio instead of struct sgttyb. 61 * This is usually the case for SYSV systems, where 62 * BSD uses sgttyb. POSIX systems should define this 63 * anyway, even though they use struct termios. 64 */ 65#define TERMIO 66 67/* 68 * SYSVREL Your machine is SYSV based (HPUX, A/UX) 69 * NOTE: don't do this if you are on a Pyramid -- tcsh is 70 * built in a BSD universe. 71 * Set SYSVREL to 1, 2, or 3, depending the version of System V 72 * you are running. Or set it to 0 if you are not SYSV based 73 */ 74#define SYSVREL 4 75 76/* 77 * YPBUGS Work around Sun YP bugs that cause expansion of ~username 78 * to send command output to /dev/null [they are back!] 79 */ 80#undef YPBUGS 81 82/* 83 * NISPLUS Make sure that fd's 0, 1, and 2 always are open so that 84 * Sun's NIS+ doesn't get them, making ~-expansion hang. 85 */ 86#undef NISPLUS 87 88/* 89 * ECHO_STYLE Optionally change the behavior of the builtin echo 90 * BOTH_ECHO: Support both bsd options (-n) and sysv escapes (\nnn) 91 * BSD_ECHO: Support only -n 92 * SYSV_ECHO: Support only sysv escapes (\nnn) 93 * NONE_ECHO: Pure echo. 94 */ 95#define ECHO_STYLE BOTH_ECHO 96 97/****************** local defines *********************/ 98/* 99 * From: peter@zeus.dialix.oz.au (Peter Wemm) 100 * If exec() fails look first for a #! [word] [word]... 101 * Work around OS deficiency which cannot start #!/bin/sh scripts 102 */ 103#define HASHBANG 104 105#define setmode(fd,mode) /*nothing*/ 106 107#endif /* _h_config */ 108