Fix previous change.
[emacs.git] / src / m / vax.h
blob7417f2d30d9af0236b2e134cb4a43b30846fa9b8
1 /* machine description file for vax.
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc.
4 This file is part of GNU Emacs.
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 2, or (at your option)
9 any later version.
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.
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. */
21 /* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="note"
25 NOTE-START
26 The vax (-machine=vax) runs zillions of different operating systems.
28 Vax running Berkeley Unix (-opsystem=bsd4-1, -opsystem=bsd4-2 or
29 -opsystem=bsd4-3)
31 Works.
33 Vax running Ultrix (-opsystem=bsd4-2)
35 Works. See under Ultrix in share-lib/MACHINES for problems using X
36 windows on Ultrix.
38 Vax running System V rel 2 (-opsystem=usg5-2)
40 18.27 Works.
42 Vax running System V rel 0 (-opsystem=usg5-0)
44 Works as of 18.36.
46 Vax running VMS (-opsystem=vms)
48 18.36 believed to work. Addition of features is necessary to make
49 this Emacs version more usable.
51 NOTE-END */
53 /* The following three symbols give information on
54 the size of various data types. */
56 #define SHORTBITS 16 /* Number of bits in a short */
58 #define INTBITS 32 /* Number of bits in an int */
60 #define LONGBITS 32 /* Number of bits in a long */
62 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
63 is the most significant byte. */
65 #undef WORDS_BIG_ENDIAN
67 /* #define vax -- appears to be done automatically */
69 /* Use type int rather than a union, to represent Lisp_Object */
71 #define NO_UNION_TYPE
73 /* crt0.c should use the vax-bsd style of entry, with no dummy args. */
75 #define CRT0_DUMMIES
77 /* crt0.c should define a symbol `start' and do .globl with a dot. */
79 #define DOT_GLOBAL_START
81 #ifdef BSD
82 /* USG systems I know of running on Vaxes do not actually
83 support the load average, so disable it for them. */
85 /* Data type of load average, as read out of kmem. */
87 #define LOAD_AVE_TYPE double
89 /* Convert that into an integer that is 100 for a load average of 1.0 */
91 #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
93 #endif /* BSD */
95 #ifdef VMS
97 /* Data type of load average, as read out of driver. */
99 #define LOAD_AVE_TYPE float
101 /* Convert that into an integer that is 100 for a load average of 1.0 */
103 #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
105 #endif /* VMS */
107 /* Vax sysV has alloca in the PW library. */
109 #ifdef USG
110 #define LIB_STANDARD -lPW -lc
111 #define HAVE_ALLOCA
113 /* There is some bug in unexec in for usg 5.2 on a vax
114 which nobody who runs such a system has yet tracked down. */
115 #ifndef USG5_0
116 #define NO_REMAP
117 #endif /* USG 5_0 */
119 #define TEXT_START 0
120 #endif /* USG */
122 #ifdef BSD
123 #define HAVE_ALLOCA
124 #endif /* BSD */
126 #ifdef VMS
127 #define C_ALLOCA
128 #endif
130 #ifdef BSD4_2
131 #define HAVE_FTIME
132 #endif