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#undef POSIX
16
17/*
18 * POSIXJOBS	This system supports the optional IEEE Std 1003.1-1988 (POSIX)
19 *		job control facilities.
20 */
21#undef 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#if defined(NeXT) && !defined(__STRICT_BSD__)
37# undef VFORK
38#endif
39
40/*
41 * BSDJOBS	You have BSD-style job control (both process groups and
42 *		a tty that deals correctly
43 */
44#define BSDJOBS
45
46/*
47 * BSDTIMES	You have BSD-style process time stuff (like rusage)
48 *		This may or may not be true.  For example, Apple Unix
49 *		(OREO) has BSDJOBS but not BSDTIMES.
50 */
51#define BSDTIMES
52
53/*
54 * BSDLIMIT	You have BSD-style resource limit stuff (getrlimit/setrlimit)
55 */
56#define BSDLIMIT
57
58/*
59 * TERMIO	You have struct termio instead of struct sgttyb.
60 * 		This is usually the case for SYSV systems, where
61 *		BSD uses sgttyb. POSIX systems should define this
62 *		anyway, even though they use struct termios.
63 */
64#undef TERMIO
65
66/*
67 * SYSVREL	Your machine is SYSV based (HPUX, A/UX)
68 *		NOTE: don't do this if you are on a Pyramid -- tcsh is
69 *		built in a BSD universe.
70 *		Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
71 *		you are running. Or set it to 0 if you are not SYSV based
72 */
73#define SYSVREL	0
74
75/*
76 * YPBUGS	Work around Sun YP bugs that cause expansion of ~username
77 *		to send command output to /dev/null
78 */
79#undef YPBUGS
80
81/****************** local defines *********************/
82#ifdef NeXT
83# define environ _environ
84#else
85# ifdef notdef
86#  define SETENV_IN_LIB		/* read comment in sh.func.c */
87#  define setenv(x,y) Setenv(x,y)
88# endif
89#endif
90
91/* this define is necessary for NeXT users running 3.1 without  */
92/* POSIX to avoid undefined symbols during final link */
93/* You'll need to define __NeXT31__ */
94#if defined(__NeXT31__) && !defined(POSIX)
95# define _TERMIOS_H_
96#endif /* __NeXT31__  && !POSIX */
97
98#ifndef NeXT
99#undef NLS_CATALOGS
100#endif
101#endif /* _h_config */
102