xref: /freebsd/bin/csh/config_p.h (revision 7bd6fde3)
1 /* $FreeBSD$ */
2 /*
3  * config.h -- configure various defines for tcsh
4  *
5  * All source files should #include this FIRST.
6  *
7  * Edit this to match your system type.
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 #define 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  * POSIXSIGS	Use the POSIX signal facilities to emulate BSD signals.
26  */
27 #undef POSIXSIGS
28 
29 /*
30  * VFORK	This machine has a vfork().
31  *		It used to be that for job control to work, this define
32  *		was mandatory. This is not the case any more.
33  *		If you think you still need it, but you don't have vfork,
34  *		define this anyway and then do #define vfork fork.
35  *		I do this anyway on a Sun because of yellow pages brain damage,
36  *		[should not be needed under 4.1]
37  *		and on the iris4d cause	SGI's fork is sufficiently "virtual"
38  *		that vfork isn't necessary.  (Besides, SGI's vfork is weird).
39  *		Note that some machines eg. rs6000 have a vfork, but not
40  *		with the berkeley semantics, so we cannot use it there either.
41  */
42 #define VFORK
43 
44 /*
45  * BSDJOBS	You have BSD-style job control (both process groups and
46  *		a tty that deals correctly
47  */
48 #define BSDJOBS
49 
50 /*
51  * BSDSIGS	You have 4.2-style signals, rather than USG style.
52  *		Note: POSIX systems should not define this unless they
53  *		have sigvec() and friends (ie: 4.3BSD-RENO, HP-UX).
54  */
55 #define BSDSIGS
56 
57 /*
58  * BSDTIMES	You have BSD-style process time stuff (like rusage)
59  *		This may or may not be true.  For example, Apple Unix
60  *		(OREO) has BSDJOBS and BSDSIGS but not BSDTIMES.
61  */
62 #define BSDTIMES
63 
64 /*
65  * BSDLIMIT	You have BSD-style resource limit stuff (getrlimit/setrlimit)
66  */
67 #define BSDLIMIT
68 
69 /*
70  * TERMIO	You have struct termio instead of struct sgttyb.
71  * 		This is usually the case for SYSV systems, where
72  *		BSD uses sgttyb. POSIX systems should define this
73  *		anyway, even though they use struct termios.
74  */
75 #define TERMIO
76 
77 /*
78  * SYSVREL	Your machine is SYSV based (HPUX, A/UX)
79  *		NOTE: don't do this if you are on a Pyramid -- tcsh is
80  *		built in a BSD universe.
81  *		Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
82  *		you are running. Or set it to 0 if you are not SYSV based
83  */
84 #define SYSVREL	0
85 
86 /*
87  * YPBUGS	Work around Sun YP bugs that cause expansion of ~username
88  *		to send command output to /dev/null
89  */
90 #undef YPBUGS
91 
92 /****************** local defines *********************/
93 
94 #if defined(__FreeBSD__)
95 #define NLS_BUGS
96 #define BSD_STYLE_COLORLS
97 /* we want to use the system malloc when we install as /bin/csh */
98 #define SYSMALLOC
99 /* Use LC_MESSAGES locale category to open the message catalog */
100 #define MCLoadBySet NL_CAT_LOCALE
101 #define BUFSIZE 8192
102 #endif
103 
104 #if defined(__bsdi__)
105 /*
106  * _PATH_TCSHELL      if you've change the installation location (vix)
107  */
108 #include <sys/param.h>
109 # ifdef _BSDI_VERSION >= 199701
110 #  define _PATH_TCSHELL "/bin/tcsh"
111 #  undef SYSMALLOC
112 #  define SYSMALLOC
113 # else
114 #  define _PATH_TCSHELL "/usr/contrib/bin/tcsh"
115 # endif
116 
117 # undef NLS
118 # undef NLS_CATALOGS
119 
120 #elif defined(__APPLE__)
121 # define SYSMALLOC
122 
123 #else
124 # define NLS_CATALOGS
125 #endif
126 
127 #endif /* _h_config */
128