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