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