comparison src/m/wicat.h @ 456:c0335c02f1d7

Initial revision
author Jim Blandy <jimb@redhat.com>
date Fri, 13 Dec 1991 18:49:49 +0000
parents
children 1ffd52c765c7
comparison
equal deleted inserted replaced
455:12af79cf16ee 456:c0335c02f1d7
1 /* machine description file for WICAT machines.
2 Copyright (C) 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 /* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="usg5-2" */
24
25 /* The following three symbols give information on
26 the size of various data types. */
27
28 #define SHORTBITS 16 /* Number of bits in a short */
29
30 #define INTBITS 32 /* Number of bits in an int */
31
32 #define LONGBITS 32 /* Number of bits in a long */
33
34 /* Define BIG_ENDIAN iff lowest-numbered byte in a word
35 is the most significant byte. */
36
37 #define BIG_ENDIAN
38
39 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
40 * group of arguments and treat it as an array of the arguments. */
41
42 #undef NO_ARG_ARRAY
43
44 /* Define WORD_MACHINE if addresses and such have
45 * to be corrected before they can be used as byte counts. */
46
47 #undef WORD_MACHINE
48
49 /* Define how to take a char and sign-extend into an int.
50 On machines where char is signed, this is a no-op. */
51
52 #define SIGN_EXTEND_CHAR(c) (c)
53
54 /* Now define a symbol for the cpu type, if your compiler
55 does not define it automatically:
56 vax, m68000, ns16000 are the ones defined so far. */
57
58 #ifndef m68000
59 #define m68000
60 #endif
61
62 /* This flag is used only in alloca.s. */
63 #define WICAT
64
65 /* Use type int rather than a union, to represent Lisp_Object */
66
67 #define NO_UNION_TYPE
68
69 /* XINT must explicitly sign-extend */
70
71 #define EXPLICIT_SIGN_EXTEND
72
73 /* Data type of load average, as read out of kmem. */
74
75 #undef LOAD_AVE_TYPE
76
77 /* Convert that into an integer that is 100 for a load average of 1.0 */
78
79 #undef LOAD_AVE_CVT
80
81 /* Define CANNOT_DUMP on machines where unexec does not work.
82 Then the function dump-emacs will not be defined
83 and temacs will do (load "loadup") automatically unless told otherwise. */
84
85 #undef CANNOT_DUMP
86
87 /* Define VIRT_ADDR_VARIES if the virtual addresses of
88 pure and impure space as loaded can vary, and even their
89 relative order cannot be relied on.
90
91 Otherwise Emacs assumes that text space precedes data space,
92 numerically. */
93
94 #undef VIRT_ADDR_VARIES
95
96 /* Define C_ALLOCA if this machine does not support a true alloca
97 and the one written in C should be used instead.
98 Define HAVE_ALLOCA to say that the system provides a properly
99 working alloca function and it should be used.
100 Define neither one if an assembler-language alloca
101 in the file alloca.s should be used. */
102
103 /* For the Wicat C compiler version 4.2, this can be removed
104 and the alloca in alloca.s used. */
105 #define C_ALLOCA
106 #define STACK_DIRECTION -1 /* grows towards lower addresses on WICAT */
107
108 /* Define NO_REMAP if memory segmentation makes it not work well
109 to change the boundary between the text section and data section
110 when Emacs is dumped. If you define this, the preloaded Lisp
111 code will not be sharable; but that's better than failing completely. */
112
113 #undef NO_REMAP
114
115 /* For WICAT, define TAHOE_REGISTER_BUG if you have a pre-4.2 C compiler */
116
117 #define TAHOE_REGISTER_BUG
118
119 /* pagesize definition */
120
121 #define EXEC_PAGESIZE 0x1000
122
123 /* Delete this for WICAT sys V releases before 2.0. */
124
125 #define LIB_STANDARD -lc-nofp
126
127 /* Special magic number */
128
129 #define EXEC_MAGIC MC68ROMAGIC
130
131 /* Special switches to give to ld. */
132
133 #define LD_SWITCH_MACHINE -e __start -N
134
135 /* Sigh...cannot define this for WICAT cuz 0 length memcpy blows chunks */
136
137 #undef BSTRING
138
139 #ifdef BSTRING
140 #undef bcopy
141 #undef bzero
142 #undef bcmp
143
144 #define bcopy(a,b,s) memcpy(b,a,s)
145 #define bzero(a,s) memset(a,0,s)
146 #define bcmp memcmp
147 #endif
148
149 /*
150 * Define optimflags if you want to optimize.
151 * - Set to null string for pre-4.2 C compiler
152 * - Set to "-O -Wopt,-O-f" for 4.2
153 */
154
155 #define C_OPTIMIZE_SWITCH /* -O -Wopt,-O-f */
156
157 /* For WICAT version supporting PTYs and select (currently internal only) */
158
159 #ifdef HAVE_PTYS
160 #undef FIRST_PTY_LETTER
161 #define FIRST_PTY_LETTER 'q'
162 #endif
163
164 /* there is a select() in libcurses.a that causes a conflict so use termlib */
165 #ifdef HAVE_SELECT
166 #undef TERMINFO
167 #define LIBS_TERMCAP select.o -ltermlib
168 #endif