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