Switch license to GPLv3 or later.
[bpt/emacs.git] / src / m / pmax.h
CommitLineData
9a446b3c
GM
1/* Machine description file for DEC MIPS machines.
2
3 Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004,
4 2005, 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
4a9f99bd 10the Free Software Foundation; either version 3, or (at your option)
9a446b3c
GM
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
ec558adc 23
20c428fd
JB
24#include "mips.h"
25
177c0ea7 26/* The following line tells the configuration script what sort of
20c428fd 27 operating system this machine is likely to run.
177c0ea7 28 USUAL-OPSYS="note"
ec558adc
JB
29
30NOTE-START
9939d191 31The operating system would be either osf1, ultrix, or NetBSD.
ec558adc 32NOTE-END */
20c428fd 33
9e2702a6 34#ifndef __MIPSEB__
74d3f806 35#undef WORDS_BIG_ENDIAN
9e2702a6 36#endif
c3f5c825
EZ
37#if defined (__NetBSD__)
38#define BROKEN_NOCOMBRELOC
39#else
ec558adc
JB
40#undef LIB_STANDARD
41#undef START_FILES
c3f5c825 42#endif
ec558adc
JB
43#undef COFF
44#undef TERMINFO
45#define MAIL_USE_FLOCK
46#define HAVE_UNION_WAIT
20c428fd 47
a46849a8
RS
48
49#ifdef MACH
50#define START_FILES pre-crt0.o /usr/lib/crt0.o
51#else
c3f5c825 52#if !defined (__NetBSD__)
20c428fd 53/* This line starts being needed with ultrix 4.0. */
ec558adc 54/* You must delete it for version 3.1. */
20c428fd 55#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
a46849a8 56#endif
c3f5c825 57#endif
9939d191 58
20c428fd
JB
59/* Supposedly the following will overcome a kernel bug. */
60#undef LD_SWITCH_MACHINE
61#undef DATA_START
62#define DATA_START 0x10000000
63#define DATA_SEG_BITS 0x10000000
64
dc9d84de
JB
65#if 0
66/* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And
67 the relocating allocator is a real win. -JimB */
68
20c428fd
JB
69/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
70 on defining malloc itself. This should avoid conflicting with it. */
71#define SYSTEM_MALLOC
dc9d84de 72#endif
ec558adc 73
a46849a8 74/* Override what mips.h says about this. */
18975f44 75#if !defined (__NetBSD__)
ec558adc 76#undef LINKER
18975f44 77#endif
ec558adc 78
9939d191 79#ifdef ultrix
ec558adc
JB
80/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
81 but it doesn't work right;
82 and it causes hanging in read_process_output. */
83#define BROKEN_O_NONBLOCK
9939d191 84#endif
ec558adc 85
9939d191 86#ifndef __NetBSD__
8f2d5456
JB
87/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
88#ifdef HAVE_LIBDNET
5a241166 89#define LIBS_MACHINE -ldnet
8f2d5456 90#endif
069ca42f 91
9f717104 92/* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */
069ca42f 93#undef KERNEL_FILE
9f717104 94#define KERNEL_FILE "/vmunix"
9939d191 95#endif
9b4d86fc 96
9939d191 97#ifdef ultrix
9b4d86fc
JB
98/* Jim Wilson writes:
99 [...] The X11 include files that Dec distributes with Ultrix
100 are bogus.
101
102 When __STDC__ is defined (which is true with gcc), the X11 include files
103 try to define prototypes. The prototypes however use types which haven't
104 been defined yet, and thus we get syntax/parse errors.
105
106 You can not fix this by changing the include files, because the prototypes
107 create circular dependencies, in particular Xutil.h depends on types defined
108 in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter
109 which order you try to include them in, it will still fail.
110
111 Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
112 directly inhibiting the bad prototypes. This could perhaps just be put in
113 an a Ultrix configuration file.
114
115 Using the MIT X11 distribution instead of the one provided by Dec will
116 also solve the problem, but I doubt you can convince everyone to do this. */
0f800451
KH
117/* Addendum: the MIT X11 distribution neglects to define certain symbols
118 when NeedFunctionPrototypes is 0, but still tries to use them when
8e6208c5 119 NeedVarargsPrototypes is 1 (which is its default value). So if we're
0f800451
KH
120 going to disable non-variadic prototypes, we also need to disable
121 variadic prototypes. --kwzh@gnu.ai.mit.edu */
122#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
a46849a8 123#endif
0d4c1a6e
RS
124
125/* Enable a fix in process.c. */
126#define SET_CHILD_PTY_PGRP
ab5796a9
MB
127
128/* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15
129 (do not change this comment) */