Commit | Line | Data |
---|---|---|
2e493ffe | 1 | This is a list of the status of GNU Emacs on various machines and systems. |
9fd54390 | 2 | Last updated 10 Feb 1992. |
77d78be1 JB |
3 | |
4 | For each system and machine, we give the `-opsystem' and `-machine' | |
5 | options you should pass to config.emacs to prepare to build Emacs for | |
6 | that system/machine. | |
7 | ||
8 | These options tell Emacs which machine- and system-descriptive files | |
9 | to include. For each `-machine=MACHNAME' option, there exists a file | |
10 | `src/m/MACHNAME.h', and for each `-opsystem=OSNAME' option, there | |
11 | exists a file `src/s/OSNAME.h'. | |
2e493ffe JB |
12 | |
13 | Systems: | |
2e493ffe | 14 | |
77d78be1 | 15 | Berkeley 4.1 (-opsystem=bsd4-1) |
2e493ffe JB |
16 | |
17 | Works on vaxes. | |
18 | ||
77d78be1 | 19 | Berkeley 4.2 (-opsystem=bsd4-2) |
2e493ffe JB |
20 | |
21 | Works on several machines. | |
22 | ||
77d78be1 | 23 | Berkeley 4.3 (-opsystem=bsd4-3) |
2e493ffe JB |
24 | |
25 | Works, on Vaxes at least. | |
26 | ||
27 | Microport | |
28 | ||
29 | See under "Intel 386". | |
30 | ||
77d78be1 | 31 | System V rel 0 (-opsystem=usg5-0) |
2e493ffe JB |
32 | |
33 | Works, on Vaxes and 3bxxx's. | |
34 | There are some problems in 18.37 due to shortnames/cccp problems: | |
35 | use the emacs 17 cpp if you have it. | |
36 | ||
77d78be1 | 37 | System V rel 2 (-opsystem=usg5-2) |
2e493ffe JB |
38 | |
39 | Works on various machines. | |
40 | On some (maybe all) machines the library -lPW exists and contains | |
41 | a version of `alloca'. On these machines, to use it, put | |
42 | #define HAVE_ALLOCA | |
43 | #define LIB_STANDARD -lPW -lc | |
77d78be1 | 44 | in the src/m/MACHINENAME.h file for the machine. |
2e493ffe JB |
45 | |
46 | If you find that the character Meta-DEL makes Emacs crash, | |
47 | find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT] | |
48 | and make it store 7 there. I have as yet no evidence of whether | |
49 | this problem, known in HP-UX, exists in other system V versions. | |
50 | ||
77d78be1 | 51 | System V rel 2.2 (-opsystem=usg5-2-2) |
2e493ffe JB |
52 | |
53 | In 5.2.2 AT&T undid, incompatibly, their previous incompatible | |
54 | change to the way the nlist library is called. A different s- file | |
55 | is used to enable the other interface. | |
56 | ||
57 | They call themselves the right choice--can't they choose? | |
58 | ||
59 | Emacs version 18 unexec is currently not working properly | |
60 | on 5.2.2. Nobody knows why yet. A workaround is to define | |
61 | NO_REMAP. It is not yet known whether this applies to all | |
62 | machines running 5.2.2. | |
63 | ||
77d78be1 | 64 | System V rel 3 (-opsystem=usg5-3) |
2e493ffe JB |
65 | |
66 | Some versions of this system support ptys and BSD-style sockets. | |
67 | On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h. | |
68 | ||
69 | If you want to link Emacs with shared libraries, define | |
70 | USG_SHARED_LIBRARIES. | |
71 | ||
77d78be1 | 72 | System V rel 4 (-opsystem=usg5-4) |
2e493ffe JB |
73 | |
74 | Supported, including shared libraries for ELF, but ptys do not | |
75 | work because TIOCGPGRP fails to work on ptys. | |
76 | This failure is probably due to a misunderstanding of the | |
77 | consequences of the POSIX spec: many system designers mistakenly | |
0ec1ba5b JB |
78 | think that POSIX requires this feature to fail. This is untrue; |
79 | ptys are an extension, and POSIX says that extensions *when used* | |
80 | may change the action of standard facilities in any fashion. | |
81 | ||
82 | The standard C preprocessor generate xmakefile incorrectly. However, | |
83 | /lib/cpp will work, so use `make CPP=/lib/cpp'. | |
2e493ffe | 84 | |
77d78be1 | 85 | Ultrix (-opsystem=bsd4-2) |
2e493ffe JB |
86 | |
87 | DEC's Ultrix OS is essentially Berkeley 4.2. It does not correctly | |
88 | implement certain features of 4.3. | |
89 | ||
90 | Ultrix 3.0 has incompatibilities in its X library if you have the | |
91 | Ultrix version of X (UWS version 2.0). To solve them, you need to | |
92 | prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says: | |
93 | ||
94 | I added the following lines to config.h after the X defines: | |
95 | ||
96 | #if defined(ultrix) && defined(X11) | |
97 | #define OBJECTS_SYSTEM calloc.o | |
98 | #endif | |
99 | ||
100 | Then I ran the following: | |
101 | ||
102 | ar x /usr/lib/libc.a calloc.o | |
103 | ||
104 | The problem is said to be gone in UWS version 2.1. | |
105 | ||
77d78be1 | 106 | Uniplus 5.2 (-opsystem=unipl5-2) |
2e493ffe JB |
107 | |
108 | Works, on Dual machines at least. | |
109 | ||
77d78be1 | 110 | VMS (-opsystem=vms) |
2e493ffe JB |
111 | |
112 | Works except for certain features (directory listing, dired, | |
113 | sending and receiving mail) that use synchronous subprocesses. | |
114 | We need people to write alternative implementations of these | |
115 | facilities. | |
116 | ||
117 | Note that Emacs for VMS is usually distributed in a special | |
118 | VMS distribution. See the file ../VMSINSTALL for info on moving | |
119 | Unix distributions to VMS, and other VMS-related topics. | |
120 | ||
121 | Xenix | |
122 | ||
123 | Should work in 18.50, but you will need to edit the files | |
77d78be1 | 124 | lib-src/Makefile and src/ymakefile |
2e493ffe JB |
125 | (see the comments that mention "Xenix" for what to change.) |
126 | Compiling Emacs with -O is said not to work. | |
127 | ||
128 | If you want Emacs to work with Smail (installed as /usr/bin/smail) | |
129 | then add the line #define SMAIL to config.h. | |
130 | ||
77d78be1 | 131 | The file share-lib/XENIX suggests some useful things to do to Xenix |
2e493ffe JB |
132 | to make the Emacs meta key work. |
133 | \f | |
134 | Machines: | |
2e493ffe | 135 | |
77d78be1 JB |
136 | Alliant (-machine=alliant4, -machine=alliant or -machine=alliant1; |
137 | -opsystem=bsd4-2) | |
2e493ffe JB |
138 | |
139 | 18.52 works on system version 4. Previous Emacs versions were | |
140 | known to work on previous system versions. | |
141 | ||
77d78be1 JB |
142 | Use -machine=alliant1 on version 1 of their operating system |
143 | and use -machine=alliant on version 2 or 3. | |
144 | Use -machine=alliant4 on version 4. | |
145 | ||
146 | Alliant FX/2800 (-machine=alliant-2800; -opsystem=bsd4-3) | |
147 | ||
148 | Known to work with 18.58 and OS version 2.2, compiler version 1.3. | |
2e493ffe | 149 | |
77d78be1 | 150 | Altos 3068 (-machine=altos; -opsystem=usg5-2) |
2e493ffe JB |
151 | |
152 | 18.52 is said to work, provided you don't compile unexec.c with -O. | |
153 | ||
77d78be1 | 154 | Amdahl UTS (-machine=amdahl; -opsystem=usg5-2-2) |
2e493ffe JB |
155 | |
156 | Small changes for 18.38 were merged in 18.39. It is mostly | |
157 | working, but at last report a bug sometimes causes Emacs to | |
158 | grab very large amounts of memory. No fix or explanation | |
159 | has yet been reported. It may be possible to find this bug | |
160 | if you find which Emacs command it happens within and then | |
161 | run that command with a breakpoint set at malloc. | |
162 | ||
163 | The 5.2u370 compiler is so brain damaged that it is not | |
164 | even worth trying to use it. Success was obtained with the | |
165 | uts native C compiler on uts version 5.2.5. | |
166 | ||
77d78be1 | 167 | Apollo running Domain (-machine=apollo; -opsystem=bsd4-2) |
2e493ffe JB |
168 | |
169 | 18.52 works, to some extent. | |
170 | Code for dumping Emacs has been written, but we cannot | |
171 | distribute it yet. | |
172 | There are reports of bugs in cc -O on this system. | |
173 | ||
77d78be1 | 174 | In lib-src/Makefile, don't expect emacsclient and emacsserver to |
2e493ffe JB |
175 | compile. You might want to remove them from your makefile. |
176 | ||
177 | Supposedly something in dired.c runs into a compiler bug. | |
77d78be1 JB |
178 | Paraphrasing the statement should avoid the problem. I have not yet |
179 | received word as to the exact statement this is. | |
2e493ffe | 180 | |
77d78be1 | 181 | AT&T 3b2, 3b5, 3b15, 3b20 (-machine=att3b; -opsystem=usg5-2-2) |
2e493ffe JB |
182 | |
183 | Emacs will probably not work with certain kernel constants too small. | |
184 | ||
185 | In param.h CDLIMIT should be at least (1L << 12) in order to allow | |
186 | processes to write up to 2 Mbyte files. If it's too small, | |
187 | you can perhaps fix it using the file `ulimit.hack' in this directory. | |
188 | ||
189 | Note that for V.3.1 and later releases, this parameter is configurable | |
190 | by normal means in /etc/master.d/kernel; examine that file for the | |
191 | symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then | |
192 | do normal kernel rebuild things via "cd /boot; mkboot -k KERNEL" and so | |
193 | forth. Do not use ulimit.hack if you have V.3.1 or later. | |
194 | ||
195 | In seg.h NSEGP and STACKSEG should be at least 16 and 4 respectively | |
196 | to allow processes with total size of up to 2Mbytes. | |
197 | However, I'm told it is unlikely this would fail to be true. | |
198 | ||
199 | The MAXMEM may also prevent Emacs from running. The file | |
200 | 3B-MAXMEM in this directory explains how to increase MAXMEM. | |
201 | ||
77d78be1 | 202 | AT&T 7300 or 3b1 (-machine=7300; -opsystem=usg5-2-2) |
2e493ffe | 203 | |
77d78be1 JB |
204 | 18.52 seems to work. If you have strange troubles with dumping |
205 | Emacs, delete the last few lines from -machine=7300 and recompile. | |
206 | These lines are supposed to produce a sharable executable. | |
2e493ffe | 207 | |
77d78be1 | 208 | -machine=7300 defines SHORTNAMES because operating system versions |
2e493ffe | 209 | older than 3.5 did not support long symbol names. Version 3.5 does |
77d78be1 JB |
210 | support them, so you can remove the #define SHORTNAMES in that |
211 | version. | |
2e493ffe | 212 | |
77d78be1 | 213 | Bull sps7 (-machine=sps7; -opsystem=usg5-2) |
2e493ffe JB |
214 | |
215 | Changes partially merged in version 19, but some fixes are probably required. | |
216 | ||
217 | CCI 5/32, 6/32 | |
218 | ||
219 | See "Tahoe". | |
220 | ||
77d78be1 | 221 | Celerity (-machine=celerity; -opsystem=bsd4-2) |
2e493ffe JB |
222 | |
223 | Version 18.49 works. | |
224 | ||
77d78be1 | 225 | Clipper (-machine=clipper; ???) |
2e493ffe JB |
226 | |
227 | Version 19 has support for some brand of clipper system. | |
228 | Note that the Orion 105 is also a clipper, but some system-related | |
229 | parameters are different. | |
230 | ||
77d78be1 | 231 | Convex (-machine=convex; -opsystem=bsd4-3) |
2e493ffe JB |
232 | |
233 | 18.53 is supposed to work. | |
234 | ||
77d78be1 | 235 | Cubix QBx/386 (-machine=intel386; -opsystem=usg5-3) |
2e493ffe JB |
236 | |
237 | Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c | |
238 | due to a compiler bug. | |
239 | ||
77d78be1 | 240 | Cydra 5 (-machine=cydra5; -opsystem=usg5-3) |
2e493ffe JB |
241 | |
242 | 18.51 worked in one version of their operating system but stopped | |
243 | working in a newer version. This has not been fixed. | |
244 | ||
77d78be1 | 245 | DECstation (-machine=pmax; -opsystem=bsd4-2) |
2e493ffe JB |
246 | |
247 | Works, as of 18.55. See under Ultrix for problems using X windows | |
248 | on Ultrix. Note that this is a MIPS machine. | |
77d78be1 JB |
249 | For Ultrix versions prior to 4.0, you may need to delete |
250 | the definition of START_FILES from src/m/pmax.h. | |
2e493ffe | 251 | |
77d78be1 | 252 | Motorola Delta 147 (-machine=delta; -opsystem=usg5-3) |
2e493ffe JB |
253 | |
254 | Motorola Delta boxes running System V/68 release 3. | |
255 | (tested on sys1147 with SVR3V5). Changes merged in 19.1. | |
256 | ||
77d78be1 JB |
257 | Motorola Delta 187 (-machine=delta88k; -opsystem=usg5-3) |
258 | ||
259 | Machine support added in version 19. | |
260 | HAVE_X_MENU does not work due to lack of insque. | |
261 | ||
262 | Dual running System V (-machine=dual; -opsystem=usg5-2) | |
2e493ffe JB |
263 | |
264 | As of 17.46, this works except for a few changes | |
265 | needed in unexec.c. | |
266 | ||
77d78be1 | 267 | Dual running Uniplus (-machine=dual; -opsystem=unipl5-2) |
2e493ffe JB |
268 | |
269 | Works, as of 17.51. | |
270 | ||
77d78be1 | 271 | Elxsi 6400 (-machine=elxsi; -opsystem=usg5-2) |
2e493ffe JB |
272 | |
273 | Changes for 12.0 release are in 19.1. | |
274 | Dumping should work now. | |
275 | ||
77d78be1 | 276 | Encore machine (-machine=ns16000; -opsystem=umax) |
2e493ffe JB |
277 | |
278 | This machine bizarrely uses 4.2BSD modified to use the COFF format | |
279 | for object files. Works (as of 18.40). For the APC processor you | |
77d78be1 | 280 | must enable two lines at the end of src/s/umax.h, which are commented |
2e493ffe JB |
281 | out in the file as distributed. |
282 | ||
283 | WARNING: If you compile Emacs with the "-O" compiler switch, you | |
284 | must also use the "-q enter_exits" switch so that all functions have | |
285 | stack frames. Otherwise routines that call `alloca' all lose. | |
286 | ||
287 | A kernel bug in some system versions causes input characters to be lost | |
288 | occasionally. | |
289 | ||
77d78be1 | 290 | GEC 93 (-machine=gec93; -opsystem=usg5-2?) |
2e493ffe JB |
291 | |
292 | Changes are partially merged in version 18, but | |
293 | certainly require more work. | |
294 | ||
77d78be1 | 295 | Gould Power Node (-machine=gould; -opsystem=bsd4-2 or -opsystem=bsd4-3) |
2e493ffe JB |
296 | |
297 | 18.36 worked on versions 1.2 and 2.0 of the operating system. | |
298 | ||
77d78be1 | 299 | On UTX/32 2.0, use -opsystem=bsd4-3. |
2e493ffe | 300 | |
77d78be1 JB |
301 | On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that |
302 | compiling lib-src/sorted-doc tickles a compiler bug: remove the -g | |
303 | flag to cc in the makefile. | |
2e493ffe JB |
304 | |
305 | UTX/32 1.3 has a bug in the bcopy library routine. Fix it by | |
77d78be1 | 306 | #undef BSTRING in -machine=gould. |
2e493ffe JB |
307 | |
308 | Version 19 incorporates support for releases 2.1 and later of UTX/32. | |
309 | A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h. | |
310 | ||
77d78be1 | 311 | Gould NP1 (-machine=gould-np1; -opsystem=bsd4-3) |
2e493ffe JB |
312 | |
313 | Version 19 supposedly works. | |
314 | ||
77d78be1 | 315 | Honeywell XPS100 (-machine=xps100; -opsystem=usg5-2) |
2e493ffe JB |
316 | |
317 | Config file added in version 19. | |
318 | ||
77d78be1 JB |
319 | HP 9000 series 200 or 300 (-machine=hp9000s300; |
320 | -opsystem=hpux or -opsystem=bsd4-3) | |
2e493ffe JB |
321 | |
322 | Version 18 works. | |
323 | These machines are 68000-series CPUs running HP-UX | |
324 | (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah. | |
325 | The choice of s- file determines which system Emacs is built for. | |
326 | ||
327 | Series 200 HPUX runs Emacs only if it has the "HP-UX upgrade". | |
328 | ||
956ace37 JB |
329 | If you are running HP-UX release 8.0 or later, you need the optional |
330 | "C/ANSI C" software in order to build Emacs (older releases of HP-UX | |
331 | do not require any special software). If the file "/etc/filesets/C" | |
332 | exists on your machine, you have this software, otherwise you do not. | |
333 | ||
2e493ffe JB |
334 | Note that HP has used two incompatible assembler syntaxes, |
335 | and has recently changed the format of C function frames. | |
336 | src/crt0.c and src/alloca.s have been conditionalised for the new | |
337 | assembler and new function-entry sequence. You may need to define | |
338 | OLD_HP_ASSEMBLER if you are using an older hpux version. If you | |
339 | have an official (bought from HP) series 300 machine you have | |
340 | the new assembler. Kernels that are 5.+ or later have new | |
341 | assembler. A Series 200 that has been upgraded to a 68010 | |
342 | processor and a 5.+ kernel has the new compiler. | |
343 | ||
344 | Define C_SWITCH_MACHINE to be +X to make a version of Emacs that | |
345 | runs on both 68010 and 68020 based hp-ux's. | |
346 | ||
347 | Define HPUX_68010 if you are using the new assembler, for | |
348 | a system that has a 68010 without a 68881. This is to say, | |
349 | a s200 (upgraded) or s310. | |
350 | ||
351 | Define the symbol HPUX_NET if you have the optional network features | |
352 | that include the `netunam' system call. This is refered to as | |
353 | Network Services (NS/9000) in HP literature. | |
354 | ||
77d78be1 | 355 | HP 9000 series 300 running BSD 4.3 (-machine=hp300bsd; -opsystem=bsd4-3) |
2e493ffe | 356 | |
77d78be1 | 357 | Version 19.1 works. |
2e493ffe JB |
358 | |
359 | HP 9000 series 500: not supported. | |
360 | ||
361 | The series 500 has a seriously incompatible memory architecture | |
362 | which relocates data in memory during execution of a program, | |
363 | and support for it would be difficult to implement. | |
364 | ||
77d78be1 | 365 | HP 9000 series 800 (Spectrum) (-machine=hp9000s800; -opsystem=hpux) |
2e493ffe JB |
366 | |
367 | These files support HP's Precision Architecture machines | |
368 | running HP-UX. It has been moderately tested on the Series | |
369 | 840. | |
370 | ||
956ace37 JB |
371 | If you are running HP-UX release 8.0 or later, you need the optional |
372 | "C/ANSI C" software in order to build Emacs (older releases of HP-UX | |
373 | do not require any special software). If the file "/etc/filesets/C" | |
374 | exists on your machine, you have this software, otherwise you do not. | |
375 | ||
77d78be1 | 376 | High Level Hardware Orion (-machine=orion; -opsystem=bsd4-2) |
2e493ffe JB |
377 | |
378 | This is the original microprogrammed hardware. | |
77d78be1 | 379 | Machine description file ought to work. |
2e493ffe | 380 | |
77d78be1 | 381 | High Level Hardware Orion 1/05 (-machine=orion105; -opsystem=bsd4-2) |
2e493ffe JB |
382 | |
383 | Changes merged in 18.52. This is the one with the Clipper cpu. | |
384 | Note that systems which lack NFS need LOAD_AVE_TYPE changed to `double'. | |
385 | ||
386 | C compiler has a bug; it loops compiling eval.c. | |
387 | Compile it by hand without optimization. | |
388 | ||
77d78be1 | 389 | IBM PS/2 (-machine=ibmps2-aix; -opsystem=usg5-2-2 or -opsystem=usg5-3) |
2e493ffe JB |
390 | |
391 | Changes merged in version 19. You may need to copy | |
392 | /usr/lib/samples/hft/hftctl.c to the Emacs src directory. | |
393 | ||
77d78be1 JB |
394 | Use -opsystem=usg5-3 on AIX 1.2. |
395 | -opsystem=usg5-2-2 should work on either AIX 1.1 or 1.2, but may not | |
396 | work with certain new X window managers, and may be suboptimal. | |
397 | ||
398 | IBM RS/6000 (-machine=ibmrs6000; -opsystem=aix3-1) | |
2e493ffe JB |
399 | |
400 | Changes merged in version 19. | |
401 | ||
0ec1ba5b JB |
402 | Dumping does not work. Code has been written to implement it, but |
403 | it fails because the address of bss seems to vary occasionally | |
404 | between Emacs runs. It does not seem to vary from minute to minute, | |
405 | but every few days or weeks it changes to a new steady state. | |
406 | When this happens, the dumped Emacs data file becomes invalid. | |
2e493ffe | 407 | |
77d78be1 JB |
408 | IBM RT/PC (-machine=ibmrt or -machine=ibmrt-aix; |
409 | -opsystem=bsd4-2 or -opsystem=usg5-2-2) | |
2e493ffe JB |
410 | |
411 | 18.52 works on both operating systems. | |
77d78be1 JB |
412 | Use -opsystem=bsd4-2 for the 4.2-like system and -opsystem=usg5-2-2 |
413 | for AIX. | |
2e493ffe JB |
414 | |
415 | On BSD, if you have trouble, try compiling with a different compiler. | |
416 | ||
417 | On AIX, the file /usr/lib/samples/hft/hftctl.c must be compiled into | |
418 | hftctl.o, with this result left in the src directory (hftctl.c is | |
419 | part of the standard AIX distribution). | |
420 | ||
421 | window.c must not be compiled with -O on AIX. | |
422 | ||
77d78be1 JB |
423 | Integrated Solutions `Optimum V' (-machine=isi-ov; |
424 | -opsystem=bsd4-2 or -opsystem=bsd4-3) | |
2e493ffe JB |
425 | |
426 | 18.52 said to work on some sort of ISI machine. | |
427 | Version 18.45 worked (running on a Optimum V (VME bus, 68020) | |
428 | BSD 4.2 (3.05e) system). 18.42 is reported to work on | |
429 | a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster | |
430 | Compute Node' `Cluster WorkStation' or `Server Node' (Love the | |
431 | StudLYCaps) | |
432 | ||
433 | Compilation with -O is rumored to break something. | |
434 | ||
435 | On recent system versions, you may need to undefine the macro UMAX | |
77d78be1 | 436 | in lib-src/loadst.c and src/getpagesize.h. They stupidly defined this |
2e493ffe JB |
437 | in a system header file, which confuses Emacs (which thinks that UMAX |
438 | indicates the Umax operating system). | |
439 | ||
77d78be1 JB |
440 | Intel 386 (-machine=intel386 or -machine=is386; |
441 | -opsystem=bsd4-2, usg5-2-2, usg5-3, isc2-2, 386-ix, | |
442 | esix, or xenix) | |
443 | ||
444 | 18.58 should support a wide variety of operating systems. | |
445 | Use -opsystem=isc2-2 for Interactive 386/ix version 2.2. | |
446 | Use -opsystem=386ix for prior versions. | |
b5752bd1 JB |
447 | Use -opsystem=esix for Esix. |
448 | It isn't clear what to do on an SCO system. The system's C | |
449 | preprocessor doesn't seem to handle the src subdirectory's Make | |
450 | trickery, so you will probably need to install the GNU C preprocessor. | |
2e493ffe | 451 | |
2e493ffe JB |
452 | If you are using Xenix, see notes above under Xenix. |
453 | ||
454 | Some sysV.3 systems seem to have bugs in `opendir'; | |
455 | for them, alter `config.h' to define NONSYSTEM_DIR_LIBRARY | |
456 | and undefine SYSV_SYSTEM_DIR. | |
457 | ||
458 | If you use optimization on V.3, you may need the option -W2,'-y 0' | |
459 | to prevent certain faulty optimization. | |
460 | ||
0ec1ba5b JB |
461 | On 386/ix, to link with shared libraries, add #define USG_SHARED_LIBRARIES |
462 | to config.h. | |
463 | ||
2e493ffe JB |
464 | There is no consistency in the handling of certain system header files |
465 | on V.3. | |
466 | ||
467 | Some versions have sys/sioctl.h, and require it in sysdep.c. | |
468 | But some versions do not have sys/sioctl.h. | |
0ec1ba5b JB |
469 | For a given version of the system, this may depend on whether you have |
470 | X Windows or TCP/IP. Define or undefine NO_SIOCTL_H in config.h | |
471 | according to whether you have the file. | |
472 | ||
473 | Likewise, some versions have been known to need sys/ttold.h, sys/stream.h, | |
474 | and sys/ptem.h included in sysdep.c. If your system has these files, | |
475 | try defining NEED_PTEM_H in config.h if you have trouble without it. | |
476 | ||
477 | You may find that adding -I/usr/X/include or -I/usr/netinclude or both | |
478 | to CFLAGS avoids compilation errors on certain systems. | |
479 | ||
2e493ffe JB |
480 | Some versions convince sysdep.c to try to use `struct tchars' |
481 | but define `struct tc' instead; add `#define tchars tc' | |
482 | to config.h to solve this problem. | |
483 | ||
77d78be1 | 484 | The file -machine=is386 is used for an Integrated Solutions 386 machine. |
2e493ffe JB |
485 | It may also be correct for Microport systems. |
486 | ||
77d78be1 | 487 | Iris 2500 (-machine=irist; -opsystem=iris3-5 or -opsystem=iris3-6) |
2e493ffe | 488 | |
77d78be1 JB |
489 | Version 18 said to work; use -opsystem=irist3-5 for system version 2.5 |
490 | and -opsystem=iris3-6 for system version 3.6. | |
2e493ffe | 491 | |
77d78be1 | 492 | Iris 2500 Turbo (-machine=irist; -opsystem=iris3-5 or -opsystem=iris3-6) |
2e493ffe | 493 | |
77d78be1 | 494 | 18.49 works. Use -opsystem=iris3-6 for system versions 3.6 and up. |
2e493ffe JB |
495 | Note that the 3030 is the same machine as this. |
496 | ||
77d78be1 | 497 | Iris 4D (-machine=iris4d; -opsystem=irix3-3) |
2e493ffe | 498 | |
0ec1ba5b JB |
499 | 18.56 is known to work on 4D series machines with Irix 3.3 or later. |
500 | ||
501 | If you use the X menu facility, you must edit oldXmenu/Makefile | |
502 | to add the line | |
2e493ffe | 503 | |
0ec1ba5b | 504 | RANLIB=true |
2e493ffe | 505 | |
77d78be1 JB |
506 | Someone said that with the yellow pages you must change two definitions |
507 | in -machine=iris4d as follows: | |
2e493ffe JB |
508 | |
509 | #define LIBS_MACHINE -lsun -lbsd -lPW -lmld | |
510 | #define C_SWITCH_MACHINE -I/usr/include/sun -I/usr/include/bsd | |
511 | ||
77d78be1 JB |
512 | jg@bambi.esd.sgi.com says this isn't true anymore, |
513 | but the info might as well be here just in case. | |
514 | ||
2e493ffe JB |
515 | Macintosh |
516 | ||
517 | We are boycotting Apple because of Apple's efforts to take away | |
518 | our freedom to write compatible imitations of existing software. | |
519 | If you value your freedom to write such programs, we urge you | |
520 | not to buy from Apple, not to develop software for Apple, and | |
521 | certainly not to accept a job with Apple. | |
522 | ||
523 | See the file APPLE in this directory for more information. | |
524 | ||
77d78be1 | 525 | Masscomp (-machine=masscomp; -opsystem=rtu) |
2e493ffe JB |
526 | |
527 | 18.36 worked on a 5500DP running RTU v3.1a and compiler version 3.2 | |
528 | with minor fixes that are included in 18.37. However, bizarre behavior | |
529 | was reported for 18.36 on a Masscomp (model and version unknown but probably | |
530 | a 68020 system). The report sounds like a compiler bug. | |
531 | ||
532 | A compiler bug affecting statements like | |
533 | unsigned char k; unsigned char *p;... x = p[k]; | |
534 | has been reported for "C version 1.2 under RTU 3.1". We do not wish | |
535 | to take the time to install the numerous workarounds required to | |
536 | compensate for this bug; go complain to Masscomp. | |
537 | ||
77d78be1 | 538 | For RTU version 3.1, define FIRST_PTY_LETTER to be 'p' in src/s/rtu.h |
2e493ffe JB |
539 | (or #undef and redefine it in config.h) so that ptys will be used. |
540 | ||
541 | GNU Emacs is said to have no chance of compiling on RTU versions | |
542 | prior to v3.0. | |
543 | ||
77d78be1 | 544 | Megatest (-machine=mega68; -opsystem=bsd4-2) |
2e493ffe JB |
545 | |
546 | Emacs 15 worked; do not have any reports about Emacs 16 or 17 | |
547 | but any new bugs are probably not difficult. | |
548 | ||
77d78be1 | 549 | Mips (-machine=mips or -machine=mips4; -opsystem=usg5-2-2, -opsystem=bsd4-3) |
2e493ffe | 550 | |
0ec1ba5b | 551 | Changes merged in 18.39. Some fixes in 18.56. |
2e493ffe | 552 | |
77d78be1 JB |
553 | Use -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with |
554 | the BSD world. | |
2e493ffe | 555 | |
77d78be1 | 556 | Motorola Delta (-machine=delta; -opsystem=usg5-3) |
2e493ffe | 557 | |
77d78be1 | 558 | Machine support added in version 18.56. |
2e493ffe | 559 | |
77d78be1 | 560 | National Semiconductor 32000 (-machine=ns32000; -opsystem=usg5-2) |
2e493ffe JB |
561 | |
562 | This is for a complete machine from National Semiconductor, | |
563 | running Genix. Changes merged in version 19. | |
564 | ||
77d78be1 | 565 | NCR Tower 32 running System V release 2 (-machine=tower32; -opsystem=usg5-2-2) |
2e493ffe | 566 | |
0ec1ba5b JB |
567 | Works as of 17.56. If you change src/ymakefile so that CFLAGS includes |
568 | C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, check out the comments | |
77d78be1 | 569 | in src/m/tower32.h about this. |
0ec1ba5b JB |
570 | |
571 | There is a report that compilation with -O did not work with 18.54. | |
572 | ||
77d78be1 | 573 | NCR Tower 32 running System V release 3 (-machine=tower32v3; -opsystem=usg5-3) |
0ec1ba5b JB |
574 | |
575 | Works as of 18.56. If you change src/ymakefile so that CFLAGS includes | |
576 | C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, and do not use gcc, check | |
77d78be1 | 577 | out the comments in src/m/tower32v3.h about this. |
2e493ffe | 578 | |
77d78be1 | 579 | Nixdorf Targon 31 (-machine=targon31; -opsystem=usg5-2-2) |
2e493ffe | 580 | |
77d78be1 | 581 | Machine description file for version 17 is included in 18 |
2e493ffe JB |
582 | but whether it works is not known. |
583 | src/unexec.c bombs if compiled with -O. | |
584 | Note that the "Targon 35" is really a Pyramid. | |
585 | ||
77d78be1 | 586 | Nu (TI or LMI) (-machine=nu; -opsystem=usg5-2) |
2e493ffe JB |
587 | |
588 | Version 18 is believed to work. | |
589 | ||
77d78be1 | 590 | Plexus (-machine=plexus; -opsystem=usg5-2) |
2e493ffe JB |
591 | |
592 | Works as of 17.56. | |
593 | ||
77d78be1 | 594 | Pmax (DEC Mips) (-machine=pmax; -opsystem=bsd4-2) |
2e493ffe JB |
595 | |
596 | See under DECstation, above. | |
597 | ||
77d78be1 | 598 | Prime EXL (-machine=intel386; -opsystem=usg5-3) |
2e493ffe JB |
599 | |
600 | Minor changes merged in 19.1. | |
601 | ||
77d78be1 | 602 | Pyramid (-machine=pyramid; -opsystem=bsd4-2) |
2e493ffe JB |
603 | |
604 | In OSx 4.0, it seems necessary to add the following two lines | |
77d78be1 | 605 | to src/m/pyramid.h: |
2e493ffe JB |
606 | #define _longjmp longjmp |
607 | #define _setjmp setjmp | |
608 | ||
609 | In Pyramid system 2.5 there has been a compiler bug making | |
610 | Emacs crash just after screen-splitting with Qnil containing 0. | |
611 | A compiler that fixes this is Pyramid customer number 8494, | |
612 | internal number 1923. | |
613 | ||
614 | Some versions of the pyramid compiler get fatal | |
615 | errors when the -gx compiler switch is used; if this | |
77d78be1 | 616 | happens to you, change src/m/pyramid.h to define |
2e493ffe JB |
617 | C_DEBUG_SWITCH with an empty definition. |
618 | ||
619 | Some old system versions may require you to define PYRAMID_OLD | |
620 | in when alloca.s is preprocessed, in order to define _longjmp and _setjmp. | |
621 | ||
77d78be1 JB |
622 | Sequent Balance (-machine=sequent; |
623 | -opsystem=bsd4-2, or -opsystem=bsd4-3 on newer systems) | |
2e493ffe JB |
624 | |
625 | Emacs 18.51 should work on system version 3.0. 18.52 is said to work. | |
77d78be1 JB |
626 | Delete some lines at the end of src/m/sequent.h for earlier system |
627 | versions. | |
2e493ffe | 628 | |
77d78be1 | 629 | Sequent Symmetry (-machine=symmetry; -opsystem=bsd4-3) |
2e493ffe JB |
630 | |
631 | Emacs 19 should work. | |
632 | ||
77d78be1 JB |
633 | SONY News (-machine=news; |
634 | -opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3) | |
2e493ffe JB |
635 | |
636 | 18.52 should work. | |
637 | ||
77d78be1 | 638 | SONY News 3000 series (RISC NEWS) (-machine=news-risc; -opsystem=bsd4-3) |
2e493ffe JB |
639 | |
640 | Works, as of 18.56. Note that this is a MIPS architecture machine. | |
641 | ||
642 | Stardent 1500 or 3000 | |
643 | ||
644 | See Titan. | |
645 | ||
77d78be1 | 646 | Stride (-machine=stride; -opsystem=usg5-2) |
2e493ffe JB |
647 | |
648 | Works (most recent news for 18.30) on their release 2.0. | |
77d78be1 | 649 | For release 2.2, see the end of src/m/stride.h. |
2e493ffe JB |
650 | It may be possible to run on their V.1 system but changes |
651 | in the s- file would be needed. | |
652 | ||
77d78be1 JB |
653 | Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; |
654 | -opsystem=bsd4-2, sunos4-0, or sunos4-1) | |
2e493ffe | 655 | |
77d78be1 | 656 | There are three machine files for different versions of SunOS. |
2e493ffe | 657 | All are derived from Berkeley 4.2. Emacs 17 has run on all of them. |
77d78be1 JB |
658 | Whether you should use -machine=sun1, -machine=sun2 or -machine=sun3 |
659 | depends on the VERSION OF THE OPERATING SYSTEM you have. | |
660 | You will need to use -machine=sun3 on Sun 2's running SunOS release 3. | |
2e493ffe | 661 | |
77d78be1 JB |
662 | For SunOS release 4 on a Sun 3, use -machine=sun3 and |
663 | -opsystem=sunos4-0 or -opsystem=sunos4-1. | |
664 | See the file share-lib/SUNBUG for how to solve problems caused by | |
665 | bugs in the "export" version of SunOS 4. | |
2e493ffe JB |
666 | |
667 | If you have trouble using open-network-stream, get the | |
668 | distribution of `bind' (the BSD name-server), build libresolv.a, | |
669 | and link Emacs with -lresolv. This problem is due to obsolete | |
670 | software in the nonshared standard library. | |
671 | ||
672 | If you want to use SunWindows, define HAVE_SUN_WINDOWS | |
673 | in config.h to enable a special interface called `emacstool'. | |
77d78be1 | 674 | The definition must *precede* the #include "machine.h". |
2e493ffe JB |
675 | System version 3.2 is required for this facility to work. |
676 | ||
677 | We recommend that you instead use the X window system, which | |
678 | has technical advantages, is an industry standard, and is also | |
679 | free software. | |
680 | ||
681 | If you are compiling for X windows, and the X window library was | |
682 | compiled to use the 68881, then you must edit config.h according | |
77d78be1 | 683 | the comments at the end of -machine=sun3. |
2e493ffe JB |
684 | |
685 | Note that Emacs on a Sun is not really as big as it looks. | |
686 | As dumped, it includes around 200k of zeros between the | |
687 | original text section and the original data section | |
688 | (now remapped as part of the text). These are never | |
689 | swapped in. | |
690 | ||
691 | To build a single Emacs that will run on Sun 2 and Sun 3 | |
692 | HARDWARE, just build it on the Sun 2. | |
693 | ||
77d78be1 JB |
694 | Sun 4 (-machine=sparc; |
695 | -opsystem=bsd4-2, -opsystem=sunos4-0, -opsystem=sunos4-1) | |
2e493ffe JB |
696 | |
697 | Changes merged in 18.50. Some people say optimizing compilation | |
698 | does not work; some say that -O2 (whatever that is) works | |
699 | perhaps with a small change. | |
700 | ||
77d78be1 JB |
701 | Use -opsystem=sunos4-0 for operating system version 4.0, and |
702 | -opsystem=sunos4-1 for later versions. | |
703 | See the file share-lib/SUNBUG for how to solve problems caused by | |
704 | bugs in the "export" version of SunOS 4. | |
2e493ffe | 705 | |
77d78be1 | 706 | Sun Roadrunner (-machine=sun386; -opsystem=sunos4-0 or -opsystem=sunos4-1) |
2e493ffe JB |
707 | |
708 | Changes merged in 18.51. | |
709 | ||
77d78be1 JB |
710 | Tadpole 68K (-machine=tad68k; -opsystem=usg5-3) |
711 | ||
712 | Changes merged in 19.1. | |
713 | ||
714 | You may need to edit Makefile to change the variables LIBDIR and | |
715 | BINDIR from /usr/local to /usr/contrib. | |
716 | ||
717 | To give movemail access to /usr/mail, you may need to execute | |
718 | ||
719 | chmod 2755 etc/movemail; chgrp mail etc/movemail | |
720 | ||
721 | Tahoe (-machine=tahoe; -opsystem=bsd4-2 or -opsystem=bsd4-3) | |
2e493ffe JB |
722 | |
723 | 18.52 known to work on some Tahoes, but a compiler bug intervenes | |
724 | on others. Some Emacs versions have worked in Unisys 1r4 | |
725 | (not in 1r3) and CCI I.21. | |
726 | ||
77d78be1 JB |
727 | If you have trouble compiling lib-src/loadst.c, turn off the definition |
728 | of DKSTAT_HEADER_FILE in -machine=tahoe. | |
2e493ffe | 729 | |
77d78be1 | 730 | Tandem Integrity S2 (-machine=tandem-s2; -opsystem=usg5-3) |
0ec1ba5b JB |
731 | |
732 | Changes merged in 18.56 but subprocess support is turned off. | |
733 | You will probably want to see if you can make subprocesses work. | |
734 | ||
77d78be1 | 735 | You must edit lib-src/Makefile to define LOADLIBES = -mld. |
0ec1ba5b | 736 | |
77d78be1 | 737 | Tektronix 16000 box (6130?) (-machine=ns16000; -opsystem=bsd4-2) |
2e493ffe JB |
738 | |
739 | Emacs 17.61 worked. | |
740 | ||
77d78be1 | 741 | Tektronix 4300 (-machine=tek4300; -opsystem=bsd4-3) |
2e493ffe JB |
742 | |
743 | Emacs 18.51 should work. | |
744 | ||
77d78be1 | 745 | Titan P2 or P3 (-machine=titan; -opsystem=usg5-3) |
2e493ffe JB |
746 | |
747 | Changes probably merged in version 19. | |
748 | ||
77d78be1 | 749 | Ustation E30 (SS5E) (-machine=ustation; -opsystem=unipl5-2). |
2e493ffe JB |
750 | |
751 | Changes merged in 18.52; don't know whether they work. | |
752 | ||
77d78be1 JB |
753 | Vax running Berkeley Unix (-machine=vax; |
754 | -opsystem=bsd4-1, bsd4-2 or bsd4-3) | |
2e493ffe JB |
755 | |
756 | Works. | |
757 | ||
77d78be1 | 758 | Vax running Ultrix (-machine=vax; -opsystem=bsd4-2) |
2e493ffe JB |
759 | |
760 | Works. See under Ultrix for problems using X windows on Ultrix. | |
761 | ||
77d78be1 | 762 | Vax running System V rel 2 (-machine=vax; -opsystem=usg5-2) |
2e493ffe JB |
763 | |
764 | 18.27 Works. | |
765 | ||
77d78be1 | 766 | Vax running System V rel 0 (-machine=vax; -opsystem=usg5-0) |
2e493ffe JB |
767 | |
768 | Works as of 18.36. | |
769 | ||
77d78be1 JB |
770 | Vax running VMS (-machine=vax; -opsystem=vms |
771 | but on VMS they are m_vax.h and s_vms.h) | |
2e493ffe JB |
772 | |
773 | 18.36 believed to work. Addition of features is necessary to make | |
774 | this Emacs version more usable. | |
775 | ||
77d78be1 | 776 | Whitechapel MG1 (-machine=mg1, s-?) |
2e493ffe JB |
777 | |
778 | May work. Supposedly no changes were needed except the m- file. | |
779 | I do not know what Unix version runs on them. | |
780 | ||
77d78be1 | 781 | Wicat (-machine=wicat; -opsystem=usg5-2) |
2e493ffe JB |
782 | |
783 | Changes merged as of 18.6; whether they work is unknown. | |
77d78be1 | 784 | See comments in src/m/wicat.h for things you should change |
2e493ffe JB |
785 | depending on the system and compiler version you have. |
786 | \f | |
787 | Local variables: | |
788 | mode: text | |
789 | fill-prefix: " " | |
790 | End: |