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