1157184Sache/* Copyright 2004 Per Bothner <per@bothner.com> 2157184Sache * Based on config.h from screen-4.0.2. 3157184Sache * Copyright (c) 1993-2000 4157184Sache * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) 5157184Sache * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) 6157184Sache * Copyright (c) 1987 Oliver Laumann 7157184Sache * 8157184Sache * This program is free software; you can redistribute it and/or modify 9157184Sache * it under the terms of the GNU General Public License as published by 10157184Sache * the Free Software Foundation; either version 2, or (at your option) 11157184Sache * any later version. 12157184Sache * 13157184Sache * This program is distributed in the hope that it will be useful, 14157184Sache * but WITHOUT ANY WARRANTY; without even the implied warranty of 15157184Sache * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16157184Sache * GNU General Public License for more details. 17157184Sache * 18157184Sache * You should have received a copy of the GNU General Public License 19157184Sache * along with this program (see the file COPYING); if not, write to the 20157184Sache * Free Software Foundation, Inc., 21157184Sache * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 22157184Sache * 23157184Sache **************************************************************** 24157184Sache * $Id: config.h.in,v 1.12 1994/05/31 12:31:36 mlschroe Exp $ FAU 25157184Sache */ 26157184Sache 27157184Sache 28157184Sache 29157184Sache 30157184Sache 31157184Sache/********************************************************************** 32157184Sache * 33157184Sache * User Configuration Section 34157184Sache */ 35157184Sache 36157184Sache 37157184Sache/* 38157184Sache * define PTYMODE if you do not like the default of 0622, which allows 39157184Sache * public write to your pty. 40157184Sache * define PTYGROUP to some numerical group-id if you do not want the 41157184Sache * tty to be in "your" group. 42157184Sache * Note, screen is unable to change mode or group of the pty if it 43157184Sache * is not installed with sufficient privilege. (e.g. set-uid-root) 44157184Sache * define PTYROFS if the /dev/pty devices are mounted on a read-only 45157184Sache * filesystem so screen should not even attempt to set mode or group 46157184Sache * even if running as root (e.g. on TiVo). 47157184Sache */ 48157184Sache#undef PTYMODE 49157184Sache#undef PTYGROUP 50157184Sache#undef PTYROFS 51157184Sache 52157184Sache/* 53157184Sache * If screen is NOT installed set-uid root, screen can provide tty 54157184Sache * security by exclusively locking the ptys. While this keeps other 55157184Sache * users from opening your ptys, it also keeps your own subprocesses 56157184Sache * from being able to open /dev/tty. Define LOCKPTY to add this 57157184Sache * exclusive locking. 58157184Sache */ 59157184Sache#undef LOCKPTY 60157184Sache 61157184Sache 62157184Sache/********************************************************************** 63157184Sache * 64157184Sache * End of User Configuration Section 65157184Sache * 66157184Sache * Rest of this file is modified by 'configure' 67157184Sache * Change at your own risk! 68157184Sache * 69157184Sache */ 70157184Sache 71157184Sache/* 72157184Sache * Some defines to identify special unix variants 73157184Sache */ 74157184Sache#ifndef SVR4 75157184Sache#undef SVR4 76157184Sache#endif 77157184Sache 78157184Sache#ifndef _POSIX_SOURCE 79157184Sache#undef _POSIX_SOURCE 80157184Sache#endif 81157184Sache 82157184Sache/* 83157184Sache * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX). 84157184Sache */ 85157184Sache#undef POSIX 86157184Sache 87157184Sache/* 88157184Sache * Define TERMIO if you have struct termio instead of struct sgttyb. 89157184Sache * This is usually the case for SVID systems, where BSD uses sgttyb. 90157184Sache * POSIX systems should define this anyway, even though they use 91157184Sache * struct termios. 92157184Sache */ 93157184Sache#undef TERMIO 94157184Sache 95157184Sache/* 96157184Sache * Define CYTERMIO if you have cyrillic termio modes. 97157184Sache */ 98157184Sache#undef CYTERMIO 99157184Sache 100157184Sache/* 101157184Sache * Define TERMINFO if your machine emulates the termcap routines 102157184Sache * with the terminfo database. 103157184Sache * Thus the .screenrc file is parsed for 104157184Sache * the command 'terminfo' and not 'termcap'. 105157184Sache */ 106157184Sache#undef TERMINFO 107157184Sache 108157184Sache/* 109157184Sache * If your library does not define ospeed, define this. 110157184Sache */ 111157184Sache#undef NEED_OSPEED 112157184Sache 113157184Sache/* 114157184Sache * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX) 115157184Sache */ 116157184Sache#ifndef SYSV 117157184Sache#undef SYSV 118157184Sache#endif 119157184Sache 120157184Sache/* 121157184Sache * Define SIGVOID if your signal handlers return void. On older 122157184Sache * systems, signal returns int, but on newer ones, it returns void. 123157184Sache */ 124157184Sache#undef SIGVOID 125157184Sache 126157184Sache/* 127157184Sache * Define USESIGSET if you have sigset for BSD 4.1 reliable signals. 128157184Sache */ 129157184Sache#undef USESIGSET 130157184Sache 131157184Sache/* 132157184Sache * Define SYSVSIGS if signal handlers must be reinstalled after 133157184Sache * they have been called. 134157184Sache */ 135157184Sache#undef SYSVSIGS 136157184Sache 137157184Sache/* 138157184Sache * Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h> 139157184Sache * 140157184Sache * Only allow BSDWAIT i.e. wait3 on nonposix systems, since 141157184Sache * posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl 142157184Sache * 143157184Sache */ 144157184Sache#ifndef POSIX 145157184Sache#undef BSDWAIT 146157184Sache#endif 147157184Sache 148157184Sache/* 149157184Sache * On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com 150157184Sache */ 151157184Sache#ifdef BSDWAIT 152157184Sache#undef USE_WAIT2 153157184Sache#endif 154157184Sache 155157184Sache/* 156157184Sache * Define if you have the utempter utmp helper program 157157184Sache */ 158157184Sache#undef HAVE_UTEMPTER 159157184Sache 160157184Sache/* 161157184Sache * If ttyslot() breaks getlogin() by returning indexes to utmp entries 162157184Sache * of type DEAD_PROCESS, then our getlogin() replacement should be 163157184Sache * selected by defining BUGGYGETLOGIN. 164157184Sache */ 165157184Sache#undef BUGGYGETLOGIN 166157184Sache 167157184Sache/* 168157184Sache * If your system has the calls setreuid() and setregid(), 169157184Sache * define HAVE_SETREUID. Otherwise screen will use a forked process to 170157184Sache * safely create output files without retaining any special privileges. 171157184Sache */ 172157184Sache#undef HAVE_SETREUID 173157184Sache 174157184Sache/* 175157184Sache * If your system supports BSD4.4's seteuid() and setegid(), define 176157184Sache * HAVE_SETEUID. 177157184Sache */ 178157184Sache#undef HAVE_SETEUID 179157184Sache 180157184Sache/* 181157184Sache * If you want the "time" command to display the current load average 182157184Sache * define LOADAV. Maybe you must install screen with the needed 183157184Sache * privileges to read /dev/kmem. 184157184Sache * Note that NLIST_ stuff is only checked, when getloadavg() is not available. 185157184Sache */ 186157184Sache#undef LOADAV 187157184Sache 188157184Sache#undef LOADAV_NUM 189157184Sache#undef LOADAV_TYPE 190157184Sache#undef LOADAV_SCALE 191157184Sache#undef LOADAV_GETLOADAVG 192157184Sache#undef LOADAV_UNIX 193157184Sache#undef LOADAV_AVENRUN 194157184Sache#undef LOADAV_USE_NLIST64 195157184Sache 196157184Sache#undef NLIST_DECLARED 197157184Sache#undef NLIST_STRUCT 198157184Sache#undef NLIST_NAME_UNION 199157184Sache 200157184Sache/* 201157184Sache * If your system has the new format /etc/ttys (like 4.3 BSD) and the 202157184Sache * getttyent(3) library functions, define GETTTYENT. 203157184Sache */ 204157184Sache#undef GETTTYENT 205157184Sache 206157184Sache/* 207157184Sache * Define USEBCOPY if the bcopy/memcpy from your system's C library 208157184Sache * supports the overlapping of source and destination blocks. When 209157184Sache * undefined, screen uses its own (probably slower) version of bcopy(). 210157184Sache * 211157184Sache * SYSV machines may have a working memcpy() -- Oh, this is 212157184Sache * quite unlikely. Tell me if you see one. 213157184Sache * "But then, memmove() should work, if at all available" he thought... 214157184Sache * Boing, never say "works everywhere" unless you checked SCO UNIX. 215157184Sache * Their memove fails the test in the configure script. Sigh. (Juergen) 216157184Sache */ 217157184Sache#undef USEBCOPY 218157184Sache#undef USEMEMCPY 219157184Sache#undef USEMEMMOVE 220157184Sache 221157184Sache/* 222157184Sache * If your system has vsprintf() and requires the use of the macros in 223157184Sache * "varargs.h" to use functions with variable arguments, 224157184Sache * define USEVARARGS. 225157184Sache */ 226157184Sache#undef USEVARARGS 227157184Sache 228157184Sache/* 229157184Sache * If your system has strerror() define this. 230157184Sache */ 231157184Sache#undef HAVE_STRERROR 232157184Sache 233157184Sache/* 234157184Sache * If the select return value doesn't treat a descriptor that is 235157184Sache * usable for reading and writing as two hits, define SELECT_BROKEN. 236157184Sache */ 237157184Sache#undef SELECT_BROKEN 238157184Sache 239157184Sache/* 240157184Sache * Define this if your system supports named pipes. 241157184Sache */ 242157184Sache#undef NAMEDPIPE 243157184Sache 244157184Sache/* 245157184Sache * Define this if your system exits select() immediatly if a pipe is 246157184Sache * opened read-only and no writer has opened it. 247157184Sache */ 248157184Sache#undef BROKEN_PIPE 249157184Sache 250157184Sache/* 251157184Sache * Define this if the unix-domain socket implementation doesn't 252157184Sache * create a socket in the filesystem. 253157184Sache */ 254157184Sache#undef SOCK_NOT_IN_FS 255157184Sache 256157184Sache/* 257157184Sache * If your system has setenv() and unsetenv() define USESETENV 258157184Sache */ 259157184Sache#undef USESETENV 260157184Sache 261157184Sache/* 262157184Sache * If your system does not come with a setenv()/putenv()/getenv() 263157184Sache * functions, you may bring in our own code by defining NEEDPUTENV. 264157184Sache */ 265157184Sache#undef NEEDPUTENV 266157184Sache 267157184Sache/* 268157184Sache * If the passwords are stored in a shadow file and you want the 269157184Sache * builtin lock to work properly, define SHADOWPW. 270157184Sache */ 271157184Sache#undef SHADOWPW 272157184Sache 273157184Sache/* 274157184Sache * If you are on a SYS V machine that restricts filename length to 14 275157184Sache * characters, you may need to enforce that by setting NAME_MAX to 14 276157184Sache */ 277157184Sache#undef NAME_MAX /* KEEP_UNDEF_HERE override system value */ 278157184Sache#undef NAME_MAX 279157184Sache 280157184Sache/* 281157184Sache * define HAVE_RENAME if your system has a rename() function 282157184Sache */ 283157184Sache#undef HAVE_RENAME 284157184Sache 285157184Sache/* 286157184Sache * define HAVE__EXIT if your system has the _exit() call. 287157184Sache */ 288157184Sache#undef HAVE__EXIT 289157184Sache 290157184Sache/* 291157184Sache * define HAVE_LSTAT if your system has symlinks and the lstat() call. 292157184Sache */ 293157184Sache#undef HAVE_LSTAT 294157184Sache 295157184Sache/* 296157184Sache * define HAVE_UTIMES if your system has the utimes() call. 297157184Sache */ 298157184Sache#undef HAVE_UTIMES 299157184Sache 300157184Sache/* 301157184Sache * define HAVE_FCHOWN if your system has the fchown() call. 302157184Sache */ 303157184Sache#undef HAVE_FCHOWN 304157184Sache 305157184Sache/* 306157184Sache * define HAVE_FCHMOD if your system has the fchmod() call. 307157184Sache */ 308157184Sache#undef HAVE_FCHMOD 309157184Sache 310157184Sache/* 311157184Sache * define HAVE_VSNPRINTF if your system has vsnprintf() (GNU lib). 312157184Sache */ 313157184Sache#undef HAVE_VSNPRINTF 314157184Sache 315157184Sache/* 316157184Sache * define HAVE_GETCWD if your system has the getcwd() call. 317157184Sache */ 318157184Sache#undef HAVE_GETCWD 319157184Sache 320157184Sache/* 321157184Sache * define HAVE_SETLOCALE if your system has the setlocale() call. 322157184Sache */ 323157184Sache#undef HAVE_SETLOCALE 324157184Sache 325157184Sache/* 326157184Sache * define HAVE_STRFTIME if your system has the strftime() call. 327157184Sache */ 328157184Sache#undef HAVE_STRFTIME 329157184Sache 330157184Sache/* 331157184Sache * define HAVE_NL_LANGINFO if your system has the nl_langinfo() call 332157184Sache * and <langinfo.h> defines CODESET. 333157184Sache */ 334157184Sache#undef HAVE_NL_LANGINFO 335157184Sache 336157184Sache/* 337157184Sache * Newer versions of Solaris include fdwalk, which can greatly improve 338157184Sache * the startup time of screen; otherwise screen spends a lot of time 339157184Sache * closing file descriptors. 340157184Sache */ 341157184Sache#undef HAVE_FDWALK 342157184Sache 343157184Sache/* 344157184Sache * define HAVE_DEV_PTC if you have a /dev/ptc character special 345157184Sache * device. 346157184Sache */ 347157184Sache#undef HAVE_DEV_PTC 348157184Sache 349157184Sache/* 350157184Sache * define HAVE_SVR4_PTYS if you have a /dev/ptmx character special 351157184Sache * device and support the ptsname(), grantpt(), unlockpt() functions. 352157184Sache */ 353157184Sache#undef HAVE_SVR4_PTYS 354157184Sache 355157184Sache/* 356157184Sache * define HAVE_GETPT if you have the getpt() function. 357157184Sache */ 358157184Sache#undef HAVE_GETPT 359157184Sache 360157184Sache/* 361157184Sache * define HAVE_OPENPTY if your system has the openpty() call. 362157184Sache */ 363157184Sache#undef HAVE_OPENPTY 364157184Sache 365157184Sache/* 366157184Sache * define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen 367157184Sache * to unusual environments. E.g. For SunOs the defaults are "qpr" and 368157184Sache * "0123456789abcdef". For SunOs 4.1.2 369157184Sache * #define PTYRANGE0 "pqrstuvwxyzPQRST" 370157184Sache * is recommended by Dan Jacobson. 371157184Sache */ 372157184Sache#undef PTYRANGE0 373157184Sache#undef PTYRANGE1 374157184Sache 375157184Sache#define USEVARARGS 376