1/*
2 * config.h -- configure various defines for tcsh
3 *
4 * All source files should #include this FIRST.
5 *
6 * Configuration file for Harris Tahoe running CX/UX 5.1, CX/UX 7.1
7 * Compile in ucb universe; tested with gcc 1.42 and cc.
8 */
9
10#ifndef _h_config
11#define _h_config
12/****************** System dependant compilation flags ****************/
13/*
14 * POSIX	This system supports IEEE Std 1003.1-1988 (POSIX).
15 */
16#undef POSIX
17
18/*
19 * POSIXJOBS	This system supports the optional IEEE Std 1003.1-1988 (POSIX)
20 *		job control facilities.
21 */
22#define POSIXJOBS
23
24/*
25 * VFORK	This machine has a vfork().
26 *		It used to be that for job control to work, this define
27 *		was mandatory. This is not the case any more.
28 *		If you think you still need it, but you don't have vfork,
29 *		define this anyway and then do #define vfork fork.
30 *		I do this anyway on a Sun because of yellow pages brain damage,
31 *		[should not be needed under 4.1]
32 *		and on the iris4d cause	SGI's fork is sufficiently "virtual"
33 *		that vfork isn't necessary.  (Besides, SGI's vfork is weird).
34 *		Note that some machines eg. rs6000 have a vfork, but not
35 *		with the berkeley semantics, so we cannot use it there either.
36 */
37#undef VFORK
38
39/*
40 * BSDJOBS	You have BSD-style job control (both process groups and
41 *		a tty that deals correctly
42 */
43#define BSDJOBS
44
45/*
46 * BSDTIMES	You have BSD-style process time stuff (like rusage)
47 *		This may or may not be true.  For example, Apple Unix
48 *		(OREO) has BSDJOBS but not BSDTIMES.
49 */
50#define BSDTIMES
51
52/*
53 * BSDLIMIT	You have BSD-style resource limit stuff (getrlimit/setrlimit)
54 */
55#define BSDLIMIT
56
57/*
58 * TERMIO	You have struct termio instead of struct sgttyb.
59 * 		This is usually the case for SYSV systems, where
60 *		BSD uses sgttyb. POSIX systems should define this
61 *		anyway, even though they use struct termios.
62 */
63#ifdef _CX_UX
64# undef TERMIO
65#else
66# define TERMIO
67#endif
68
69/*
70 * SYSVREL	Your machine is SYSV based (HPUX, A/UX)
71 *		NOTE: don't do this if you are on a Pyramid -- tcsh is
72 *		built in a BSD universe.
73 *		Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
74 *		you are running. Or set it to 0 if you are not SYSV based
75 */
76#define SYSVREL	0
77
78/*
79 * YPBUGS	Work around Sun YP bugs that cause expansion of ~username
80 *		to send command output to /dev/null
81 */
82#undef YPBUGS
83
84
85#ifdef _CX_UX
86/*
87 * ECHO_STYLE   Optionally change the behavior of the builtin echo
88 *		BOTH_ECHO: Support both bsd options (-n) and sysv escapes (\nnn)
89 *		BSD_ECHO:  Support only -n
90 *		SYSV_ECHO: Support only sysv escapes (\nnn)
91 *		NONE_ECHO: Pure echo.
92 */
93#define ECHO_STYLE BOTH_ECHO    /* Both BSD and SYSV options */
94#endif
95
96
97/****************** local defines *********************/
98/*
99 * It appears like 5.x defines hcx and does not define _CX_UX and
100 * 7.x defines _CX_UX and does not define hcx. In tcsh we currently
101 * use _CX_UX, maybe in the future we should try something neutral
102 */
103
104#if defined(hcx) && !defined(_CX_UX)
105# define _CX_UX
106#endif
107
108#endif /* _h_config */
109