| 1 | /* Template for system description header files. |
| 2 | This file describes the parameters that system description files |
| 3 | should define or not. |
| 4 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. |
| 5 | |
| 6 | This file is part of GNU Emacs. |
| 7 | |
| 8 | GNU Emacs 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 1, or (at your option) |
| 11 | any later version. |
| 12 | |
| 13 | GNU Emacs 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. |
| 17 | |
| 18 | You should have received a copy of the GNU General Public License |
| 19 | along with GNU Emacs; see the file COPYING. If not, write to |
| 20 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ |
| 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 | /* Define this if your operating system declares signal handlers to |
| 132 | have a type other than the usual. `The usual' is `void' for ANSI C |
| 133 | systems (i.e. when the __STDC__ macro is defined), and `int' for |
| 134 | pre-ANSI systems. If you're using GCC on an older system, __STDC__ |
| 135 | will be defined, but the system's include files will still say that |
| 136 | signal returns int or whatever; in situations like that, define |
| 137 | this to be what the system's include files want. */ |
| 138 | /* #define SIGTYPE int */ |
| 139 | |
| 140 | /* Here, on a separate page, add any special hacks needed |
| 141 | to make Emacs work on this system. For example, |
| 142 | you might define certain system call names that don't |
| 143 | exist on your system, or that do different things on |
| 144 | your system and must be used only through an encapsulation |
| 145 | (Which you should place, by convention, in sysdep.c). */ |
| 146 | \f |
| 147 | /* Some compilers tend to put everything declared static |
| 148 | into the initialized data area, which becomes pure after dumping Emacs. |
| 149 | On these systems, you must #define static as nothing to foil this. |
| 150 | Note that emacs carefully avoids static vars inside functions. */ |
| 151 | |
| 152 | /* #define static */ |