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