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