(calculator-expt): Replace cl function `oddp'.
[emacs.git] / src / s / usg5-3.h
blob0974f6ced8ca7bcbe7f234526c8b55fdc29525c2
1 /* Definitions file for GNU Emacs running on AT&T's System V Release 3
2 Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
28 #define USG /* System III, System V, etc */
30 #define USG5
32 #define USG5_3
34 /* SYSTEM_TYPE should indicate the kind of system you are using.
35 It sets the Lisp variable system-type. */
37 #define SYSTEM_TYPE "usg-unix-v"
39 /* nomultiplejobs should be defined if your system's shell
40 does not have "job control" (the ability to stop a program,
41 run some other program, then continue the first one). */
43 #define NOMULTIPLEJOBS
45 /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
47 /* #define INTERRUPT_INPUT */
49 /* Letter to use in finding device name of first pty,
50 if system supports pty's. 'p' means it is /dev/ptyp0 */
52 #define FIRST_PTY_LETTER 'p'
55 * Define HAVE_TERMIO if the system provides sysV-style ioctls
56 * for terminal control.
59 #define HAVE_TERMIO
62 * Define HAVE_PTYS if the system supports pty devices.
65 /* Some versions of V.3 have this, but not all.
66 #define HAVE_PTYS
67 #define SYSV_PTYS */
69 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
71 /* #define HAVE_SOCKETS */
74 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
75 * The 4.2 opendir, etc., library functions.
78 /* #define NONSYSTEM_DIR_LIBRARY */
81 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
82 * library functions. Almost, but not quite the same as
83 * the 4.2 functions
85 #define SYSV_SYSTEM_DIR
87 /* Define this symbol if your system has the functions bcopy, etc. */
89 /* #define BSTRING */
91 /* subprocesses should be defined if you want to
92 have code for asynchronous subprocesses
93 (as used in M-x compile and M-x shell).
94 This is supposed to work now on system V release 2. */
96 #define subprocesses
98 /* If your system uses COFF (Common Object File Format) then define the
99 preprocessor symbol "COFF". */
101 #define COFF
103 /* define MAIL_USE_FLOCK if the mailer uses flock
104 to interlock access to /usr/spool/mail/$USER.
105 The alternative is that a lock file named
106 /usr/spool/mail/$USER.lock. */
108 /* #define MAIL_USE_FLOCK */
110 /* Define CLASH_DETECTION if you want lock files to be written
111 so that Emacs can tell instantly when you try to modify
112 a file that someone else has modified in his Emacs. */
114 /* #define CLASH_DETECTION */
116 /* The file containing the kernel's symbol table is called /unix. */
118 #define KERNEL_FILE "/unix"
120 /* The symbol in the kernel where the load average is found
121 is named avenrun. */
123 #define LDAV_SYMBOL "avenrun"
125 /* Define this if system V IPC is available. */
127 #define HAVE_SYSVIPC
129 /* Special hacks needed to make Emacs run on this system. */
132 * Make the sigsetmask function go away. Don't know what the
133 * ramifications of this are, but doesn't seem possible to
134 * emulate it properly anyway at this point.
137 #define sigsetmask(mask) /* Null expansion */
139 /* setjmp and longjmp can safely replace _setjmp and _longjmp,
140 but they will run slower. */
142 #define _setjmp setjmp
143 #define _longjmp longjmp
145 /* On USG systems these have different names */
146 #ifndef HAVE_INDEX
147 #define index strchr
148 #endif /* ! defined (HAVE_INDEX) */
149 #ifndef HAVE_RINDEX
150 #define rindex strrchr
151 #endif /* ! defined (HAVE_RINDEX) */
153 /* USG systems tend to put everything declared static
154 into the initialized data area, which becomes pure after dumping Emacs.
155 Foil this. Emacs carefully avoids static vars inside functions. */
157 #define static
159 /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
161 #define ADDR_CORRECT(x) (x)
163 /* Use terminfo instead of termcap. */
165 #define TERMINFO
167 /* Some variants have TIOCGETC, but the structures to go with it
168 are not declared. */
170 #define BROKEN_TIOCGETC
172 /* AT&T SVr3 X wants to be linked with shared libraries */
174 #define LIB_X11_LIB -lX11_s
176 /* X needs to talk on the network, so search the network library. */
178 #define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s
180 /* The docs for system V/386 suggest v.3 has sigpause,
181 so let's give it a try. */
182 #define HAVE_SYSV_SIGPAUSE
184 /* Some variants have TIOCGWINSZ, but the structures to go with it
185 are not declared. */
187 #define BROKEN_TIOCGWINSZ
189 /* If we're using the System V X port, BSD bstring functions will be handy */
191 #ifdef HAVE_X_WINDOWS
192 #define BSTRING
193 #endif /* HAVE_X_WINDOWS */
195 /* Enable support for shared libraries in unexec. */
197 #define USG_SHARED_LIBRARIES
199 /* On USG systems signal handlers return void */
201 #define SIGTYPE void
203 /* arch-tag: 2bca65fd-f015-44b9-a2aa-9f8170ce89ca
204 (do not change this comment) */