aboutsummaryrefslogtreecommitdiffstats
path: root/src/m
diff options
context:
space:
mode:
authorJim Blandy1992-09-13 11:44:06 +0000
committerJim Blandy1992-09-13 11:44:06 +0000
commitec558adcceffa21d313410a6d8ebfe11b47d083b (patch)
tree2d78afc1cf127cc5eb02f12d39a623f297f7cbda /src/m
parentb7cceaf12a73559df9c2fcf135983b4c03b48061 (diff)
downloademacs-ec558adcceffa21d313410a6d8ebfe11b47d083b.tar.gz
emacs-ec558adcceffa21d313410a6d8ebfe11b47d083b.zip
entered into RCS
Diffstat (limited to 'src/m')
-rw-r--r--src/m/mips.h68
-rw-r--r--src/m/pmax.h30
2 files changed, 80 insertions, 18 deletions
diff --git a/src/m/mips.h b/src/m/mips.h
index e41f11f8fe7..bd4466ee9ba 100644
--- a/src/m/mips.h
+++ b/src/m/mips.h
@@ -1,11 +1,11 @@
1/* machine description file for Mips machines. 1/* m- file for Mips machines.
2 Copyright (C) 1987, 1990 Free Software Foundation, Inc. 2 Copyright (C) 1987, 1992 Free Software Foundation, Inc.
3 3
4This file is part of GNU Emacs. 4This file is part of GNU Emacs.
5 5
6GNU Emacs is free software; you can redistribute it and/or modify 6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by 7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 1, or (at your option) 8the Free Software Foundation; either version 2, or (at your option)
9any later version. 9any later version.
10 10
11GNU Emacs is distributed in the hope that it will be useful, 11GNU Emacs is distributed in the hope that it will be useful,
@@ -23,8 +23,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
23 USUAL-OPSYS="note" 23 USUAL-OPSYS="note"
24 24
25NOTE-START 25NOTE-START
26Use -opsystem=usg5-2-2 normally, or -opsystem=bsd4-3 with the BSD 26Use m-mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world.
27world. 27Note that the proper m- file for the Decstation is m-pmax.h.
28NOTE-END */ 28NOTE-END */
29 29
30/* The following three symbols give information on 30/* The following three symbols give information on
@@ -51,6 +51,11 @@ NOTE-END */
51 51
52#undef WORD_MACHINE 52#undef WORD_MACHINE
53 53
54/* Define how to take a char and sign-extend into an int.
55 On machines where char is signed, this is a no-op. */
56
57#define SIGN_EXTEND_CHAR(c) ((signed char)(c))
58
54/* Now define a symbol for the cpu type, if your compiler 59/* Now define a symbol for the cpu type, if your compiler
55 does not define it automatically: 60 does not define it automatically:
56 Ones defined so far include vax, m68000, ns16000, pyramid, 61 Ones defined so far include vax, m68000, ns16000, pyramid,
@@ -102,8 +107,11 @@ NOTE-END */
102 Define neither one if an assembler-language alloca 107 Define neither one if an assembler-language alloca
103 in the file alloca.s should be used. */ 108 in the file alloca.s should be used. */
104 109
110#ifdef __GNUC__
111#define HAVE_ALLOCA
112#else
105#define C_ALLOCA 113#define C_ALLOCA
106/* #define HAVE_ALLOCA */ 114#endif
107 115
108/* Define NO_REMAP if memory segmentation makes it not work well 116/* Define NO_REMAP if memory segmentation makes it not work well
109 to change the boundary between the text section and data section 117 to change the boundary between the text section and data section
@@ -126,13 +134,32 @@ NOTE-END */
126 134
127#ifdef BSD 135#ifdef BSD
128 136
129/* Supposedly the dec machine doesn't have this library. 137/* DECstations don't have this library.
130 #define LIBS_MACHINE -lmld */ 138 #define LIBS_MACHINE -lmld */
131 139
132#define LD_SWITCH_MACHINE -D 800000 140#define LD_SWITCH_MACHINE -D 800000
133#define LIBS_DEBUG 141#define LIBS_DEBUG
134 142
143#define LINKER /bsd43/bin/ld
144
145#else /* not BSD */
146#ifdef NEWSOS5
147
148#define LIBS_MACHINE -lmld
149#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o
150#define LIB_STANDARD -lsocket -lnsl -lc /usr/ccs/lib/crtn.o /usr/ccs/lib/values-Xt.o
151
152#ifdef __GNUC__
153#define C_DEBUG_SWITCH -g
154#define C_OPTIMIZE_SWITCH -g -O
155#define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000
135#else 156#else
157#define C_DEBUG_SWITCH -g3
158#define C_OPTIMIZE_SWITCH -g3
159#define LD_SWITCH_MACHINE -g3 -D 800000
160#endif
161
162#else /* not NEWSOS5 */
136 163
137#define LIBS_MACHINE -lmld 164#define LIBS_MACHINE -lmld
138#define LD_SWITCH_MACHINE -D 800000 -g3 165#define LD_SWITCH_MACHINE -D 800000 -g3
@@ -140,27 +167,36 @@ NOTE-END */
140#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o 167#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
141#define LIBS_TERMCAP -lcurses 168#define LIBS_TERMCAP -lcurses
142 169
143#define C_SWITCH_SYSTEM -I/usr/include/bsd 170#define C_SWITCH_MACHINE -I/usr/include/bsd
144#define C_DEBUG_SWITCH -O -g3 171#define C_DEBUG_SWITCH -O -g3
145 172
146#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11) 173#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11)
147#define HAVE_VFORK /* Graciously provided by libX.a */ 174#define HAVE_VFORK /* Graciously provided by libX.a */
148#endif 175#endif
149#endif 176
177#endif /* not NEWSOS5 */
178#endif /* not BSD */
150 179
151/* The standard definitions of these macros would work ok, 180/* The standard definitions of these macros would work ok,
152 but these are faster because the constants are short. */ 181 but these are faster because the constants are short. */
153 182
154#define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS) 183#define XUINT(a) (((unsigned)(a) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS))
155 184
156#define XSET(var, type, ptr) \ 185#define XSET(var, type, ptr) \
157 ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS)) 186 ((var) = \
187 ((int)(type) << VALBITS) \
188 + (((unsigned) (ptr) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS)))
158 189
159#define XSETINT(a, b) XSET(a, XTYPE(a), b) 190#define XSETINT(a, b) XSET(a, XTYPE(a), b)
160#define XSETUINT(a, b) XSET(a, XTYPE(a), b) 191#define XSETUINT(a, b) XSET(a, XTYPE(a), b)
161#define XSETPNTR(a, b) XSET(a, XTYPE(a), b) 192#define XSETPNTR(a, b) XSET(a, XTYPE(a), b)
162 193
163#define XUNMARK(a) ((a) = (((unsigned)(a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS)) 194#define XUNMARK(a) \
195 ((a) = \
196 (((unsigned)(a) << (INTBITS-GCTYPEBITS-VALBITS)) \
197 >> (INTBITS-GCTYPEBITS-VALBITS)))
198
199#ifndef NEWSOS5
164#ifdef USG 200#ifdef USG
165 201
166/* Cancel certain parts of standard sysV support. */ 202/* Cancel certain parts of standard sysV support. */
@@ -177,7 +213,7 @@ NOTE-END */
177#define HAVE_SYSVIPC 213#define HAVE_SYSVIPC
178 214
179#define HAVE_TIMEVAL 215#define HAVE_TIMEVAL
180#if defined(emacs) 216#if defined(emacs) && !defined(INHIBIT_BSD_TIME)
181#include <bsd/sys/time.h> 217#include <bsd/sys/time.h>
182#endif 218#endif
183 219
@@ -198,7 +234,7 @@ NOTE-END */
198/* ??? */ 234/* ??? */
199#define IRIS 235#define IRIS
200 236
201#endif 237#endif /* USG */
202 238
203#ifdef BSD 239#ifdef BSD
204#define COFF 240#define COFF
@@ -206,3 +242,5 @@ NOTE-END */
206#undef MAIL_USE_FLOCK /* Someone should check this. */ 242#undef MAIL_USE_FLOCK /* Someone should check this. */
207#undef HAVE_UNION_WAIT 243#undef HAVE_UNION_WAIT
208#endif /* BSD */ 244#endif /* BSD */
245
246#endif /* not NEWSOS5 */
diff --git a/src/m/pmax.h b/src/m/pmax.h
index 393b7351a67..71e0fbb18b2 100644
--- a/src/m/pmax.h
+++ b/src/m/pmax.h
@@ -1,14 +1,25 @@
1/* Machine description file for DEC MIPS machines. */
2
1#include "mips.h" 3#include "mips.h"
2 4
3/* The following line tells the configuration script what sort of 5/* The following line tells the configuration script what sort of
4 operating system this machine is likely to run. 6 operating system this machine is likely to run.
5 USUAL-OPSYS="bsd4-2" */ 7 USUAL-OPSYS="note"
8
9NOTE-START
10Use -opsystem=osf1 for OSF/1, and -opsystem=bsd4-3 otherwise.
11NOTE-END */
6 12
7#undef BIG_ENDIAN 13#undef BIG_ENDIAN
8#define LIBS_DEBUG 14#undef LIB_STANDARD
15#undef START_FILES
16#undef COFF
17#undef TERMINFO
18#define MAIL_USE_FLOCK
19#define HAVE_UNION_WAIT
9 20
10/* This line starts being needed with ultrix 4.0. */ 21/* This line starts being needed with ultrix 4.0. */
11/* You may need to delete it on version 3.1. */ 22/* You must delete it for version 3.1. */
12#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o 23#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
13 24
14/* Supposedly the following will overcome a kernel bug. */ 25/* Supposedly the following will overcome a kernel bug. */
@@ -20,3 +31,16 @@
20/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist 31/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
21 on defining malloc itself. This should avoid conflicting with it. */ 32 on defining malloc itself. This should avoid conflicting with it. */
22#define SYSTEM_MALLOC 33#define SYSTEM_MALLOC
34
35/* Override what m-mips.h says about this. */
36#undef LINKER
37
38/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
39 but it doesn't work right;
40 and it causes hanging in read_process_output. */
41#define BROKEN_O_NONBLOCK
42
43#ifdef OSF1
44#undef C_ALLOCA
45#define HAVE_ALLOCA
46#endif