160434Shibler /* Definitions file for GNU Emacs running on bsd 4.4
259808Shibler    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
359808Shibler 
459808Shibler This file is part of GNU Emacs.
559808Shibler 
659808Shibler GNU Emacs is free software; you can redistribute it and/or modify
759808Shibler it under the terms of the GNU General Public License as published by
859808Shibler the Free Software Foundation; either version 1, or (at your option)
959808Shibler any later version.
1059808Shibler 
1159808Shibler GNU Emacs is distributed in the hope that it will be useful,
1259808Shibler but WITHOUT ANY WARRANTY; without even the implied warranty of
1359808Shibler MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1459808Shibler GNU General Public License for more details.
1559808Shibler 
1659808Shibler You should have received a copy of the GNU General Public License
1759808Shibler along with GNU Emacs; see the file COPYING.  If not, write to
1859808Shibler the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
1959808Shibler 
2059808Shibler 
2160434Shibler /* Unfortunately, 4.4 and emacs have conflicting uses of BIG_ENDIAN
2260434Shibler    and LITTLE_ENDIAN.  Emacs assumes BIG_ENDIAN will be defined for
2360434Shibler    big endian machines and not defined for little endian machines.
2460434Shibler    endian.h in 4.4 defines both as values with BYTE_ORDER taking on
2560434Shibler    the appropriate one.  I see no way to reconcile the two.  Just
2660434Shibler    using the values from endian.h will break a little endian machine
2760434Shibler    since BIG_ENDIAN is also defined.  Undef'ing the values from
2860434Shibler    endian.h (in the m- file) and redefining only one won't work since,
2960434Shibler    for example, wait.h requires both be defined and have values.
3060434Shibler    At the current time this is not a problem as we can hack around
3160434Shibler    it.  Emacs' only use of BIG_ENDIAN is in lisp.h and then only
3260434Shibler    if NO_UNION_TYPE is not defined.  By ensuring that NO_UNION_TYPE
3360434Shibler    is defined, we avoid the issue.  We also include endian.h now to
3460434Shibler    make sure that the m- file doesn't override the correct value (in
3560434Shibler    the big endian case).  */
3660434Shibler 
3760434Shibler #define NO_UNION_TYPE
3860297Shibler #ifndef YMAKEFILE
3960297Shibler #include <machine/endian.h>
4060297Shibler #endif
4160297Shibler 
4259808Shibler /*
4359808Shibler  *	Define symbols to identify the version of Unix this is.
4459808Shibler  *	Define all the symbols that apply correctly.
4559808Shibler  */
4659808Shibler 
4759808Shibler #ifndef BSD4_4
4860297Shibler #define BSD4_4	1
4959808Shibler #endif /* BSD4_4 */
5059808Shibler 
5159808Shibler #ifndef BSD4_3
5259808Shibler #define BSD4_3
5359808Shibler #endif /* BSD4_3 */
5459808Shibler 
5559808Shibler #ifndef BSD
5659808Shibler #define BSD
5759808Shibler #endif /* BSD */
5859808Shibler 
5959808Shibler /* SYSTEM_TYPE should indicate the kind of system you are using.
6059808Shibler  It sets the Lisp variable system-type.  */
6159808Shibler 
6259808Shibler #define SYSTEM_TYPE "berkeley-unix"
6359808Shibler 
6459808Shibler /* nomultiplejobs should be defined if your system's shell
6559808Shibler  does not have "job control" (the ability to stop a program,
6659808Shibler  run some other program, then continue the first one).  */
6759808Shibler 
6859808Shibler /* #define NOMULTIPLEJOBS */
6959808Shibler 
7059808Shibler /* Do not use interrupt_input = 1 by default, because in 4.3
7159808Shibler    we can make noninterrupt input work properly.  */
7259808Shibler 
7359808Shibler #undef INTERRUPT_INPUT
7459808Shibler 
7559808Shibler /* First pty name is /dev/ptyp0.  */
7659808Shibler 
7759808Shibler #define FIRST_PTY_LETTER 'p'
7859808Shibler /*
7959808Shibler  *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
8059808Shibler  *	Look in <sys/time.h> for a timeval structure.
8159808Shibler  */
8259808Shibler 
8359808Shibler #define HAVE_TIMEVAL
8459808Shibler 
8559808Shibler /*
8659808Shibler  *	Define HAVE_SELECT if the system supports the `select' system call.
8759808Shibler  */
8859808Shibler 
8959808Shibler #define HAVE_SELECT
9059808Shibler 
9159808Shibler /*
9259808Shibler  *	Define HAVE_PTYS if the system supports pty devices.
9359808Shibler  */
9459808Shibler 
9559808Shibler #define HAVE_PTYS
9659808Shibler 
9759808Shibler /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
9859808Shibler 
9959808Shibler #define HAVE_SOCKETS
10059808Shibler 
10159808Shibler /*
10259808Shibler  *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
10359808Shibler  *      The 4.2 opendir, etc., library functions.
10459808Shibler  */
10559808Shibler 
10659808Shibler /* #define NONSYSTEM_DIR_LIBRARY */
10759808Shibler 
10859808Shibler /* Define this symbol if your system has the functions bcopy, etc. */
10959808Shibler 
11059808Shibler #define BSTRING
11159808Shibler 
11259808Shibler /* subprocesses should be defined if you want to
11359808Shibler    have code for asynchronous subprocesses
11459808Shibler    (as used in M-x compile and M-x shell).
11559808Shibler    This is generally OS dependent, and not supported
11659808Shibler    under most USG systems. */
11759808Shibler 
11859808Shibler #define subprocesses
11959808Shibler 
12059808Shibler /* If your system uses COFF (Common Object File Format) then define the
12159808Shibler    preprocessor symbol "COFF". */
12259808Shibler 
12359808Shibler /* #define COFF */
12459808Shibler 
12559808Shibler /* define MAIL_USE_FLOCK if the mailer uses flock
12659808Shibler    to interlock access to /usr/spool/mail/$USER.
12759808Shibler    The alternative is that a lock file named
12859808Shibler    /usr/spool/mail/$USER.lock.  */
12959808Shibler 
13059808Shibler #define MAIL_USE_FLOCK
13159808Shibler 
13259808Shibler /* Define CLASH_DETECTION if you want lock files to be written
13359808Shibler    so that Emacs can tell instantly when you try to modify
13459808Shibler    a file that someone else has modified in his Emacs.  */
13559808Shibler 
13659808Shibler #define CLASH_DETECTION
13759808Shibler 
13859808Shibler /* We use the Berkeley (and usg5.2.2) interface to nlist.  */
13959808Shibler 
14059808Shibler #define NLIST_STRUCT
14159808Shibler 
14259808Shibler /* The file containing the kernel's symbol table is called /vmunix.  */
14359808Shibler 
14459808Shibler #define KERNEL_FILE "/vmunix"
14559808Shibler 
14659808Shibler /* The symbol in the kernel where the load average is found
14759808Shibler    is named _avenrun.  */
14859808Shibler 
14959808Shibler #define LDAV_SYMBOL "_avenrun"
15060297Shibler 
15160297Shibler /* This macro determines the number of bytes waiting to be written
15260297Shibler    in a FILE buffer.  */
15360297Shibler 
154*63400Sbostic #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
15560297Shibler 
15660297Shibler /* Have POSIX setsid().  */
15760297Shibler 
15860297Shibler #define HAVE_SETSID
15960297Shibler 
16060297Shibler /* Have BSD getloadavg() library routine.  */
16160297Shibler 
16260297Shibler #define HAVE_GETLOADAVG
16360297Shibler 
16460297Shibler /* Use dkstat.h in loadst.  */
16560297Shibler 
16660297Shibler #define DKSTAT_HEADER_FILE
16760297Shibler 
16860297Shibler /* No special libg for debugging.  */
16960297Shibler 
17060297Shibler #define LIBS_DEBUG
17160297Shibler 
172*63400Sbostic /* X11 libraries, use R5.  */
173*63400Sbostic 
174*63400Sbostic #define LIB_X11_LIB -L/usr/X11R5/lib -lX11
175*63400Sbostic 
17660297Shibler /* Debugging unexec()ed code is hard enough as is, so why
17760297Shibler    not make it a little harder.  */
17860297Shibler 
17960297Shibler #define C_DEBUG_SWITCH -g -traditional -O2
180