]> code.delx.au - gnu-emacs/blob - src/m/delta.h
(LD_SWITCH_MACHINE): Don't define if using GCC.
[gnu-emacs] / src / m / delta.h
1 /* Machine description file for the Motorola Delta.
2 Tested on mvme147 board using R3V7 without X. Tested with gcc.
3 Tested on mvme167 board using R3V7 without X. Tested with cc, gnucc, gcc.
4 Copyright (C) 1986, 1993, 1994 Free Software Foundation, Inc.
5
6 This file is part of GNU Emacs.
7
8 GNU Emacs is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs; see the file COPYING. If not, write to
20 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
21
22
23 /* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-3" */
26
27 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
28 is the most significant byte. */
29
30 #define WORDS_BIG_ENDIAN
31
32 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35 /* #define NO_ARG_ARRAY */
36
37 /* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40 /* #define WORD_MACHINE */
41
42 /* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 Ones defined so far include vax, m68000, ns16000, pyramid,
45 orion, tahoe, APOLLO and many others */
46
47 #define m68000
48 #define MOTOROLA_DELTA
49
50 /* Use type int rather than a union, to represent Lisp_Object */
51 /* This is desirable for most machines. */
52
53 #define NO_UNION_TYPE
54
55 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
56 the bit field into an int. In other words, if bit fields
57 are always unsigned.
58
59 If you use NO_UNION_TYPE, this flag does not matter. */
60
61 #define EXPLICIT_SIGN_EXTEND
62
63 /* Data type of load average, as read out of kmem. */
64
65 /* #define LOAD_AVE_TYPE long */
66
67 /* Convert that into an integer that is 100 for a load average of 1.0 */
68
69 /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
70
71 /* Define CANNOT_DUMP on machines where unexec does not work.
72 Then the function dump-emacs will not be defined
73 and temacs will do (load "loadup") automatically unless told otherwise. */
74
75 /* #define CANNOT_DUMP */
76
77 /* Define VIRT_ADDR_VARIES if the virtual addresses of
78 pure and impure space as loaded can vary, and even their
79 relative order cannot be relied on.
80
81 Otherwise Emacs assumes that data space precedes text space,
82 numerically. */
83
84 /* #define VIRT_ADDR_VARIES */
85
86 /* Define C_ALLOCA if this machine does not support a true alloca
87 and the one written in C should be used instead.
88 Define HAVE_ALLOCA to say that the system provides a properly
89 working alloca function and it should be used.
90 Define neither one if an assembler-language alloca
91 in the file alloca.s should be used. */
92
93 /* #define C_ALLOCA */
94 /* #define HAVE_ALLOCA */
95
96 /* Define NO_REMAP if memory segmentation makes it not work well
97 to change the boundary between the text section and data section
98 when Emacs is dumped. If you define this, the preloaded Lisp
99 code will not be sharable; but that's better than failing completely. */
100
101 #define NO_REMAP
102
103 /* Some really obscure 4.2-based systems (like Sequent DYNIX)
104 * do not support asynchronous I/O (using SIGIO) on sockets,
105 * even though it works fine on tty's. If you have one of
106 * these systems, define the following, and then use it in
107 * config.h (or elsewhere) to decide when (not) to use SIGIO.
108 *
109 * You'd think this would go in an operating-system description file,
110 * but since it only occurs on some, but not all, BSD systems, the
111 * reasonable place to select for it is in the machine description
112 * file.
113 */
114
115 /* #define NO_SOCK_SIGIO */
116
117 \f
118 /* Undefine this if you don't want the machine slow down when a buffer
119 is modified. */
120
121 #define CLASH_DETECTION
122
123 /* Machine specific stuff */
124 #define HAVE_PTYS
125 #define SYSV_PTYS
126 #ifdef HAVE_INET_SOCKETS /* this comes from autoconf */
127 # define HAVE_SOCKETS /* NSE may or may not have been installed */
128 #endif
129 #define SIGNALS_VIA_CHARACTERS
130 #define BROKEN_CLOSEDIR /* builtin closedir is interruptible */
131 #undef HAVE_BCOPY /* b* functions are just stubs to mem* ones */
132 #define bcopy(from,to,bytes) memcpy(to,from,bytes)
133 #define bzero(to,bytes) memset(to,0,bytes)
134 #define bcmp memcmp
135 #define memmove(t,f,s) safe_bcopy(f,t,s) /* for overlapping copies */
136 #undef KERNEL_FILE
137 #define KERNEL_FILE "/sysv68"
138 #undef LDAV_SYMBOL
139 #ifdef SIGIO
140 /* R3V7 has SIGIO, but interrupt input does not work yet.
141 Let's go on with cbreak code. */
142 /* # define INTERRUPT_INPUT */
143 #endif
144
145 /* The standard C library is -lc881, not -lc.
146 -lbsd brings sigblock and sigsetmask.
147 DO NOT USE -lPW. That version of alloca is broken in versions R3V5,
148 R3V6, R3V7. -riku@field.fi -pot@cnuce.cnr.it. */
149
150 #define LIB_STANDARD -lc881
151 #define LIB_MATH -lm881
152 #define LIBS_TERMCAP -lcurses
153 #define LIBS_SYSTEM -lbsd
154 #undef sigsetmask
155
156 #ifdef HAVE_X_WINDOWS
157 # define HAVE_RANDOM
158 # define BROKEN_FIONREAD /* pearce@ll.mit.edu says this is needed. */
159 # define HAVE_XSCREENNUMBEROFSCREEN
160 # undef LIB_X11_LIB /* no shared libraries */
161 # define LIB_X11_LIB -lX11
162 # undef USG_SHARED_LIBRARIES /* once again, no shared libs */
163 # undef LIBX11_SYSTEM /* no -lpt as usg5-3.h expects */
164 # define LIBX11_SYSTEM -lnls -lnsl_s
165 #endif /* HAVE_X_WINDOWS */
166
167 #ifdef __GNUC__
168 /* Use builtin alloca. Also be sure that no other ones are tried out. */
169 # define alloca __builtin_alloca
170 # define HAVE_ALLOCA
171 /* Union lisp objects do not yet work as of 19.15. */
172 /* # undef NO_UNION_TYPE */
173
174 /* We are assuming here that the `true' GNU gcc has not been
175 installed, and we are using the gnucc provided by Motorola. No
176 support exists for compiling with GNU gcc, as I do not have it on
177 my machine to try it out. -pot@cnuce.cnr.it
178 If __STDC__ is defined gnucc has been called without the -traditional
179 option, that is, we are inside configure. If THIS_IS_CONFIGURE is
180 not defined, then configure is trying to figure out what the right
181 option for real compilation are.
182 Let us set -traditional, because gmalloc.c includes <stddef.h>, and
183 we don't have that (as of SYSV68 R3V7). */
184 # define C_SWITCH_MACHINE -mfp0ret -traditional -Dconst= -fdelayed-branch -fstrength-reduce -fno-inline -fcaller-saves
185 # define LIB_GCC /lib/gnulib881
186
187 #else
188 /* Not __GNUC__, use the alloca in alloca.s. */
189
190 /* Try to guess if we are using the Green Hills Compiler */
191 # if defined mc68000 && defined MC68000
192 /* Required only for use with Green Hills compiler:
193 -ga Because alloca relies on stack frames. This option forces
194 the Green Hills compiler to create stack frames even for
195 functions with few local variables. */
196 # define C_SWITCH_MACHINE -ga -O
197 # define GAP_USE_BCOPY /* *++to = *++from is inefficient */
198 # define BCOPY_UPWARD_SAFE 0
199 # define BCOPY_DOWNWARD_SAFE 1 /* bcopy does: mov.b (%a1)+,(%a0)+ */
200 # else
201 /* We are using the standard AT&T Portable C Compiler */
202 # define SWITCH_ENUM_BUG
203 # endif
204
205 #endif /* not __GNUC__ */