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