*** empty log message ***
[emacs.git] / src / m / pmax.h
blob54f246fed65000a8f0cf3d8aaff56be31b20105c
1 /* Machine description file for DEC MIPS machines. */
3 #include "mips.h"
5 /* The following line tells the configuration script what sort of
6 operating system this machine is likely to run.
7 USUAL-OPSYS="note"
9 NOTE-START
10 The operating system would be either osf1, ultrix, or NetBSD.
11 NOTE-END */
13 #ifndef __MIPSEB__
14 #undef WORDS_BIG_ENDIAN
15 #endif
16 #undef LIB_STANDARD
17 #undef START_FILES
18 #undef COFF
19 #undef TERMINFO
20 #define MAIL_USE_FLOCK
21 #define HAVE_UNION_WAIT
24 #ifdef MACH
25 #define START_FILES pre-crt0.o /usr/lib/crt0.o
26 #else
27 /* This line starts being needed with ultrix 4.0. */
28 /* You must delete it for version 3.1. */
29 #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
30 #endif
32 #if defined (__NetBSD__) || defined (__OpenBSD__)
33 #undef START_FILES
34 #define START_FILES pre-crt0.o /usr/lib/crt0.o
35 #undef RUN_TIME_REMAP
36 #undef UNEXEC
37 #define UNEXEC unexelf.o
38 #endif /* NetBSD || OpenBSD */
40 /* Supposedly the following will overcome a kernel bug. */
41 #undef LD_SWITCH_MACHINE
42 #undef DATA_START
43 #define DATA_START 0x10000000
44 #define DATA_SEG_BITS 0x10000000
46 #if 0
47 /* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And
48 the relocating allocator is a real win. -JimB */
50 /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
51 on defining malloc itself. This should avoid conflicting with it. */
52 #define SYSTEM_MALLOC
53 #endif
55 /* Override what mips.h says about this. */
56 #if !defined (__NetBSD__)
57 #undef LINKER
58 #endif
60 #ifdef ultrix
61 /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
62 but it doesn't work right;
63 and it causes hanging in read_process_output. */
64 #define BROKEN_O_NONBLOCK
65 #endif
67 #ifndef __NetBSD__
68 /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
69 #ifdef HAVE_LIBDNET
70 #define LIBS_MACHINE -ldnet
71 #endif
73 /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */
74 #undef KERNEL_FILE
75 #define KERNEL_FILE "/vmunix"
76 #endif
78 #ifdef ultrix
79 /* Jim Wilson writes:
80 [...] The X11 include files that Dec distributes with Ultrix
81 are bogus.
83 When __STDC__ is defined (which is true with gcc), the X11 include files
84 try to define prototypes. The prototypes however use types which haven't
85 been defined yet, and thus we get syntax/parse errors.
87 You can not fix this by changing the include files, because the prototypes
88 create circular dependencies, in particular Xutil.h depends on types defined
89 in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter
90 which order you try to include them in, it will still fail.
92 Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
93 directly inhibiting the bad prototypes. This could perhaps just be put in
94 an a Ultrix configuration file.
96 Using the MIT X11 distribution instead of the one provided by Dec will
97 also solve the problem, but I doubt you can convince everyone to do this. */
98 /* Addendum: the MIT X11 distribution neglects to define certain symbols
99 when NeedFunctionPrototypes is 0, but still tries to use them when
100 NeedVarargsPrototypes is 1 (which is its default value). So if we're
101 going to disable non-variadic prototypes, we also need to disable
102 variadic prototypes. --kwzh@gnu.ai.mit.edu */
103 #define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
104 #endif
106 /* Enable a fix in process.c. */
107 #define SET_CHILD_PTY_PGRP