Commit | Line | Data |
---|---|---|
a22b5340 | 1 | /* Configuration file for the NeXT machine. |
eb3d11ef GM |
2 | Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
3 | 2008 Free Software Foundation, Inc. | |
64f58c87 JB |
4 | |
5 | This file is part of GNU Emacs. | |
6 | ||
eb3d11ef | 7 | GNU Emacs is free software: you can redistribute it and/or modify |
a22b5340 | 8 | it under the terms of the GNU General Public License as published by |
eb3d11ef GM |
9 | the Free Software Foundation, either version 3 of the License, or |
10 | (at your option) any later version. | |
64f58c87 | 11 | |
a22b5340 RS |
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. | |
64f58c87 | 16 | |
a22b5340 | 17 | You should have received a copy of the GNU General Public License |
eb3d11ef | 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
64f58c87 JB |
19 | |
20 | ||
a22b5340 | 21 | /* Say this machine is a next if not previously defined */ |
64f58c87 | 22 | |
a22b5340 RS |
23 | #ifndef NeXT |
24 | #define NeXT | |
25 | #endif | |
64f58c87 | 26 | |
22e9fe24 | 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word |
74d3f806 KH |
28 | is the most significant byte. */ |
29 | ||
30 | /* Let the compiler tell us. */ | |
31 | #ifdef __BIG_ENDIAN__ | |
32 | #define WORDS_BIG_ENDIAN | |
33 | #endif | |
34 | ||
a22b5340 RS |
35 | /* Define how to take a char and sign-extend into an int. |
36 | On machines where char is signed, this is a no-op. */ | |
64f58c87 | 37 | |
a22b5340 | 38 | #define SIGN_EXTEND_CHAR(c) (c) |
64f58c87 JB |
39 | |
40 | /* Use type int rather than a union, to represent Lisp_Object */ | |
41 | ||
42 | #define NO_UNION_TYPE | |
43 | ||
64f58c87 JB |
44 | /* XINT must explicitly sign-extend */ |
45 | ||
46 | #define EXPLICIT_SIGN_EXTEND | |
47 | ||
48 | /* Data type of load average, as read out of kmem. */ | |
49 | ||
50 | #define LOAD_AVE_TYPE long | |
51 | ||
52 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | |
53 | ||
54 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | |
55 | ||
56 | /* Say that the text segment of a.out includes the header; | |
57 | the header actually occupies the first few bytes of the text segment | |
58 | and is counted in hdr.a_text. */ | |
59 | ||
60 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) | |
61 | ||
64f58c87 JB |
62 | /* Mask for address bits within a memory segment */ |
63 | ||
64 | #define SEGSIZ 0x20000 | |
65 | #define SEGMENT_MASK (SEGSIZ - 1) | |
66 | ||
64f58c87 JB |
67 | #define SYSTEM_MALLOC |
68 | ||
69 | #define HAVE_UNIX_DOMAIN | |
70 | ||
a22b5340 RS |
71 | #define LIB_X11_LIB -L/usr/lib/X11 -lX11 |
72 | ||
c455d34d RS |
73 | /* This avoids a problem in Xos.h when using co-Xist 3.01. */ |
74 | #define X_NOT_POSIX | |
75 | ||
a22b5340 RS |
76 | /* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */ |
77 | ||
78 | #define NO_T_CHARS_DEFINES | |
79 | ||
80 | /* Use our own unexec routines */ | |
81 | ||
82 | #define UNEXEC unexnext.o | |
83 | ||
84 | /* We don't have a g library either, so override the -lg LIBS_DEBUG switch */ | |
85 | ||
86 | #define LIBS_DEBUG | |
87 | ||
88 | /* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */ | |
89 | ||
90 | #define LIB_GCC | |
91 | ||
01d00719 | 92 | #if 0 /* ohl@chico.harvard.edu says to do this. */ |
a22b5340 RS |
93 | /* Compile "strict bsd" to avoid warnings from include files */ |
94 | ||
95 | #define C_SWITCH_MACHINE -bsd | |
01d00719 | 96 | #endif |
a22b5340 RS |
97 | |
98 | /* Link this program just by running cc. */ | |
99 | #define ORDINARY_LINK | |
100 | ||
101 | /* start_of_text isn't actually used, so make it compile without error. */ | |
102 | #define TEXT_START 0 | |
103 | /* This seems to be right for end_of_text, but it may not be used anyway. */ | |
104 | #define TEXT_END get_etext () | |
105 | /* This seems to be right for end_of_data, but it may not be used anyway. */ | |
106 | #define DATA_END get_edata () | |
107 | ||
108 | /* Defining KERNEL_FILE causes lossage because sys/file.h | |
109 | stupidly gets confused by it. */ | |
110 | #undef KERNEL_FILE | |
111 | ||
112 | #define LD_SWITCH_MACHINE -X -noseglinkedit | |
113 | ||
114 | #define environ _environ | |
115 | ||
116 | #if 0 /* This is ok for NeXT system version 3.0 or above. */ | |
117 | /* Where to find the kernel, for load average. */ | |
118 | #define KERNEL_FILE "/mach" | |
119 | #endif | |
ef469729 RS |
120 | |
121 | /* This should be true for recent NeXT systems. At least since 3.2. */ | |
122 | #define HAVE_MACH_MACH_H | |
ab5796a9 MB |
123 | |
124 | /* arch-tag: 1155cdcb-1f6c-4208-a2da-22c7473060a1 | |
125 | (do not change this comment) */ |