1 This is a list of the status of GNU Emacs on various machines and systems.
2 Last updated 10 Feb 1992.
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
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'.
15 Berkeley 4.1 (-opsystem=bsd4-1)
19 Berkeley 4.2 (-opsystem=bsd4-2)
21 Works on several machines.
23 Berkeley 4.3 (-opsystem=bsd4-3)
25 Works, on Vaxes at least.
29 See under "Intel 386".
31 System V rel 0 (-opsystem=usg5-0)
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.
37 System V rel 2 (-opsystem=usg5-2)
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
43 #define LIB_STANDARD -lPW -lc
44 in the src/m/MACHINENAME.h file for the machine.
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.
51 System V rel 2.2 (-opsystem=usg5-2-2)
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.
57 They call themselves the right choice--can't they choose?
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.
64 System V rel 3 (-opsystem=usg5-3)
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.
69 If you want to link Emacs with shared libraries, define
72 System V rel 4 (-opsystem=usg5-4)
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.
82 The standard C preprocessor generate xmakefile incorrectly. However,
83 /lib/cpp will work, so use `make CPP=/lib/cpp'.
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.
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
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.)
103 Ultrix (-opsystem=bsd4-2)
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.
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:
112 I added the following lines to config.h after the X defines:
114 #if defined(ultrix) && defined(X11)
115 #define OBJECTS_SYSTEM calloc.o
118 Then I ran the following:
120 ar x /usr/lib/libc.a calloc.o
122 The problem is said to be gone in UWS version 2.1.
124 Uniplus 5.2 (-opsystem=unipl5-2)
126 Works, on Dual machines at least.
128 VMS (-opsystem=vmsM.N)
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
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.
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.
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.
149 If you want Emacs to work with Smail (installed as /usr/bin/smail)
150 then add the line #define SMAIL to config.h.
152 The file etc/XENIX suggests some useful things to do to Xenix
153 to make the Emacs meta key work.
157 Alliant (-machine=alliant4, -machine=alliant or -machine=alliant1;
160 18.52 works on system version 4. Previous Emacs versions were
161 known to work on previous system versions.
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.
167 Alliant FX/2800 (-machine=alliant-2800; -opsystem=bsd4-3)
169 Known to work with 18.58 and OS version 2.2, compiler version 1.3.
171 Altos 3068 (-machine=altos; -opsystem=usg5-2)
173 18.52 is said to work, provided you don't compile unexec.c with -O.
175 Amdahl UTS (-machine=amdahl; -opsystem=usg5-2-2)
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.
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.
188 Apollo running Domain (-machine=apollo; -opsystem=bsd4-2)
190 18.52 works, to some extent.
191 Code for dumping Emacs has been written, but we cannot
193 There are reports of bugs in cc -O on this system.
195 In lib-src/Makefile, don't expect emacsclient and emacsserver to
196 compile. You might want to remove them from your makefile.
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.
202 AT&T 3b2, 3b5, 3b15, 3b20 (-machine=att3b; -opsystem=usg5-2-2)
204 Emacs will probably not work with certain kernel constants too small.
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.
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.
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.
220 The MAXMEM may also prevent Emacs from running. The file
221 3B-MAXMEM in this directory explains how to increase MAXMEM.
223 AT&T 7300 or 3b1 (-machine=7300; -opsystem=usg5-2-2)
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.
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
234 Bull sps7 (-machine=sps7; -opsystem=usg5-2)
236 Changes partially merged in version 19, but some fixes are probably required.
242 Celerity (-machine=celerity; -opsystem=bsd4-2)
246 Clipper (-machine=clipper; ???)
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.
252 Convex (-machine=convex; -opsystem=bsd4-3)
254 18.53 is supposed to work.
256 Cubix QBx/386 (-machine=intel386; -opsystem=usg5-3)
258 Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c
259 due to a compiler bug.
261 Cydra 5 (-machine=cydra5; -opsystem=usg5-3)
263 18.51 worked in one version of their operating system but stopped
264 working in a newer version. This has not been fixed.
266 DECstation (-machine=pmax; -opsystem=bsd4-3 or -opsystem=osf1)
268 OSF1 support merged in 18.59.
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.
274 For Ultrix versions prior to 4.0, you may need to delete
275 the definition of START_FILES from src/m/pmax.h.
277 Motorola Delta 147 (-machine=delta; -opsystem=usg5-3)
279 Motorola Delta boxes running System V/68 release 3.
280 (tested on sys1147 with SVR3V5). Changes merged in 19.1.
282 Motorola Delta 187 (-machine=delta88k; -opsystem=usg5-3)
284 Machine support added in version 19.
285 HAVE_X_MENU does not work due to lack of insque.
287 Dual running System V (-machine=dual; -opsystem=usg5-2)
289 As of 17.46, this works except for a few changes
292 Dual running Uniplus (-machine=dual; -opsystem=unipl5-2)
296 Elxsi 6400 (-machine=elxsi; -opsystem=usg5-2)
298 Changes for 12.0 release are in 19.1.
299 Dumping should work now.
301 Encore machine (-machine=ns16000; -opsystem=umax)
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.
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.
312 A kernel bug in some system versions causes input characters to be lost
315 GEC 93 (-machine=gec93; -opsystem=usg5-2?)
317 Changes are partially merged in version 18, but
318 certainly require more work.
320 Gould Power Node (-machine=gould; -opsystem=bsd4-2 or -opsystem=bsd4-3)
322 18.36 worked on versions 1.2 and 2.0 of the operating system.
324 On UTX/32 2.0, use -opsystem=bsd4-3.
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.
330 UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
331 #undef BSTRING in -machine=gould.
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.
336 Gould NP1 (-machine=gould-np1; -opsystem=bsd4-3)
338 Version 19 supposedly works.
340 Honeywell XPS100 (-machine=xps100; -opsystem=usg5-2)
342 Config file added in version 19.
344 HP 9000 series 200 or 300 (-machine=hp9000s300;
345 -opsystem=hpux or -opsystem=bsd4-3)
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.
352 Series 200 HPUX runs Emacs only if it has the "HP-UX upgrade".
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.
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.
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.
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.
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.
380 HP 9000 series 300 running BSD 4.3 (-machine=hp300bsd; -opsystem=bsd4-3)
384 HP 9000 series 500: not supported.
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.
390 HP 9000 series 800 (Spectrum) (-machine=hp9000s800; -opsystem=hpux)
392 These files support HP's Precision Architecture machines
393 running HP-UX. It has been moderately tested on the Series
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.
401 High Level Hardware Orion (-machine=orion; -opsystem=bsd4-2)
403 This is the original microprogrammed hardware.
404 Machine description file ought to work.
406 High Level Hardware Orion 1/05 (-machine=orion105; -opsystem=bsd4-2)
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'.
411 C compiler has a bug; it loops compiling eval.c.
412 Compile it by hand without optimization.
414 IBM PS/2 (-machine=ibmps2-aix; -opsystem=usg5-2-2 or -opsystem=usg5-3)
416 Changes merged in version 19. You may need to copy
417 /usr/lib/samples/hft/hftctl.c to the Emacs src directory.
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.
423 IBM RS/6000 (-machine=ibmrs6000; -opsystem=aix3-1)
425 Changes merged in version 19. Currently the configuration
426 does not actually depend on the version of AIX.
428 Compiling with -O using the IBM compiler has been known
429 to make Emacs work incorrectly.
431 IBM RT/PC (-machine=ibmrt or -machine=ibmrt-aix;
432 -opsystem=bsd4-2 or -opsystem=usg5-2-2)
434 18.52 works on both operating systems.
435 Use -opsystem=bsd4-2 for the 4.2-like system and -opsystem=usg5-2-2
438 On BSD, if you have trouble, try compiling with a different compiler.
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).
444 window.c must not be compiled with -O on AIX.
446 Integrated Solutions `Optimum V' (-machine=isi-ov;
447 -opsystem=bsd4-2 or -opsystem=bsd4-3)
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
456 Compilation with -O is rumored to break something.
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).
463 Intel 386 (-machine=intel386 or -machine=is386;
464 -opsystem=bsd4-2, usg5-2-2, usg5-3, isc2-2, 386-ix,
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.
475 If you are using Xenix, see notes above under Xenix.
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.
481 If you use optimization on V.3, you may need the option -W2,'-y 0'
482 to prevent certain faulty optimization.
484 On 386/ix, to link with shared libraries, add #define USG_SHARED_LIBRARIES
487 There is no consistency in the handling of certain system header files
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.
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.
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.
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.
507 The file -machine=is386 is used for an Integrated Solutions 386 machine.
508 It may also be correct for Microport systems.
510 Iris 2500 (-machine=irist; -opsystem=iris3-5 or -opsystem=iris3-6)
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.
515 Iris 2500 Turbo (-machine=irist; -opsystem=iris3-5 or -opsystem=iris3-6)
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.
520 Iris 4D (-machine=iris4d; -opsystem=irix3-3)
522 18.56 is known to work on 4D series machines with Irix 3.3 or later.
524 If you use the X menu facility, you must edit oldXmenu/Makefile
529 Someone said that with the yellow pages you must change two definitions
530 in -machine=iris4d as follows:
532 #define LIBS_MACHINE -lsun -lbsd -lPW -lmld
533 #define C_SWITCH_MACHINE -I/usr/include/sun -I/usr/include/bsd
535 jg@bambi.esd.sgi.com says this isn't true anymore,
536 but the info might as well be here just in case.
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.
546 See the file APPLE in this directory for more information.
548 Masscomp (-machine=masscomp; -opsystem=rtu)
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.
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.
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.
564 GNU Emacs is said to have no chance of compiling on RTU versions
567 Megatest (-machine=mega68; -opsystem=bsd4-2)
569 Emacs 15 worked; do not have any reports about Emacs 16 or 17
570 but any new bugs are probably not difficult.
572 Mips (-machine=mips or -machine=mips4; -opsystem=usg5-2-2, -opsystem=bsd4-3)
574 Changes merged in 18.39. Some fixes in 18.56.
576 Use -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
579 Note that the proper -machine option for the Decstation is `-machine=pmax'.
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'.
585 If the SYSV world is the default, then you probably need the following
586 line in etc/Makefile:
588 CFLAGS= -g -systype bsd43
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.
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.
599 Motorola Delta (-machine=delta; -opsystem=usg5-3)
601 Machine support added in version 18.56.
603 National Semiconductor 32000 (-machine=ns32000; -opsystem=usg5-2)
605 This is for a complete machine from National Semiconductor,
606 running Genix. Changes merged in version 19.
608 NCR Tower 32 running System V release 2 (-machine=tower32; -opsystem=usg5-2-2)
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.
614 There is a report that compilation with -O did not work with 18.54.
616 NCR Tower 32 running System V release 3 (-machine=tower32v3; -opsystem=usg5-3)
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.
622 Nixdorf Targon 31 (-machine=targon31; -opsystem=usg5-2-2)
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.
629 Nu (TI or LMI) (-machine=nu; -opsystem=usg5-2)
631 Version 18 is believed to work.
633 Plexus (-machine=plexus; -opsystem=usg5-2)
637 Pmax (DEC Mips) (-machine=pmax; -opsystem=bsd4-2)
639 See under DECstation, above.
641 Prime EXL (-machine=intel386; -opsystem=usg5-3)
643 Minor changes merged in 19.1.
645 Pyramid (-machine=pyramid; -opsystem=bsd4-2)
647 You need to build Emacs in the Berkeley universe with
648 the `ucb' command, as in `ucb make' or `ucb build-install'.
650 In OSx 4.0, it seems necessary to add the following two lines
652 #define _longjmp longjmp
653 #define _setjmp setjmp
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.
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.
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.
668 Sequent Balance (-machine=sequent;
669 -opsystem=bsd4-2, or -opsystem=bsd4-3 on newer systems)
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
675 Sequent Symmetry (-machine=symmetry; -opsystem=bsd4-3)
677 Emacs 19 should work.
679 SONY News (-machine=news;
680 -opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3)
684 SONY News 3000 series (RISC NEWS) (-machine=news-risc; -opsystem=bsd4-3)
686 Works, as of 18.56. Note that this is a MIPS architecture machine.
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.
695 Stardent 1500 or 3000
699 Stride (-machine=stride; -opsystem=usg5-2)
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.
706 Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
707 -opsystem=bsd4-2, sunos4-0, or sunos4-1)
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.
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.
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.
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.
730 We recommend that you instead use the X window system, which
731 has technical advantages, is an industry standard, and is also
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.
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
744 To build a single Emacs that will run on Sun 2 and Sun 3
745 HARDWARE, just build it on the Sun 2.
747 Sun 4 (-machine=sparc;
748 -opsystem=bsd4-2, -opsystem=sunos4-0, -opsystem=sunos4-1)
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.
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.
759 Sun Roadrunner (-machine=sun386; -opsystem=sunos4-0 or -opsystem=sunos4-1)
761 Changes merged in 18.51.
763 Tadpole 68K (-machine=tad68k; -opsystem=usg5-3)
765 Changes merged in 19.1.
767 You may need to edit Makefile to change the variables LIBDIR and
768 BINDIR from /usr/local to /usr/contrib.
770 To give movemail access to /usr/mail, you may need to execute
772 chmod 2755 etc/movemail; chgrp mail etc/movemail
774 Tahoe (-machine=tahoe; -opsystem=bsd4-2 or -opsystem=bsd4-3)
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.
780 If you have trouble compiling lib-src/loadst.c, turn off the definition
781 of DKSTAT_HEADER_FILE in -machine=tahoe.
783 Tandem Integrity S2 (-machine=tandem-s2; -opsystem=usg5-3)
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.
788 You must edit lib-src/Makefile to define LOADLIBES = -mld.
790 Tektronix 16000 box (6130?) (-machine=ns16000; -opsystem=bsd4-2)
794 Tektronix 4300 (-machine=tek4300; -opsystem=bsd4-3)
796 Emacs 18.51 should work.
798 Titan P2 or P3 (-machine=titan; -opsystem=usg5-3)
800 Changes probably merged in version 19.
802 Ustation E30 (SS5E) (-machine=ustation; -opsystem=unipl5-2).
804 Changes merged in 18.52; don't know whether they work.
806 Vax running Berkeley Unix (-machine=vax;
807 -opsystem=bsd4-1, bsd4-2 or bsd4-3)
811 Vax running Ultrix (-machine=vax; -opsystem=bsd4-2)
813 Works. See under Ultrix for problems using X windows on Ultrix.
815 Vax running System V rel 2 (-machine=vax; -opsystem=usg5-2)
819 Vax running System V rel 0 (-machine=vax; -opsystem=usg5-0)
823 Vax running VMS (-machine=vax; -opsystem=vms
824 but on VMS they are m_vax.h and s_vms.h)
826 18.36 believed to work. Addition of features is necessary to make
827 this Emacs version more usable.
829 Whitechapel MG1 (-machine=mg1, s-?)
831 May work. Supposedly no changes were needed except the m- file.
832 I do not know what Unix version runs on them.
834 Wicat (-machine=wicat; -opsystem=usg5-2)
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.