[!MULTI_FRAME] (FOR_EACH_FRAME): Fix Lisp_Object vs. int problems.
[bpt/emacs.git] / src / m / sun1.h
CommitLineData
20c428fd
JB
1/* machine description file for Sun 68000's
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc.
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
17385adc 8the Free Software Foundation; either version 2, or (at your option)
20c428fd
JB
9any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
18the 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="note"
24
25NOTE-START
26Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
27 -opsystem=bsd4-2 or -opsystem=sunos4)
28
29 Whether you should use sun1, sun2 or sun3 depends on the
30 VERSION OF THE OPERATING SYSTEM
31 you have. There are three machine types for different versions of
32 SunOS. All are derived from Berkeley 4.2, meaning that you should
33 use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
34 need to use sun3 on Sun 2's running SunOS release 3.
35
36 For SunOS release 4 on a Sun 3, use -machine=sun3 and
37 -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
38 problems caused by bugs in the "export" version of SunOS 4.
39NOTE-END */
40
41/* The following three symbols give information on
42 the size of various data types. */
43
44#define SHORTBITS 16 /* Number of bits in a short */
45
46#define INTBITS 32 /* Number of bits in an int */
47
48#define LONGBITS 32 /* Number of bits in a long */
49
20c428fd
JB
50/* Say this machine is a 68000 */
51
52#define m68000
53
54/* Use type int rather than a union, to represent Lisp_Object */
55
56#define NO_UNION_TYPE
57
eb8c3be9 58/* Sun can't write competent compilers */
20c428fd
JB
59#define COMPILER_REGISTER_BUG
60
61/* XINT must explicitly sign-extend */
62
63#define EXPLICIT_SIGN_EXTEND
64
65/* Data type of load average, as read out of kmem. */
66
67#define LOAD_AVE_TYPE long
68
69/* Convert that into an integer that is 100 for a load average of 1.0 */
70
71#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
72
73/* Must use the system's termcap. It does special things. */
74
75#define LIBS_TERMCAP -ltermcap
76
77/* Mask for address bits within a memory segment */
78
79#define SEGMENT_MASK (SEGSIZ - 1)