xref: /dragonfly/contrib/tcsh-6/config_f.h (revision b97fef05)
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 #if defined(__NetBSD__)
51 # include <sys/param.h>
52 # if defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 200000000)
53 #  define SHORT_STRINGS
54 # else
55 #  undef SHORT_STRINGS
56 # endif
57 #else
58 # define SHORT_STRINGS
59 #endif
60 
61 /*
62  * WIDE_STRINGS	Represent strings using wide characters
63  *		Allows proper function in multibyte encodings like UTF-8
64  */
65 #if defined (SHORT_STRINGS) && defined (NLS) && !defined (WINNT_NATIVE) && !defined(_OSD_POSIX) && SIZEOF_WCHAR_T > 1
66 # define WIDE_STRINGS
67 # if SIZEOF_WCHAR_T < 4
68 #  define UTF16_STRINGS
69 # endif
70 #endif
71 
72 /*
73  * LOGINFIRST   Source ~/.login before ~/.cshrc
74  */
75 #undef LOGINFIRST
76 
77 /*
78  * VIDEFAULT    Make the VI mode editor the default
79  */
80 #undef VIDEFAULT
81 
82 /*
83  * KAI          use "bye" command and rename "log" to "watchlog"
84  */
85 #undef KAI
86 
87 /*
88  * TESLA	drops DTR on logout. Historical note:
89  *		tesla.ee.cornell.edu was a vax11/780 with a develcon
90  *		switch that sometimes would not hang up.
91  */
92 #undef TESLA
93 
94 /*
95  * DOTLAST      put "." last in the default path, for security reasons
96  */
97 #define DOTLAST
98 
99 /*
100  * NODOT	Don't put "." in the default path, for security reasons
101  */
102 #undef NODOT
103 
104 /*
105  * AUTOLOGOUT	tries to determine if it should set autologout depending
106  *		on the name of the tty, and environment.
107  *		Does not make sense in the modern window systems!
108  */
109 #define AUTOLOGOUT
110 
111 /*
112  * SUSPENDED	Newer shells say 'Suspended' instead of 'Stopped'.
113  *		Define to get the same type of messages.
114  */
115 #define SUSPENDED
116 
117 /*
118  * KANJI	Ignore meta-next, and the ISO character set. Should
119  *		be used with SHORT_STRINGS (or WIDE_STRINGS)
120  *
121  */
122 #define KANJI
123 
124 /*
125  * DSPMBYTE	add variable "dspmbyte" and display multi-byte string at
126  *		only output, when "dspmbyte" is set. Should be used with
127  *		KANJI
128  */
129 #if defined (SHORT_STRINGS) && !defined (WIDE_STRINGS)
130 # define DSPMBYTE
131 #endif
132 
133 /*
134  * MBYTEDEBUG	when "dspmbyte" is changed, set multi-byte checktable to
135  *		variable "mbytemap".
136  *		(use for multi-byte table check)
137  */
138 #undef MBYTEDEBUG
139 
140 /*
141  * NEWGRP	Provide a newgrp builtin.
142  */
143 #undef NEWGRP
144 
145 /*
146  * SYSMALLOC	Use the system provided version of malloc and friends.
147  *		This can be much slower and no memory statistics will be
148  *		provided.
149  */
150 #if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__)
151 # define SYSMALLOC
152 #else
153 # undef SYSMALLOC
154 #endif
155 
156 /*
157  * USE_ACCESS	Use access(2) rather than stat(2) when POSIX is defined.
158  *		POSIX says to use stat, but stat(2) is less accurate
159  *		than access(2) for determining file access.
160  */
161 #undef USE_ACCESS
162 
163 /*
164  * REMOTEHOST	Try to determine the remote host that we logged in from
165  *		using first getpeername, and then the utmp file. If
166  *		successful, set $REMOTEHOST to the name or address of the
167  *		host
168  */
169 #define REMOTEHOST
170 
171 /*
172  * COLOR_LS_F Do you want to use builtin color ls-F ?
173  *
174  */
175 #define COLOR_LS_F
176 
177 /*
178  * COLORCAT Do you want to colorful message ?
179  *
180  */
181 #undef COLORCAT
182 
183 /*
184  * FILEC    support for old style file completion
185  */
186 #define FILEC
187 
188 /* Consistency checks */
189 #ifdef WIDE_STRINGS
190 # ifdef WINNT_NATIVE
191     #error "WIDE_STRINGS cannot be used together with WINNT_NATIVE"
192 # endif
193 
194 # ifndef SHORT_STRINGS
195     #error "SHORT_STRINGS must be defined if WIDE_STRINGS is defined"
196 # endif
197 
198 # ifndef NLS
199     #error "NLS must be defined if WIDE_STRINGS is defined"
200 # endif
201 
202 # ifdef DSPMBYTE
203     #error "DSPMBYTE must not be defined if WIDE_STRINGS is defined"
204 # endif
205 #endif
206 
207 #if !defined (SHORT_STRINGS) && defined (DSPMBYTE)
208     #error "SHORT_STRINGS must be defined if DSPMBYTE is defined"
209 #endif
210 
211 #endif /* _h_config_f */
212