xref: /freebsd/contrib/tcsh/config_f.h (revision 87569f75a91f298c52a71823c04d41cf53c88889)
1 /* $Header: /src/pub/tcsh/config_f.h,v 3.32 2005/03/04 13:46:04 christos Exp $ */
2 /*
3  * config_f.h -- configure various defines for tcsh
4  *
5  * This is included by config.h.
6  *
7  * Edit this to match your particular feelings; this is set up to the
8  * way I like it.
9  */
10 /*-
11  * Copyright (c) 1980, 1991 The Regents of the University of California.
12  * All rights reserved.
13  *
14  * Redistribution and use in source and binary forms, with or without
15  * modification, are permitted provided that the following conditions
16  * are met:
17  * 1. Redistributions of source code must retain the above copyright
18  *    notice, this list of conditions and the following disclaimer.
19  * 2. Redistributions in binary form must reproduce the above copyright
20  *    notice, this list of conditions and the following disclaimer in the
21  *    documentation and/or other materials provided with the distribution.
22  * 3. Neither the name of the University nor the names of its contributors
23  *    may be used to endorse or promote products derived from this software
24  *    without specific prior written permission.
25  *
26  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
27  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36  * SUCH DAMAGE.
37  */
38 #ifndef _h_config_f
39 #define _h_config_f
40 
41 /*
42  * SHORT_STRINGS Use at least 16 bit characters instead of 8 bit chars
43  * 	         This fixes up quoting problems and eases implementation
44  *	         of nls...
45  *
46  */
47 #define SHORT_STRINGS
48 
49 /*
50  * WIDE_STRINGS	Represent strings using wide characters
51  *		Allows proper function in multibyte encodings like UTF-8
52  */
53 #if defined (SHORT_STRINGS) && SIZEOF_WCHAR_T >= 4 && !defined (WINNT_NATIVE) && !defined(_OSD_POSIX)
54 # define WIDE_STRINGS
55 #endif
56 
57 /*
58  * NLS:		Use Native Language System
59  *		Routines like setlocale() are needed
60  *		if you don't have <locale.h>, you don't want
61  *		to define this.
62  */
63 #define NLS
64 
65 /*
66  * NLS_CATALOGS:Use Native Language System catalogs for
67  *		international messages.
68  *		Routines like catopen() are needed
69  *		if you don't have <nl_types.h>, you don't want
70  *		to define this.
71  */
72 #undef NLS_CATALOGS
73 
74 /*
75  * LOGINFIRST   Source ~/.login before ~/.cshrc
76  */
77 #undef LOGINFIRST
78 
79 /*
80  * VIDEFAULT    Make the VI mode editor the default
81  */
82 #undef VIDEFAULT
83 
84 /*
85  * KAI          use "bye" command and rename "log" to "watchlog"
86  */
87 #undef KAI
88 
89 /*
90  * TESLA	drops DTR on logout. Historical note:
91  *		tesla.ee.cornell.edu was a vax11/780 with a develcon
92  *		switch that sometimes would not hang up.
93  */
94 #undef TESLA
95 
96 /*
97  * DOTLAST      put "." last in the default path, for security reasons
98  */
99 #define DOTLAST
100 
101 /*
102  * NODOT	Don't put "." in the default path, for security reasons
103  */
104 #undef NODOT
105 
106 /*
107  * AUTOLOGOUT	tries to determine if it should set autologout depending
108  *		on the name of the tty, and environment.
109  *		Does not make sense in the modern window systems!
110  */
111 #define AUTOLOGOUT
112 
113 /*
114  * SUSPENDED	Newer shells say 'Suspended' instead of 'Stopped'.
115  *		Define to get the same type of messages.
116  */
117 #define SUSPENDED
118 
119 /*
120  * KANJI	Ignore meta-next, and the ISO character set. Should
121  *		be used with SHORT_STRINGS (or WIDE_STRINGS)
122  *
123  */
124 #define KANJI
125 
126 /*
127  * DSPMBYTE	add variable "dspmbyte" and display multi-byte string at
128  *		only output, when "dspmbyte" is set. Should be used with
129  *		KANJI
130  */
131 #if defined (SHORT_STRINGS) && !defined (WIDE_STRINGS)
132 # define DSPMBYTE
133 #endif
134 
135 /*
136  * MBYTEDEBUG	when "dspmbyte" is changed, set multi-byte checktable to
137  *		variable "mbytemap".
138  *		(use for multi-byte table check)
139  */
140 #undef MBYTEDEBUG
141 
142 /*
143  * NEWGRP	Provide a newgrp builtin.
144  */
145 #undef NEWGRP
146 
147 /*
148  * SYSMALLOC	Use the system provided version of malloc and friends.
149  *		This can be much slower and no memory statistics will be
150  *		provided.
151  */
152 #if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__)
153 # define SYSMALLOC
154 #else
155 # undef SYSMALLOC
156 #endif
157 
158 /*
159  * USE_ACCESS	Use access(2) rather than stat(2) when POSIX is defined.
160  *		POSIX says to use stat, but stat(2) is less accurate
161  *		than access(2) for determining file access.
162  */
163 #undef USE_ACCESS
164 
165 /*
166  * REMOTEHOST	Try to determine the remote host that we logged in from
167  *		using first getpeername, and then the utmp file. If
168  *		successful, set $REMOTEHOST to the name or address of the
169  *		host
170  */
171 #define REMOTEHOST
172 
173 /*
174  * COLOR_LS_F Do you want to use builtin color ls-F ?
175  *
176  */
177 #define COLOR_LS_F
178 
179 /*
180  * COLORCAT Do you want to colorful message ?
181  *
182  */
183 #undef COLORCAT
184 
185 /*
186  * FILEC    support for old style file completion
187  */
188 #define FILEC
189 
190 /*
191  * RCSID	This defines if we want rcs strings in the binary or not
192  *
193  */
194 #if !defined(lint) && !defined(SABER) && !defined(__CLCC__)
195 # ifndef __GNUC__
196 #  define RCSID(id) static char *rcsid = (id);
197 # else
198 #  define RCSID(id) static char *rcsid(const char *a) { return rcsid(a = id); }
199 # endif /* !__GNUC__ */
200 #else
201 # define RCSID(id)	/* Nothing */
202 #endif /* !lint && !SABER */
203 
204 /* Consistency checks */
205 #ifdef WIDE_STRINGS
206 # if SIZEOF_WCHAR_T < 4
207     #error "wchar_t must be at least 4 bytes for WIDE_STRINGS"
208 # endif
209 
210 # ifdef WINNT_NATIVE
211     #error "WIDE_STRINGS cannot be used together with WINNT_NATIVE"
212 # endif
213 
214 # ifndef SHORT_STRINGS
215     #error "SHORT_STRINGS must be defined if WIDE_STRINGS is defined"
216 # endif
217 
218 # ifndef NLS
219     #error "NLS must be defined if WIDE_STRINGS is defined"
220 # endif
221 
222 # ifdef DSPMBYTE
223     #error "DSPMBYTE must not be defined if WIDE_STRINGS is defined"
224 # endif
225 #endif
226 
227 #if !defined (SHORT_STRINGS) && defined (DSPMBYTE)
228     #error "SHORT_STRINGS must be defined if DSPMBYTE is defined"
229 #endif
230 
231 #endif /* _h_config_f */
232