Annotation of GNUtools/emacs/src/m-dpx2.h, revision 1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.