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