mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-28 10:56:36 +00:00
840 lines
30 KiB
Plaintext
840 lines
30 KiB
Plaintext
This is a list of the status of GNU Emacs on various machines and systems.
|
||
Last updated 10 Feb 1992.
|
||
|
||
For each system and machine, we give the `-opsystem' and `-machine'
|
||
options you should pass to configure to prepare to build Emacs for
|
||
that system/machine.
|
||
|
||
These options tell Emacs which machine- and system-descriptive files
|
||
to include. For each `-machine=MACHNAME' option, there exists a file
|
||
`src/m/MACHNAME.h', and for each `-opsystem=OSNAME' option, there
|
||
exists a file `src/s/OSNAME.h'.
|
||
|
||
Systems:
|
||
|
||
Berkeley 4.1 (-opsystem=bsd4-1)
|
||
|
||
Works on vaxes.
|
||
|
||
Berkeley 4.2 (-opsystem=bsd4-2)
|
||
|
||
Works on several machines.
|
||
|
||
Berkeley 4.3 (-opsystem=bsd4-3)
|
||
|
||
Works, on Vaxes at least.
|
||
|
||
Microport
|
||
|
||
See under "Intel 386".
|
||
|
||
System V rel 0 (-opsystem=usg5-0)
|
||
|
||
Works, on Vaxes and 3bxxx's.
|
||
There are some problems in 18.37 due to shortnames/cccp problems:
|
||
use the emacs 17 cpp if you have it.
|
||
|
||
System V rel 2 (-opsystem=usg5-2)
|
||
|
||
Works on various machines.
|
||
On some (maybe all) machines the library -lPW exists and contains
|
||
a version of `alloca'. On these machines, to use it, put
|
||
#define HAVE_ALLOCA
|
||
#define LIB_STANDARD -lPW -lc
|
||
in the src/m/MACHINENAME.h file for the machine.
|
||
|
||
If you find that the character Meta-DEL makes Emacs crash,
|
||
find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT]
|
||
and make it store 7 there. I have as yet no evidence of whether
|
||
this problem, known in HP-UX, exists in other system V versions.
|
||
|
||
System V rel 2.2 (-opsystem=usg5-2-2)
|
||
|
||
In 5.2.2 AT&T undid, incompatibly, their previous incompatible
|
||
change to the way the nlist library is called. A different s- file
|
||
is used to enable the other interface.
|
||
|
||
They call themselves the right choice--can't they choose?
|
||
|
||
Emacs version 18 unexec is currently not working properly
|
||
on 5.2.2. Nobody knows why yet. A workaround is to define
|
||
NO_REMAP. It is not yet known whether this applies to all
|
||
machines running 5.2.2.
|
||
|
||
System V rel 3 (-opsystem=usg5-3)
|
||
|
||
Some versions of this system support ptys and BSD-style sockets.
|
||
On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h.
|
||
|
||
If you want to link Emacs with shared libraries, define
|
||
USG_SHARED_LIBRARIES.
|
||
|
||
System V rel 4 (-opsystem=usg5-4)
|
||
|
||
Supported, including shared libraries for ELF, but ptys do not
|
||
work because TIOCGPGRP fails to work on ptys.
|
||
This failure is probably due to a misunderstanding of the
|
||
consequences of the POSIX spec: many system designers mistakenly
|
||
think that POSIX requires this feature to fail. This is untrue;
|
||
ptys are an extension, and POSIX says that extensions *when used*
|
||
may change the action of standard facilities in any fashion.
|
||
|
||
The standard C preprocessor generate xmakefile incorrectly. However,
|
||
/lib/cpp will work, so use `make CPP=/lib/cpp'.
|
||
|
||
Versions 3 and earlier of V.4, on the Intel 386 and 860, had
|
||
problems in the X11 libraries. These prevent Emacs from working
|
||
with X. You can use Emacs with X provided your copy of X is based
|
||
on X11 release 4 or newer. Unfortunately, the only way you can tell
|
||
whether your X11 library is new enough is to try compiling Emacs to
|
||
use X. If xemacs runs, your X11 library is new enough.
|
||
|
||
In this context, GSV4 and GSV4i are alternate names for X11R4.
|
||
OL2.* is X11R3 based. OL3 is in between X11R3 and X11R4, and may or
|
||
may not work, depending on who made the Unix system. If the library
|
||
libXol is part of the X distribution, then you have X11R3 and Emacs
|
||
won't work with X.
|
||
|
||
Most versions of V.4 support sockets. If `/usr/lib/libsocket.so'
|
||
exists, your system supports them. If yours does not, you must add
|
||
#undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h.
|
||
(Any system that supports Internet should implement sockets.)
|
||
|
||
Ultrix (-opsystem=bsd4-2)
|
||
|
||
Recent versions of Ultrix appear to support the features of Berkeley 4.3.
|
||
Ultrix was at the BSD 4.2 level for a long time after BSD 4.3 came out.
|
||
|
||
Ultrix 3.0 has incompatibilities in its X library if you have the
|
||
Ultrix version of X (UWS version 2.0). To solve them, you need to
|
||
prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says:
|
||
|
||
I added the following lines to config.h after the X defines:
|
||
|
||
#if defined(ultrix) && defined(X11)
|
||
#define OBJECTS_SYSTEM calloc.o
|
||
#endif
|
||
|
||
Then I ran the following:
|
||
|
||
ar x /usr/lib/libc.a calloc.o
|
||
|
||
The problem is said to be gone in UWS version 2.1.
|
||
|
||
Uniplus 5.2 (-opsystem=unipl5-2)
|
||
|
||
Works, on Dual machines at least.
|
||
|
||
VMS (-opsystem=vms)
|
||
|
||
Works except for certain features (directory listing, dired,
|
||
sending and receiving mail) that use synchronous subprocesses.
|
||
We need people to write alternative implementations of these
|
||
facilities.
|
||
|
||
Note that Emacs for VMS is usually distributed in a special
|
||
VMS distribution. See the file ../VMSINSTALL for info on moving
|
||
Unix distributions to VMS, and other VMS-related topics.
|
||
|
||
Xenix
|
||
|
||
Should work in 18.50, but you will need to edit the files
|
||
lib-src/Makefile and src/ymakefile
|
||
(see the comments that mention "Xenix" for what to change.)
|
||
Compiling Emacs with -O is said not to work.
|
||
|
||
If you want Emacs to work with Smail (installed as /usr/bin/smail)
|
||
then add the line #define SMAIL to config.h.
|
||
|
||
The file etc/XENIX suggests some useful things to do to Xenix
|
||
to make the Emacs meta key work.
|
||
|
||
Machines:
|
||
|
||
Alliant (-machine=alliant4, -machine=alliant or -machine=alliant1;
|
||
-opsystem=bsd4-2)
|
||
|
||
18.52 works on system version 4. Previous Emacs versions were
|
||
known to work on previous system versions.
|
||
|
||
Use -machine=alliant1 on version 1 of their operating system
|
||
and use -machine=alliant on version 2 or 3.
|
||
Use -machine=alliant4 on version 4.
|
||
|
||
Alliant FX/2800 (-machine=alliant-2800; -opsystem=bsd4-3)
|
||
|
||
Known to work with 18.58 and OS version 2.2, compiler version 1.3.
|
||
|
||
Altos 3068 (-machine=altos; -opsystem=usg5-2)
|
||
|
||
18.52 is said to work, provided you don't compile unexec.c with -O.
|
||
|
||
Amdahl UTS (-machine=amdahl; -opsystem=usg5-2-2)
|
||
|
||
Small changes for 18.38 were merged in 18.39. It is mostly
|
||
working, but at last report a bug sometimes causes Emacs to
|
||
grab very large amounts of memory. No fix or explanation
|
||
has yet been reported. It may be possible to find this bug
|
||
if you find which Emacs command it happens within and then
|
||
run that command with a breakpoint set at malloc.
|
||
|
||
The 5.2u370 compiler is so brain damaged that it is not
|
||
even worth trying to use it. Success was obtained with the
|
||
uts native C compiler on uts version 5.2.5.
|
||
|
||
Apollo running Domain (-machine=apollo; -opsystem=bsd4-2)
|
||
|
||
18.52 works, to some extent.
|
||
Code for dumping Emacs has been written, but we cannot
|
||
distribute it yet.
|
||
There are reports of bugs in cc -O on this system.
|
||
|
||
In lib-src/Makefile, don't expect emacsclient and emacsserver to
|
||
compile. You might want to remove them from your makefile.
|
||
|
||
Supposedly something in dired.c runs into a compiler bug.
|
||
Paraphrasing the statement should avoid the problem. I have not yet
|
||
received word as to the exact statement this is.
|
||
|
||
AT&T 3b2, 3b5, 3b15, 3b20 (-machine=att3b; -opsystem=usg5-2-2)
|
||
|
||
Emacs will probably not work with certain kernel constants too small.
|
||
|
||
In param.h CDLIMIT should be at least (1L << 12) in order to allow
|
||
processes to write up to 2 Mbyte files. If it's too small,
|
||
you can perhaps fix it using the file `ulimit.hack' in this directory.
|
||
|
||
Note that for V.3.1 and later releases, this parameter is configurable
|
||
by normal means in /etc/master.d/kernel; examine that file for the
|
||
symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then
|
||
do normal kernel rebuild things via "cd /boot; mkboot -k KERNEL" and so
|
||
forth. Do not use ulimit.hack if you have V.3.1 or later.
|
||
|
||
In seg.h NSEGP and STACKSEG should be at least 16 and 4 respectively
|
||
to allow processes with total size of up to 2Mbytes.
|
||
However, I'm told it is unlikely this would fail to be true.
|
||
|
||
The MAXMEM may also prevent Emacs from running. The file
|
||
3B-MAXMEM in this directory explains how to increase MAXMEM.
|
||
|
||
AT&T 7300 or 3b1 (-machine=7300; -opsystem=usg5-2-2)
|
||
|
||
18.52 seems to work. If you have strange troubles with dumping
|
||
Emacs, delete the last few lines from -machine=7300 and recompile.
|
||
These lines are supposed to produce a sharable executable.
|
||
|
||
-machine=7300 defines SHORTNAMES because operating system versions
|
||
older than 3.5 did not support long symbol names. Version 3.5 does
|
||
support them, so you can remove the #define SHORTNAMES in that
|
||
version.
|
||
|
||
Bull sps7 (-machine=sps7; -opsystem=usg5-2)
|
||
|
||
Changes partially merged in version 19, but some fixes are probably required.
|
||
|
||
CCI 5/32, 6/32
|
||
|
||
See "Tahoe".
|
||
|
||
Celerity (-machine=celerity; -opsystem=bsd4-2)
|
||
|
||
Version 18.49 works.
|
||
|
||
Clipper (-machine=clipper; ???)
|
||
|
||
Version 19 has support for some brand of clipper system.
|
||
Note that the Orion 105 is also a clipper, but some system-related
|
||
parameters are different.
|
||
|
||
Convex (-machine=convex; -opsystem=bsd4-3)
|
||
|
||
18.53 is supposed to work.
|
||
|
||
Cubix QBx/386 (-machine=intel386; -opsystem=usg5-3)
|
||
|
||
Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c
|
||
due to a compiler bug.
|
||
|
||
Cydra 5 (-machine=cydra5; -opsystem=usg5-3)
|
||
|
||
18.51 worked in one version of their operating system but stopped
|
||
working in a newer version. This has not been fixed.
|
||
|
||
DECstation (-machine=pmax; -opsystem=bsd4-3 or -opsystem=osf1)
|
||
|
||
OSF1 support merged in 18.59.
|
||
|
||
See under Ultrix for problems using X windows on Ultrix.
|
||
Note that this is a MIPS machine.
|
||
-opsystem=bsd4-3 is said to work ok with Ultrix 4.1.
|
||
|
||
For Ultrix versions prior to 4.0, you may need to delete
|
||
the definition of START_FILES from src/m/pmax.h.
|
||
|
||
Motorola Delta 147 (-machine=delta; -opsystem=usg5-3)
|
||
|
||
Motorola Delta boxes running System V/68 release 3.
|
||
(tested on sys1147 with SVR3V5). Changes merged in 19.1.
|
||
|
||
Motorola Delta 187 (-machine=delta88k; -opsystem=usg5-3)
|
||
|
||
Machine support added in version 19.
|
||
HAVE_X_MENU does not work due to lack of insque.
|
||
|
||
Dual running System V (-machine=dual; -opsystem=usg5-2)
|
||
|
||
As of 17.46, this works except for a few changes
|
||
needed in unexec.c.
|
||
|
||
Dual running Uniplus (-machine=dual; -opsystem=unipl5-2)
|
||
|
||
Works, as of 17.51.
|
||
|
||
Elxsi 6400 (-machine=elxsi; -opsystem=usg5-2)
|
||
|
||
Changes for 12.0 release are in 19.1.
|
||
Dumping should work now.
|
||
|
||
Encore machine (-machine=ns16000; -opsystem=umax)
|
||
|
||
This machine bizarrely uses 4.2BSD modified to use the COFF format
|
||
for object files. Works (as of 18.40). For the APC processor you
|
||
must enable two lines at the end of src/s/umax.h, which are commented
|
||
out in the file as distributed.
|
||
|
||
WARNING: If you compile Emacs with the "-O" compiler switch, you
|
||
must also use the "-q enter_exits" switch so that all functions have
|
||
stack frames. Otherwise routines that call `alloca' all lose.
|
||
|
||
A kernel bug in some system versions causes input characters to be lost
|
||
occasionally.
|
||
|
||
GEC 93 (-machine=gec93; -opsystem=usg5-2?)
|
||
|
||
Changes are partially merged in version 18, but
|
||
certainly require more work.
|
||
|
||
Gould Power Node (-machine=gould; -opsystem=bsd4-2 or -opsystem=bsd4-3)
|
||
|
||
18.36 worked on versions 1.2 and 2.0 of the operating system.
|
||
|
||
On UTX/32 2.0, use -opsystem=bsd4-3.
|
||
|
||
On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that
|
||
compiling lib-src/sorted-doc tickles a compiler bug: remove the -g
|
||
flag to cc in the makefile.
|
||
|
||
UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
|
||
#undef BSTRING in -machine=gould.
|
||
|
||
Version 19 incorporates support for releases 2.1 and later of UTX/32.
|
||
A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h.
|
||
|
||
Gould NP1 (-machine=gould-np1; -opsystem=bsd4-3)
|
||
|
||
Version 19 supposedly works.
|
||
|
||
Honeywell XPS100 (-machine=xps100; -opsystem=usg5-2)
|
||
|
||
Config file added in version 19.
|
||
|
||
HP 9000 series 200 or 300 (-machine=hp9000s300;
|
||
-opsystem=hpux or -opsystem=bsd4-3)
|
||
|
||
Version 18 works.
|
||
These machines are 68000-series CPUs running HP-UX
|
||
(a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah.
|
||
The choice of s- file determines which system Emacs is built for.
|
||
|
||
Series 200 HPUX runs Emacs only if it has the "HP-UX upgrade".
|
||
|
||
If you are running HP-UX release 8.0 or later, you need the optional
|
||
"C/ANSI C" software in order to build Emacs (older releases of HP-UX
|
||
do not require any special software). If the file "/etc/filesets/C"
|
||
exists on your machine, you have this software, otherwise you do not.
|
||
|
||
Note that HP has used two incompatible assembler syntaxes,
|
||
and has recently changed the format of C function frames.
|
||
src/crt0.c and src/alloca.s have been conditionalised for the new
|
||
assembler and new function-entry sequence. You may need to define
|
||
OLD_HP_ASSEMBLER if you are using an older hpux version. If you
|
||
have an official (bought from HP) series 300 machine you have
|
||
the new assembler. Kernels that are 5.+ or later have new
|
||
assembler. A Series 200 that has been upgraded to a 68010
|
||
processor and a 5.+ kernel has the new compiler.
|
||
|
||
Define C_SWITCH_MACHINE to be +X to make a version of Emacs that
|
||
runs on both 68010 and 68020 based hp-ux's.
|
||
|
||
Define HPUX_68010 if you are using the new assembler, for
|
||
a system that has a 68010 without a 68881. This is to say,
|
||
a s200 (upgraded) or s310.
|
||
|
||
Define the symbol HPUX_NET if you have the optional network features
|
||
that include the `netunam' system call. This is refered to as
|
||
Network Services (NS/9000) in HP literature.
|
||
|
||
HP 9000 series 300 running BSD 4.3 (-machine=hp300bsd; -opsystem=bsd4-3)
|
||
|
||
Version 19.1 works.
|
||
|
||
HP 9000 series 500: not supported.
|
||
|
||
The series 500 has a seriously incompatible memory architecture
|
||
which relocates data in memory during execution of a program,
|
||
and support for it would be difficult to implement.
|
||
|
||
HP 9000 series 800 (Spectrum) (-machine=hp9000s800; -opsystem=hpux)
|
||
|
||
These files support HP's Precision Architecture machines
|
||
running HP-UX. It has been moderately tested on the Series
|
||
840.
|
||
|
||
If you are running HP-UX release 8.0 or later, you need the optional
|
||
"C/ANSI C" software in order to build Emacs (older releases of HP-UX
|
||
do not require any special software). If the file "/etc/filesets/C"
|
||
exists on your machine, you have this software, otherwise you do not.
|
||
|
||
High Level Hardware Orion (-machine=orion; -opsystem=bsd4-2)
|
||
|
||
This is the original microprogrammed hardware.
|
||
Machine description file ought to work.
|
||
|
||
High Level Hardware Orion 1/05 (-machine=orion105; -opsystem=bsd4-2)
|
||
|
||
Changes merged in 18.52. This is the one with the Clipper cpu.
|
||
Note that systems which lack NFS need LOAD_AVE_TYPE changed to `double'.
|
||
|
||
C compiler has a bug; it loops compiling eval.c.
|
||
Compile it by hand without optimization.
|
||
|
||
IBM PS/2 (-machine=ibmps2-aix; -opsystem=usg5-2-2 or -opsystem=usg5-3)
|
||
|
||
Changes merged in version 19. You may need to copy
|
||
/usr/lib/samples/hft/hftctl.c to the Emacs src directory.
|
||
|
||
Use -opsystem=usg5-3 on AIX 1.2.
|
||
-opsystem=usg5-2-2 should work on either AIX 1.1 or 1.2, but may not
|
||
work with certain new X window managers, and may be suboptimal.
|
||
|
||
IBM RS/6000 (-machine=ibmrs6000; -opsystem=aix3-1)
|
||
|
||
Changes merged in version 19.
|
||
|
||
Dumping does not work. Code has been written to implement it, but
|
||
it fails because the address of bss seems to vary occasionally
|
||
between Emacs runs. It does not seem to vary from minute to minute,
|
||
but every few days or weeks it changes to a new steady state.
|
||
When this happens, the dumped Emacs data file becomes invalid.
|
||
|
||
IBM RT/PC (-machine=ibmrt or -machine=ibmrt-aix;
|
||
-opsystem=bsd4-2 or -opsystem=usg5-2-2)
|
||
|
||
18.52 works on both operating systems.
|
||
Use -opsystem=bsd4-2 for the 4.2-like system and -opsystem=usg5-2-2
|
||
for AIX.
|
||
|
||
On BSD, if you have trouble, try compiling with a different compiler.
|
||
|
||
On AIX, the file /usr/lib/samples/hft/hftctl.c must be compiled into
|
||
hftctl.o, with this result left in the src directory (hftctl.c is
|
||
part of the standard AIX distribution).
|
||
|
||
window.c must not be compiled with -O on AIX.
|
||
|
||
Integrated Solutions `Optimum V' (-machine=isi-ov;
|
||
-opsystem=bsd4-2 or -opsystem=bsd4-3)
|
||
|
||
18.52 said to work on some sort of ISI machine.
|
||
Version 18.45 worked (running on a Optimum V (VME bus, 68020)
|
||
BSD 4.2 (3.05e) system). 18.42 is reported to work on
|
||
a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster
|
||
Compute Node' `Cluster WorkStation' or `Server Node' (Love the
|
||
StudLYCaps)
|
||
|
||
Compilation with -O is rumored to break something.
|
||
|
||
On recent system versions, you may need to undefine the macro UMAX
|
||
in lib-src/loadst.c and src/getpagesize.h. They stupidly defined this
|
||
in a system header file, which confuses Emacs (which thinks that UMAX
|
||
indicates the Umax operating system).
|
||
|
||
Intel 386 (-machine=intel386 or -machine=is386;
|
||
-opsystem=bsd4-2, usg5-2-2, usg5-3, isc2-2, 386-ix,
|
||
esix, or xenix)
|
||
|
||
18.58 should support a wide variety of operating systems.
|
||
Use -opsystem=isc2-2 for Interactive 386/ix version 2.2.
|
||
Use -opsystem=386ix for prior versions.
|
||
Use -opsystem=esix for Esix.
|
||
It isn't clear what to do on an SCO system. The system's C
|
||
preprocessor doesn't seem to handle the src subdirectory's Make
|
||
trickery, so you will probably need to install the GNU C preprocessor.
|
||
|
||
If you are using Xenix, see notes above under Xenix.
|
||
|
||
Some sysV.3 systems seem to have bugs in `opendir';
|
||
for them, alter `config.h' to define NONSYSTEM_DIR_LIBRARY
|
||
and undefine SYSV_SYSTEM_DIR.
|
||
|
||
If you use optimization on V.3, you may need the option -W2,'-y 0'
|
||
to prevent certain faulty optimization.
|
||
|
||
On 386/ix, to link with shared libraries, add #define USG_SHARED_LIBRARIES
|
||
to config.h.
|
||
|
||
There is no consistency in the handling of certain system header files
|
||
on V.3.
|
||
|
||
Some versions have sys/sioctl.h, and require it in sysdep.c.
|
||
But some versions do not have sys/sioctl.h.
|
||
For a given version of the system, this may depend on whether you have
|
||
X Windows or TCP/IP. Define or undefine NO_SIOCTL_H in config.h
|
||
according to whether you have the file.
|
||
|
||
Likewise, some versions have been known to need sys/ttold.h, sys/stream.h,
|
||
and sys/ptem.h included in sysdep.c. If your system has these files,
|
||
try defining NEED_PTEM_H in config.h if you have trouble without it.
|
||
|
||
You may find that adding -I/usr/X/include or -I/usr/netinclude or both
|
||
to CFLAGS avoids compilation errors on certain systems.
|
||
|
||
Some versions convince sysdep.c to try to use `struct tchars'
|
||
but define `struct tc' instead; add `#define tchars tc'
|
||
to config.h to solve this problem.
|
||
|
||
The file -machine=is386 is used for an Integrated Solutions 386 machine.
|
||
It may also be correct for Microport systems.
|
||
|
||
Iris 2500 (-machine=irist; -opsystem=iris3-5 or -opsystem=iris3-6)
|
||
|
||
Version 18 said to work; use -opsystem=irist3-5 for system version 2.5
|
||
and -opsystem=iris3-6 for system version 3.6.
|
||
|
||
Iris 2500 Turbo (-machine=irist; -opsystem=iris3-5 or -opsystem=iris3-6)
|
||
|
||
18.49 works. Use -opsystem=iris3-6 for system versions 3.6 and up.
|
||
Note that the 3030 is the same machine as this.
|
||
|
||
Iris 4D (-machine=iris4d; -opsystem=irix3-3)
|
||
|
||
18.56 is known to work on 4D series machines with Irix 3.3 or later.
|
||
|
||
If you use the X menu facility, you must edit oldXmenu/Makefile
|
||
to add the line
|
||
|
||
RANLIB=true
|
||
|
||
Someone said that with the yellow pages you must change two definitions
|
||
in -machine=iris4d as follows:
|
||
|
||
#define LIBS_MACHINE -lsun -lbsd -lPW -lmld
|
||
#define C_SWITCH_MACHINE -I/usr/include/sun -I/usr/include/bsd
|
||
|
||
jg@bambi.esd.sgi.com says this isn't true anymore,
|
||
but the info might as well be here just in case.
|
||
|
||
Macintosh
|
||
|
||
We are boycotting Apple because of Apple's efforts to take away
|
||
our freedom to write compatible imitations of existing software.
|
||
If you value your freedom to write such programs, we urge you
|
||
not to buy from Apple, not to develop software for Apple, and
|
||
certainly not to accept a job with Apple.
|
||
|
||
See the file APPLE in this directory for more information.
|
||
|
||
Masscomp (-machine=masscomp; -opsystem=rtu)
|
||
|
||
18.36 worked on a 5500DP running RTU v3.1a and compiler version 3.2
|
||
with minor fixes that are included in 18.37. However, bizarre behavior
|
||
was reported for 18.36 on a Masscomp (model and version unknown but probably
|
||
a 68020 system). The report sounds like a compiler bug.
|
||
|
||
A compiler bug affecting statements like
|
||
unsigned char k; unsigned char *p;... x = p[k];
|
||
has been reported for "C version 1.2 under RTU 3.1". We do not wish
|
||
to take the time to install the numerous workarounds required to
|
||
compensate for this bug; go complain to Masscomp.
|
||
|
||
For RTU version 3.1, define FIRST_PTY_LETTER to be 'p' in src/s/rtu.h
|
||
(or #undef and redefine it in config.h) so that ptys will be used.
|
||
|
||
GNU Emacs is said to have no chance of compiling on RTU versions
|
||
prior to v3.0.
|
||
|
||
Megatest (-machine=mega68; -opsystem=bsd4-2)
|
||
|
||
Emacs 15 worked; do not have any reports about Emacs 16 or 17
|
||
but any new bugs are probably not difficult.
|
||
|
||
Mips (-machine=mips or -machine=mips4; -opsystem=usg5-2-2, -opsystem=bsd4-3)
|
||
|
||
Changes merged in 18.39. Some fixes in 18.56.
|
||
|
||
Use -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
|
||
the BSD world.
|
||
|
||
Note that the proper -machine option for the Decstation is `-machine=pmax'.
|
||
|
||
If you are compiling with GCC, then you must run fixincludes;
|
||
the alternative of using -traditional won't work because
|
||
the definition of SIGN_EXTEND_CHAR uses the keyword `signed'.
|
||
|
||
If the SYSV world is the default, then you probably need the following
|
||
line in etc/Makefile:
|
||
|
||
CFLAGS= -g -systype bsd43
|
||
|
||
Some operating systems on MIPS machines give SIGTRAP for division by
|
||
zero instead of the usual signals. The only real solution is to fix
|
||
the system to give a proper signal.
|
||
|
||
In the meantime, you can change init_data in data.c if you wish.
|
||
Change it to handle SIGTRAP as well as SIGFPE. But this will have a
|
||
great disadvantage: you will not be able to run Emacs under a
|
||
debugger. I think crashing on division by zero is a lesser problem.
|
||
|
||
Motorola Delta (-machine=delta; -opsystem=usg5-3)
|
||
|
||
Machine support added in version 18.56.
|
||
|
||
National Semiconductor 32000 (-machine=ns32000; -opsystem=usg5-2)
|
||
|
||
This is for a complete machine from National Semiconductor,
|
||
running Genix. Changes merged in version 19.
|
||
|
||
NCR Tower 32 running System V release 2 (-machine=tower32; -opsystem=usg5-2-2)
|
||
|
||
Works as of 17.56. If you change src/ymakefile so that CFLAGS includes
|
||
C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, check out the comments
|
||
in src/m/tower32.h about this.
|
||
|
||
There is a report that compilation with -O did not work with 18.54.
|
||
|
||
NCR Tower 32 running System V release 3 (-machine=tower32v3; -opsystem=usg5-3)
|
||
|
||
Works as of 18.56. If you change src/ymakefile so that CFLAGS includes
|
||
C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, and do not use gcc, check
|
||
out the comments in src/m/tower32v3.h about this.
|
||
|
||
Nixdorf Targon 31 (-machine=targon31; -opsystem=usg5-2-2)
|
||
|
||
Machine description file for version 17 is included in 18
|
||
but whether it works is not known.
|
||
src/unexec.c bombs if compiled with -O.
|
||
Note that the "Targon 35" is really a Pyramid.
|
||
|
||
Nu (TI or LMI) (-machine=nu; -opsystem=usg5-2)
|
||
|
||
Version 18 is believed to work.
|
||
|
||
Plexus (-machine=plexus; -opsystem=usg5-2)
|
||
|
||
Works as of 17.56.
|
||
|
||
Pmax (DEC Mips) (-machine=pmax; -opsystem=bsd4-2)
|
||
|
||
See under DECstation, above.
|
||
|
||
Prime EXL (-machine=intel386; -opsystem=usg5-3)
|
||
|
||
Minor changes merged in 19.1.
|
||
|
||
Pyramid (-machine=pyramid; -opsystem=bsd4-2)
|
||
|
||
In OSx 4.0, it seems necessary to add the following two lines
|
||
to src/m/pyramid.h:
|
||
#define _longjmp longjmp
|
||
#define _setjmp setjmp
|
||
|
||
In Pyramid system 2.5 there has been a compiler bug making
|
||
Emacs crash just after screen-splitting with Qnil containing 0.
|
||
A compiler that fixes this is Pyramid customer number 8494,
|
||
internal number 1923.
|
||
|
||
Some versions of the pyramid compiler get fatal
|
||
errors when the -gx compiler switch is used; if this
|
||
happens to you, change src/m/pyramid.h to define
|
||
C_DEBUG_SWITCH with an empty definition.
|
||
|
||
Some old system versions may require you to define PYRAMID_OLD
|
||
in when alloca.s is preprocessed, in order to define _longjmp and _setjmp.
|
||
|
||
Sequent Balance (-machine=sequent;
|
||
-opsystem=bsd4-2, or -opsystem=bsd4-3 on newer systems)
|
||
|
||
Emacs 18.51 should work on system version 3.0. 18.52 is said to work.
|
||
Delete some lines at the end of src/m/sequent.h for earlier system
|
||
versions.
|
||
|
||
Sequent Symmetry (-machine=symmetry; -opsystem=bsd4-3)
|
||
|
||
Emacs 19 should work.
|
||
|
||
SONY News (-machine=news;
|
||
-opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3)
|
||
|
||
18.52 should work.
|
||
|
||
SONY News 3000 series (RISC NEWS) (-machine=news-risc; -opsystem=bsd4-3)
|
||
|
||
Works, as of 18.56. Note that this is a MIPS architecture machine.
|
||
|
||
Some versions of the operating system give SIGTRAP for division by zero
|
||
instead of the usual signals. This causes division by zero
|
||
to make Emacs crash. The system should be fixed to give the proper signal.
|
||
Changing Emacs is not a proper solution, because it would prevent
|
||
Emacs from working under any debugger. But you can change init_data
|
||
in data.c if you wish.
|
||
|
||
Stardent 1500 or 3000
|
||
|
||
See Titan.
|
||
|
||
Stride (-machine=stride; -opsystem=usg5-2)
|
||
|
||
Works (most recent news for 18.30) on their release 2.0.
|
||
For release 2.2, see the end of src/m/stride.h.
|
||
It may be possible to run on their V.1 system but changes
|
||
in the s- file would be needed.
|
||
|
||
Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
|
||
-opsystem=bsd4-2, sunos4-0, or sunos4-1)
|
||
|
||
There are three machine files for different versions of SunOS.
|
||
All are derived from Berkeley 4.2. Emacs 17 has run on all of them.
|
||
Whether you should use -machine=sun1, -machine=sun2 or -machine=sun3
|
||
depends on the VERSION OF THE OPERATING SYSTEM you have.
|
||
You will need to use -machine=sun3 on Sun 2's running SunOS release 3.
|
||
|
||
For SunOS release 4 on a Sun 3, use -machine=sun3 and
|
||
-opsystem=sunos4-0 or -opsystem=sunos4-1.
|
||
See the file etc/SUNBUG for how to solve problems caused by
|
||
bugs in the "export" version of SunOS 4.
|
||
|
||
If you have trouble using open-network-stream, get the
|
||
distribution of `bind' (the BSD name-server), build libresolv.a,
|
||
and link Emacs with -lresolv. This problem is due to obsolete
|
||
software in the nonshared standard library.
|
||
|
||
If you want to use SunWindows, define HAVE_SUN_WINDOWS
|
||
in config.h to enable a special interface called `emacstool'.
|
||
The definition must *precede* the #include "machine.h".
|
||
System version 3.2 is required for this facility to work.
|
||
|
||
We recommend that you instead use the X window system, which
|
||
has technical advantages, is an industry standard, and is also
|
||
free software.
|
||
|
||
If you are compiling for X windows, and the X window library was
|
||
compiled to use the 68881, then you must edit config.h according
|
||
the comments at the end of -machine=sun3.
|
||
|
||
Note that Emacs on a Sun is not really as big as it looks.
|
||
As dumped, it includes around 200k of zeros between the
|
||
original text section and the original data section
|
||
(now remapped as part of the text). These are never
|
||
swapped in.
|
||
|
||
To build a single Emacs that will run on Sun 2 and Sun 3
|
||
HARDWARE, just build it on the Sun 2.
|
||
|
||
Sun 4 (-machine=sparc;
|
||
-opsystem=bsd4-2, -opsystem=sunos4-0, -opsystem=sunos4-1)
|
||
|
||
Changes merged in 18.50. Some people say optimizing compilation
|
||
does not work; some say that -O2 (whatever that is) works
|
||
perhaps with a small change.
|
||
|
||
Use -opsystem=sunos4-0 for operating system version 4.0, and
|
||
-opsystem=sunos4-1 for later versions.
|
||
See the file etc/SUNBUG for how to solve problems caused by
|
||
bugs in the "export" version of SunOS 4.
|
||
|
||
Sun Roadrunner (-machine=sun386; -opsystem=sunos4-0 or -opsystem=sunos4-1)
|
||
|
||
Changes merged in 18.51.
|
||
|
||
Tadpole 68K (-machine=tad68k; -opsystem=usg5-3)
|
||
|
||
Changes merged in 19.1.
|
||
|
||
You may need to edit Makefile to change the variables LIBDIR and
|
||
BINDIR from /usr/local to /usr/contrib.
|
||
|
||
To give movemail access to /usr/mail, you may need to execute
|
||
|
||
chmod 2755 etc/movemail; chgrp mail etc/movemail
|
||
|
||
Tahoe (-machine=tahoe; -opsystem=bsd4-2 or -opsystem=bsd4-3)
|
||
|
||
18.52 known to work on some Tahoes, but a compiler bug intervenes
|
||
on others. Some Emacs versions have worked in Unisys 1r4
|
||
(not in 1r3) and CCI I.21.
|
||
|
||
If you have trouble compiling lib-src/loadst.c, turn off the definition
|
||
of DKSTAT_HEADER_FILE in -machine=tahoe.
|
||
|
||
Tandem Integrity S2 (-machine=tandem-s2; -opsystem=usg5-3)
|
||
|
||
Changes merged in 18.56 but subprocess support is turned off.
|
||
You will probably want to see if you can make subprocesses work.
|
||
|
||
You must edit lib-src/Makefile to define LOADLIBES = -mld.
|
||
|
||
Tektronix 16000 box (6130?) (-machine=ns16000; -opsystem=bsd4-2)
|
||
|
||
Emacs 17.61 worked.
|
||
|
||
Tektronix 4300 (-machine=tek4300; -opsystem=bsd4-3)
|
||
|
||
Emacs 18.51 should work.
|
||
|
||
Titan P2 or P3 (-machine=titan; -opsystem=usg5-3)
|
||
|
||
Changes probably merged in version 19.
|
||
|
||
Ustation E30 (SS5E) (-machine=ustation; -opsystem=unipl5-2).
|
||
|
||
Changes merged in 18.52; don't know whether they work.
|
||
|
||
Vax running Berkeley Unix (-machine=vax;
|
||
-opsystem=bsd4-1, bsd4-2 or bsd4-3)
|
||
|
||
Works.
|
||
|
||
Vax running Ultrix (-machine=vax; -opsystem=bsd4-2)
|
||
|
||
Works. See under Ultrix for problems using X windows on Ultrix.
|
||
|
||
Vax running System V rel 2 (-machine=vax; -opsystem=usg5-2)
|
||
|
||
18.27 Works.
|
||
|
||
Vax running System V rel 0 (-machine=vax; -opsystem=usg5-0)
|
||
|
||
Works as of 18.36.
|
||
|
||
Vax running VMS (-machine=vax; -opsystem=vms
|
||
but on VMS they are m_vax.h and s_vms.h)
|
||
|
||
18.36 believed to work. Addition of features is necessary to make
|
||
this Emacs version more usable.
|
||
|
||
Whitechapel MG1 (-machine=mg1, s-?)
|
||
|
||
May work. Supposedly no changes were needed except the m- file.
|
||
I do not know what Unix version runs on them.
|
||
|
||
Wicat (-machine=wicat; -opsystem=usg5-2)
|
||
|
||
Changes merged as of 18.6; whether they work is unknown.
|
||
See comments in src/m/wicat.h for things you should change
|
||
depending on the system and compiler version you have.
|
||
|
||
Local variables:
|
||
mode: text
|
||
fill-prefix: " "
|
||
End:
|