config_p.h revision 167469
1118611Snjl/* $FreeBSD: head/bin/csh/config_p.h 167469 2007-03-11 22:41:19Z mp $ */
2118611Snjl/*
3118611Snjl * config.h -- configure various defines for tcsh
4228110Sjkim *
5118611Snjl * All source files should #include this FIRST.
6118611Snjl *
7118611Snjl * Edit this to match your system type.
8217365Sjkim */
9245582Sjkim
10118611Snjl#ifndef _h_config
11118611Snjl#define _h_config
12217365Sjkim/****************** System dependant compilation flags ****************/
13217365Sjkim/*
14217365Sjkim * POSIX	This system supports IEEE Std 1003.1-1988 (POSIX).
15217365Sjkim */
16217365Sjkim#define POSIX
17217365Sjkim
18217365Sjkim/*
19217365Sjkim * POSIXJOBS	This system supports the optional IEEE Std 1003.1-1988 (POSIX)
20217365Sjkim *		job control facilities.
21217365Sjkim */
22217365Sjkim#define POSIXJOBS
23217365Sjkim
24217365Sjkim/*
25217365Sjkim * VFORK	This machine has a vfork().
26118611Snjl *		It used to be that for job control to work, this define
27217365Sjkim *		was mandatory. This is not the case any more.
28217365Sjkim *		If you think you still need it, but you don't have vfork,
29217365Sjkim *		define this anyway and then do #define vfork fork.
30118611Snjl *		I do this anyway on a Sun because of yellow pages brain damage,
31217365Sjkim *		[should not be needed under 4.1]
32217365Sjkim *		and on the iris4d cause	SGI's fork is sufficiently "virtual"
33217365Sjkim *		that vfork isn't necessary.  (Besides, SGI's vfork is weird).
34217365Sjkim *		Note that some machines eg. rs6000 have a vfork, but not
35217365Sjkim *		with the berkeley semantics, so we cannot use it there either.
36217365Sjkim */
37217365Sjkim#define VFORK
38217365Sjkim
39217365Sjkim/*
40217365Sjkim * BSDJOBS	You have BSD-style job control (both process groups and
41217365Sjkim *		a tty that deals correctly
42217365Sjkim */
43217365Sjkim#define BSDJOBS
44118611Snjl
45217365Sjkim/*
46217365Sjkim * BSDTIMES	You have BSD-style process time stuff (like rusage)
47118611Snjl *		This may or may not be true.  For example, Apple Unix
48118611Snjl *		(OREO) has BSDJOBS but not BSDTIMES.
49118611Snjl */
50118611Snjl#define BSDTIMES
51118611Snjl
52118611Snjl/*
53118611Snjl * BSDLIMIT	You have BSD-style resource limit stuff (getrlimit/setrlimit)
54118611Snjl */
55118611Snjl#define BSDLIMIT
56118611Snjl
57118611Snjl/*
58118611Snjl * TERMIO	You have struct termio instead of struct sgttyb.
59118611Snjl * 		This is usually the case for SYSV systems, where
60118611Snjl *		BSD uses sgttyb. POSIX systems should define this
61234623Sjkim *		anyway, even though they use struct termios.
62228110Sjkim */
63234623Sjkim#define TERMIO
64228110Sjkim
65228110Sjkim/*
66234623Sjkim * SYSVREL	Your machine is SYSV based (HPUX, A/UX)
67234623Sjkim *		NOTE: don't do this if you are on a Pyramid -- tcsh is
68234623Sjkim *		built in a BSD universe.
69234623Sjkim *		Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
70234623Sjkim *		you are running. Or set it to 0 if you are not SYSV based
71234623Sjkim */
72234623Sjkim#define SYSVREL	0
73234623Sjkim
74234623Sjkim/*
75234623Sjkim * YPBUGS	Work around Sun YP bugs that cause expansion of ~username
76234623Sjkim *		to send command output to /dev/null
77234623Sjkim */
78234623Sjkim#undef YPBUGS
79118611Snjl
80118611Snjl/****************** local defines *********************/
81234623Sjkim
82118611Snjl#if defined(__FreeBSD__)
83118611Snjl#define NLS_BUGS
84118611Snjl#define BSD_STYLE_COLORLS
85228110Sjkim/* we want to use the system malloc when we install as /bin/csh */
86118611Snjl#define SYSMALLOC
87118611Snjl/* Use LC_MESSAGES locale category to open the message catalog */
88118611Snjl#define MCLoadBySet NL_CAT_LOCALE
89118611Snjl#define BUFSIZE 8192
90118611Snjl#endif
91118611Snjl
92118611Snjl#if defined(__bsdi__)
93118611Snjl/*
94118611Snjl * _PATH_TCSHELL      if you've change the installation location (vix)
95118611Snjl */
96118611Snjl#include <sys/param.h>
97118611Snjl# ifdef _BSDI_VERSION >= 199701
98118611Snjl#  define _PATH_TCSHELL "/bin/tcsh"
99118611Snjl#  undef SYSMALLOC
100118611Snjl#  define SYSMALLOC
101118611Snjl# else
102118611Snjl#  define _PATH_TCSHELL "/usr/contrib/bin/tcsh"
103118611Snjl# endif
104118611Snjl
105228110Sjkim# undef NLS
106118611Snjl# undef NLS_CATALOGS
107118611Snjl
108193529Sjkim#elif defined(__APPLE__)
109193529Sjkim# define SYSMALLOC
110118611Snjl
111118611Snjl#else
112118611Snjl# define NLS_CATALOGS
113234623Sjkim#endif
114234623Sjkim
115118611Snjl#endif /* _h_config */
116234623Sjkim