1 /* Definitions file for GNU Emacs running on bsd 4.4 2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 4 This file is part of GNU Emacs. 5 6 GNU Emacs is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 1, or (at your option) 9 any later version. 10 11 GNU Emacs is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Emacs; see the file COPYING. If not, write to 18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ 19 20 21 /* Unfortunately, 4.4 and emacs have conflicting uses of BIG_ENDIAN 22 and LITTLE_ENDIAN. Emacs assumes BIG_ENDIAN will be defined for 23 big endian machines and not defined for little endian machines. 24 endian.h in 4.4 defines both as values with BYTE_ORDER taking on 25 the appropriate one. I see no way to reconcile the two. Just 26 using the values from endian.h will break a little endian machine 27 since BIG_ENDIAN is also defined. Undef'ing the values from 28 endian.h (in the m- file) and redefining only one won't work since, 29 for example, wait.h requires both be defined and have values. 30 At the current time this is not a problem as we can hack around 31 it. Emacs' only use of BIG_ENDIAN is in lisp.h and then only 32 if NO_UNION_TYPE is not defined. By ensuring that NO_UNION_TYPE 33 is defined, we avoid the issue. We also include endian.h now to 34 make sure that the m- file doesn't override the correct value (in 35 the big endian case). */ 36 37 #define NO_UNION_TYPE 38 #ifndef YMAKEFILE 39 #include <machine/endian.h> 40 #endif 41 42 /* 43 * Define symbols to identify the version of Unix this is. 44 * Define all the symbols that apply correctly. 45 */ 46 47 #ifndef BSD4_4 48 #define BSD4_4 1 49 #endif /* BSD4_4 */ 50 51 #ifndef BSD4_3 52 #define BSD4_3 53 #endif /* BSD4_3 */ 54 55 #ifndef BSD 56 #define BSD 57 #endif /* BSD */ 58 59 /* SYSTEM_TYPE should indicate the kind of system you are using. 60 It sets the Lisp variable system-type. */ 61 62 #define SYSTEM_TYPE "berkeley-unix" 63 64 /* nomultiplejobs should be defined if your system's shell 65 does not have "job control" (the ability to stop a program, 66 run some other program, then continue the first one). */ 67 68 /* #define NOMULTIPLEJOBS */ 69 70 /* Do not use interrupt_input = 1 by default, because in 4.3 71 we can make noninterrupt input work properly. */ 72 73 #undef INTERRUPT_INPUT 74 75 /* First pty name is /dev/ptyp0. */ 76 77 #define FIRST_PTY_LETTER 'p' 78 /* 79 * Define HAVE_TIMEVAL if the system supports the BSD style clock values. 80 * Look in <sys/time.h> for a timeval structure. 81 */ 82 83 #define HAVE_TIMEVAL 84 85 /* 86 * Define HAVE_SELECT if the system supports the `select' system call. 87 */ 88 89 #define HAVE_SELECT 90 91 /* 92 * Define HAVE_PTYS if the system supports pty devices. 93 */ 94 95 #define HAVE_PTYS 96 97 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 98 99 #define HAVE_SOCKETS 100 101 /* 102 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate 103 * The 4.2 opendir, etc., library functions. 104 */ 105 106 /* #define NONSYSTEM_DIR_LIBRARY */ 107 108 /* Define this symbol if your system has the functions bcopy, etc. */ 109 110 #define BSTRING 111 112 /* subprocesses should be defined if you want to 113 have code for asynchronous subprocesses 114 (as used in M-x compile and M-x shell). 115 This is generally OS dependent, and not supported 116 under most USG systems. */ 117 118 #define subprocesses 119 120 /* If your system uses COFF (Common Object File Format) then define the 121 preprocessor symbol "COFF". */ 122 123 /* #define COFF */ 124 125 /* define MAIL_USE_FLOCK if the mailer uses flock 126 to interlock access to /usr/spool/mail/$USER. 127 The alternative is that a lock file named 128 /usr/spool/mail/$USER.lock. */ 129 130 #define MAIL_USE_FLOCK 131 132 /* Define CLASH_DETECTION if you want lock files to be written 133 so that Emacs can tell instantly when you try to modify 134 a file that someone else has modified in his Emacs. */ 135 136 #define CLASH_DETECTION 137 138 /* We use the Berkeley (and usg5.2.2) interface to nlist. */ 139 140 #define NLIST_STRUCT 141 142 /* The file containing the kernel's symbol table is called /vmunix. */ 143 144 #define KERNEL_FILE "/vmunix" 145 146 /* The symbol in the kernel where the load average is found 147 is named _avenrun. */ 148 149 #define LDAV_SYMBOL "_avenrun" 150 151 /* This macro determines the number of bytes waiting to be written 152 in a FILE buffer. */ 153 154 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_w - (FILE)->_bf._size) 155 156 /* Have POSIX setsid(). */ 157 158 #define HAVE_SETSID 159 160 /* Have BSD getloadavg() library routine. */ 161 162 #define HAVE_GETLOADAVG 163 164 /* Use dkstat.h in loadst. */ 165 166 #define DKSTAT_HEADER_FILE 167 168 /* No special libg for debugging. */ 169 170 #define LIBS_DEBUG 171 172 /* Debugging unexec()ed code is hard enough as is, so why 173 not make it a little harder. */ 174 175 #define C_DEBUG_SWITCH -g -traditional -O2 176