(FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
[emacs.git] / src / m / pmax.h
blob76734e96ed492fea6c148666913fba8d0db915ef
1 /* Machine description file for DEC MIPS machines.
3 Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004,
4 2005, 2006, 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 "mips.h"
26 /* The following line tells the configuration script what sort of
27 operating system this machine is likely to run.
28 USUAL-OPSYS="note"
30 NOTE-START
31 The operating system would be either osf1, ultrix, or NetBSD.
32 NOTE-END */
34 #ifndef __MIPSEB__
35 #undef WORDS_BIG_ENDIAN
36 #endif
37 #if defined (__NetBSD__)
38 #define BROKEN_NOCOMBRELOC
39 #else
40 #undef LIB_STANDARD
41 #undef START_FILES
42 #endif
43 #undef COFF
44 #undef TERMINFO
45 #define MAIL_USE_FLOCK
46 #define HAVE_UNION_WAIT
49 #ifdef MACH
50 #define START_FILES pre-crt0.o /usr/lib/crt0.o
51 #else
52 #if !defined (__NetBSD__)
53 /* This line starts being needed with ultrix 4.0. */
54 /* You must delete it for version 3.1. */
55 #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
56 #endif
57 #endif
59 /* Supposedly the following will overcome a kernel bug. */
60 #undef LD_SWITCH_MACHINE
61 #undef DATA_START
62 #define DATA_START 0x10000000
63 #define DATA_SEG_BITS 0x10000000
65 #if 0
66 /* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And
67 the relocating allocator is a real win. -JimB */
69 /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
70 on defining malloc itself. This should avoid conflicting with it. */
71 #define SYSTEM_MALLOC
72 #endif
74 /* Override what mips.h says about this. */
75 #if !defined (__NetBSD__)
76 #undef LINKER
77 #endif
79 #ifdef ultrix
80 /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
81 but it doesn't work right;
82 and it causes hanging in read_process_output. */
83 #define BROKEN_O_NONBLOCK
84 #endif
86 #ifndef __NetBSD__
87 /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
88 #ifdef HAVE_LIBDNET
89 #define LIBS_MACHINE -ldnet
90 #endif
92 /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */
93 #undef KERNEL_FILE
94 #define KERNEL_FILE "/vmunix"
95 #endif
97 #ifdef ultrix
98 /* Jim Wilson writes:
99 [...] The X11 include files that Dec distributes with Ultrix
100 are bogus.
102 When __STDC__ is defined (which is true with gcc), the X11 include files
103 try to define prototypes. The prototypes however use types which haven't
104 been defined yet, and thus we get syntax/parse errors.
106 You can not fix this by changing the include files, because the prototypes
107 create circular dependencies, in particular Xutil.h depends on types defined
108 in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter
109 which order you try to include them in, it will still fail.
111 Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
112 directly inhibiting the bad prototypes. This could perhaps just be put in
113 an a Ultrix configuration file.
115 Using the MIT X11 distribution instead of the one provided by Dec will
116 also solve the problem, but I doubt you can convince everyone to do this. */
117 /* Addendum: the MIT X11 distribution neglects to define certain symbols
118 when NeedFunctionPrototypes is 0, but still tries to use them when
119 NeedVarargsPrototypes is 1 (which is its default value). So if we're
120 going to disable non-variadic prototypes, we also need to disable
121 variadic prototypes. --kwzh@gnu.ai.mit.edu */
122 #define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
123 #endif
125 /* Enable a fix in process.c. */
126 #define SET_CHILD_PTY_PGRP
128 /* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15
129 (do not change this comment) */