Add 2012 to FSF copyright years for Emacs files (do not merge to trunk)
[bpt/emacs.git] / src / s / irix6-5.h
CommitLineData
3423be79
GM
1/* Definitions file for GNU Emacs running on Silicon Graphics Irix system 6.5.
2
4b158629 3Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
49f70d46 4 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
3423be79
GM
5
6This file is part of GNU Emacs.
7
4b158629 8GNU Emacs is free software: you can redistribute it and/or modify
3423be79 9it under the terms of the GNU General Public License as published by
4b158629
GM
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
3423be79
GM
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
4b158629 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
3423be79
GM
20
21
7fa3ed62 22#define IRIX6_5 /* used in m/iris4d */
9d2818d6
DN
23#include "usg5-4.h"
24
25#undef sigsetmask /* use sys_sigsetmask */
26#undef _longjmp /* use system versions, not conservative aliases */
27#undef _setjmp
28
29#define SETPGRP_RELEASES_CTTY
30
9d2818d6
DN
31#ifdef LIB_STANDARD
32#undef LIB_STANDARD
33#endif
34
35#ifdef SYSTEM_TYPE
36#undef SYSTEM_TYPE
37#endif
38#define SYSTEM_TYPE "irix"
39
40#ifdef SETUP_SLAVE_PTY
41#undef SETUP_SLAVE_PTY
42#endif
43
44/* thomas@mathematik.uni-bremen.de says this is needed. */
45/* Make process_send_signal work by "typing" a signal character on the pty. */
46#define SIGNALS_VIA_CHARACTERS
47
9d2818d6
DN
48/* No need to use sprintf to get the tty name--we get that from _getpty. */
49#ifdef PTY_TTY_NAME_SPRINTF
50#undef PTY_TTY_NAME_SPRINTF
51#endif
52#define PTY_TTY_NAME_SPRINTF
53/* No need to get the pty name at all. */
54#ifdef PTY_NAME_SPRINTF
55#undef PTY_NAME_SPRINTF
56#endif
57#define PTY_NAME_SPRINTF
58#ifdef emacs
59char *_getpty();
60#endif
61/* We need only try once to open a pty. */
62#define PTY_ITERATION
63/* Here is how to do it. */
64#define PTY_OPEN \
65{ \
66 struct sigaction ocstat, cstat; \
67 char * name; \
68 sigemptyset(&cstat.sa_mask); \
69 cstat.sa_handler = SIG_DFL; \
70 cstat.sa_flags = 0; \
71 sigaction(SIGCLD, &cstat, &ocstat); \
72 name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \
73 sigaction(SIGCLD, &ocstat, (struct sigaction *)0); \
74 if (name == 0) \
75 return -1; \
76 if (fd < 0) \
77 return -1; \
78 if (fstat (fd, &stb) < 0) \
79 return -1; \
80 strcpy (pty_name, name); \
81}
82
83/* Since we use POSIX constructs in PTY_OPEN, we must force POSIX
84 throughout. */
85#define POSIX_SIGNALS
86
9d2818d6
DN
87/* Ulimit(UL_GMEMLIM) is busted... */
88#define ULIMIT_BREAK_VALUE 0x14000000
89
90/* Tell process_send_signal to use VSUSP instead of VSWTCH. */
91#define PREFER_VSUSP
92
93/* define MAIL_USE_FLOCK if the mailer uses flock
94 to interlock access to /usr/spool/mail/$USER.
95 The alternative is that a lock file named
96 /usr/spool/mail/$USER.lock. */
97
98#define MAIL_USE_FLOCK
99
9d2818d6
DN
100#define NARROWPROTO 1
101
102#define USE_MMAP_FOR_BUFFERS 1
103
104/* arch-tag: ad0660e0-acf8-46ae-b866-4f3df5b1101b
105 (do not change this comment) */
106
808903ab 107
2b565005 108#if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */
c952a617 109#define _LP64 /* lisp.h takes care of the rest */
2b565005 110#endif /* _MIPS_SZLONG */
808903ab 111
7fa3ed62 112/* The only supported 32-bit configuration of GCC under IRIX6.x produces
808903ab
KH
113 n32 MIPS ABI binaries and also supports -g. */
114#ifdef __GNUC__
808903ab 115#define C_DEBUG_SWITCH -g
ccecdd38 116#else
f5e4afd3
DL
117/* Optimize, inaccurate debugging, increase limit on size of what's
118 optimized.
119
120 This should also be applicable other than on Irix 6.5, but I don't
121 know for which compiler versions. -- fx */
122#define C_DEBUG_SWITCH -g3 -O -OPT:Olimit=3500
808903ab
KH
123#endif
124
125#undef SA_RESTART
126
e61a9a9b 127#undef TIOCSIGSEND /* defined in usg5-4.h */
ab5796a9 128
77c0df4f
RS
129/* Tested on Irix 6.5. SCM worked on earlier versions. */
130#define GC_SETJMP_WORKS 1
131#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
132
ab5796a9
MB
133/* arch-tag: d7ad9ec2-54ad-4b2f-adf2-0070c5c63e83
134 (do not change this comment) */