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