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