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