|
|
1.1 ! root 1: /* NAME: ! 2: * m-dpx2.h - machine description for Bull DPX/2 range ! 3: * ! 4: * SYNOPSIS: ! 5: * #include "s-usg5-3.h" ! 6: * #include "m-dpx2.h" ! 7: * ! 8: * DESCRIPTION: ! 9: * This header is part of GNU Emacs, and therefore ! 10: * falls under the FSF GPL. There should be a copy of it ! 11: * somewhere on your system (see below). ! 12: * ! 13: * This header file, and a _minor_ change to ! 14: * config.h-dist are all that are needed to build GNU ! 15: * Emacs-18.58 on a Bull DPX/2 model 200 or 300. ! 16: * The DPX/2 500 should probably use a mips based config. ! 17: * ! 18: * The only change _needed_ to config.h (copied from ! 19: * config.h-dist) is to define the appropriate ncl_{el,mr} ! 20: * pre-processor constant. Hopefully in a future release ! 21: * the C compiler will define this automagically :-) ! 22: * ! 23: * If you have INET and X11 loaded, define HAVE_X_WINDOWS ! 24: * before you include this file. If you have INET but not ! 25: * X11 loaded define HAVE_SOCKETS in config.h before you ! 26: * include this file. ! 27: * ! 28: * If you make changes to this file, please be sure to send ! 29: * an update to me: <[email protected]> ! 30: * ! 31: * Please read through this file before attempting to build ! 32: * Emacs. You may need to set SRC_COMPAT=_SYSV in your ! 33: * environment or in Makefile. ! 34: * ! 35: * ! 36: * AMENDED: ! 37: * 92/02/06 12:53:06 (sjg) ! 38: * ! 39: * RELEASED: ! 40: * 92/02/06 12:53:07 v1.7 ! 41: * ! 42: * BUGS: ! 43: * There is a problem when running Emacs with its own X ! 44: * window in that if the invoking process terminates, ! 45: * Emacs will terminate shortly afterwards. The following ! 46: * exercises the bug: ! 47: * $ ksh ! 48: * $ emacs & ! 49: * $ exit ! 50: * The emacs process will die within a few minutes of the ! 51: * invoking ksh's termination. Solution? Don't do the ! 52: * above :-) ! 53: * ! 54: * SCCSID: ! 55: * @(#)m-dpx2.h 1.7 92/02/06 12:53:06 (sjg) ! 56: */ ! 57: ! 58: /* ! 59: Copyright (C) 1985, 1986 Free Software Foundation, Inc. ! 60: ! 61: This file is part of GNU Emacs. ! 62: ! 63: GNU Emacs is free software; you can redistribute it and/or modify ! 64: it under the terms of the GNU General Public License as published by ! 65: the Free Software Foundation; either version 1, or (at your option) ! 66: any later version. ! 67: ! 68: GNU Emacs is distributed in the hope that it will be useful, ! 69: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 70: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 71: GNU General Public License for more details. ! 72: ! 73: You should have received a copy of the GNU General Public License ! 74: along with GNU Emacs; see the file COPYING. If not, write to ! 75: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 76: ! 77: /* ! 78: * You need to either un-comment one of these lines, or copy one ! 79: * of them to config.h before you include this file. ! 80: * Note that some simply define a constant and others set a value. ! 81: */ ! 82: ! 83: /* #define ncl_el /* DPX/2 210,220 etc */ ! 84: /* #define ncl_mr 1 /* DPX/2 320,340 (and 360,380 ?) */ ! 85: ! 86: ! 87: /* The following three symbols give information on ! 88: the size of various data types. */ ! 89: ! 90: #define SHORTBITS 16 /* Number of bits in a short */ ! 91: ! 92: #define INTBITS 32 /* Number of bits in an int */ ! 93: ! 94: #define LONGBITS 32 /* Number of bits in a long */ ! 95: ! 96: /* Define BIG_ENDIAN iff lowest-numbered byte in a word ! 97: is the most significant byte. */ ! 98: ! 99: #define BIG_ENDIAN ! 100: ! 101: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a ! 102: * group of arguments and treat it as an array of the arguments. */ ! 103: ! 104: #define NO_ARG_ARRAY ! 105: ! 106: /* Define WORD_MACHINE if addresses and such have ! 107: * to be corrected before they can be used as byte counts. */ ! 108: ! 109: /* #define WORD_MACHINE /**/ ! 110: ! 111: /* Define how to take a char and sign-extend into an int. ! 112: On machines where char is signed, this is a no-op. */ ! 113: ! 114: #define SIGN_EXTEND_CHAR(c) (c) ! 115: ! 116: /* Now define a symbol for the cpu type, if your compiler ! 117: does not define it automatically: ! 118: Ones defined so far include vax, m68000, ns16000, pyramid, ! 119: orion, tahoe, APOLLO and many others */ ! 120: ! 121: /* /bin/cc on ncl_el and ncl_mr define m68k and mc68000 */ ! 122: ! 123: /* Use type int rather than a union, to represent Lisp_Object */ ! 124: /* This is desirable for most machines. */ ! 125: ! 126: #define NO_UNION_TYPE ! 127: ! 128: /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend ! 129: the 24-bit bit field into an int. In other words, if bit fields ! 130: are always unsigned. ! 131: ! 132: If you use NO_UNION_TYPE, this flag does not matter. */ ! 133: ! 134: #define EXPLICIT_SIGN_EXTEND ! 135: ! 136: /* Data type of load average, as read out of kmem. */ ! 137: ! 138: #define LOAD_AVE_TYPE long ! 139: ! 140: /* Convert that into an integer that is 100 for a load average of 1.0 */ ! 141: ! 142: #define FSCALE 1000.0 ! 143: #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) ! 144: ! 145: /* Define CANNOT_DUMP on machines where unexec does not work. ! 146: Then the function dump-emacs will not be defined ! 147: and temacs will do (load "loadup") automatically unless told otherwise. */ ! 148: ! 149: /* #define CANNOT_DUMP /**/ ! 150: ! 151: /* Define VIRT_ADDR_VARIES if the virtual addresses of ! 152: pure and impure space as loaded can vary, and even their ! 153: relative order cannot be relied on. ! 154: ! 155: Otherwise Emacs assumes that text space precedes data space, ! 156: numerically. */ ! 157: ! 158: /* #define VIRT_ADDR_VARIES /**/ ! 159: ! 160: /* Define C_ALLOCA if this machine does not support a true alloca ! 161: and the one written in C should be used instead. ! 162: Define HAVE_ALLOCA to say that the system provides a properly ! 163: working alloca function and it should be used. ! 164: Define neither one if an assembler-language alloca ! 165: in the file alloca.s should be used. */ ! 166: ! 167: #define C_ALLOCA ! 168: /* #define HAVE_ALLOCA /**/ ! 169: ! 170: /* Define NO_REMAP if memory segmentation makes it not work well ! 171: to change the boundary between the text section and data section ! 172: when Emacs is dumped. If you define this, the preloaded Lisp ! 173: code will not be sharable; but that's better than failing completely. */ ! 174: ! 175: #define NO_REMAP ! 176: ! 177: /* ! 178: * end of the standard macro's ! 179: */ ! 180: ! 181: /* ! 182: * a neat identifier to handle source mods (if needed) ! 183: */ ! 184: #define DPX2 ! 185: ! 186: /* ! 187: * if we use X11, libX11.a has these... ! 188: */ ! 189: #ifdef HAVE_X_WINDOWS ! 190: # undef LIBX11_SYSTEM ! 191: # define LIBX11_SYSTEM -lnsl ! 192: # define BSTRING ! 193: # define HAVE_GETWD ! 194: # define HAVE_GETTIMEOFDAY ! 195: /* ! 196: * Bull's X11R3 and X11R4 libs contain random and friends. ! 197: * The MIT X11R5 lib does not. ! 198: */ ! 199: # define HAVE_RANDOM ! 200: /* ! 201: * we must have INET loaded so we have sockets ! 202: */ ! 203: # define HAVE_SOCKETS ! 204: #endif /* HAVE_X_WINDOWS */ ! 205: ! 206: /* ! 207: * useful if you have INET loaded ! 208: */ ! 209: #ifdef HAVE_SOCKETS ! 210: # define LIBS_MACHINE -linet ! 211: #endif ! 212: ! 213: ! 214: #if (defined(ncl_mr) || defined(ncl_el)) && !defined (NBPC) ! 215: # define NBPC 4096 ! 216: #endif ! 217: ! 218: /* ! 219: * if SIGIO is defined, much of the emacs ! 220: * code assumes we are BSD !! ! 221: */ ! 222: #ifdef SIGIO ! 223: # undef SIGIO ! 224: #endif ! 225: ! 226: /* ! 227: * a good idea on multi-user systems :-) ! 228: */ ! 229: #define CLASH_DETECTION /* probably a good idea */ ! 230: #define NO_FCHMOD /* Use chmod instead. */ ! 231: ! 232: ! 233: #ifdef SIGTSTP ! 234: /* ! 235: * sysdep.c(sys_suspend) works fine with emacs-18.58 ! 236: * and BOS 02.00.45, if you have an earler version ! 237: * of Emacs and/or BOS, or have problems, or just prefer ! 238: * to start a sub-shell rather than suspend-emacs, ! 239: * un-comment out the next line. ! 240: */ ! 241: /* # undef SIGTSTP /* make suspend-emacs spawn a sub-shell */ ! 242: # ifdef NOMULTIPLEJOBS ! 243: # undef NOMULTIPLEJOBS ! 244: # endif ! 245: #endif ! 246: /* ! 247: * no we don't want this at all ! 248: */ ! 249: #ifdef USG_JOBCTRL ! 250: # undef USG_JOBCTRL ! 251: #endif ! 252: ! 253: ! 254: /* ! 255: * X support _needs_ this ! 256: */ ! 257: #define HAVE_SELECT ! 258: /* ! 259: * and select requires these ! 260: */ ! 261: #define HAVE_TIMEVAL ! 262: #define USE_UTIME ! 263: ! 264: /* select also needs this header file--but not in ymakefile. */ ! 265: #ifndef NO_SHORTNAMES ! 266: #include <sys/types.h> ! 267: #include <sys/select.h> ! 268: #endif ! 269: ! 270: #define TEXT_START 0 ! 271: /* ! 272: * Define the direction of stack growth. ! 273: */ ! 274: #define STACK_DIRECTION -1 ! 275: ! 276: /* ! 277: * define _SYSV ! 278: * this is needed by a lot of the B.O.S include files so that ! 279: * what emacs wants is really included. ! 280: * Causes the POSIX stuff to be skipped. ! 281: */ ! 282: #ifndef _SYSV ! 283: # define _SYSV ! 284: #endif ! 285: ! 286: /* end of m-dpx2.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.