Annotation of 42BSD/ucb/lisp/franz/h/config.h, revision 1.1.1.1

1.1       root        1: /*                                     -[Thu Mar  3 15:57:51 1983 by jkf]-
                      2:  *     config.h                        $Locker:  $
                      3:  * configuration dependent info
                      4:  *
                      5:  * $Header: config.h,v 1.13 83/09/12 15:30:30 layer Exp $
                      6:  *
                      7:  * (c) copyright 1982, Regents of the University of California
                      8:  */
                      9:  
                     10: /* 
                     11:  * this file contains parameters which each site is likely to modify
                     12:  * in order to personalize the configuration of Lisp at their site.
                     13:  * The typical things to modifiy are:
                     14:  *    [optionally] turn on GCSTRINGS
                     15:  *    [optionally] provide a value for SITE 
                     16:  */
                     17: 
                     18: /*
                     19:  * The type of machine and os this is to run on will come from
                     20:  * the file lconf.h.  The lconf.h file is created by the shell script
                     21:  * 'lispconf' in the directory ../..
                     22:  * lconf.h will define exactly one of these symbols:
                     23:  *  vax_4_2 vax_4_1c vax_4_1a vax_4_1 vax_unix_ts vax_eunice_vms
                     24:  *  sun_4_2 sun_4_1c sun_unisoft dual_unisoft  pixel_unisoft
                     25:  */
                     26: #include "lconf.h"
                     27: 
                     28: 
                     29: /* GCSTRINGS - define this if you want the garbage collector to reclaim
                     30:  *  strings.  It is not normally set because in typical applications the
                     31:  *  expense of collecting strings is not worth the amount of space
                     32:  *  retrieved
                     33:  */
                     34:  
                     35: /* #define GCSTRINGS */
                     36: 
                     37: /*
                     38:  * set up the global defines based on the choice above
                     39:  * the global names are
                     40:  * machine name:  m_vax
                     41:  *               m_68k
                     42:  *                     m_68k_sun, m_68k_dual m_68k_pixel
                     43:  * operating system:
                     44:  *               os_unix
                     45:  *                  os_4_1, os_4_1a, os_4_1c, os_4_2, os_unix_ts
                     46:  *               os_vms
                     47:  */
                     48: /* first the machine */
                     49: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_unix_ts || vax_eunice_vms
                     50: #define m_vax 1
                     51: #endif
                     52: 
                     53: #if sun_4_2 || sun_4_1c || sun_unisoft
                     54: #define m_68k          1
                     55: #define m_68k_sun      1
                     56: #endif
                     57: 
                     58: #if dual_unisoft
                     59: #define m_68k          1
                     60: #define m_68k_dual     1
                     61: #endif
                     62: 
                     63: #if pixel_unisoft
                     64: #define m_68k          1
                     65: #define m_68k_pixel    1
                     66: #endif
                     67: 
                     68: /* next the operating system */
                     69: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_unix_ts || m_68k
                     70: #define os_unix                1
                     71: #endif
                     72: 
                     73: #if vax_4_1
                     74: #define os_4_1         1
                     75: #endif
                     76: #if vax_4_1a
                     77: #define os_4_1a                1
                     78: #endif
                     79: #if vax_4_1c || sun_4_1c
                     80: #define os_4_1c        1
                     81: #endif
                     82: #if vax_4_2 || sun_4_2
                     83: #define os_4_2         1
                     84: #endif
                     85: #if vax_unix_ts
                     86: #define os_unix_ts     1
                     87: #endif
                     88: #if vax_eunice_vms
                     89: #define os_vms         1
                     90: #endif
                     91: 
                     92: #if sun_unisoft || dual_unisoft || pixel_unisoft
                     93: #define os_unisoft 1
                     94: #endif
                     95: 
                     96: /* MACHINE -  this is put on the (status features) list */
                     97: #if m_68k
                     98: #define MACHINE "68k"
                     99: #define PORTABLE
                    100: #endif
                    101: 
                    102: #if m_vax
                    103: #define MACHINE "vax"
                    104: #define NILIS0 1
                    105: #endif
                    106: 
                    107: /* OFFSET -  this is the offset to the users address space. */
                    108: /* NB: this is not necessarily tied to the hardware.  Pixel
                    109:    informs us that when they put up 4.1 the offsetis likely
                    110:    to change */
                    111: 
                    112: /*
                    113: ** NILIS0 -- for any UNIX implementation in which the users
                    114: **     address space starts at 0 (like m_vax, above). 
                    115: **
                    116: ** NPINREG -- for the verison if lisp that keeps np and lbot in global
                    117: **     registers.  On the 68000, there is a special `hacked' version
                    118: **     of the C compiler that is needed to do this.
                    119: **
                    120: ** #define NILIS0              1
                    121: ** #define NPINREG             1
                    122: */
                    123: 
                    124: /*
                    125:  * SPISFP -- this is to indicate that the stack and frame pointer
                    126:  * are the same, or at least that you can't pull the same shenanigans
                    127:  * as on the vax or sun by pushing error frames at the end of C
                    128:  * frames and using alloca.  This should make life easier for
                    129:  * a native VMS version or IBM or RIDGE or Bellmac-32.
                    130:  * #define SPISFP 1
                    131:  */
                    132: 
                    133: 
                    134: #if m_vax
                    135: #define OFFSET         0x0
                    136: #define NPINREG                1
                    137: #endif
                    138: 
                    139: #if m_68k_sun
                    140: #define OFFSET         0x8000
                    141: #endif
                    142: 
                    143: #if m_68k_dual
                    144: #define OFFSET         0x800000
                    145: #endif
                    146: 
                    147: #if m_68k_pixel
                    148: #define OFFSET         0x20000
                    149: #endif
                    150: 
                    151: 
                    152: /* OS -  this is put on the (status features) list */
                    153: #if os_unix
                    154: #define OS      "unix"
                    155: #endif
                    156: #if os_vms
                    157: #define OS     "vms"
                    158: #endif
                    159: 
                    160: /* DOMAIN - this is put on the (status features) list and
                    161:  *     is the value of (status domain)
                    162:  */
                    163: #define DOMAIN  "ucb"
                    164: 
                    165: /* SITE - the name of the particular machine this lisp is running on
                    166:  *    this value is available via (sys:gethostname).
                    167:  *    On 4.1a systems it is possible to determine this dynamically cheaply
                    168:  */
                    169: #if ! (os_4_1a || os_4_1c || os_4_2)
                    170: #define SITE    "unknown-site"
                    171: #endif
                    172: 
                    173: 
                    174: /*  TTSIZ is the absolute limit, in pages (both text and data), of the
                    175:  * size to which the lisp system may grow.
                    176:  * If you change this, you must recompile alloc.c and data.c.
                    177:  */
                    178: #ifdef HOLE
                    179: #define TTSIZE 10216
                    180: #else
                    181: #define TTSIZE 6120
                    182: #endif
                    183: 
                    184: #if m_vms 
                    185: #undef TTSIZE
                    186: #define TTSIZE 10216
                    187: #define FREESIZE 512 * 10000
                    188: #endif 

unix.superglobalmegacorp.com

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