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 10the Free Software Foundation; either version 2, or (at your option) 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 23 24#include "mips.h" 25 26/* The following line tells the configuration script what sort of 27 operating system this machine is likely to run. 28 USUAL-OPSYS="note" 29 30NOTE-START 31The operating system would be either osf1, ultrix, or NetBSD. 32NOTE-END */ 33 34#ifndef __MIPSEB__ 35#undef WORDS_BIG_ENDIAN 36#endif 37#if defined (__NetBSD__) 38#define BROKEN_NOCOMBRELOC 39#else 40#undef LIB_STANDARD 41#undef START_FILES 42#endif 43#undef COFF 44#undef TERMINFO 45#define MAIL_USE_FLOCK 46#define HAVE_UNION_WAIT 47 48 49#ifdef MACH 50#define START_FILES pre-crt0.o /usr/lib/crt0.o 51#else 52#if !defined (__NetBSD__) 53/* This line starts being needed with ultrix 4.0. */ 54/* You must delete it for version 3.1. */ 55#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o 56#endif 57#endif 58 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 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 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 72#endif 73 74/* Override what mips.h says about this. */ 75#if !defined (__NetBSD__) 76#undef LINKER 77#endif 78 79#ifdef ultrix 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 84#endif 85 86#ifndef __NetBSD__ 87/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */ 88#ifdef HAVE_LIBDNET 89#define LIBS_MACHINE -ldnet 90#endif 91 92/* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */ 93#undef KERNEL_FILE 94#define KERNEL_FILE "/vmunix" 95#endif 96 97#ifdef ultrix 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. */ 117/* Addendum: the MIT X11 distribution neglects to define certain symbols 118 when NeedFunctionPrototypes is 0, but still tries to use them when 119 NeedVarargsPrototypes is 1 (which is its default value). So if we're 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 123#endif 124 125/* Enable a fix in process.c. */ 126#define SET_CHILD_PTY_PGRP 127 128/* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15 129 (do not change this comment) */ 130