Merge from emacs--devo--0
[emacs.git] / src / s / irix5-0.h
blob2d126ff5fd93566a58edea586b8619b4b0eebb6e
1 /* Definitions file for GNU Emacs running on Silicon Graphics Irix system 5.0.
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008 Free Software Foundation, Inc.
6 This file is part of GNU Emacs.
8 GNU Emacs is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs; see the file COPYING. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
24 #include "usg5-4.h"
26 #define IRIX5
28 #undef sigsetmask /* use sys_sigsetmask */
29 #undef _longjmp /* use system versions, not conservative aliases */
30 #undef _setjmp
32 #define SETPGRP_RELEASES_CTTY
34 #ifdef LIBS_SYSTEM
35 #undef LIBS_SYSTEM
36 #endif
38 #ifdef LIB_STANDARD
39 #undef LIB_STANDARD
40 #endif
42 #ifdef SYSTEM_TYPE
43 #undef SYSTEM_TYPE
44 #endif
45 #define SYSTEM_TYPE "irix"
47 #ifdef SETUP_SLAVE_PTY
48 #undef SETUP_SLAVE_PTY
49 #endif
51 /* thomas@mathematik.uni-bremen.de says this is needed. */
52 /* Make process_send_signal work by "typing" a signal character on the pty. */
53 #define SIGNALS_VIA_CHARACTERS
55 /* SGI has all the fancy wait stuff, but we can't include sys/wait.h
56 because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.) Instead
57 we'll just define WNOHANG right here.
58 (An implicit decl is good enough for wait3.) */
60 /* #define WNOHANG 0x1 */
62 /* No need to use sprintf to get the tty name--we get that from _getpty. */
63 #ifdef PTY_TTY_NAME_SPRINTF
64 #undef PTY_TTY_NAME_SPRINTF
65 #endif
66 #define PTY_TTY_NAME_SPRINTF
67 /* No need to get the pty name at all. */
68 #ifdef PTY_NAME_SPRINTF
69 #undef PTY_NAME_SPRINTF
70 #endif
71 #define PTY_NAME_SPRINTF
72 #ifdef emacs
73 char *_getpty();
74 #endif
75 /* We need only try once to open a pty. */
76 #define PTY_ITERATION
77 /* Here is how to do it. */
78 #define PTY_OPEN \
79 { \
80 struct sigaction ocstat, cstat; \
81 char * name; \
82 sigemptyset(&cstat.sa_mask); \
83 cstat.sa_handler = SIG_DFL; \
84 cstat.sa_flags = 0; \
85 sigaction(SIGCLD, &cstat, &ocstat); \
86 name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \
87 sigaction(SIGCLD, &ocstat, (struct sigaction *)0); \
88 if (name == 0) \
89 return -1; \
90 if (fd < 0) \
91 return -1; \
92 if (fstat (fd, &stb) < 0) \
93 return -1; \
94 strcpy (pty_name, name); \
97 /* Since we use POSIX constructs in PTY_OPEN, we must force POSIX
98 throughout. */
99 #define POSIX_SIGNALS
101 /* Info from simon@lia.di.epfl.ch (Simon Leinen) suggests this is needed. */
102 #define GETPGRP_NO_ARG
104 /* Ulimit(UL_GMEMLIM) is busted... */
105 #define ULIMIT_BREAK_VALUE 0x14000000
107 /* Tell process_send_signal to use VSUSP instead of VSWTCH. */
108 #define PREFER_VSUSP
110 /* define MAIL_USE_FLOCK if the mailer uses flock
111 to interlock access to /usr/spool/mail/$USER.
112 The alternative is that a lock file named
113 /usr/spool/mail/$USER.lock. */
115 #define MAIL_USE_FLOCK
117 /* use K&R C */
118 #if 0
119 #ifndef __GNUC__
120 #define C_SWITCH_SYSTEM -cckr
121 #endif
122 #endif
124 /* -g used not to work on Irix unless you used gas, and since gcc
125 warns if you use it, turn off the warning. */
126 /* -g does now work, at least on recent Irix 6 versions with gcc 2.95;
127 I'm not sure about Irix 5 -- fx */
128 #ifdef __GNUC__
129 #define C_DEBUG_SWITCH
130 #endif
132 /* Prevent the variable ospeed from being defined by -lcurses
133 because it defines it with too few bytes. */
134 #define ospeed ospeed_
136 #define NARROWPROTO 1
138 #define USE_MMAP_FOR_BUFFERS 1
140 /* arch-tag: ad0660e0-acf8-46ae-b866-4f3df5b1101b
141 (do not change this comment) */