pmax.h 3.26 KB
Newer Older
Jim Blandy's avatar
Jim Blandy committed
1 2
/* Machine description file for DEC MIPS machines.  */

Jim Blandy's avatar
Jim Blandy committed
3 4
#include "mips.h"

5
/* The following line tells the configuration script what sort of
Jim Blandy's avatar
Jim Blandy committed
6
   operating system this machine is likely to run.
7
   USUAL-OPSYS="note"
Jim Blandy's avatar
Jim Blandy committed
8 9

NOTE-START
10
The operating system would be either osf1, ultrix, or NetBSD.
Jim Blandy's avatar
Jim Blandy committed
11
NOTE-END  */
Jim Blandy's avatar
Jim Blandy committed
12

13
#ifndef __MIPSEB__
14
#undef WORDS_BIG_ENDIAN
15
#endif
16 17 18
#if defined (__NetBSD__)
#define BROKEN_NOCOMBRELOC
#else
Jim Blandy's avatar
Jim Blandy committed
19 20
#undef LIB_STANDARD
#undef START_FILES
21
#endif
Jim Blandy's avatar
Jim Blandy committed
22 23 24 25
#undef COFF
#undef TERMINFO
#define MAIL_USE_FLOCK
#define HAVE_UNION_WAIT
Jim Blandy's avatar
Jim Blandy committed
26

27 28 29 30

#ifdef MACH
#define START_FILES pre-crt0.o /usr/lib/crt0.o
#else
31
#if !defined (__NetBSD__)
Jim Blandy's avatar
Jim Blandy committed
32
/* This line starts being needed with ultrix 4.0.  */
Jim Blandy's avatar
Jim Blandy committed
33
/* You must delete it for version 3.1.  */
Jim Blandy's avatar
Jim Blandy committed
34
#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
35
#endif
36
#endif
37

Jim Blandy's avatar
Jim Blandy committed
38 39 40 41 42 43
/* Supposedly the following will overcome a kernel bug.  */
#undef LD_SWITCH_MACHINE
#undef DATA_START
#define DATA_START 0x10000000
#define DATA_SEG_BITS 0x10000000

44 45 46 47
#if 0
/* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3.  And
   the relocating allocator is a real win.  -JimB  */

Jim Blandy's avatar
Jim Blandy committed
48 49 50
/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
   on defining malloc itself.  This should avoid conflicting with it.  */
#define SYSTEM_MALLOC
51
#endif
Jim Blandy's avatar
Jim Blandy committed
52

53
/* Override what mips.h says about this.  */
54
#if !defined (__NetBSD__)
Jim Blandy's avatar
Jim Blandy committed
55
#undef LINKER
56
#endif
Jim Blandy's avatar
Jim Blandy committed
57

58
#ifdef ultrix
Jim Blandy's avatar
Jim Blandy committed
59 60 61 62
/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
   but it doesn't work right;
   and it causes hanging in read_process_output.  */
#define BROKEN_O_NONBLOCK
63
#endif
Jim Blandy's avatar
Jim Blandy committed
64

65
#ifndef __NetBSD__
66 67
/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet.  */
#ifdef HAVE_LIBDNET
Richard M. Stallman's avatar
Richard M. Stallman committed
68
#define LIBS_MACHINE -ldnet
69
#endif
Richard M. Stallman's avatar
Richard M. Stallman committed
70

71
/* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a.  */
Richard M. Stallman's avatar
Richard M. Stallman committed
72
#undef KERNEL_FILE
73
#define KERNEL_FILE "/vmunix"
74
#endif
75

76
#ifdef ultrix
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
/* Jim Wilson writes:
   [...] The X11 include files that Dec distributes with Ultrix
   are bogus.

   When __STDC__ is defined (which is true with gcc), the X11 include files
   try to define prototypes.  The prototypes however use types which haven't
   been defined yet, and thus we get syntax/parse errors.

   You can not fix this by changing the include files, because the prototypes
   create circular dependencies, in particular Xutil.h depends on types defined
   in Xlib.h, and Xlib.h depends on types defined in Xutil.h.  So, no matter
   which order you try to include them in, it will still fail.

   Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
   directly inhibiting the bad prototypes.  This could perhaps just be put in
   an a Ultrix configuration file.

   Using the MIT X11 distribution instead of the one provided by Dec will
   also solve the problem, but I doubt you can convince everyone to do this. */
96 97
/* Addendum: the MIT X11 distribution neglects to define certain symbols
   when NeedFunctionPrototypes is 0, but still tries to use them when
Karl Heuer's avatar
Karl Heuer committed
98
   NeedVarargsPrototypes is 1 (which is its default value).  So if we're
99 100 101
   going to disable non-variadic prototypes, we also need to disable
   variadic prototypes.  --kwzh@gnu.ai.mit.edu */
#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
102
#endif
103 104 105

/* Enable a fix in process.c.  */
#define SET_CHILD_PTY_PGRP
Miles Bader's avatar
Miles Bader committed
106 107 108

/* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15
   (do not change this comment) */