Add arch taglines
[bpt/emacs.git] / src / s / usg5-3.h
CommitLineData
20c428fd 1/* Definitions file for GNU Emacs running on AT&T's System V Release 3
bb7b4368 2 Copyright (C) 1987, 1999 Free Software Foundation, Inc.
20c428fd
JB
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
17385adc 8the Free Software Foundation; either version 2, or (at your option)
20c428fd
JB
9any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
3b7ad313
EN
18the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA. */
20c428fd
JB
20
21
22/*
23 * Define symbols to identify the version of Unix this is.
24 * Define all the symbols that apply correctly.
25 */
26
27#define USG /* System III, System V, etc */
28
29#define USG5
30
d2729198
JB
31#define USG5_3
32
20c428fd
JB
33/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "usg-unix-v"
37
38/* nomultiplejobs should be defined if your system's shell
39 does not have "job control" (the ability to stop a program,
40 run some other program, then continue the first one). */
41
42#define NOMULTIPLEJOBS
43
44/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
45
46/* #define INTERRUPT_INPUT */
47
48/* Letter to use in finding device name of first pty,
49 if system supports pty's. 'p' means it is /dev/ptyp0 */
50
51#define FIRST_PTY_LETTER 'p'
52
53/*
54 * Define HAVE_TERMIO if the system provides sysV-style ioctls
55 * for terminal control.
56 */
57
58#define HAVE_TERMIO
59
20c428fd
JB
60/*
61 * Define HAVE_PTYS if the system supports pty devices.
62 */
63
64/* Some versions of V.3 have this, but not all.
65 #define HAVE_PTYS
66 #define SYSV_PTYS */
67
68/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
69
70/* #define HAVE_SOCKETS */
71
72/*
73 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
74 * The 4.2 opendir, etc., library functions.
75 */
76
77/* #define NONSYSTEM_DIR_LIBRARY */
78
79/*
80 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
81 * library functions. Almost, but not quite the same as
82 * the 4.2 functions
83 */
84#define SYSV_SYSTEM_DIR
85
86/* Define this symbol if your system has the functions bcopy, etc. */
87
88/* #define BSTRING */
89
90/* subprocesses should be defined if you want to
91 have code for asynchronous subprocesses
92 (as used in M-x compile and M-x shell).
93 This is supposed to work now on system V release 2. */
94
95#define subprocesses
96
97/* If your system uses COFF (Common Object File Format) then define the
98 preprocessor symbol "COFF". */
99
100#define COFF
101
102/* define MAIL_USE_FLOCK if the mailer uses flock
103 to interlock access to /usr/spool/mail/$USER.
104 The alternative is that a lock file named
105 /usr/spool/mail/$USER.lock. */
106
107/* #define MAIL_USE_FLOCK */
108
109/* Define CLASH_DETECTION if you want lock files to be written
110 so that Emacs can tell instantly when you try to modify
111 a file that someone else has modified in his Emacs. */
112
113/* #define CLASH_DETECTION */
114
115/* Define SHORTNAMES if the C compiler can distinguish only
116 short names. It means that the stuff in ../shortnames
117 must be run to convert the long names to short ones. */
118
119/* #define SHORTNAMES */
120
20c428fd
JB
121/* The file containing the kernel's symbol table is called /unix. */
122
123#define KERNEL_FILE "/unix"
124
125/* The symbol in the kernel where the load average is found
126 is named avenrun. */
127
128#define LDAV_SYMBOL "avenrun"
129
130/* Define this if system V IPC is available. */
131
132#define HAVE_SYSVIPC
f5070950 133
20c428fd
JB
134/* Special hacks needed to make Emacs run on this system. */
135
136/*
137 * Make the sigsetmask function go away. Don't know what the
138 * ramifications of this are, but doesn't seem possible to
139 * emulate it properly anyway at this point.
140 */
141
142#define sigsetmask(mask) /* Null expansion */
143
144/* setjmp and longjmp can safely replace _setjmp and _longjmp,
145 but they will run slower. */
146
147#define _setjmp setjmp
148#define _longjmp longjmp
149
20c428fd 150/* On USG systems these have different names */
1f4ecd6b 151#ifndef HAVE_INDEX
20c428fd 152#define index strchr
1f4ecd6b
GM
153#endif /* ! defined (HAVE_INDEX) */
154#ifndef HAVE_RINDEX
20c428fd 155#define rindex strrchr
1f4ecd6b 156#endif /* ! defined (HAVE_RINDEX) */
20c428fd
JB
157
158/* USG systems tend to put everything declared static
159 into the initialized data area, which becomes pure after dumping Emacs.
160 Foil this. Emacs carefully avoids static vars inside functions. */
161
162#define static
163
164/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
165
166#define ADDR_CORRECT(x) (x)
167
20c428fd
JB
168/* Use terminfo instead of termcap. */
169
170#define TERMINFO
171
d2729198
JB
172/* Some variants have TIOCGETC, but the structures to go with it
173 are not declared. */
174
175#define BROKEN_TIOCGETC
176
ef15f270
JB
177/* AT&T SVr3 X wants to be linked with shared libraries */
178
179#define LIB_X11_LIB -lX11_s
180
20c428fd
JB
181/* X needs to talk on the network, so search the network library. */
182
183#define LIBX10_SYSTEM -lnsl_s
aee87fc4 184#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s
20c428fd 185
d2729198
JB
186/* The docs for system V/386 suggest v.3 has sigpause,
187 so let's give it a try. */
188#define HAVE_SYSV_SIGPAUSE
20c428fd 189
ef15f270
JB
190/* Some variants have TIOCGWINSZ, but the structures to go with it
191 are not declared. */
192
193#define BROKEN_TIOCGWINSZ
194
ef15f270
JB
195/* If we're using the System V X port, BSD bstring functions will be handy */
196
197#ifdef HAVE_X_WINDOWS
198#define BSTRING
199#endif /* HAVE_X_WINDOWS */
200
20c428fd
JB
201/* Enable support for shared libraries in unexec. */
202
203#define USG_SHARED_LIBRARIES
a33ef3ab
JB
204
205/* On USG systems signal handlers return void */
206
207#define SIGTYPE void
ab5796a9
MB
208
209/* arch-tag: 2bca65fd-f015-44b9-a2aa-9f8170ce89ca
210 (do not change this comment) */