Annotation of GNUtools/emacs/src/m-dpx2.h, revision 1.1.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.