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