* unexnext.c:
[bpt/emacs.git] / src / m / vax.h
1 /* machine description file for vax.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5 This file is part of GNU Emacs.
6
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
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
25 NOTE-START
26 The vax (-machine=vax) runs zillions of different operating systems.
27
28 Vax running Berkeley Unix (-opsystem=bsd4-1, -opsystem=bsd4-2 or
29 -opsystem=bsd4-3)
30
31 Works.
32
33 Vax running Ultrix (-opsystem=bsd4-2)
34
35 Works. See under Ultrix in share-lib/MACHINES for problems using X
36 windows on Ultrix.
37
38 Vax running System V rel 2 (-opsystem=usg5-2)
39
40 18.27 Works.
41
42 Vax running System V rel 0 (-opsystem=usg5-0)
43
44 Works as of 18.36.
45
46 Vax running VMS (-opsystem=vms)
47
48 18.36 believed to work. Addition of features is necessary to make
49 this Emacs version more usable.
50
51 NOTE-END */
52
53 /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
54 is the most significant byte. */
55
56 #undef WORDS_BIG_ENDIAN
57
58 /* #define vax -- appears to be done automatically */
59
60 /* Use type int rather than a union, to represent Lisp_Object */
61
62 #define NO_UNION_TYPE
63
64 /* crt0.c should use the vax-bsd style of entry, with no dummy args. */
65
66 #define CRT0_DUMMIES
67
68 /* crt0.c should define a symbol `start' and do .globl with a dot. */
69
70 #define DOT_GLOBAL_START
71
72 #ifdef BSD_SYSTEM
73 /* USG systems I know of running on Vaxes do not actually
74 support the load average, so disable it for them. */
75
76 /* Data type of load average, as read out of kmem. */
77
78 #define LOAD_AVE_TYPE double
79
80 /* Convert that into an integer that is 100 for a load average of 1.0 */
81
82 #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
83
84 #endif /* BSD_SYSTEM */
85
86 #ifdef VMS
87
88 /* Data type of load average, as read out of driver. */
89
90 #define LOAD_AVE_TYPE float
91
92 /* Convert that into an integer that is 100 for a load average of 1.0 */
93
94 #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
95
96 #endif /* VMS */
97
98 /* Vax sysV has alloca in the PW library. */
99
100 #ifdef USG
101 #define LIB_STANDARD -lPW -lc
102
103 #define TEXT_START 0
104 #endif /* USG */
105
106 #ifdef BSD4_2
107 #define HAVE_FTIME
108 #endif
109
110 /* arch-tag: 508bdf7a-01a0-4ce0-8eba-0704d0df55a0
111 (do not change this comment) */