Sync to HEAD
[bpt/emacs.git] / src / s / iris3-5.h
CommitLineData
9b71f02b 1/* Definitions file for GNU Emacs running on Silicon Graphics 3.5
bb7b4368 2 Copyright (C) 1987, 1999 Free Software Foundation, Inc.
9b71f02b
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)
9b71f02b
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. */
9b71f02b
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
28#define USG5
29#define IRIS
30
31/* SYSTEM_TYPE should indicate the kind of system you are using.
32 It sets the Lisp variable system-type. */
33
34#define SYSTEM_TYPE "irix"
35
36/* nomultiplejobs should be defined if your system's shell
37 does not have "job control" (the ability to stop a program,
38 run some other program, then continue the first one). */
39
40#define NOMULTIPLEJOBS
41
42/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
43
44/* #define INTERRUPT_INPUT */
45
46/* Letter to use in finding device name of first pty,
47 if system supports pty's. 'a' means it is /dev/ptya0 */
48
49#define FIRST_PTY_LETTER 'a'
50
51/*
52 * Define HAVE_TERMIO if the system provides sysV-style ioctls
53 * for terminal control.
54 */
55
56#define HAVE_TERMIO
57
9b71f02b
JB
58/*
59 * Define HAVE_PTYS if the system supports pty devices.
60 */
61
62#define HAVE_PTYS
63
64/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
65
66#define HAVE_SOCKETS
67
68/*
69 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
70 * The 4.2 opendir, etc., library functions.
71 */
72
73/* #define NONSYSTEM_DIR_LIBRARY */
74
75/* Define this symbol if your system has the functions bcopy, etc. */
76
77#define BSTRING
78
79/* subprocesses should be defined if you want to
80 have code for asynchronous subprocesses
81 (as used in M-x compile and M-x shell).
82 This is generally OS dependent, and not supported
83 under most USG systems. */
84
85#define subprocesses
86
87/* If your system uses COFF (Common Object File Format) then define the
88 preprocessor symbol "COFF". */
89
90/* #define COFF */
91
92/* define MAIL_USE_FLOCK if the mailer uses flock
93 to interlock access to /usr/spool/mail/$USER.
94 The alternative is that a lock file named
95 /usr/spool/mail/$USER.lock. */
96
503ffb1e 97#define MAIL_USE_FLOCK
9b71f02b
JB
98
99/* Define CLASH_DETECTION if you want lock files to be written
100 so that Emacs can tell instantly when you try to modify
101 a file that someone else has modified in his Emacs. */
102
103/* #define CLASH_DETECTION */
104
9b71f02b
JB
105/* The file containing the kernel's symbol table is called /vmunix. */
106
107#define KERNEL_FILE "/vmunix"
108
109/* The symbol in the kernel where the load average is found
110 is named _avenrun. */
111
112#define LDAV_SYMBOL "_avenrun"
113
114\f
115/* Special hacks needed to make Emacs run on this system. */
116
117/*
118 * Make the sigsetmask function go away. Don't know what the
119 * ramifications of this are, but doesn't seem possible to
120 * emulate it properly anyway at this point.
121 */
122
123#define sigsetmask(mask) /* Null expansion */
124
125/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
bb7b4368 126#define BROKEN_SIGIO
9b71f02b
JB
127
128#define LIBS_MACHINE -lbsd -ldbm -lPW
129#define C_SWITCH_MACHINE -I/usr/include/bsd
130
131/* setjmp and longjmp can safely replace _setjmp and _longjmp,
132 but they will run slower. */
133
134#define _setjmp setjmp
135#define _longjmp longjmp
136
9b71f02b
JB
137/* On USG systems these have different names */
138
139#define index strchr
140#define rindex strrchr
141
142/* USG systems tend to put everything declared static
143 into the initialized data area, which becomes pure after dumping Emacs.
144 Foil this. Emacs carefully avoids static vars inside functions. */
145
146/* #define static */
147
148/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
149
150#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
151
152/* some errno.h's don't actually allocate the variable itself */
153
154#define NEED_ERRNO
155
156/* The symbol FIONREAD is defined, but the feature does not work. */
157
158#define BROKEN_FIONREAD
159
160/* This is how to get the device name of the tty end of a pty. */
161#define PTY_TTY_NAME_SPRINTF \
162 sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
6b61353c
KH
163
164/* arch-tag: 41161051-477f-44be-bb2a-0eead3142157
165 (do not change this comment) */