Sync to HEAD
[bpt/emacs.git] / src / s / iris3-6.h
CommitLineData
20c428fd 1/* Definitions file for GNU Emacs running on Silicon Graphics system 3.6.
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
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
20c428fd
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
20c428fd
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
20c428fd
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#define sigblock(x) x
125
126/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
bb7b4368 127#define BROKEN_SIGIO
20c428fd
JB
128
129#define LIBS_MACHINE -lbsd -ldbm -lPW
130#define C_SWITCH_MACHINE -I/usr/include/bsd
131
132/* setjmp and longjmp can safely replace _setjmp and _longjmp,
133 but they will run slower. */
134
135#define _setjmp setjmp
136#define _longjmp longjmp
137
20c428fd
JB
138/* On USG systems these have different names */
139
140#define index strchr
141#define rindex strrchr
142
143/* USG systems tend to put everything declared static
144 into the initialized data area, which becomes pure after dumping Emacs.
145 Foil this. Emacs carefully avoids static vars inside functions. */
146
147/* #define static */
148
149/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
150
151#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
152
153/* some errno.h's don't actually allocate the variable itself */
154
155#define NEED_ERRNO
156
157/* This is how to get the device name of the tty end of a pty. */
158#define PTY_TTY_NAME_SPRINTF \
159 sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
6b61353c
KH
160
161/* arch-tag: cdf2033e-a2d5-43e1-a1a2-a7243cf41a11
162 (do not change this comment) */