|
|
1.1 ! root 1: /* m- file for SEQUENT BALANCE machines ! 2: Copyright (C) 1985, 1986 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GNU Emacs. ! 5: ! 6: GNU Emacs is free software; you can redistribute it and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 1, or (at your option) ! 9: any later version. ! 10: ! 11: GNU Emacs is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GNU Emacs; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: ! 21: /* NOTE: this file works for DYNIX release 2.0 ! 22: (not tested on 1.3) on NS32000's */ ! 23: ! 24: /* The following three symbols give information on ! 25: the size of various data types. */ ! 26: ! 27: #define SHORTBITS 16 /* Number of bits in a short */ ! 28: ! 29: #define INTBITS 32 /* Number of bits in an int */ ! 30: ! 31: #define LONGBITS 32 /* Number of bits in a long */ ! 32: ! 33: /* Define BIG_ENDIAN iff lowest-numbered byte in a word ! 34: is the most significant byte. */ ! 35: ! 36: /* #define BIG_ENDIAN */ ! 37: ! 38: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a ! 39: * group of arguments and treat it as an array of the arguments. */ ! 40: ! 41: /* #define NO_ARG_ARRAY */ ! 42: ! 43: /* Define WORD_MACHINE if addresses and such have ! 44: * to be corrected before they can be used as byte counts. */ ! 45: ! 46: /* #define WORD_MACHINE */ ! 47: ! 48: /* Define how to take a char and sign-extend into an int. ! 49: On machines where char is signed, this is a no-op. */ ! 50: ! 51: #define SIGN_EXTEND_CHAR(c) (c) ! 52: ! 53: /* Now define a symbol for the cpu type, if your compiler ! 54: does not define it automatically: ! 55: vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO ! 56: are the ones defined so far. */ ! 57: ! 58: /* BTW: DYNIX defines sequent, ns32000, and ns16000 (GENIX compatibility) */ ! 59: #ifndef sequent /* pre DYNIX 2.1 releases */ ! 60: # define sequent ! 61: #endif ! 62: ! 63: /* Use type int rather than a union, to represent Lisp_Object */ ! 64: /* This is desirable for most machines. */ ! 65: ! 66: #define NO_UNION_TYPE ! 67: ! 68: /* crt0.c should use the vax-bsd style of entry, with these dummy args. */ ! 69: ! 70: #define CRT0_DUMMIES bogus_fp, ! 71: ! 72: /* crt0.c should define a symbol `start' and do .globl with a dot. */ ! 73: ! 74: #define DOT_GLOBAL_START ! 75: ! 76: /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend ! 77: the 24-bit bit field into an int. In other words, if bit fields ! 78: are always unsigned. ! 79: ! 80: If you use NO_UNION_TYPE, this flag does not matter. */ ! 81: ! 82: #define EXPLICIT_SIGN_EXTEND ! 83: ! 84: /* Data type of load average, as read out of kmem. */ ! 85: ! 86: #define LOAD_AVE_TYPE unsigned long ! 87: ! 88: /* Convert that into an integer that is 100 for a load average of 1.0 */ ! 89: ! 90: #define FSCALE 1000.0 ! 91: #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) ! 92: ! 93: /* Define CANNOT_DUMP on machines where unexec does not work. ! 94: Then the function dump-emacs will not be defined ! 95: and temacs will do (load "loadup") automatically unless told otherwise. */ ! 96: ! 97: /* #define CANNOT_DUMP */ ! 98: ! 99: /* Define VIRT_ADDR_VARIES if the virtual addresses of ! 100: pure and impure space as loaded can vary, and even their ! 101: relative order cannot be relied on. ! 102: ! 103: Otherwise Emacs assumes that text space precedes data space, ! 104: numerically. */ ! 105: ! 106: /* #define VIRT_ADDR_VARIES */ ! 107: ! 108: /* Define C_ALLOCA if this machine does not support a true alloca ! 109: and the one written in C should be used instead. ! 110: Define HAVE_ALLOCA to say that the system provides a properly ! 111: working alloca function and it should be used. ! 112: Define neither one if an assembler-language alloca ! 113: in the file alloca.s should be used. */ ! 114: ! 115: /* #define C_ALLOCA */ ! 116: #define HAVE_ALLOCA ! 117: ! 118: /* Name of file the to look in ! 119: for the kernel symbol table (for load average) */ ! 120: ! 121: #undef KERNEL_FILE ! 122: #define KERNEL_FILE "/dynix" ! 123: ! 124: /* Avoids a compiler bug */ ! 125: ! 126: #define TAHOE_REGISTER_BUG ! 127: ! 128: /* Say that the text segment of a.out includes the header; ! 129: the header actually occupies the first few bytes of the text segment ! 130: and is counted in hdr.a_text. Furthermore, the value written ! 131: in the a_text in the file must have N_ADDRADJ added to it. */ ! 132: ! 133: #define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR)) ! 134: ! 135: /* (short) negative-int doesn't sign-extend correctly */ ! 136: #define SHORT_CAST_BUG ! 137: ! 138: /* Cause compilations to be done in parallel in ymakefile. */ ! 139: #define MAKE_PARALLEL & ! 140: ! 141: /* Say that mailer interlocking uses flock. */ ! 142: #define MAIL_USE_FLOCK ! 143: ! 144: /* On many 4.2-based systems, there's a rather tricky bug ! 145: * with the interpretation of the pid/pgrp value given to ! 146: * the F_SETOWN fcntl() call. It works as documented EXCEPT ! 147: * when applied to filedescriptors for sockets, in which case ! 148: * the sign must be reversed. If your emacs subprocesses get ! 149: * SIGIO's when they shouldn't, while running on a socket ! 150: * (e.g. under X windows), you should probably define this. ! 151: */ ! 152: ! 153: #define F_SETOWN_SOCK_NEG ! 154: ! 155: /* Some really obscure 4.2-based systems (like Sequent DYNIX) ! 156: * do not support asynchronous I/O (using SIGIO) on sockets, ! 157: * even though it works fine on tty's. If you have one of ! 158: * these systems, define the following, and then use it in ! 159: * config.h (or elsewhere) to decide when (not) to use SIGIO. ! 160: */ ! 161: ! 162: #define NO_SOCK_SIGIO ! 163: ! 164: /* Define how to search all pty names. ! 165: This is for Dynix 3.0; delete next 5 definitions for older systems. */ ! 166: ! 167: #define PTY_MAJOR "pqrstuvwPQRSTUVW" ! 168: #define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ! 169: #define PTY_ITERATION \ ! 170: register int ma, mi; \ ! 171: for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++) \ ! 172: for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++) ! 173: #define PTY_NAME_SPRINTF \ ! 174: sprintf (pty_name, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); ! 175: #define PTY_TTY_NAME_SPRINTF \ ! 176: sprintf (pty_name, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.