1 /* Definitions file for GNU Emacs running on Silicon Graphics Irix system 6.5.
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)
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 #define IRIX6_5 /* used in m/iris4d */
27 #undef sigsetmask /* use sys_sigsetmask */
28 #undef _longjmp /* use system versions, not conservative aliases */
31 #define SETPGRP_RELEASES_CTTY
44 #define SYSTEM_TYPE "irix"
46 #ifdef SETUP_SLAVE_PTY
47 #undef SETUP_SLAVE_PTY
50 /* thomas@mathematik.uni-bremen.de says this is needed. */
51 /* Make process_send_signal work by "typing" a signal character on the pty. */
52 #define SIGNALS_VIA_CHARACTERS
54 /* SGI has all the fancy wait stuff, but we can't include sys/wait.h
55 because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.) Instead
56 we'll just define WNOHANG right here.
57 (An implicit decl is good enough for wait3.) */
59 /* #define WNOHANG 0x1 */
61 /* No need to use sprintf to get the tty name--we get that from _getpty. */
62 #ifdef PTY_TTY_NAME_SPRINTF
63 #undef PTY_TTY_NAME_SPRINTF
65 #define PTY_TTY_NAME_SPRINTF
66 /* No need to get the pty name at all. */
67 #ifdef PTY_NAME_SPRINTF
68 #undef PTY_NAME_SPRINTF
70 #define PTY_NAME_SPRINTF
74 /* We need only try once to open a pty. */
76 /* Here is how to do it. */
79 struct sigaction ocstat, cstat; \
81 sigemptyset(&cstat.sa_mask); \
82 cstat.sa_handler = SIG_DFL; \
84 sigaction(SIGCLD, &cstat, &ocstat); \
85 name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \
86 sigaction(SIGCLD, &ocstat, (struct sigaction *)0); \
91 if (fstat (fd, &stb) < 0) \
93 strcpy (pty_name, name); \
96 /* Since we use POSIX constructs in PTY_OPEN, we must force POSIX
100 /* Info from simon@lia.di.epfl.ch (Simon Leinen) suggests this is needed. */
101 #define GETPGRP_NO_ARG
103 /* Ulimit(UL_GMEMLIM) is busted... */
104 #define ULIMIT_BREAK_VALUE 0x14000000
106 /* Tell process_send_signal to use VSUSP instead of VSWTCH. */
109 /* define MAIL_USE_FLOCK if the mailer uses flock
110 to interlock access to /usr/spool/mail/$USER.
111 The alternative is that a lock file named
112 /usr/spool/mail/$USER.lock. */
114 #define MAIL_USE_FLOCK
116 /* -g used not to work on Irix unless you used gas, and since gcc
117 warns if you use it, turn off the warning. */
118 /* -g does now work, at least on recent Irix 6 versions with gcc 2.95;
119 I'm not sure about Irix 5 -- fx */
121 #define C_DEBUG_SWITCH
124 #define NARROWPROTO 1
126 #define USE_MMAP_FOR_BUFFERS 1
128 /* arch-tag: ad0660e0-acf8-46ae-b866-4f3df5b1101b
129 (do not change this comment) */
132 #if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */
133 #define _LP64 /* lisp.h takes care of the rest */
134 #endif /* _MIPS_SZLONG */
136 /* The only supported 32-bit configuration of GCC under IRIX6.x produces
137 n32 MIPS ABI binaries and also supports -g. */
139 #undef C_DEBUG_SWITCH
140 #define C_DEBUG_SWITCH -g
142 /* Optimize, inaccurate debugging, increase limit on size of what's
145 This should also be applicable other than on Irix 6.5, but I don't
146 know for which compiler versions. -- fx */
147 #define C_DEBUG_SWITCH -g3 -O -OPT:Olimit=3500
152 #undef TIOCSIGSEND /* defined in usg5-4.h */
154 /* Tested on Irix 6.5. SCM worked on earlier versions. */
155 #define GC_SETJMP_WORKS 1
156 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
158 /* arch-tag: d7ad9ec2-54ad-4b2f-adf2-0070c5c63e83
159 (do not change this comment) */