1 /* Copyright 2004 Per Bothner <per@bothner.com>
2 * Based on config.h from screen-4.0.2.
3 * Copyright (c) 1993-2000
4 * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
5 * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
6 * Copyright (c) 1987 Oliver Laumann
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2, or (at your option)
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program (see the file COPYING); if not, write to the
20 * Free Software Foundation, Inc.,
21 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23 ****************************************************************
31 /**********************************************************************
33 * User Configuration Section
38 * define PTYMODE if you do not like the default of 0622, which allows
39 * public write to your pty.
40 * define PTYGROUP to some numerical group-id if you do not want the
41 * tty to be in "your" group.
42 * Note, screen is unable to change mode or group of the pty if it
43 * is not installed with sufficient privilege. (e.g. set-uid-root)
44 * define PTYROFS if the /dev/pty devices are mounted on a read-only
45 * filesystem so screen should not even attempt to set mode or group
46 * even if running as root (e.g. on TiVo).
53 * If screen is NOT installed set-uid root, screen can provide tty
54 * security by exclusively locking the ptys. While this keeps other
55 * users from opening your ptys, it also keeps your own subprocesses
56 * from being able to open /dev/tty. Define LOCKPTY to add this
62 /**********************************************************************
64 * End of User Configuration Section
66 * Rest of this file is modified by 'configure'
67 * Change at your own risk!
72 * Some defines to identify special unix variants
83 * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
88 * Define TERMIO if you have struct termio instead of struct sgttyb.
89 * This is usually the case for SVID systems, where BSD uses sgttyb.
90 * POSIX systems should define this anyway, even though they use
96 * Define CYTERMIO if you have cyrillic termio modes.
101 * Define TERMINFO if your machine emulates the termcap routines
102 * with the terminfo database.
103 * Thus the .screenrc file is parsed for
104 * the command 'terminfo' and not 'termcap'.
109 * If your library does not define ospeed, define this.
114 * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
121 * Define SIGVOID if your signal handlers return void. On older
122 * systems, signal returns int, but on newer ones, it returns void.
127 * Define USESIGSET if you have sigset for BSD 4.1 reliable signals.
132 * Define SYSVSIGS if signal handlers must be reinstalled after
133 * they have been called.
138 * Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h>
140 * Only allow BSDWAIT i.e. wait3 on nonposix systems, since
141 * posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl
149 * On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com
156 * Define if you have the utempter utmp helper program
161 * If ttyslot() breaks getlogin() by returning indexes to utmp entries
162 * of type DEAD_PROCESS, then our getlogin() replacement should be
163 * selected by defining BUGGYGETLOGIN.
168 * If your system has the calls setreuid() and setregid(),
169 * define HAVE_SETREUID. Otherwise screen will use a forked process to
170 * safely create output files without retaining any special privileges.
175 * If your system supports BSD4.4's seteuid() and setegid(), define
181 * If you want the "time" command to display the current load average
182 * define LOADAV. Maybe you must install screen with the needed
183 * privileges to read /dev/kmem.
184 * Note that NLIST_ stuff is only checked, when getloadavg() is not available.
191 #undef LOADAV_GETLOADAVG
193 #undef LOADAV_AVENRUN
194 #undef LOADAV_USE_NLIST64
196 #undef NLIST_DECLARED
198 #undef NLIST_NAME_UNION
201 * If your system has the new format /etc/ttys (like 4.3 BSD) and the
202 * getttyent(3) library functions, define GETTTYENT.
207 * Define USEBCOPY if the bcopy/memcpy from your system's C library
208 * supports the overlapping of source and destination blocks. When
209 * undefined, screen uses its own (probably slower) version of bcopy().
211 * SYSV machines may have a working memcpy() -- Oh, this is
212 * quite unlikely. Tell me if you see one.
213 * "But then, memmove() should work, if at all available" he thought...
214 * Boing, never say "works everywhere" unless you checked SCO UNIX.
215 * Their memove fails the test in the configure script. Sigh. (Juergen)
222 * If your system has vsprintf() and requires the use of the macros in
223 * "varargs.h" to use functions with variable arguments,
229 * If your system has strerror() define this.
234 * If the select return value doesn't treat a descriptor that is
235 * usable for reading and writing as two hits, define SELECT_BROKEN.
240 * Define this if your system supports named pipes.
245 * Define this if your system exits select() immediatly if a pipe is
246 * opened read-only and no writer has opened it.
251 * Define this if the unix-domain socket implementation doesn't
252 * create a socket in the filesystem.
254 #undef SOCK_NOT_IN_FS
257 * If your system has setenv() and unsetenv() define USESETENV
262 * If your system does not come with a setenv()/putenv()/getenv()
263 * functions, you may bring in our own code by defining NEEDPUTENV.
268 * If the passwords are stored in a shadow file and you want the
269 * builtin lock to work properly, define SHADOWPW.
274 * If you are on a SYS V machine that restricts filename length to 14
275 * characters, you may need to enforce that by setting NAME_MAX to 14
277 #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */
281 * define HAVE_RENAME if your system has a rename() function
286 * define HAVE__EXIT if your system has the _exit() call.
291 * define HAVE_LSTAT if your system has symlinks and the lstat() call.
296 * define HAVE_UTIMES if your system has the utimes() call.
301 * define HAVE_FCHOWN if your system has the fchown() call.
306 * define HAVE_FCHMOD if your system has the fchmod() call.
311 * define HAVE_VSNPRINTF if your system has vsnprintf() (GNU lib).
313 #undef HAVE_VSNPRINTF
316 * define HAVE_GETCWD if your system has the getcwd() call.
321 * define HAVE_SETLOCALE if your system has the setlocale() call.
323 #undef HAVE_SETLOCALE
326 * define HAVE_STRFTIME if your system has the strftime() call.
331 * define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
332 * and <langinfo.h> defines CODESET.
334 #undef HAVE_NL_LANGINFO
337 * Newer versions of Solaris include fdwalk, which can greatly improve
338 * the startup time of screen; otherwise screen spends a lot of time
339 * closing file descriptors.
344 * define HAVE_DEV_PTC if you have a /dev/ptc character special
350 * define HAVE_SVR4_PTYS if you have a /dev/ptmx character special
351 * device and support the ptsname(), grantpt(), unlockpt() functions.
353 #undef HAVE_SVR4_PTYS
356 * define HAVE_GETPT if you have the getpt() function.
361 * define HAVE_OPENPTY if your system has the openpty() call.
366 * define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen
367 * to unusual environments. E.g. For SunOs the defaults are "qpr" and
368 * "0123456789abcdef". For SunOs 4.1.2
369 * #define PTYRANGE0 "pqrstuvwxyzPQRST"
370 * is recommended by Dan Jacobson.
377 #undef HAVE_SYS_STROPTS_H
379 #undef HAVE_SYS_WAIT_H