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