1 /* Machine description file for DEC MIPS machines.
3 Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 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 of the License, or
11 (at your option) 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. If not, see <http://www.gnu.org/licenses/>. */
24 /* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
29 The operating system would be either osf1, ultrix, or NetBSD.
33 #undef WORDS_BIG_ENDIAN
35 #if defined (__NetBSD__)
36 #define BROKEN_NOCOMBRELOC
43 #define MAIL_USE_FLOCK
44 #define HAVE_UNION_WAIT
48 #define START_FILES pre-crt0.o /usr/lib/crt0.o
50 #if !defined (__NetBSD__)
51 /* This line starts being needed with ultrix 4.0. */
52 /* You must delete it for version 3.1. */
53 #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
57 /* Supposedly the following will overcome a kernel bug. */
58 #undef LD_SWITCH_MACHINE
60 #define DATA_START 0x10000000
61 #define DATA_SEG_BITS 0x10000000
64 /* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And
65 the relocating allocator is a real win. -JimB */
67 /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
68 on defining malloc itself. This should avoid conflicting with it. */
72 /* Override what mips.h says about this. */
73 #if !defined (__NetBSD__)
78 /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
79 but it doesn't work right;
80 and it causes hanging in read_process_output. */
81 #define BROKEN_O_NONBLOCK
85 /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
87 #define LIBS_MACHINE -ldnet
90 /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */
92 #define KERNEL_FILE "/vmunix"
97 [...] The X11 include files that Dec distributes with Ultrix
100 When __STDC__ is defined (which is true with gcc), the X11 include files
101 try to define prototypes. The prototypes however use types which haven't
102 been defined yet, and thus we get syntax/parse errors.
104 You can not fix this by changing the include files, because the prototypes
105 create circular dependencies, in particular Xutil.h depends on types defined
106 in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter
107 which order you try to include them in, it will still fail.
109 Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
110 directly inhibiting the bad prototypes. This could perhaps just be put in
111 an a Ultrix configuration file.
113 Using the MIT X11 distribution instead of the one provided by Dec will
114 also solve the problem, but I doubt you can convince everyone to do this. */
115 /* Addendum: the MIT X11 distribution neglects to define certain symbols
116 when NeedFunctionPrototypes is 0, but still tries to use them when
117 NeedVarargsPrototypes is 1 (which is its default value). So if we're
118 going to disable non-variadic prototypes, we also need to disable
119 variadic prototypes. --kwzh@gnu.ai.mit.edu */
120 #define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
123 /* Enable a fix in process.c. */
124 #define SET_CHILD_PTY_PGRP
126 /* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15
127 (do not change this comment) */