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