config_f.h revision 145479
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