Commit | Line | Data |
---|---|---|
9a446b3c GM |
1 | /* Machine description file for DEC MIPS machines. |
2 | ||
eb3d11ef GM |
3 | Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
4 | 2008 Free Software Foundation, Inc. | |
9a446b3c GM |
5 | |
6 | This file is part of GNU Emacs. | |
7 | ||
eb3d11ef | 8 | GNU Emacs is free software: you can redistribute it and/or modify |
9a446b3c | 9 | it under the terms of the GNU General Public License as published by |
eb3d11ef GM |
10 | the Free Software Foundation, either version 3 of the License, or |
11 | (at your option) any later version. | |
9a446b3c GM |
12 | |
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. | |
17 | ||
18 | You should have received a copy of the GNU General Public License | |
eb3d11ef | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
9a446b3c | 20 | |
ec558adc | 21 | |
20c428fd JB |
22 | #include "mips.h" |
23 | ||
177c0ea7 | 24 | /* The following line tells the configuration script what sort of |
20c428fd | 25 | operating system this machine is likely to run. |
177c0ea7 | 26 | USUAL-OPSYS="note" |
ec558adc JB |
27 | |
28 | NOTE-START | |
9939d191 | 29 | The operating system would be either osf1, ultrix, or NetBSD. |
ec558adc | 30 | NOTE-END */ |
20c428fd | 31 | |
9e2702a6 | 32 | #ifndef __MIPSEB__ |
74d3f806 | 33 | #undef WORDS_BIG_ENDIAN |
9e2702a6 | 34 | #endif |
c3f5c825 EZ |
35 | #if defined (__NetBSD__) |
36 | #define BROKEN_NOCOMBRELOC | |
37 | #else | |
ec558adc JB |
38 | #undef LIB_STANDARD |
39 | #undef START_FILES | |
c3f5c825 | 40 | #endif |
ec558adc JB |
41 | #undef COFF |
42 | #undef TERMINFO | |
43 | #define MAIL_USE_FLOCK | |
44 | #define HAVE_UNION_WAIT | |
20c428fd | 45 | |
a46849a8 RS |
46 | |
47 | #ifdef MACH | |
48 | #define START_FILES pre-crt0.o /usr/lib/crt0.o | |
49 | #else | |
c3f5c825 | 50 | #if !defined (__NetBSD__) |
20c428fd | 51 | /* This line starts being needed with ultrix 4.0. */ |
ec558adc | 52 | /* You must delete it for version 3.1. */ |
20c428fd | 53 | #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o |
a46849a8 | 54 | #endif |
c3f5c825 | 55 | #endif |
9939d191 | 56 | |
20c428fd JB |
57 | /* Supposedly the following will overcome a kernel bug. */ |
58 | #undef LD_SWITCH_MACHINE | |
59 | #undef DATA_START | |
60 | #define DATA_START 0x10000000 | |
61 | #define DATA_SEG_BITS 0x10000000 | |
62 | ||
dc9d84de JB |
63 | #if 0 |
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 */ | |
66 | ||
20c428fd JB |
67 | /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist |
68 | on defining malloc itself. This should avoid conflicting with it. */ | |
69 | #define SYSTEM_MALLOC | |
dc9d84de | 70 | #endif |
ec558adc | 71 | |
a46849a8 | 72 | /* Override what mips.h says about this. */ |
18975f44 | 73 | #if !defined (__NetBSD__) |
ec558adc | 74 | #undef LINKER |
18975f44 | 75 | #endif |
ec558adc | 76 | |
9939d191 | 77 | #ifdef ultrix |
ec558adc JB |
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 | |
9939d191 | 82 | #endif |
ec558adc | 83 | |
9939d191 | 84 | #ifndef __NetBSD__ |
8f2d5456 JB |
85 | /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */ |
86 | #ifdef HAVE_LIBDNET | |
5a241166 | 87 | #define LIBS_MACHINE -ldnet |
8f2d5456 | 88 | #endif |
069ca42f | 89 | |
9f717104 | 90 | /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */ |
069ca42f | 91 | #undef KERNEL_FILE |
9f717104 | 92 | #define KERNEL_FILE "/vmunix" |
9939d191 | 93 | #endif |
9b4d86fc | 94 | |
9939d191 | 95 | #ifdef ultrix |
9b4d86fc JB |
96 | /* Jim Wilson writes: |
97 | [...] The X11 include files that Dec distributes with Ultrix | |
98 | are bogus. | |
99 | ||
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. | |
103 | ||
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. | |
108 | ||
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. | |
112 | ||
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. */ | |
0f800451 KH |
115 | /* Addendum: the MIT X11 distribution neglects to define certain symbols |
116 | when NeedFunctionPrototypes is 0, but still tries to use them when | |
8e6208c5 | 117 | NeedVarargsPrototypes is 1 (which is its default value). So if we're |
0f800451 KH |
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 | |
a46849a8 | 121 | #endif |
0d4c1a6e RS |
122 | |
123 | /* Enable a fix in process.c. */ | |
124 | #define SET_CHILD_PTY_PGRP | |
ab5796a9 MB |
125 | |
126 | /* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15 | |
127 | (do not change this comment) */ |