Commit | Line | Data |
---|---|---|
f4b79972 EZ |
1 | This is a list of the status of GNU Emacs on various machines and systems. |
2 | ||
3 | For each system and machine, we give the configuration name you should | |
4 | pass to the `configure' script to prepare to build Emacs for that | |
5 | system/machine. | |
6 | ||
7 | The `configure' script uses the configuration name to decide which | |
8 | machine and operating system description files `src/config.h' should | |
9 | include. The machine description files are all in `src/m', and have | |
10 | names similar to, but not identical to, the machine names used in | |
11 | configuration names. The operating system files are all in `src/s', | |
12 | and are named similarly. See the `configure' script if you need to | |
13 | know which configuration names use which machine and operating system | |
14 | description files. | |
15 | ||
16 | If you add support for a new configuration, add a section to this | |
17 | file, and then edit the `configure' script to tell it which | |
18 | configuration name(s) should select your new machine description and | |
19 | system description files. | |
20 | ||
21 | \f | |
22 | Here are the configurations Emacs is intended to work with, with the | |
23 | corresponding configuration names. You can postpend version numbers | |
24 | to operating system names (i.e. sunos4.1) or architecture names (i.e. | |
25 | hppa1.1). If you leave out the version number, the `configure' script | |
26 | will configure Emacs for the latest version it knows about. | |
27 | ||
28 | Acorn RISCiX (arm-acorn-riscix1.2) | |
29 | ||
30 | Emacs 19.29 has changes that ought to support RISCiX 1.2. | |
31 | ||
32 | Due to a bug in the RISCiX C compiler (3.4.5), emacs must | |
33 | be built with gcc (versions 2.5.8 onwards). | |
34 | ||
35 | In addition, you will need GNU sed and GNU make, as the RISCiX release | |
36 | versions of these utilities cannot cope with building emacs-19! | |
37 | ||
38 | GNU sed should be configured with: | |
39 | ||
40 | env 'DEFS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \ | |
41 | -Doptarg=gnu_optarg' ./configure | |
42 | ||
43 | GNU make (3.72+) should be configured with: | |
44 | ||
45 | env 'CFLAGS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \ | |
46 | -Doptarg=gnu_optarg' ./configure | |
47 | ||
48 | Emacs may be configured to use the X toolkit, by adding --with-x-toolkit | |
49 | to the configure command. If you do this, you will need to edit the line | |
50 | in src/Makefile which defines LIBW (about line 59) to read: | |
51 | ||
52 | LIBW= -lXaw_n | |
53 | ||
54 | This ensures that the non-shared widget library is used. | |
55 | ||
56 | It is unlikely that this version of emacs will work with RISCiX 1.1. | |
57 | ||
58 | Alliant (fx80-alliant-bsd): | |
59 | ||
60 | 18.52 worked on system version 4. Previous Emacs versions were | |
61 | known to work on previous system versions. | |
62 | ||
63 | If you are using older versions of their operating system, you may | |
64 | need to edit `src/config.h' to use `m/alliant1.h' (on version 1) or | |
65 | `m/alliant.h' (on versions 2 and 3). | |
66 | ||
67 | Alliant FX/2800 (i860-alliant-bsd) | |
68 | ||
69 | Known to work with 19.26 and OS version 2.2, compiler version 1.3. | |
70 | ||
71 | Alpha (DEC) running OSF/1 or GNU/Linux (alpha-dec-osf1, alpha-dec-linux-gnu) | |
72 | ||
73 | For OSF/1 (aka Digital Unix) version 4.0, update 386, | |
74 | it is reported that you need to run configure this way: | |
75 | ||
76 | configure --x-includes=/usr/include --x-libraries=/usr/shlib | |
77 | ||
538af1cd EZ |
78 | DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) |
79 | is reported to produce bogus binaries of Emacs 21.2 when the | |
80 | command-line switches "-O4 -arch ev6 -tune ev6" are used. Using | |
81 | just -O4 produces a good executable. | |
82 | ||
f4b79972 EZ |
83 | For 4.0 revision 564, and 4.0A and 4.0B, Emacs 20 seems to work |
84 | with no special configuration options. However, if you use GCC as | |
85 | your compiler, you will need version 2.8.1 or later, as older | |
86 | versions fail to build with a message "Invalid dimension for the | |
87 | charset-ID 160". | |
88 | ||
89 | Note that the X11 libraries on GNU/Linux systems for the Alpha are | |
90 | said to have bugs that prevent Emacs from working with X (as of | |
91 | November 1995). Recent releases work (July 2000). | |
92 | ||
93 | Altos 3068 (m68k-altos-sysv) | |
94 | ||
95 | 18.52 was said to work, provided you don't compile unexec.c with -O. | |
96 | ||
97 | Amdahl UTS (580-amdahl-sysv) | |
98 | ||
99 | Small changes for 18.38 were merged in 18.39. It is mostly | |
100 | working, but at last report a bug sometimes causes Emacs to | |
101 | grab very large amounts of memory. No fix or explanation | |
102 | has yet been reported. It may be possible to find this bug | |
103 | if you find which Emacs command it happens within and then | |
104 | run that command with a breakpoint set at malloc. | |
105 | ||
106 | The 5.2u370 compiler is so brain damaged that it is not | |
107 | even worth trying to use it. Success was obtained with the | |
108 | uts native C compiler on uts version 5.2.5. | |
109 | ||
128a6043 ST |
110 | Apple Macintosh running Mac OS X |
111 | ||
112 | For installtion on all versions of the Mac OS platform, see the file | |
113 | mac/INSTALL. | |
114 | ||
9ff069a5 EZ |
115 | Apple PowerPC Macintosh running GNU/Linux |
116 | ||
117 | There are special considerations for a variety of this system which | |
723718ff | 118 | is known as the ``Yellow Dog [GNU/]Linux'': Emacs may crash during |
9ff069a5 EZ |
119 | dumping. To solve this, edit the header file src/m/macppc.h in the |
120 | Emacs distribution, and remove the "#if 0" and "#endif" directives | |
121 | which surround the following block near the end of the file: | |
122 | ||
123 | #if 0 /* This breaks things on PPC GNU/Linux ecept for Yellowdog, | |
124 | even with identical GCC, as, ld. Let's take it out until we | |
125 | know what's really going on here. */ | |
126 | /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to | |
127 | 0x10000000. */ | |
128 | #if defined __linux__ | |
129 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | |
130 | #define DATA_SEG_BITS 0x10000000 | |
131 | #endif | |
132 | #endif | |
133 | #endif /* 0 */ | |
134 | ||
135 | After that, reconfigure and rebuild Emacs. It should now build | |
136 | successfully. | |
137 | ||
f4b79972 EZ |
138 | Apollo running X Windows (m68k-apollo-bsd) |
139 | ||
140 | Apollo version now supports dumping. It has been tested on SR10.3 and | |
141 | SR10.4. It certainly requires at least SR10.0, and maybe SR10.2. Be sure | |
142 | to build in the BSD environment. | |
143 | ||
144 | By default, everything is compiled with the switch "-W0,-opt,2". Don't try | |
145 | to change this to full optimization (-O). The full optimizer (in Domain CC | |
146 | 6.7, 6.8 and 6.9) generates some bad code in several modules which causes | |
147 | the emacs window, under X, to be refreshed with each keystroke. | |
148 | ||
149 | The configuration stuff should work for the most part. However, some Domain | |
150 | installations may have to edit src/Makefile manually after it is created. | |
151 | There are too many versions of both cc and X to automate this easily. | |
152 | ||
153 | In `lib-src/Makefile', emacsclient and emacsserver compile and work fine | |
154 | under CC 6.9. They now probably work under other versions of the compiler, | |
155 | as well. | |
156 | ||
157 | The Apollo Domain CC compiler will issue quite a few warning messages, | |
158 | mostly complaining about incompatible pointers. In general, these are | |
159 | harmless and can be ignored. If you discover otherwise, please submit a bug | |
160 | report identifying the problem in detail. | |
161 | ||
162 | When you try to dump emacs, you may get the message ".rwdi section needs | |
163 | relocation." This means you are linking with some code that has compressed | |
164 | data sections. In some cases this comes from linking with X libraries. Try | |
165 | using shared X libraries instead. With some versions of Domain/OS this is | |
166 | as simple as removing the "-lX11" from the LIBX line in src/Makefile. | |
167 | ||
168 | When running the configure script, use the configuration name | |
169 | "m68k-apollo-bsd". You will also need to use the "-with-gcc=no" and | |
170 | "-with-x" options. Depending upon your site configuration, you may have to | |
171 | use other configure options, as well. Examine the INSTALL file for other | |
172 | configure options. | |
173 | ||
174 | Check out the file 'lisp/x-apollo.el'. To use it, add | |
175 | ||
176 | (load "x-apollo") | |
177 | ||
178 | to your .emacs file. It provides useful default Apollo function key | |
179 | bindings. | |
180 | ||
181 | AT&T 3b2, 3b5, 3b15, 3b20 (we32k-att-sysv) | |
182 | ||
183 | Emacs will probably not work with certain kernel constants too small. | |
184 | ||
185 | In param.h CDLIMIT should be at least (1L << 12) in order to allow | |
186 | processes to write up to 2 Mbyte files. This parameter is configurable | |
187 | by normal means in /etc/master.d/kernel; examine that file for the | |
188 | symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then | |
189 | do normal kernel rebuild things via "cd /boot; mkboot -k KERNEL" and so | |
190 | forth. | |
191 | ||
192 | In seg.h NSEGP and STACKSEG should be at least 16 and 4 respectively | |
193 | to allow processes with total size of up to 2Mbytes. | |
194 | However, I'm told it is unlikely this would fail to be true. | |
195 | ||
196 | The MAXMEM may also prevent Emacs from running. The file | |
197 | 3B-MAXMEM in this directory explains how to increase MAXMEM. | |
198 | ||
199 | On some of these machines, you may need to define IN_SCCS_ID | |
200 | in config.h to make Emacs work. Supposedly you can tell whether | |
201 | this is necessary by checking something in /usr/include/sys/time.h; | |
202 | we do not know precisely what. | |
203 | ||
204 | AT&T 7300 or 3b1 (m68k-att-sysv) | |
205 | ||
206 | 18.52 worked. If you have strange troubles with dumping | |
207 | Emacs, delete the last few lines from `src/m/7300.h' and recompile. | |
208 | These lines are supposed to produce a sharable executable. | |
209 | ||
210 | `src/m/7300.h' defines SHORTNAMES because operating system versions | |
211 | older than 3.5 did not support long symbol names. Version 3.5 does | |
212 | support them, so you can remove the #define SHORTNAMES in that | |
213 | version. | |
214 | ||
215 | Bull DPX/2 models 2nn or 3nn (m68k-bull-sysv3) | |
216 | ||
217 | Minor fixes merged into 19.19, which should work with CC or GCC. | |
218 | ||
219 | You should compile with all the POSIX stuff: undef _SYSV and define | |
220 | _POSIX_SOURCE, _XOPEN_SOURCE and _BULL_SOURCE. | |
221 | ||
222 | On bos2.00.45 there is a bug that makes the F_SETOWN fcntl | |
223 | call enters in an infinite loop. F_SETOWN_BUG has been defined to avoid | |
224 | calling it. | |
225 | ||
226 | Bull DPX/20 (rs6000-bull-bosx) | |
227 | ||
228 | Version 19 works. | |
229 | ||
230 | Bull sps7 (m68k-bull-sysv2) | |
231 | ||
232 | Changes partially merged in version 19, but some fixes are probably required. | |
233 | ||
234 | CCI 5/32, 6/32 | |
235 | ||
236 | See "Tahoe". | |
237 | ||
238 | Celerity (celerity-celerity-bsd4.2) | |
239 | ||
240 | Version 18.49 worked. This configuration name is a hack, because we | |
241 | don't know the processor used by Celerities. If someone | |
242 | who uses a Celerity could get in touch with us, we can teach | |
243 | config.sub a better name for the configuration. | |
244 | ||
245 | Clipper (clipper-???) | |
246 | ||
247 | Version 19 has support for some brand of clipper system. If you | |
248 | have successfully built Emacs 19 on some sort of clipper system, let | |
249 | us know so we can flesh out this entry. | |
250 | ||
251 | Note that the Orion 105 is also a clipper, but some system-related | |
252 | parameters are different. | |
253 | ||
254 | Convex (c1-convex-bsd, c2-convex-bsd, c32-convex-bsd, c34-convex-bsd, | |
255 | c38-convex-bsd) | |
256 | ||
257 | Support updated and residual bugs fixed in 19.26. | |
258 | ||
259 | Cubix QBx/386 (i386-cubix-sysv) | |
260 | ||
261 | Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c | |
262 | due to a compiler bug. | |
263 | ||
264 | Cydra 5 (cydra-cydrome-sysv) | |
265 | ||
266 | 18.51 worked in one version of their operating system but stopped | |
267 | working in a newer version. This has not been fixed. | |
268 | ||
269 | Data General Aviion (m88k-dg-dgux) | |
270 | ||
271 | 19.23 works; however, the GCC provided with DGUX 5.4R3.00 fails to | |
272 | compile src/emacs.c. GCC 2.5.8 does work. | |
273 | The 19.26 pretest was reported to work; no word on which compiler. | |
274 | System versions other than DGUX 5.4R3.00 have not been tested. | |
275 | ||
276 | DGUX 5.4R3.10 works with 19.29 and 19.30. | |
277 | ||
278 | DGUX R4.11 contains changes to the stdio internals and it doesn't work | |
279 | with versions before 20.2 without patches. 20.2 works in interactive | |
280 | mode but usually fails in batch mode. The problem is that using | |
281 | stderr in the dumped emacs usually leads to a segmentation fault. | |
282 | Only m88k has been tested. | |
283 | ||
284 | DECstation (mips-dec-ultrix or mips-dec-osf) | |
285 | ||
286 | This machine is the older Mips-based DECstation. | |
287 | Emacs should now work on the Alpha CPU. | |
288 | ||
289 | 19.25 works on Ultrix 4.2. The 19.26 pretest was reported to work | |
290 | on Ultrix 4.2a and on 4.4. | |
291 | ||
292 | One user reported 19.25 did not work at all with --with-x-toolkit | |
293 | using X11R5 patch level 10, but worked ok with X11R5 pl26. | |
294 | ||
295 | See under Ultrix for problems using X windows on Ultrix. | |
296 | Note that this is a MIPS machine. | |
297 | ||
298 | For Ultrix versions 4.1 or earlier, you may need to define | |
299 | SYSTEM_MALLOC in `src/m/pmax.h', because XvmsAlloc.o in libX11.a seems | |
300 | to insist on defining malloc itself. | |
301 | ||
302 | For Ultrix versions prior to 4.0, you may need to delete | |
303 | the definition of START_FILES from `src/m/pmax.h'. | |
304 | ||
305 | Motorola Delta 147 (m68k-motorola-sysv) | |
306 | ||
307 | The EMacs 19.26 pretest was reported to work. | |
308 | ||
309 | Motorola Delta boxes running System V/68 release 3. | |
310 | Tested on 147 board with SVR3V7, no X and gcc. | |
311 | Tested on 167 board with SVR3V7, no X, cc, gnucc and gcc. | |
312 | Reports say it works with X too. | |
313 | ||
314 | The installation script chooses the compiler itself. gnucc is | |
315 | preferred. | |
316 | ||
317 | Motorola Delta 187 (m88k-motorola-sysv, | |
318 | m88k-motorola-sysvr4, or | |
319 | m88k-motorola-m88kbcs) | |
320 | ||
321 | The 19.26 pretest was reported to run on SVR3. However, if you | |
322 | use --with-x-toolkit on svr3, you will have problems compiling some | |
323 | files because time.h and sys/time.h get included twice. | |
324 | One fix is to edit those files to protect against multiple inclusion. | |
325 | ||
326 | As of version 19.13, Emacs was reported to run under SYSVr3 and SYSVr4. | |
327 | ||
328 | Dual running System V (m68k-dual-sysv) | |
329 | ||
330 | As of 17.46, this worked except for a few changes | |
331 | needed in unexec.c. | |
332 | ||
333 | Dual running Uniplus (m68k-dual-uniplus) | |
334 | ||
335 | Worked, as of 17.51. | |
336 | ||
337 | Elxsi 6400 (elxsi-elxsi-sysv) | |
338 | ||
339 | Changes for 12.0 release are in 19.1. | |
340 | Dumping should work now. | |
341 | ||
342 | Encore machine (ns16k-encore-bsd) | |
343 | ||
344 | This machine bizarrely uses 4.2BSD modified to use the COFF format | |
345 | for object files. Works (as of 18.40). For the APC processor you | |
346 | must enable two lines at the end of `src/s/umax.h', which are commented | |
347 | out in the file as distributed. | |
348 | ||
349 | WARNING: If you compile Emacs with the "-O" compiler switch, you | |
350 | must also use the "-q enter_exits" switch so that all functions have | |
351 | stack frames. Otherwise routines that call `alloca' all lose. | |
352 | ||
353 | A kernel bug in some system versions causes input characters to be lost | |
354 | occasionally. | |
355 | ||
356 | Fujitsu DS/90 (sparc-fujitsu-sysv4) | |
357 | ||
358 | Changes merged in 20.3. | |
359 | ||
360 | GEC 63 (local-gec63-usg5.2) | |
361 | ||
362 | Changes are partially merged in version 18, but certainly require | |
363 | more work. Let us know if you get this working, and we'll give it a | |
364 | real configuration name. | |
365 | ||
366 | Gould Power Node (pn-gould-bsd4.2 or pn-gould-bsd4.3) | |
367 | ||
368 | 18.36 worked on versions 1.2 and 2.0 of the operating system. | |
369 | ||
370 | On UTX/32 2.0, use pn-gould-bsd4.3. | |
371 | ||
372 | On UTX/32 1.2 and UTX/32S 1.0, use pn-gould-bsd4.2 and note that | |
373 | compiling `lib-src/sorted-doc' tickles a compiler bug: remove the -g | |
374 | flag to cc in the makefile. | |
375 | ||
376 | UTX/32 1.3 has a bug in the bcopy library routine. Fix it by | |
377 | #undef BSTRING in `src/m/gould.h'. | |
378 | ||
379 | Version 19 incorporates support for releases 2.1 and later of UTX/32. | |
380 | A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h. | |
381 | ||
382 | Gould NP1 (np1-gould-bsd) | |
383 | ||
384 | Version 19 supposedly works. | |
385 | ||
386 | Harris Night Hawk (m68k-harris-cxux or m88k-harris-cxux) | |
387 | ||
388 | This port was added in 19.23. The configuration actually tested was | |
389 | a Night Hawk 4800 running CX/UX 7.0. | |
390 | ||
391 | If you have GCC ported and want to build with it, you probably need to | |
392 | change things (like compiler switches) defined in the s/cxux.h file. | |
393 | ||
394 | If you have X11R6 installed in /usr/lib, configure will fail to find | |
395 | it and may find X11R5 instead. To work around this problem, use | |
396 | --x-libraries=/usr/lib when you run configure. | |
397 | ||
398 | With CX/UX 7.0 and later releases, you need to build after setting the | |
399 | SDE_TARGET environment variable to COFF (a port using ELF and shared | |
400 | libraries has not yet been done). | |
401 | ||
402 | Harris Power PC (powerpc-harris-powerunix) | |
403 | ||
404 | Patches have been merged in 19.31. | |
405 | ||
406 | Honeywell XPS100 (xps100-honeywell-sysv) | |
407 | ||
408 | Config file added in version 19. | |
409 | ||
410 | Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux | |
411 | or m68k-hp-netbsd) | |
412 | ||
413 | These machines are 68000-series CPUs running HP/UX | |
414 | (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah. | |
415 | The operating system suffix determines which system Emacs is built for. | |
416 | ||
417 | Series 200 HPUX runs Emacs only if it has the "HP/UX upgrade". | |
418 | ||
419 | Version 19 works under BSD. The 19.26 pretest was reported | |
420 | to work on HPUX 9. 19.31 works on HPUX 10.01, but there are | |
421 | some problems on 10.10 which have not been resolved. Emacs 19.34 | |
422 | works on HPUX 10.20 provided you compile with GCC; with the HP C | |
423 | compiler, subprocess commands do not work. | |
424 | ||
425 | On HPUX 9, Emacs sometimes crashes with SIGBUS or SIGSEGV after you | |
426 | delete a frame. We think this is due to a bug in the X libraries | |
427 | provided by HP. With the alternative X libraries in | |
428 | /usr/contrib/mitX11R5/lib, the problem does not happen. | |
429 | ||
430 | If you are running HP/UX release 8.0 or later, you need the optional | |
431 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX | |
432 | do not require any special software). If the file "/etc/filesets/C" | |
433 | exists on your machine, you have this software, otherwise you do not. | |
434 | ||
435 | Note that HP has used two incompatible assembler syntaxes, | |
436 | and has recently changed the format of C function frames. | |
437 | `src/crt0.c' and `src/alloca.s' have been conditionalised for the new | |
438 | assembler and new function-entry sequence. You may need to define | |
439 | OLD_HP_ASSEMBLER if you are using an older hpux version. If you | |
440 | have an official (bought from HP) series 300 machine you have | |
441 | the new assembler. Kernels that are 5.+ or later have new | |
442 | assembler. A Series 200 that has been upgraded to a 68010 | |
443 | processor and a 5.+ kernel has the new compiler. | |
444 | ||
445 | Define C_SWITCH_MACHINE to be +X to make a version of Emacs that | |
446 | runs on both 68010 and 68020 based HP/UX's. | |
447 | ||
448 | Define HPUX_68010 if you are using the new assembler, for | |
449 | a system that has a 68010 without a 68881. This is to say, | |
450 | a s200 (upgraded) or s310. | |
451 | ||
452 | Define the symbol HPUX_NET if you have the optional network features | |
453 | that include the `netunam' system call. This is referred to as | |
454 | Network Services (NS/9000) in HP literature. | |
455 | ||
456 | HP 9000 series 500: not supported. | |
457 | ||
458 | The series 500 has a seriously incompatible memory architecture | |
459 | which relocates data in memory during execution of a program, | |
460 | and support for it would be difficult to implement. | |
461 | ||
462 | HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux | |
463 | or ...hpux9shr, or ...-nextstep) | |
464 | ||
465 | Use hppa1.1 for the 700 series and hppa1.0 for the 800 | |
466 | series machines. (Emacs may not actually care which one you use.) | |
467 | ||
468 | Support for NextSTEP was added in 19.31. | |
469 | ||
470 | Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install | |
471 | the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; | |
472 | when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, | |
473 | the subprocess features failed to work. | |
474 | ||
475 | 19.26 is believed to work on HPUX 9 provided you compile with GCC. | |
476 | As of version 19.16, Emacs was reported to build (using GCC) and run | |
477 | on HP 9000/700 series machines running HP/UX versions 8.07 and 9.01. | |
478 | The HP compiler is known to fail on some versions if you use +O3, | |
479 | but it may work with lower optimization levels. | |
480 | ||
481 | Use hppa1.1-hp-hpux9shr to use shared libraries on HPUX version 9. | |
482 | You may need to create the X libraries libXaw.a and libXmu.a from | |
483 | the MIT X distribute, and you may need to edit src/Makefile's | |
484 | definition of LIBXT to look like this: | |
485 | ||
486 | LIBXT= $(LIBW) -lXmu -lXt $(LIBXTR6) -lXext | |
487 | ||
488 | Some people report trouble using the GNU memory allocator under | |
489 | HP/UX version 9. The problems often manifest as lots of ^@'s in the | |
490 | buffer. | |
491 | ||
492 | We are told that these problems go away if you obtain the latest | |
493 | patches for the HP/UX C compiler. James J Dempsey | |
494 | <jjd@spserv.bbn.com> says that this set of versions works for him: | |
495 | /bin/cc: | |
496 | HP92453-01 A.09.28 HP C Compiler | |
497 | /lib/ccom: | |
498 | HP92453-01 A.09.28 HP C Compiler | |
499 | HP-UX SLLIC/OPTIMIZER HP-UX.09.00.23 02/18/93 | |
500 | Ucode Code Generator - HP-UX.09.00.23.5 (patch) 2/18/93 | |
501 | ||
502 | For 700 series machines, the HP-UX patch needed is known as | |
503 | PHSS_2653. (Perhaps for 800 series machines as well; we don't | |
504 | know.) If you are on the Internet, you should be able to obtain | |
505 | this patch by using telnet to access the machine | |
506 | support.mayfield.hp.com and logging in as "hpslreg" and following | |
507 | the instructions there. Or you may be able to use this | |
508 | web site: | |
509 | ||
510 | HP Patch Server: http://support.mayfield.hp.com/patches/html/patches.html | |
511 | HP Support Line: http://support.mayfield.hp.com | |
512 | ||
513 | Please do not ask FSF for further support on this. If you have any | |
514 | trouble obtaining the patch, contact HP Software Support. | |
515 | ||
516 | If your buffer fills up with nulls (^@) at some point, it could well | |
517 | be that problem. That problem does not happen when people use GCC | |
518 | to compile Emacs. On the other hand, the HP compiler version 9.34 | |
519 | was reported to work for the 19.26 pretest. 9.65 was also reported to work. | |
520 | ||
521 | If you turn on the DSUSP character (delayed suspend), | |
522 | Emacs 19.26 does not know how to turn it off on HPUX. | |
523 | You need to turn it off manually. | |
524 | ||
525 | If you are running HP/UX release 8.0 or later, you need the optional | |
526 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX | |
527 | do not require any special software). If the file "/etc/filesets/C" | |
528 | exists on your machine, you have this software, otherwise you do not. | |
529 | ||
530 | High Level Hardware Orion (orion-highlevel-bsd) | |
531 | ||
532 | This is the original microprogrammed hardware. | |
533 | Machine description file ought to work. | |
534 | ||
535 | High Level Hardware Orion 1/05 (clipper-highlevel-bsd) | |
536 | ||
537 | Changes merged in 18.52. This is the one with the Clipper cpu. | |
538 | Note that systems which lack NFS need LOAD_AVE_TYPE changed to `double'. | |
539 | ||
540 | C compiler has a bug; it loops compiling eval.c. | |
541 | Compile it by hand without optimization. | |
542 | ||
543 | HITACHI SR2001/SR2201 series (hppa1.1-hitachi-hiuxwe2) | |
544 | ||
545 | These machines are based on PA architecture running HI-UX/MPP | |
546 | (based on OSF1. `MPP' stands for `Massively Parallel Processor'). | |
547 | ||
548 | Emacs 19.34 is believed to work; its pretest was tested | |
549 | both on SR2001 (output of `uname -rv' is `00-01-BB 0') and | |
550 | SR2201 (`02-00 0'). | |
551 | ||
552 | Emacs 20.7 was reported to build on a system whose `uname -rs' | |
553 | output is `HI-UX/MPP 03-04'. | |
554 | ||
555 | The machine description file is `src/m/sr2k.h' is based on | |
556 | `src/m/hp800.h'. The system description file is `src/s/hiuxwe2.h' | |
557 | based on `src/s/osf1.h'. Note that this system doesn't use COFF. | |
558 | ||
559 | IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2) | |
560 | ||
561 | Changes merged in version 19. You may need to copy | |
562 | /usr/lib/samples/hft/hftctl.c to the Emacs src directory. | |
563 | ||
564 | i386-ibm-aix1.1 may not work with certain new X window managers, and | |
565 | may be suboptimal. | |
566 | ||
567 | IBM RS/6000 (rs6000-ibm-aix*) | |
568 | ||
569 | Emacs 19.26 is believed to work; its pretest was tested. | |
570 | ||
571 | Compiling with the system's `cc' and CFLAGS containing `-O5' might | |
572 | fail because libXbsd isn't found. This is a compiler bug; | |
573 | re-configure Emacs so that it isn't compiled with `-O5'. | |
574 | ||
a9f66ecb EZ |
575 | On AIX 4.3.x and 4.4, compiling with /bin/c89 fails because it |
576 | treats certain warnings as errors. Use `cc' instead. | |
577 | ||
f4b79972 EZ |
578 | At last report, Emacs didn't run well on terminals. Informed |
579 | persons say that the tty VMIN and VTIME settings have been | |
580 | corrupted; if you have a fix, please send it to us. | |
581 | ||
582 | Compiling with -O using the IBM compiler has been known | |
583 | to make Emacs work incorrectly. It's reported that on | |
584 | AIX 3.2.5 with an IBM compiler earlier than 1.03.00.14, | |
585 | cc -O fails for some files. You need to install any | |
586 | PTF containing APAR #IX42810 to bring the compiler to | |
587 | the 1.03.00.14 level to allow optimized compiles. | |
588 | ||
589 | There are reports that IBM compiler versions earlier than 1.03.00.02 | |
590 | fail even without -O. However, another report said that compiler | |
591 | version 1.02.01.00 did work, on AIX 3.2.4, with Emacs 19.31. | |
592 | ||
593 | As of 19.11, if you strip the Emacs executable, it ceases to work. | |
594 | ||
595 | If you are using AIX 3.2.3, you may get a core dump when loading | |
596 | ange-ftp. You may be able to fix the problem by defining LIBS_TERMCAP | |
597 | as -ltermcap -lcurses. Please tell us if this fails to work. | |
598 | ||
599 | If anyone can fix the above problems, or confirm that they don't happen | |
600 | with certain versions of various programs, we would appreciate it. | |
601 | ||
602 | IBM RT/PC (romp-ibm-bsd or romp-ibm-aix) | |
603 | ||
604 | Use romp-ibm-bsd for the 4.2-like system and romp-ibm-aix for AIX. | |
605 | 19.22 is reported to work under bsd. We don't know about AIX. | |
606 | ||
607 | On BSD, if you have trouble, try compiling with a different compiler. | |
608 | ||
609 | On AIX, the file /usr/lib/samples/hft/hftctl.c must be compiled into | |
610 | hftctl.o, with this result left in the src directory (hftctl.c is | |
611 | part of the standard AIX distribution). | |
612 | ||
613 | window.c must not be compiled with -O on AIX. | |
614 | ||
cc9458f7 EZ |
615 | IBM System/390 running GNU/Linux (s390-*-linux-gnu) |
616 | ||
617 | As of Emacs 21.2, a 31-bit only version is supported on this | |
618 | system. | |
619 | ||
f4b79972 EZ |
620 | Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3) |
621 | ||
622 | 18.52 said to work on some sort of ISI machine. | |
623 | Version 18.45 worked (running on a Optimum V (VME bus, 68020) | |
624 | BSD 4.2 (3.05e) system). 18.42 is reported to work on | |
625 | a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster | |
626 | Compute Node' `Cluster WorkStation' or `Server Node' (Love the | |
627 | StudLYCaps) | |
628 | ||
629 | Compilation with -O is rumored to break something. | |
630 | ||
631 | On recent system versions, you may need to undefine the macro UMAX | |
632 | in `lib-src/loadst.c' and `src/getpagesize.h'. They stupidly defined this | |
633 | in a system header file, which confuses Emacs (which thinks that UMAX | |
634 | indicates the Umax operating system). | |
635 | ||
636 | Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2, | |
637 | i386-*-xenix, i386-*-freebsd, i386-*-linux-gnu, | |
638 | i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, | |
639 | i386-*-sysv4, i386-*-sysv4.2, | |
640 | i386-*-sysv5.3, i386-*-bsd4.2, | |
641 | i386-*-sco3.2v4, i386-*-bsd386, i386-*-386bsd, | |
642 | i386-*-msdos, i386-*-windowsnt. | |
643 | i386... can be replaced with i486... or i586...) | |
644 | ||
645 | In the above configurations, * means that the manufacturer's name | |
646 | you specify does not matter, and you can use any name you like | |
647 | (but it should not contain any dashes or stars). | |
648 | ||
649 | When using the ISC configurations, be sure to specify the isc | |
650 | version number - for example, if you're running ISC 3.0, use | |
651 | i386-unknown-isc3.0 as your configuration name. | |
652 | Use i386-*-esix for Esix; Emacs runs as of version 19.6. | |
653 | Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. | |
654 | Use i386-intsys-sysv for Integrated Solutions 386 machines. | |
655 | It may also be correct for Microport systems. | |
656 | Use i386-*-sco3.2v4 for SCO 3.2v4; Emacs runs as of version 19.26. | |
657 | ||
658 | On GNU/Linux systems, Emacs 19.23 was said to work properly with libc | |
659 | version 4.5.21, but not with 4.5.19. If your system uses QMAGIC | |
660 | for the executable format, you must edit config.h to define LINUX_QMAGIC. | |
661 | ||
662 | On GNU/Linux, configure may fail to put these definitions in config.h: | |
663 | ||
664 | #define HAVE_GETTIMEOFDAY | |
665 | #define HAVE_MKDIR | |
666 | #define HAVE_RMDIR | |
667 | #define HAVE_XSCREENNUMBEROFSCREEN | |
668 | ||
669 | To work around the problem, add those definitions by hand. | |
670 | It is possible that this problem happens only with X11R6. | |
671 | Newer system versions have fixed it. | |
672 | ||
673 | The 19.26 pretest was reported to work on SVR4.3 and on Freebsd. | |
674 | ||
675 | 19.29 is reported to crash when using Motif on Solaris 2.5. | |
676 | The reasons are not yet known. | |
677 | ||
678 | Use i386-*-bsdiN for BSDI BSD/OS version N; Emacs runs as of version 19.23. | |
679 | In some system versions, `make' is broken; use GNU make instead. | |
680 | Shell bugs in version 1.0 of BSD/OS cause configure | |
681 | to do the wrong thing with --with-x-toolkit; the workaround is to edit | |
682 | configure to run another shell such as bash. | |
683 | ||
684 | For System V release 3, use i386-*-sysv3. | |
685 | For System V release 4, use i386-*-sysv4. | |
686 | For System V release 4.2, use i386-*-sysv4.2. | |
687 | ||
688 | If you are using Xenix, see notes at end under Xenix. | |
689 | If you are using Esix, see notes at end under Esix. | |
690 | If you are using SCO Unix, see notes at end under SCO. | |
691 | ||
692 | On 386bsd, NetBSD and FreeBSD, at one time, it was necessary to use | |
693 | GNU make, not the system's make. Assuming it's installed as gmake, | |
694 | do `gmake install MAKE=gmake'. However, more recently it is | |
695 | reported that using the system Make on NetBSD 1.3.1 works ok. | |
696 | ||
697 | If you are using System V release 4.2, you may find that `cc -E' | |
698 | puts spurious spaces in `src/xmakefile'. If that happens, | |
699 | specify CPP=/lib/cpp as an option when you run make. | |
700 | There is no problem if you compile with GCC. | |
701 | ||
702 | Note that use of Linux with GCC 2.4 and the DLL 4.4 libraries | |
703 | requires the experimental "net 2" network patches (no relation to | |
704 | Berkeley Net 2). There is a report that (some version of) Linux | |
705 | requires including `/usr/src/linux/include/linux' in buffer.c | |
706 | but no coherent explanation of why that might be so. If it is so, | |
707 | in current versions of Linux, something else should probably be changed. | |
708 | ||
709 | Some sysV.3 systems seem to have bugs in `opendir'; | |
710 | for them, alter `config.h' to define NONSYSTEM_DIR_LIBRARY | |
711 | and undefine SYSV_SYSTEM_DIR. | |
712 | ||
713 | If you use optimization on V.3, you may need the option -W2,'-y 0' | |
714 | to prevent certain faulty optimization. | |
715 | ||
716 | On 386/ix, to link with shared libraries, add #define USG_SHARED_LIBRARIES | |
717 | to config.h. | |
718 | ||
719 | On SCO, there are problems in regexp matching when Emacs is compiled | |
720 | with the system compiler. The compiler version is "Microsoft C | |
721 | version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; | |
722 | Quick C Compiler Version 1.00.46 (Beta). The solution is to compile | |
723 | with GCC. | |
724 | ||
725 | On ISC systems (2.02 and more recent), don't try to use the versions | |
726 | of X that come with the system; use XFree86 instead. | |
727 | ||
728 | There is no consistency in the handling of certain system header files | |
729 | on V.3. | |
730 | ||
731 | Some versions have sys/sioctl.h, and require it in sysdep.c. | |
732 | But some versions do not have sys/sioctl.h. | |
733 | For a given version of the system, this may depend on whether you have | |
734 | X Windows or TCP/IP. Define or undefine NO_SIOCTL_H in config.h | |
735 | according to whether you have the file. | |
736 | ||
737 | Likewise, some versions have been known to need sys/ttold.h, sys/stream.h, | |
738 | and sys/ptem.h included in sysdep.c. If your system has these files, | |
739 | try defining NEED_PTEM_H in config.h if you have trouble without it. | |
740 | ||
741 | You may find that adding -I/usr/X/include or -I/usr/netinclude or both | |
742 | to CFLAGS avoids compilation errors on certain systems. | |
743 | ||
744 | Some versions convince sysdep.c to try to use `struct tchars' | |
745 | but define `struct tc' instead; add `#define tchars tc' | |
746 | to config.h to solve this problem. | |
747 | ||
748 | Iris 2500 and Iris 2500 Turbo (m68k-sgi-iris3.5 or m68k-sgi-iris3.6) | |
749 | ||
750 | Version 18 was said to work; use m68k-sgi-iris3.5 for system version 2.5 | |
751 | and m68k-sgi-iris3.6 for system version 3.6. | |
752 | Note that the 3030 is the same as the Iris 2500 Turbo. | |
753 | ||
754 | Iris 4D (mips-sgi-irix[456].*) | |
755 | ||
756 | You can build a 64-bit executable (with larger maximum buffer size) | |
757 | on Irix 6.5 by specifying the 64-bit ABI using the `-64' compiler | |
758 | flag or otherwise (see cc(1)). This may work on earlier Irix 6 | |
759 | systems if you edit src/s/irix6-0.h following irix6-5.h. | |
760 | ||
4603049d EZ |
761 | Building Emacs 21.1 and 21.2 on versions of Irix before 6.5.10, |
762 | especially when Emacs is built with GCC, was reported to have subtle | |
763 | problems such as being unable to print to stdout under the -batch | |
764 | command-line option. Building with the native compiler or upgrading | |
765 | the OS to a newer version solves these problems. There's evidence | |
766 | that these problems are actually related to the runtime libraries | |
767 | (before IRIX 6.5.10, the IRIX runtimes were based on the MIPSpro 7.2 | |
768 | compilers), so installing patches for the runtime from | |
769 | http://www.sgi.com/support/patch_intro.html could solve the problem | |
770 | even without upgrading the OS. The dump process is the crucial | |
771 | step that needs the upgraded runtime, so a workaround is to dump | |
772 | Emacs on a machine with a newer OS, then copy the binary to the | |
773 | older OS. | |
774 | ||
f4b79972 EZ |
775 | If compiling with GCC on Irix 6 yields an error "conflicting types |
776 | for `initstate'", install GCC 2.95 or a newer version, and this | |
777 | problem should go away. It is possible that this problem results | |
778 | from upgrading the operating system without reinstalling GCC; so you | |
779 | could also try reinstalling the same version of GCC, and telling us | |
780 | whether that fixes the problem. | |
781 | ||
782 | The 19.26 pretest was reported to work on IRIX 4.0.5 and 5.2. | |
783 | 19.23 was reported to work on IRIX 5.2, but you may need to install | |
784 | the "compiler_dev.hdr.internal" subsystem in order to compile unexelfsgi.c. | |
785 | 19.22 was known to work on all Silicon Graphics machines running | |
786 | IRIX 4.0.5 or IRIX 5.1. | |
787 | ||
788 | Compiling with -O using IRIX compilers prior to 3.10.1 may not work. | |
789 | Don't use -O or use GCC instead. | |
790 | ||
791 | Most IRIX 3.3 systems do not have an ANSI C compiler, but a few do. | |
792 | Compile Emacs 18 with the -cckr switch on these machines. | |
793 | ||
794 | There is a bug in IRIX 3.3 that can sometimes leave ptys owned by root | |
795 | with a permission of 622. This causes malfunctions in use of | |
796 | subprocesses of Emacs. Irix versions 4.0 and later with GNU Emacs | |
797 | versions 18.59 and later fix this bug. | |
798 | ||
799 | Masscomp (m68k-masscomp-rtu) | |
800 | ||
801 | 18.36 worked on a 5500DP running RTU v3.1a and compiler version 3.2 | |
802 | with minor fixes that are included in 18.37. However, bizarre behavior | |
803 | was reported for 18.36 on a Masscomp (model and version unknown but probably | |
804 | a 68020 system). The report sounds like a compiler bug. | |
805 | ||
806 | A compiler bug affecting statements like | |
807 | unsigned char k; unsigned char *p;... x = p[k]; | |
808 | has been reported for "C version 1.2 under RTU 3.1". We do not wish | |
809 | to take the time to install the numerous workarounds required to | |
810 | compensate for this bug. | |
811 | ||
812 | For RTU version 3.1, define FIRST_PTY_LETTER to be 'p' in `src/s/rtu.h' | |
813 | (or #undef and redefine it in config.h) so that ptys will be used. | |
814 | ||
815 | GNU Emacs is said to have no chance of compiling on RTU versions | |
816 | prior to v3.0. | |
817 | ||
818 | Megatest (m68k-megatest-bsd) | |
819 | ||
820 | Emacs 15 worked; do not have any reports about Emacs 16 or 17 | |
821 | but any new bugs are probably not difficult. | |
822 | ||
823 | Mips (mips-mips-riscos, mips-mips-riscos4.0, or mips-mips-bsd) | |
824 | ||
825 | The C compiler on Riscos 4.51 dumps core trying to optimize | |
826 | parts of Emacs. Try without optimization or try GCC. | |
827 | ||
828 | Meanwhile, the linker on that system returns success even if | |
829 | there are undefined symbols; as a result, configure gets the | |
830 | wrong answers to various questions. No work-around is known | |
831 | except to edit src/config.h by hand to indicate which functions | |
832 | don't exist. | |
833 | ||
834 | Use mips-mips-riscos4.0 for RISCOS version 4. | |
835 | Use mips-mips-bsd with the BSD world. | |
836 | ||
837 | Note that the proper configuration names for DECstations are | |
838 | mips-dec-ultrix and mips-dec-osf. | |
839 | ||
840 | If you are compiling with GCC, then you must run fixincludes; | |
841 | the alternative of using -traditional won't work because | |
842 | the definition of SIGN_EXTEND_CHAR uses the keyword `signed'. | |
843 | ||
844 | If the SYSV world is the default, then you probably need the following | |
845 | line in etc/Makefile: | |
846 | ||
847 | CFLAGS= -g -systype bsd43 | |
848 | ||
849 | Some operating systems on MIPS machines give SIGTRAP for division by | |
850 | zero instead of the usual signals. The only real solution is to fix | |
851 | the system to give a proper signal. | |
852 | ||
853 | In the meantime, you can change init_data in data.c if you wish. | |
854 | Change it to handle SIGTRAP as well as SIGFPE. But this will have a | |
855 | great disadvantage: you will not be able to run Emacs under a | |
856 | debugger. I think crashing on division by zero is a lesser problem. | |
857 | ||
858 | dsg@mitre.org reported needing to use --x-libraries=/bsd43/usr/lib | |
859 | on a riscos4bsd site. But it is not clear whether this is needed in | |
860 | general or only because of quirks on a particular site. | |
861 | ||
862 | National Semiconductor 32000 (ns32k-ns-genix) | |
863 | ||
864 | This is for a complete machine from National Semiconductor, | |
865 | running Genix. Changes merged in version 19. | |
866 | ||
867 | NCR Tower 32 (m68k-ncr-sysv2 or m68k-ncr-sysv3) | |
868 | ||
869 | If you are running System V release 2, use m68k-ncr-sysv2. | |
870 | If you are running System V release 3, use m68k-ncr-sysv3. | |
871 | ||
872 | These both worked as of 18.56. If you change `src/ymakefile' so that | |
873 | CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, check | |
874 | out the comments in `src/m/tower32.h' (for System V release 2) or | |
875 | `src/m/tower32v3.h' (for System V release 3) about this. | |
876 | ||
877 | There is a report that compilation with -O did not work with 18.54 | |
878 | under System V release 2. | |
879 | ||
880 | NCR Intel system (i386-ncr-sysv4.2) | |
881 | ||
882 | This system works in 19.31, but if you don't link it with GNU ld, | |
883 | you may need to set LD_RUN_PATH at link time to specify where | |
884 | to find the X libraries. | |
885 | ||
886 | NEC EWS4800 (mips-nec-sysv4) | |
887 | ||
888 | This system works in 20.4, but you should use the compiler | |
889 | /usr/abiccs/bin/cc (MIPS ABI MODE). | |
890 | ||
891 | NeXT (m68k-next-nextstep) | |
892 | ||
893 | Emacs 19 has not been tested extensively yet, but it seems to work | |
894 | in a NeXTStep 3.0 terminal window, and under the X server called | |
895 | co-Xist. You may need to specify -traditional when src/Makefile | |
896 | builds xmakefile. | |
897 | ||
898 | NeXT users might want to implement direct operation with NeXTStep, | |
899 | but from the point of view of the GNU project, that is a | |
900 | distraction. | |
901 | ||
902 | Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19. | |
903 | ||
904 | Nixdorf Targon 31 (m68k-nixdorf-sysv) | |
905 | ||
906 | Machine description file for version 17 is included in 18 | |
907 | but whether it works is not known. | |
908 | `src/unexec.c' bombs if compiled with -O. | |
909 | Note that the "Targon 35" is really a Pyramid. | |
910 | ||
911 | Nu (TI or LMI) (m68k-nu-sysv) | |
912 | ||
913 | Version 18 is believed to work. | |
914 | ||
915 | Paragon OSF/1 (i860-intel-osf1) | |
916 | ||
917 | Changes merged in 19.29. | |
918 | ||
919 | There is a bug in OSF/1 make which claims there is a syntax error | |
920 | in the src/xmakefile. You can successfully build emacs with: | |
921 | ||
922 | pmake MAKE=pmake | |
923 | ||
924 | Plexus (m68k-plexus-sysv) | |
925 | ||
926 | Worked as of 17.56. | |
927 | ||
928 | Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1) | |
929 | ||
930 | See under DECstation, above. | |
931 | ||
932 | Prime EXL (i386-prime-sysv) | |
933 | ||
934 | Minor changes merged in 19.1. | |
935 | ||
936 | Pyramid (pyramid-pyramid-bsd) | |
937 | ||
938 | The 19.26 pretest was observed to work on OSx 5.0, but it is necessary | |
939 | to edit gmalloc.c. You must add #include <sys/types.h> at the top, | |
940 | and delete the #define for size_t. | |
941 | ||
942 | You need to build Emacs in the Berkeley universe with | |
943 | the `ucb' command, as in `ucb make' or `ucb build-install'. | |
944 | ||
945 | In OSx 4.0, it seems necessary to add the following two lines | |
946 | to `src/m/pyramid.h': | |
947 | #define _longjmp longjmp | |
948 | #define _setjmp setjmp | |
949 | ||
950 | In Pyramid system 2.5 there has been a compiler bug making | |
951 | Emacs crash just after screen-splitting with Qnil containing 0. | |
952 | A compiler that fixes this is Pyramid customer number 8494, | |
953 | internal number 1923. | |
954 | ||
955 | Some versions of the pyramid compiler get fatal | |
956 | errors when the -gx compiler switch is used; if this | |
957 | happens to you, change `src/m/pyramid.h' to define | |
958 | C_DEBUG_SWITCH with an empty definition. | |
959 | ||
960 | Some old system versions may require you to define PYRAMID_OLD | |
961 | in when alloca.s is preprocessed, in order to define _longjmp and _setjmp. | |
962 | ||
963 | Sequent Balance (ns32k-sequent-bsd4.2 or ns32k-sequent-bsd4.3) | |
964 | ||
965 | Emacs 18.51 worked on system version 3.0. 18.52 is said to work. | |
966 | Delete some lines at the end of `src/m/sequent.h' for earlier system | |
967 | versions. | |
968 | ||
969 | Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4) | |
970 | ||
971 | 19.33 has changes to support ptx 4 (a modified SVR4). | |
972 | ||
973 | Emacs 19 should work on Dynix (BSD). However, if you compile with | |
974 | the Sequent compiler, you may find Emacs does not restore the | |
975 | terminal settings on exit. If this happens, compile with GCC. | |
976 | ||
977 | Emacs 19.27 contains patches that should support | |
978 | DYNIX/ptx 1.4 and 2.1 with the native cc compiler. | |
979 | ||
980 | GCC can't compile src/process.c due to a non-standard Sequent asm | |
981 | keyword extension supported by cc and used for the network byte/word | |
982 | swapping functions in the PTX /usr/include/netinet/in.h file. GCC | |
983 | 2.5.8 includes the file <sys/byteorder.h> which can be included into | |
984 | netinet/in.h to perform these byte/word swapping functions in the | |
985 | same manner. Patches have been submitted to the FSF against GCC | |
986 | 2.6.0 to fix this problem and allow Emacs to be built with GCC. | |
987 | ||
988 | If your machine does not have TCP/IP installed, you will have to edit the | |
989 | src/s/ptx.h file and comment out #define TCPIP_INSTALLED. | |
990 | ||
991 | Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) | |
992 | ||
993 | Changes merged in 19.29. This configuration should also work for | |
994 | Pyramid MIS Server running DC-OSX 1.x. The version configured with | |
995 | `--with-x' works without any modifications, but `--with-x-toolkit' | |
996 | works only if the Athena library and the Toolkit library are linked | |
997 | statically. For this, edit `src/Makefile' after the `configure' run | |
998 | and modify the lines with `-lXaw' and `-lXt' as follows: | |
999 | ||
1000 | LIBW= /usr/lib/libXaw.a | |
1001 | LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext | |
1002 | ||
1003 | In addition, `--with-x-toolkit=motif' works only | |
1004 | if the Motif library and the Toolkit library are linked statically. | |
1005 | To do this, edit `src/Makefile' after the `configure' run | |
1006 | and modify the lines with `-lXm' and `-lXt' as follows: | |
1007 | ||
1008 | LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a | |
1009 | LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext | |
1010 | ||
1011 | SONY News (m68k-sony-bsd4.2 or m68k-sony-bsd4.3) | |
1012 | ||
1013 | 18.52 worked. Use m68k-sony-bsd4.3 for system release 3. | |
1014 | ||
1015 | SONY News 3000 series (RISC NEWS) (mips-sony-bsd) | |
1016 | ||
1017 | The 19.26 pretest is reported to work. | |
1018 | ||
1019 | Some versions of the operating system give SIGTRAP for division by zero | |
1020 | instead of the usual signals. This causes division by zero | |
1021 | to make Emacs crash. The system should be fixed to give the proper signal. | |
1022 | Changing Emacs is not a proper solution, because it would prevent | |
1023 | Emacs from working under any debugger. But you can change init_data | |
1024 | in data.c if you wish. | |
1025 | ||
1026 | Stardent i860 (i860-stardent-sysv4.0) | |
1027 | ||
1028 | 19.26 pretest reported to work. | |
1029 | ||
1030 | Stardent 1500 or 3000 | |
1031 | ||
1032 | See Titan. | |
1033 | ||
1034 | Stride (m68k-stride-sysv) | |
1035 | ||
1036 | Works (most recent news for 18.30) on their release 2.0. | |
1037 | For release 2.2, see the end of `src/m/stride.h'. | |
1038 | It may be possible to run on their V.1 system but changes | |
1039 | in the s- file would be needed. | |
1040 | ||
1041 | Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos, | |
1042 | sparc-sun-sunos4.1.3noshr, sparc-sun-solaris2.*, | |
1043 | i386-sun-solaris2.*, sparc*-*-linux-gnu) | |
1044 | ||
1045 | To build a 64-bit Emacs (with larger maximum buffer size and | |
1046 | including large file support) on a Solaris system which supports | |
1047 | 64-bit executables, use the Sun compiler, configuring something like | |
1048 | this (see the cc documentation for information on 64-bit | |
1049 | compilation): env CC="cc -xarch=v9" ./configure | |
1050 | ||
1051 | As of version 2.95, GCC doesn't support the 64-bit ABI properly, but | |
1052 | later releases may. | |
1053 | ||
1ebfc51b EZ |
1054 | Some versions of Solaris 8 have a bug in their XIM (X Input Method) |
1055 | implementation which causes Emacs to dump core when one of several | |
1056 | frames is closed. To avoid this, either install patch 108773-12 | |
1057 | (for Sparc) or 108874-12 (for x86), or configure Emacs with the | |
1058 | `--with-xim=no' switch (you can use Leim input methods instead). | |
1059 | ||
f4b79972 EZ |
1060 | On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15 |
1061 | C 5.0 failed, apparently with non-default CFLAGS, most probably due to | |
1062 | compiler bugs. Using Sun Solaris 2.7 Sun WorkShop 6 update 1 C | |
1063 | release was reported to work without problems. It worked OK on | |
1064 | another system with Solaris 8 using apparently the same 5.0 compiler | |
1065 | and the default CFLAGS. | |
1066 | ||
9b4505aa EZ |
1067 | Emacs 21.1 and 21.2 built with Sun's ProWorks PC3.0.1 compiler on |
1068 | Intel/Solaris 8 was reported to abort and dump core during startup. | |
1069 | Using GCC or a newer SUN compiler (Sun WokShop 6 update 2 C 5.3 | |
1070 | 2001/05/15) solves the problem. | |
1071 | ||
f4b79972 EZ |
1072 | Emacs 20.5 and later work on SPARC GNU/Linux with the 32-bit ABI. |
1073 | As of release 2.95, GCC doesn't work properly with the 64-bit ABI | |
1074 | (applicable on UltraSPARC), but that isn't the default mode. | |
1075 | ||
1076 | Emacs 20.3 fails to build on Solaris 2.5 if you use GCC 2.7.2.3. | |
1077 | Installing GCC 2.8 fixes the problem. | |
1078 | ||
1079 | 19.32 works on Solaris 2.4 and 2.5. On Solaris 2.5 | |
1080 | you may need one of these patches to prevent Emacs from crashing | |
1081 | when it starts up: | |
1082 | 103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes) | |
1083 | 102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes) | |
1084 | 103242-04: [README] SunOS 5.5: linker patch (595363 bytes) | |
1085 | ||
1086 | There are reports that using SunSoft cc with -xO4 -xdepend produces | |
1087 | bad code for some part of Emacs. | |
1088 | ||
1089 | Emacs works ok Sunos 4.1.x | |
1090 | provided you completely replace your C shared library | |
1091 | using one of the SunOS 4.1.x jumbo replacement patches from Sun. | |
1092 | Here are the patch numbers for Sunos 4.1.3: | |
1093 | 100890-10 SunOS 4.1.3: domestic libc jumbo patch | |
1094 | 100891-10 SunOS 4.1.3: international libc jumbo patch | |
1095 | ||
1096 | Some people report that Emacs crashes immediately on startup when | |
1097 | used with a non-X terminal, but we think this is due to compiling | |
1098 | with GCC and failing to use GCC's "fixed" system header files. | |
1099 | ||
1100 | Some Sun versions of X windows use the clipboard, not the selections, | |
1101 | for transferring text between clients. The Cut, Paste and Copy items | |
1102 | in the menu bar Edit menu work with the clipboard. | |
1103 | ||
1104 | It's important to include the SunOS version number in the | |
1105 | configuration name. For example, for SunOS release 4.0 on a Sun 3, | |
1106 | use `m68k-sun-sunos4.0'; for SunOS release 4.1 on a Sparc, use | |
1107 | `sparc-sun-sunos4.1'. For SunOS release 4.1.3 on a Sparc, use | |
1108 | `sparc-sun-sunos4.1.3'. Note that shared libraries are now | |
1109 | used by default on SunOS 4.1. | |
1110 | ||
1111 | A user reported irreproducible segmentation faults when using 19.29 | |
1112 | on Solaris 2.3 and 2.4 after compiling it with the Sun compiler. | |
1113 | The problem went away when GCC 2.7.0 was used instead. We do not know | |
1114 | whether anything in Emacs is partly to blame for this. | |
1115 | ||
1116 | X11R6 is set up to make shared libraries only, on Sunos 4. | |
1117 | Therefore, in order to link Emacs, you need to create static X libraries. | |
1118 | To do this, rebuild X11 after setting | |
1119 | #define ForceNormalLib YES | |
1120 | #define SeparateSharedCompile YES | |
1121 | in site.def (after #ifdef AfterVendorCF). | |
1122 | ||
1123 | Use `m68k' for the 68000-based Sun boxes, `sparc' for Sparcstations, | |
1124 | and `i386' for Sun Roadrunners. i386 calls for Sunos4.0. | |
1125 | ||
1126 | If you compile with Sun's ANSI compiler acc, you need additional options | |
1127 | when linking temacs, such as | |
1128 | /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 | |
1129 | (those should be added just before the libraries) and you need to | |
1130 | add -lansi just before -lc. The precise file names depend on the | |
1131 | compiler version, so we cannot easily arrange to supply them. | |
1132 | ||
1133 | On SunOS 4.1.1, do not use /usr/5bin/cc. You can use gcc or/usr/bin/cc. | |
1134 | Make sure the environment variable LD_LIBRARY_PATH is not defined. | |
1135 | ||
1136 | Some people report crashes on SunOS 4.1.3 if SYSTEM_MALLOC is defined. | |
1137 | Others have reported that Emacs works if SYSTEM_MALLOC is defined, and not | |
1138 | if it is undefined. So far we do not know why results vary in this way. | |
1139 | The sources are set up so that SYSTEM_MALLOC is defined; if that crashes, | |
1140 | or if you want the benefit of the relocating memory allocator, you can | |
1141 | try enabling the #undef SYSTEM_MALLOC in src/s/sunos4-1-3.h. | |
1142 | ||
1143 | On Solaris 2, you need to install patch 100947-02 to fix a system bug. | |
1144 | Presumably this patch comes from Sun. You must alter the definition of | |
1145 | LD_SWITCH_SYSTEM if your X11 libraries are not in /usr/openwin/lib. | |
1146 | You must make sure that /usr/ucblib is not in your LD_LIBRARY_PATH. | |
1147 | ||
1148 | On Solaris 2.2, with a multiprocessor SparcCenter 1000, Emacs 19.17 is | |
1149 | reported to hang sometimes if it exits while it has one or more | |
1150 | subprocesses (e.g. the `wakeup' subprocess used by `display-time'). | |
1151 | Emacs and its subprocesses become zombies, and in their zombie state | |
1152 | slow down their host and disable rlogin and telnet. This is most | |
1153 | likely due to a bug in Solaris 2.2's multiprocessor support, | |
1154 | rather than an Emacs bug. | |
1155 | ||
1156 | On Solaris, do not use /usr/ucb/cc. Use /opt/SUNWspro/bin/cc. Make | |
1157 | sure that /usr/ccs/bin and /opt/SUNWspro/bin are in your PATH before | |
1158 | /usr/ucb. (Most free software packages have the same requirement on | |
1159 | Solaris.) | |
1160 | ||
1161 | If you have trouble using open-network-stream, get the distribution | |
1162 | of `bind' (the BSD name-server), build libresolv.a, and link Emacs | |
1163 | with -lresolv, by copying the #definition of LIBS_SYSTEM in | |
1164 | src/s/sunos4-1.h to src/config.h. This problem is due to obsolete | |
1165 | software in the nonshared standard library. | |
1166 | ||
1167 | If you want to use SunWindows, define HAVE_SUN_WINDOWS | |
1168 | in config.h to enable a special interface called `emacstool'. | |
1169 | The definition must *precede* the #include "machine.h". | |
1170 | System version 3.2 is required for this facility to work. | |
1171 | ||
1172 | We recommend that you instead use the X window system, which | |
1173 | has technical advantages, is an industry standard, and is also | |
1174 | free software. The FSF does not support the SunWindows code; | |
1175 | we installed it only on the understanding we would not let it | |
1176 | divert our efforts from what we think is important. | |
1177 | ||
1178 | If you are compiling for X windows, and the X window library was | |
1179 | compiled to use the 68881, then you must edit config.h according | |
1180 | the comments at the end of `src/m/sun3.h'. | |
1181 | ||
1182 | Note that Emacs on a Sun is not really as big as it looks. | |
1183 | As dumped, it includes around 200k of zeros between the | |
1184 | original text section and the original data section | |
1185 | (now remapped as part of the text). These are never | |
1186 | swapped in. | |
1187 | ||
1188 | To build a single Emacs that will run on Sun 2 and Sun 3 | |
1189 | HARDWARE, just build it on the Sun 2. | |
1190 | ||
1191 | On Sunos 4.1.3, the word is that Emacs can loop infinitely | |
1192 | on startup with X due perhaps to a bug in Sunos. Installing all of | |
1193 | these Sun patches fixes the problem. We don't know which of them | |
1194 | are really relevant. | |
1195 | ||
1196 | 100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03 | |
1197 | 101080-01 100103-12 100249-09 100496-02 100564-07 100630-02 100891-10 | |
1198 | 101134-01 100170-09 100296-04 100377-09 100507-04 100567-04 100650-02 | |
1199 | 101070-01 101145-01 100173-10 100305-15 100383-06 100513-04 100570-05 | |
1200 | 100689-01 101071-03 101200-02 100178-09 100338-05 100421-03 100536-02 | |
1201 | 100584-05 100784-01 101072-01 101207-01 | |
1202 | ||
1203 | Tadpole 68K (m68k-tadpole-sysv) | |
1204 | ||
1205 | Changes merged in 19.1. | |
1206 | ||
1207 | You may need to edit Makefile to change the variables LIBDIR and | |
1208 | BINDIR from /usr/local to /usr/contrib. | |
1209 | ||
1210 | To give movemail access to /usr/mail, you may need to execute | |
1211 | ||
1212 | chmod 2755 etc/movemail; chgrp mail etc/movemail | |
1213 | ||
1214 | Tahoe (tahoe-tahoe-bsd4.2 or tahoe-tahoe-bsd4.3) | |
1215 | ||
1216 | 18.52 was known to work on some Tahoes, but a compiler bug intervenes | |
1217 | on others. Some Emacs versions have worked in Unisys 1r4 | |
1218 | (not in 1r3) and CCI I.21. | |
1219 | ||
1220 | If you have trouble compiling `lib-src/loadst.c', turn off the definition | |
1221 | of DKSTAT_HEADER_FILE in `src/m/tahoe.h'. | |
1222 | ||
1223 | Tandem Integrity S2 (mips-tandem-sysv) | |
1224 | ||
1225 | Changes merged in 18.56 but subprocess support is turned off. | |
1226 | You will probably want to see if you can make subprocesses work. | |
1227 | ||
1228 | You must edit `lib-src/Makefile' to define LOADLIBES = -mld. | |
1229 | ||
1230 | Tektronix XD88 (m88k-tektronix-sysv3*) | |
1231 | ||
1232 | The 19.26 pretest was reported to work. | |
1233 | Minor changes merged in 19.19. | |
1234 | ||
1235 | Tektronix 16000 box (6130?) (ns16k-tektronix-bsd) | |
1236 | ||
1237 | Emacs 17.61 worked. | |
1238 | ||
1239 | Tektronix 4300 (m68k-tektronix-bsd) | |
1240 | ||
1241 | Emacs 19.26 pretest reported to work. | |
1242 | ||
1243 | Titan P2 or P3 (titan-titan-sysv) | |
1244 | ||
1245 | Changes probably merged in version 19. | |
1246 | ||
1247 | Ustation E30 (SS5E) (m68k-unisys-unipl) | |
1248 | ||
1249 | Changes merged in 18.52; don't know whether they work. | |
1250 | ||
1251 | Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3), | |
1252 | Ultrix (vax-dec-ultrix), | |
1253 | System V (vax-dec-sysv0, vax-dec-sysv2), or | |
1254 | VMS (vax-dec-vms) | |
1255 | ||
1256 | Works. | |
1257 | ||
1258 | See under Ultrix for problems using X windows on Ultrix (vax-dec-ultrix). | |
1259 | ||
1260 | 18.27 worked on System V rel 2 (vax-dec-sysv2). | |
1261 | ||
1262 | 18.36 worked on System V rel 0 (vax-dec-sysv0). | |
1263 | ||
1264 | Richard Levitte <levitte@e.kth.se> distributes a set of patches to | |
1265 | Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably | |
1266 | won't work very well, or even compile. Levitte is working on a | |
1267 | port, so these problems should be fixed in the near future. | |
1268 | ||
1269 | Whitechapel MG1 (ns16k-whitechapel-?) | |
1270 | ||
1271 | May work. Supposedly no changes were needed except in `src/m/mg1.h' | |
1272 | file. I do not know what Unix version runs on them. | |
1273 | ||
1274 | Wicat (m68k-wicat-sysv) | |
1275 | ||
1276 | Changes merged as of 18.6; whether they work is unknown. | |
1277 | See comments in `src/m/wicat.h' for things you should change | |
1278 | depending on the system and compiler version you have. | |
1279 | \f | |
1280 | Here are notes about some of the systems supported: | |
1281 | ||
1282 | Berkeley 4.1 (bsd4.1) | |
1283 | ||
1284 | Works on vaxes. | |
1285 | ||
1286 | Berkeley 4.2 (bsd4.2) | |
1287 | ||
1288 | Works on several machines. | |
1289 | ||
1290 | Berkeley 4.3 (bsd4.3) | |
1291 | ||
1292 | Works, on Vaxes at least. | |
1293 | ||
1294 | Esix | |
1295 | ||
1296 | The following was written for Emacs 18.59 and has been | |
1297 | slightly adapted for Emacs 19. It may need more change to be correct. | |
1298 | ||
1299 | Use s/usg5-4.h for Esix System V 4.0.[34] systems if you also have | |
1300 | XFree86. If you insist on using the Esix X Window libraries, good | |
1301 | luck. s/esix5r4.h provides a starting point, but doesn't seem to | |
1302 | work consistently. The basic problems involve the need to load | |
1303 | -lX11 *last* in the link command, and even then some things break. | |
1304 | You get best results by installing XFree86 and forgetting about the | |
1305 | Esix stuff unless you want to run IXI xdt3, which really only needs | |
1306 | the Esix X11 shared libraries. | |
1307 | ||
1308 | To compile with XFree86, make sure that your LD_LIBRARY_PATH | |
1309 | contains /usr/X386/lib. Be careful if you also have the Esix X | |
1310 | Window libraries that /usr/X386/lib appears *first* in the | |
1311 | LD_LIBRARY_PATH. Then define C_SWITCH_X_SYSTEM -I/usr/X386/include. | |
1312 | ||
1313 | Linux (actually GNU/Linux) | |
1314 | ||
1315 | Most of the complete systems which use the Linux kernel are close | |
1316 | enough to the GNU system to be considered variant GNU systems. We | |
1317 | call them "Linux-based GNU systems," or GNU/Linux for short. | |
1318 | ||
1319 | It is not coincidence that many of the other components used with | |
1320 | Linux--including GNU Emacs--were developed specifically for the GNU | |
1321 | project. The GNU project was launched in 1984 to develop a free | |
1322 | complete Unix-like operating system. To reach this goal, we had to | |
1323 | develop whatever system components were not available as freely | |
1324 | redistributable software from some other source. | |
1325 | ||
1326 | The GNU project wants users of GNU/Linux systems to be aware of how | |
1327 | these systems relate to the GNU project, because that will help | |
1328 | spread the GNU idea that software should be free--and thus encourage | |
1329 | people to write more free software. See the file LINUX-GNU in this | |
1330 | directory for more explanation. | |
1331 | ||
1332 | Microport | |
1333 | ||
1334 | See under "Intel 386". | |
1335 | ||
1336 | MSDOS | |
1337 | ||
1338 | For installation on MSDOS, see the file INSTALL (search for `MSDOG', | |
1339 | near the end of the file). See the "MS-DOS" chapter of the manual | |
1340 | for information about using Emacs on MSDOS. | |
1341 | ||
1342 | SCO Unix | |
1343 | If you have TCP but not X, you need to edit src/s/sco4.h | |
1344 | to define HAVE_SOCKETS. | |
1345 | ||
1346 | If you are using MMDF instead of sendmail, you need to remove | |
1347 | /usr/lib/sendmail or modify lisp/paths.el before compiling. | |
1348 | lisp/paths.el (which is loaded during the build) will attempt to use | |
1349 | sendmail if it exists. | |
1350 | ||
1351 | If you are using SMAIL, you need to define the macro | |
1352 | SMAIL in config.h. | |
1353 | ||
1354 | System V rel 0 (usg5.0) | |
1355 | ||
1356 | Works, on Vaxes and 3bxxx's. | |
1357 | There are some problems in 18.37 due to shortnames/cccp problems: | |
1358 | use the emacs 17 cpp if you have it. | |
1359 | ||
1360 | System V rel 2 (usg5.2) | |
1361 | ||
1362 | Works on various machines. | |
1363 | On some (maybe all) machines the library -lPW exists and contains | |
1364 | a version of `alloca'. On these machines, to use it, put | |
1365 | #define HAVE_ALLOCA | |
1366 | #define LIB_STANDARD -lPW -lc | |
1367 | in the `src/m/MACHINENAME.h' file for the machine. | |
1368 | ||
1369 | If you find that the character Meta-DEL makes Emacs crash, | |
1370 | find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT] | |
1371 | and make it store 7 there. I have as yet no evidence of whether | |
1372 | this problem, known in HP/UX, exists in other system V versions. | |
1373 | ||
1374 | System V rel 2.2 (usg5.2.2) | |
1375 | ||
1376 | In 5.2.2 AT&T undid, incompatibly, their previous incompatible | |
1377 | change to the way the nlist library is called. A different s- file | |
1378 | is used to enable the other interface. | |
1379 | ||
1380 | They call themselves the right choice--can't they choose? | |
1381 | ||
1382 | Emacs version 18 unexec is currently not working properly | |
1383 | on 5.2.2. Nobody knows why yet. A workaround is to define | |
1384 | NO_REMAP. It is not yet known whether this applies to all | |
1385 | machines running 5.2.2. | |
1386 | ||
1387 | System V rel 3 (usg5.3) | |
1388 | ||
1389 | Some versions of this system support ptys and BSD-style sockets. | |
1390 | On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h. | |
1391 | ||
1392 | If you want to link Emacs with shared libraries, define | |
1393 | USG_SHARED_LIBRARIES. | |
1394 | ||
1395 | You may have to add ANSI idempotence #-lines to your sys/types.h | |
1396 | file to get Emacs to compile correctly. This may be necessary on | |
1397 | other pre-ANSI systems as well. | |
1398 | ||
1399 | On an AT&T 6386WGS using System V Release 3.2 and X11R3, the X support | |
1400 | cannot be made to work. Whether or not the GNU relocating malloc is | |
1401 | used, the symptom is that the first call Emacs makes to sbrk(0) returns | |
1402 | (char *)-1. Sorry, you're stuck with character-only mode. Try | |
1403 | installing Xfree86 to fix this. | |
1404 | ||
1405 | System V rel 4.0.3 and 4.0.4 (usg5.4) | |
1406 | ||
1407 | Supported, including shared libraries for ELF, but ptys do not work | |
1408 | because TIOCGPGRP fails to work on ptys (but Dell 2.2 seems to have | |
1409 | fixed this). This failure is probably due to a misunderstanding of | |
1410 | the consequences of the POSIX spec: many system designers mistakenly | |
1411 | think that POSIX requires this feature to fail. This is untrue; | |
1412 | ptys are an extension, and POSIX says that extensions *when used* | |
1413 | may change the action of standard facilities in any fashion. | |
1414 | ||
1415 | If you get compilation errors about wrong number of | |
1416 | arguments to getpgrp, define GETPGRP_NO_ARG. | |
1417 | ||
1418 | The standard C preprocessor may generate xmakefile incorrectly. However, | |
1419 | /lib/cpp will work, so use `make CPP=/lib/cpp'. Standard cpp | |
1420 | seems to work OK under Dell 2.2. | |
1421 | ||
1422 | Some versions 3 and earlier of V.4, on the Intel 386 and 860, had | |
1423 | problems in the X11 libraries. These prevent Emacs from working | |
1424 | with X. You can use Emacs with X provided your copy of X is based | |
1425 | on X11 release 4 or newer, or is Dell's 2.2 (which is a 4.0.3). | |
1426 | Unfortunately, the only way you can tell whether your X11 library is | |
1427 | new enough is to try compiling Emacs to use X. If emacs runs, your | |
1428 | X11 library is new enough. | |
1429 | ||
1430 | In this context, GSV4 and GSV4i are alternate names for X11R4. | |
1431 | OL2.* is X11R3 based. OL3 is in between X11R3 and X11R4, and may or | |
1432 | may not work, depending on who made the Unix system. If the library | |
1433 | libXol is part of the X distribution, then you have X11R3 and Emacs | |
1434 | won't work with X. | |
1435 | ||
1436 | Most versions of V.4 support sockets. If `/usr/lib/libsocket.so' | |
1437 | exists, your system supports them. If yours does not, you must add | |
1438 | #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h. | |
1439 | (Any system that supports Internet should implement sockets.) | |
1440 | ||
1441 | Ultrix (bsd4.3) | |
1442 | ||
1443 | Recent versions of Ultrix appear to support the features of Berkeley 4.3. | |
1444 | Ultrix was at the BSD 4.2 level for a long time after BSD 4.3 came out. | |
1445 | ||
1446 | Ultrix 3.0 has incompatibilities in its X library if you have the | |
1447 | Ultrix version of X (UWS version 2.0). To solve them, you need to | |
1448 | prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says: | |
1449 | ||
1450 | I added the following lines to config.h after the X defines: | |
1451 | ||
1452 | #if defined(ultrix) && defined(X11) | |
1453 | #define OBJECTS_SYSTEM calloc.o | |
1454 | #endif | |
1455 | ||
1456 | Then I ran the following: | |
1457 | ||
1458 | ar x /usr/lib/libc.a calloc.o | |
1459 | ||
1460 | The problem is said to be gone in UWS version 2.1. | |
1461 | ||
1462 | Uniplus 5.2 (unipl5.2) | |
1463 | ||
1464 | Works, on Dual machines at least. | |
1465 | ||
1466 | VMS (vmsM.N) | |
1467 | ||
1468 | Richard Levitte <levitte@e.kth.se> distributes a set of patches to | |
1469 | Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably | |
1470 | won't work very well, or even compile. Levitte is working on a | |
1471 | port, so these problems should be fixed in the near future. | |
1472 | ||
1473 | Note that Emacs for VMS is usually distributed in a special VMS | |
1474 | distribution. See the file ../vms/VMSINSTALL for info on moving | |
1475 | Unix distributions to VMS, and other VMS-related topics. | |
1476 | ||
1477 | Windows NT/95/98/ME/2000 | |
1478 | ||
1479 | For installation on all versions of the MS-Windows platform, see the | |
1480 | file nt/INSTALL. | |
1481 | ||
1482 | Xenix (xenix) | |
1483 | ||
1484 | Should work in 18.50, but you will need to edit the files | |
1485 | `lib-src/Makefile' and `src/ymakefile' | |
1486 | (see the comments that mention "Xenix" for what to change.) | |
1487 | Compiling Emacs with -O is said not to work. | |
1488 | ||
1489 | If you want Emacs to work with Smail (installed as /usr/bin/smail) | |
1490 | then add the line #define SMAIL to config.h. | |
1491 | ||
1492 | The file etc/XENIX suggests some useful things to do to Xenix | |
1493 | to make the Emacs meta key work. | |
1494 | \f | |
1495 | Local variables: | |
1496 | mode: indented-text | |
1497 | fill-prefix: " " | |
1498 | End: |