pmax.h 3.3 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 5 6
#include "mips.h"

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

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
#undef WORDS_BIG_ENDIAN
Jim Blandy's avatar
Jim Blandy committed
14 15 16 17 18 19
#undef LIB_STANDARD
#undef START_FILES
#undef COFF
#undef TERMINFO
#define MAIL_USE_FLOCK
#define HAVE_UNION_WAIT
Jim Blandy's avatar
Jim Blandy committed
20

21 22 23 24

#ifdef MACH
#define START_FILES pre-crt0.o /usr/lib/crt0.o
#else
Jim Blandy's avatar
Jim Blandy committed
25
/* This line starts being needed with ultrix 4.0.  */
Jim Blandy's avatar
Jim Blandy committed
26
/* You must delete it for version 3.1.  */
Jim Blandy's avatar
Jim Blandy committed
27
#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
28
#endif
Jim Blandy's avatar
Jim Blandy committed
29

30
#if defined (__NetBSD__) || defined (__OpenBSD__)
31 32 33 34 35
#undef START_FILES
#undef RUN_TIME_REMAP
#define START_FILES pre-crt0.o /usr/lib/crt0.o
#define CANNOT_DUMP
#undef UNEXEC
36
#endif /* NetBSD || OpenBSD */
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.  */
Jim Blandy's avatar
Jim Blandy committed
54 55
#undef LINKER

56
#ifdef ultrix
Jim Blandy's avatar
Jim Blandy committed
57 58 59 60
/* 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
61
#endif
Jim Blandy's avatar
Jim Blandy committed
62

63
#if defined (OSF1) || defined (MACH)
Jim Blandy's avatar
Jim Blandy committed
64 65 66
#undef C_ALLOCA
#define HAVE_ALLOCA
#endif
Richard M. Stallman's avatar
Richard M. Stallman committed
67

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

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

79
#ifdef ultrix
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
/* 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. */
99 100
/* 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
101
   NeedVarargsPrototypes is 1 (which is its default value).  So if we're
102 103 104
   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
105
#endif
106 107 108

/* Enable a fix in process.c.  */
#define SET_CHILD_PTY_PGRP