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