|
|
1.1 root 1: /* m- file for Sun 4 SPARC.
2: Copyright (C) 1987 Free Software Foundation, Inc.
3:
4: This file is part of GNU Emacs.
5:
6: GNU Emacs is distributed in the hope that it will be useful,
7: but WITHOUT ANY WARRANTY. No author or distributor
8: accepts responsibility to anyone for the consequences of using it
9: or for whether it serves any particular purpose or works at all,
10: unless he says so in writing. Refer to the GNU Emacs General Public
11: License for full details.
12:
13: Everyone is granted permission to copy, modify and redistribute
14: GNU Emacs, but only under the conditions described in the
15: GNU Emacs General Public License. A copy of this license is
16: supposed to have been given to you along with GNU Emacs so you
17: can know your rights and responsibilities. It should be in a
18: file named COPYING. Among other things, the copyright notice
19: and this notice must be preserved on all copies. */
20:
21:
22: /* The following three symbols give information on
23: the size of various data types. */
24:
25: #define SHORTBITS 16 /* Number of bits in a short */
26:
27: #define INTBITS 32 /* Number of bits in an int */
28:
29: #define LONGBITS 32 /* Number of bits in a long */
30:
31: /* SPARC has lowest-numbered byte as most significant */
32:
33: #define BIG_ENDIAN
34:
35: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
36: * group of arguments and treat it as an array of the arguments. */
37:
38: #define NO_ARG_ARRAY
39:
40: /* Define how to take a char and sign-extend into an int.
41: On machines where char is signed, this is a no-op. */
42:
43: #define SIGN_EXTEND_CHAR(c) (c)
44:
45: /* Say this machine is a sparc */
46:
47: #ifndef sparc
48: #define sparc
49: #endif
50:
51: /* This level of optimization is reported to work. */
52:
53: #define C_OPTIMIZE_SWITCH -O2
54:
55: /* Use type int rather than a union, to represent Lisp_Object */
56:
57: #define NO_UNION_TYPE
58:
59: /* XINT must explicitly sign-extend */
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 C_ALLOCA if this machine does not support a true alloca
72: and the one written in C should be used instead.
73: Define HAVE_ALLOCA to say that the system provides a properly
74: working alloca function and it should be used.
75: Define neither one if an assembler-language alloca
76: in the file alloca.s should be used. */
77:
78: #define HAVE_ALLOCA
79: #include <alloca.h>
80:
81: /* Must use the system's termcap. It does special things. */
82:
83: #define LIBS_TERMCAP -ltermcap
84:
85: /* Mask for address bits within a memory segment */
86:
87: #define SEGMENT_MASK (SEGSIZ - 1)
88:
89: /* Arrange to link with sun windows, if requested. */
90: /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */
91: /* These programs require Sun UNIX 4.2 Release 3.2 or greater */
92:
93: #ifdef HAVE_SUN_WINDOWS
94: #define OTHER_FILES ${etcdir}emacstool
95: #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect
96: #define OBJECTS_MACHINE sunfns.o
97: #define SYMS_MACHINE syms_of_sunfns ()
98: #define PURESIZE 130000
99: #endif
100:
101: /* Say that the text segment of a.out includes the header;
102: the header actually occupies the first few bytes of the text segment
103: and is counted in hdr.a_text. */
104:
105: #define A_TEXT_OFFSET(HDR) sizeof (HDR)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.