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