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