1: /* Template for s- header files. 2: This file describes the parameters that s- files should define or not. 3: Copyright (C) 1985 Richard M. Stallman. 4: 5: This file is part of GNU Emacs. 6: 7: GNU Emacs is distributed in the hope that it will be useful, 8: but WITHOUT ANY WARRANTY. No author or distributor 9: accepts responsibility to anyone for the consequences of using it 10: or for whether it serves any particular purpose or works at all, 11: unless he says so in writing. Refer to the GNU Emacs General Public 12: License for full details. 13: 14: Everyone is granted permission to copy, modify and redistribute 15: GNU Emacs, but only under the conditions described in the 16: GNU Emacs General Public License. A copy of this license is 17: supposed to have been given to you along with GNU Emacs so you 18: can know your rights and responsibilities. It should be in a 19: file named COPYING. Among other things, the copyright notice 20: and this notice must be preserved on all copies. */ 21: 22: 23: /* 24: * Define symbols to identify the version of Unix this is. 25: * Define all the symbols that apply correctly. 26: */ 27: 28: /* #define UNIPLUS */ 29: /* #define USG5 */ 30: /* #define USG */ 31: /* #define HPUX */ 32: /* #define UMAX */ 33: /* #define BSD4_1 */ 34: /* #define BSD4_2 */ 35: /* #define BSD4_3 */ 36: /* #define BSD */ 37: /* #define VMS */ 38: 39: /* SYSTEM_TYPE should indicate the kind of system you are using. 40: It sets the Lisp variable system-type. */ 41: 42: #define SYSTEM_TYPE "berkeley-unix" 43: 44: /* NOMULTIPLEJOBS should be defined if your system's shell 45: does not have "job control" (the ability to stop a program, 46: run some other program, then continue the first one). */ 47: 48: /* #define NOMULTIPLEJOBS */ 49: 50: /* Emacs can read input using SIGIO and buffering characters itself, 51: or using CBREAK mode and making C-g cause SIGINT. 52: The choice is controlled by the variable interrupt_input. 53: Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) 54: 55: SIGIO can be used only on systems that implement it (4.2 and 4.3). 56: CBREAK mode has two disadvatages 57: 1) At least in 4.2, it is impossible to handle the Meta key properly. 58: I hear that in system V this problem does not exist. 59: 2) Control-G causes output to be discarded. 60: I do not know whether this can be fixed in system V. 61: 62: Another method of doing input is planned but not implemented. 63: It would have Emacs fork off a separate process 64: to read the input and send it to the true Emacs process 65: through a pipe. 66: */ 67: 68: #define INTERRUPT_INPUT 69: 70: /* Letter to use in finding device name of first pty, 71: if system supports pty's. 'a' means it is /dev/ptya0 */ 72: 73: #define FIRST_PTY_LETTER 'a' 74: 75: /* 76: * Define HAVE_TIMEVAL if the system supports the BSD style clock values. 77: * Look in <sys/time.h> for a timeval structure. 78: */ 79: 80: #define HAVE_TIMEVAL 81: 82: /* 83: * Define HAVE_SELECT if the system supports the `select' system call. 84: */ 85: 86: /* #define HAVE_SELECT */ 87: 88: /* 89: * Define HAVE_PTYS if the system supports pty devices. 90: */ 91: 92: #define HAVE_PTYS 93: 94: /* 95: * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate 96: * The 4.2 opendir, etc., library functions. 97: */ 98: 99: #define NONSYSTEM_DIR_LIBRARY 100: 101: /* Define this symbol if your system has the functions bcopy, etc. */ 102: 103: #define BSTRING 104: 105: /* subprocesses should be defined if you want to 106: have code for asynchronous subprocesses 107: (as used in M-x compile and M-x shell). 108: This is generally OS dependent, and not supported 109: under most USG systems. */ 110: 111: #define subprocesses 112: 113: /* If your system uses COFF (Common Object File Format) then define the 114: preprocessor symbol "COFF". */ 115: 116: /* #define COFF */ 117: 118: /* define MAIL_USE_FLOCK if the mailer uses flock 119: to interlock access to /usr/spool/mail/$USER. 120: The alternative is that a lock file named 121: /usr/spool/mail/$USER.lock. */ 122: 123: #define MAIL_USE_FLOCK 124: 125: /* Define CLASH_DETECTION if you want lock files to be written 126: so that Emacs can tell instantly when you try to modify 127: a file that someone else has modified in his Emacs. */ 128: 129: #define CLASH_DETECTION 130: 131: /* Here, on a separate page, add any special hacks needed 132: to make Emacs work on this system. For example, 133: you might define certain system call names that don't 134: exist on your system, or that do different things on 135: your system and must be used only through an encapsulation 136: (Which you should place, by convention, in sysdep.c). */ 137: 138: /* Some compilers tend to put everything declared static 139: into the initialized data area, which becomes pure after dumping Emacs. 140: On these systems, you must #define static as nothing to foil this. 141: Note that emacs carefully avoids static vars inside functions. */ 142: 143: #define static