|
|
1.1 root 1: /* m-amdahl.h file, used with s-usg5-3.h.
2: Copyright (C) 1987 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: This file for amdahl_uts created by modifying the m-template.h
22: by Jishnu Mukerji 3/1/87
23:
24: This file works with the Amdahl uts native C compiler. The 5.2u370
25: compiler is so brain damaged that it is not even worth trying to use it.
26: */
27:
28: /* The following three symbols give information on
29: the size of various data types. */
30:
31: #define SHORTBITS 16 /* Number of bits in a short */
32:
33: #define INTBITS 32 /* Number of bits in an int */
34:
35: #define LONGBITS 32 /* Number of bits in a long */
36:
37: /* Define BIG_ENDIAN iff lowest-numbered byte in a word
38: is the most significant byte. */
39:
40: #define BIG_ENDIAN
41:
42: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
43: * group of arguments and treat it as an array of the arguments. */
44:
45: #undef NO_ARG_ARRAY
46:
47: /* Define WORD_MACHINE if addresses and such have
48: * to be corrected before they can be used as byte counts. */
49:
50: #define WORD_MACHINE /* not actually used anywhere yet! */
51:
52: /* Define how to take a char and sign-extend into an int.
53: On machines where char is signed, this is a no-op. */
54:
55: #define SIGN_EXTEND_CHAR(c) (((sign_extend_temp=(c)) & 0x80) \
56: ? (sign_extend_temp | 0xFFFFFF00) \
57: : (sign_extend_temp))
58:
59: /* Now define a symbol for the cpu type, if your compiler
60: does not define it automatically:
61: vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
62: are the ones defined so far. */
63:
64: /* uts gets defined automatically */
65: /* However for clarity define amdahl_uts */
66: #define amdahl_uts
67:
68: /* Use type int rather than a union, to represent Lisp_Object */
69: /* This is desirable for most machines. */
70:
71: #define NO_UNION_TYPE
72:
73: /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
74: the 24-bit bit field into an int. In other words, if bit fields
75: are always unsigned.
76:
77: If you use NO_UNION_TYPE, this flag does not matter. */
78:
79: #define EXPLICIT_SIGN_EXTEND
80:
81: /* Data type of load average, as read out of kmem. */
82:
83: /* #define LOAD_AVE_TYPE long*/
84:
85: /* Convert that into an integer that is 100 for a load average of 1.0 */
86:
87: /*#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)*/
88:
89: /* Define CANNOT_DUMP on machines where unexec does not work.
90: Then the function dump-emacs will not be defined
91: and temacs will do (load "loadup") automatically unless told otherwise. */
92:
93: /* #define CANNOT_DUMP
94:
95: /* Define VIRT_ADDR_VARIES if the virtual addresses of
96: pure and impure space as loaded can vary, and even their
97: relative order cannot be relied on.
98:
99: Otherwise Emacs assumes that text space precedes data space,
100: numerically. */
101:
102: /* #define VIRT_ADDR_VARIES*/
103:
104: /* Define C_ALLOCA if this machine does not support a true alloca
105: and the one written in C should be used instead.
106: Define HAVE_ALLOCA to say that the system provides a properly
107: working alloca function and it should be used.
108: Define neither one if an assembler-language alloca
109: in the file alloca.s should be used. */
110:
111: #define C_ALLOCA
112: /*#define HAVE_ALLOCA */
113:
114: #ifdef HAVE_ALLOCA
115: #define LIB_STANDARD -lPW -lc
116: #endif
117:
118: /* Define NO_REMAP if memory segmentation makes it not work well
119: to change the boundary between the text section and data section
120: when Emacs is dumped. If you define this, the preloaded Lisp
121: code will not be sharable; but that's better than failing completely. */
122:
123: /*#define NO_REMAP*/
124:
125: #define TERMINFO
126:
127: /* The usual definition of XINT, which involves shifting, does not
128: sign-extend properly on this machine. */
129:
130: #define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \
131: ? (sign_extend_temp | 0xFF000000) \
132: : (sign_extend_temp & 0x00FFFFFF))
133:
134: #ifdef emacs /* Don't do this when making xmakefile! */
135: extern int sign_extend_temp;
136: #endif
137:
138: /* The following needed to load the proper crt0.o and to get the
139: proper declaration of data_start in the #undef NO_REMAP case */
140:
141: #ifndef NO_REMAP
142: #define START_FILES pre-crt0.o /lib/crt0.o
143: #endif
144:
145: /* Perhaps this means that the optimizer isn't safe to use. */
146:
147: #ifndef C_OPTIMIZE_SWITCH
148: #define C_OPTIMIZE_SWITCH
149: #endif
150:
151: /* Put text and data on non-segment boundary; makes image smaller */
152:
153: #define LD_SWITCH_MACHINE -N
154:
155: /* When writing the 'xemacs' file, make text segment ro */
156: #define EXEC_MAGIC 0410
157:
158: /* Mask for address bits within a memory segment */
159: #define SEGSIZ 0x10000 /* Should this not be defined elsewhere ? */
160: #define SEGMENT_MASK (SEGSIZ - 1)
161:
162: /* Tell alloca.c which direction stack grows. */
163: #define STACK_DIRECTION -1
164:
165: /* Compensate for error in signal.h. */
166: #if NSIG==19
167: #undef NSIG
168: #define NSIG 20
169: #endif
170:
171: #define NO_SIOCTL_H
172:
173: /* Amdahl has features not in ordinary sys v.3. */
174:
175: #define HAVE_TIMEVAL
176:
177: /* With HAVE_TIMEVAL defined, Emacs expects to use `utimes'.
178: But UTS does not have one. */
179:
180: #define MISSING_UTIMES
181:
182: #define HAVE_SELECT
183:
184: #define HAVE_PTYS
185:
186: #define HAVE_SOCKETS
187:
188: /* Define this symbol if your system has the functions bcopy, etc. */
189:
190: #define BSTRING
191:
192: #if 0 /* This is turned off because BROKEN_TIOCGETC is probably harmless. */
193: #undef BROKEN_TIOCGETC
194: #endif
195:
196: /* X needs to talk on the network, so search the network library. */
197:
198: #undef LIBX11_SYSTEM /* What s-usg5-3.h does is not needed. */
199: #define LIBX11_MACHINE -lsocket -lbsd
200:
201: /* SIGIO is defined but does not work. Prevent using it. */
202: #define BROKEN_FIONREAD
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.