Commit | Line | Data |
---|---|---|
b727702b EZ |
1 | Emacs machines list |
2 | ||
95df8112 GM |
3 | Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2011 |
4 | Free Software Foundation, Inc. | |
5b87ad55 | 5 | See the end of the file for license conditions. |
b727702b | 6 | |
f4b79972 EZ |
7 | This is a list of the status of GNU Emacs on various machines and systems. |
8 | ||
ad5a7209 GM |
9 | Information about older releases, and platforms that are no longer |
10 | supported, has been removed. Consult older versions of this file if | |
11 | you are interested in this information. | |
f4b79972 EZ |
12 | |
13 | The `configure' script uses the configuration name to decide which | |
14 | machine and operating system description files `src/config.h' should | |
15 | include. The machine description files are all in `src/m', and have | |
16 | names similar to, but not identical to, the machine names used in | |
17 | configuration names. The operating system files are all in `src/s', | |
18 | and are named similarly. See the `configure' script if you need to | |
19 | know which configuration names use which machine and operating system | |
20 | description files. | |
21 | ||
22 | If you add support for a new configuration, add a section to this | |
23 | file, and then edit the `configure' script to tell it which | |
24 | configuration name(s) should select your new machine description and | |
25 | system description files. | |
26 | ||
e10bf4de | 27 | Some obsolete platforms are unsupported beginning with Emacs 23.1, see |
ad5a7209 | 28 | the list at the end of this file. |
e10bf4de | 29 | |
f4b79972 | 30 | \f |
ad5a7209 | 31 | ** Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu) |
f4b79972 | 32 | |
538af1cd EZ |
33 | DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) |
34 | is reported to produce bogus binaries of Emacs 21.2 when the | |
35 | command-line switches "-O4 -arch ev6 -tune ev6" are used. Using | |
36 | just -O4 produces a good executable. | |
37 | ||
f4b79972 EZ |
38 | For 4.0 revision 564, and 4.0A and 4.0B, Emacs 20 seems to work |
39 | with no special configuration options. However, if you use GCC as | |
40 | your compiler, you will need version 2.8.1 or later, as older | |
41 | versions fail to build with a message "Invalid dimension for the | |
42 | charset-ID 160". | |
43 | ||
ad5a7209 | 44 | ** Apple Macintosh running Mac OS X |
f4b79972 | 45 | |
ad5a7209 | 46 | ** Apple PowerPC Macintosh running GNU/Linux |
f4b79972 | 47 | |
ad5a7209 | 48 | ** HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux) |
f4b79972 | 49 | |
f4b79972 EZ |
50 | Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install |
51 | the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; | |
52 | when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, | |
53 | the subprocess features failed to work. | |
54 | ||
ad5a7209 GM |
55 | If you turn on the DSUSP character (delayed suspend), Emacs 19.26 |
56 | does not know how to turn it off on HPUX. You need to turn it off manually. | |
f4b79972 EZ |
57 | |
58 | If you are running HP/UX release 8.0 or later, you need the optional | |
59 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX | |
60 | do not require any special software). If the file "/etc/filesets/C" | |
61 | exists on your machine, you have this software, otherwise you do not. | |
62 | ||
ad5a7209 | 63 | ** IBM RS/6000 (rs6000-ibm-aix*) |
f4b79972 EZ |
64 | |
65 | Emacs 19.26 is believed to work; its pretest was tested. | |
66 | ||
67 | Compiling with the system's `cc' and CFLAGS containing `-O5' might | |
68 | fail because libXbsd isn't found. This is a compiler bug; | |
69 | re-configure Emacs so that it isn't compiled with `-O5'. | |
70 | ||
a9f66ecb EZ |
71 | On AIX 4.3.x and 4.4, compiling with /bin/c89 fails because it |
72 | treats certain warnings as errors. Use `cc' instead. | |
73 | ||
f4b79972 EZ |
74 | At last report, Emacs didn't run well on terminals. Informed |
75 | persons say that the tty VMIN and VTIME settings have been | |
76 | corrupted; if you have a fix, please send it to us. | |
77 | ||
ad5a7209 GM |
78 | Compiling with -O using the IBM compiler has been known to make |
79 | Emacs work incorrectly. There are reports that IBM compiler versions | |
80 | earlier than 1.03.00.02 fail even without -O. | |
f4b79972 EZ |
81 | |
82 | As of 19.11, if you strip the Emacs executable, it ceases to work. | |
83 | ||
f4b79972 EZ |
84 | If anyone can fix the above problems, or confirm that they don't happen |
85 | with certain versions of various programs, we would appreciate it. | |
86 | ||
ad5a7209 | 87 | ** IBM System/390 running GNU/Linux (s390-*-linux-gnu) |
cc9458f7 | 88 | |
81ac4f35 | 89 | As of Emacs 21.2, a 31-bit only version is supported on this system. |
cc9458f7 | 90 | |
ad5a7209 GM |
91 | ** Intel 386 (i386-*-freebsd, i386-*-linux-gnu, |
92 | i386-*-cygwin, i386-*-msdos, i386-*-windowsnt. | |
93 | i386 can be replaced with i486, i586, or i686) | |
f4b79972 EZ |
94 | |
95 | In the above configurations, * means that the manufacturer's name | |
96 | you specify does not matter, and you can use any name you like | |
97 | (but it should not contain any dashes or stars). | |
98 | ||
f4b79972 | 99 | Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. |
bf247b6e | 100 | Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11 |
c60ee5e7 | 101 | and non-X11 modes. (The Cygwin site has source and binaries for 21.2.) |
f4b79972 EZ |
102 | |
103 | On GNU/Linux systems, Emacs 19.23 was said to work properly with libc | |
ad5a7209 | 104 | version 4.5.21, but not with 4.5.19. |
f4b79972 EZ |
105 | |
106 | On GNU/Linux, configure may fail to put these definitions in config.h: | |
107 | ||
108 | #define HAVE_GETTIMEOFDAY | |
109 | #define HAVE_MKDIR | |
110 | #define HAVE_RMDIR | |
111 | #define HAVE_XSCREENNUMBEROFSCREEN | |
112 | ||
113 | To work around the problem, add those definitions by hand. | |
114 | It is possible that this problem happens only with X11R6. | |
115 | Newer system versions have fixed it. | |
116 | ||
c796009c | 117 | On NetBSD and FreeBSD, at one time, it was necessary to use |
f4b79972 EZ |
118 | GNU make, not the system's make. Assuming it's installed as gmake, |
119 | do `gmake install MAKE=gmake'. However, more recently it is | |
120 | reported that using the system Make on NetBSD 1.3.1 works ok. | |
121 | ||
f4b79972 EZ |
122 | Note that use of Linux with GCC 2.4 and the DLL 4.4 libraries |
123 | requires the experimental "net 2" network patches (no relation to | |
124 | Berkeley Net 2). There is a report that (some version of) Linux | |
125 | requires including `/usr/src/linux/include/linux' in buffer.c | |
126 | but no coherent explanation of why that might be so. If it is so, | |
127 | in current versions of Linux, something else should probably be changed. | |
128 | ||
f4b79972 EZ |
129 | You may find that adding -I/usr/X/include or -I/usr/netinclude or both |
130 | to CFLAGS avoids compilation errors on certain systems. | |
131 | ||
132 | Some versions convince sysdep.c to try to use `struct tchars' | |
133 | but define `struct tc' instead; add `#define tchars tc' | |
134 | to config.h to solve this problem. | |
135 | ||
ad5a7209 | 136 | ** Iris 4D (mips-sgi-irix6.*) |
f4b79972 | 137 | |
17ce526b RS |
138 | Emacs 21.3 is reported to work on IRIX 6.5.x. |
139 | ||
f4b79972 EZ |
140 | You can build a 64-bit executable (with larger maximum buffer size) |
141 | on Irix 6.5 by specifying the 64-bit ABI using the `-64' compiler | |
ad5a7209 | 142 | flag or otherwise (see cc(1)). |
f4b79972 EZ |
143 | |
144 | If compiling with GCC on Irix 6 yields an error "conflicting types | |
145 | for `initstate'", install GCC 2.95 or a newer version, and this | |
146 | problem should go away. It is possible that this problem results | |
147 | from upgrading the operating system without reinstalling GCC; so you | |
148 | could also try reinstalling the same version of GCC, and telling us | |
149 | whether that fixes the problem. | |
150 | ||
ad5a7209 | 151 | ** Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, |
f2a77c3a | 152 | i386-sun-solaris2.*, sparc*-*-linux-gnu) |
f4b79972 | 153 | |
5ebc76c9 EZ |
154 | To build a 32-bit Emacs (i.e. if you are having any sort of problem |
155 | bootstrapping a 64-bit version), you can use the Sun Studio compiler | |
156 | and configure Emacs with: | |
157 | env CC="cc -xarch=v7" CFLAGS='' ./configure # on SPARC systems | |
158 | env CC="cc -xarch=386" CFLAGS='' ./configure # on x86 systems | |
159 | On Solaris 2.10, it is also possible to use /usr/sfw/bin/gcc to build | |
160 | a 32-bit version of Emacs. Just make sure you point ./configure to | |
161 | the right compiler: | |
162 | ||
163 | env CC='/usr/sfw/bin/gcc -m32' ./configure | |
164 | ||
f4b79972 EZ |
165 | To build a 64-bit Emacs (with larger maximum buffer size and |
166 | including large file support) on a Solaris system which supports | |
167 | 64-bit executables, use the Sun compiler, configuring something like | |
168 | this (see the cc documentation for information on 64-bit | |
5ebc76c9 EZ |
169 | compilation): |
170 | ||
171 | env CC="cc -xarch=v9" CFLAGS='' ./configure # on SPARC systems | |
172 | env CC="cc -xarch=amd64" CFLAGS='' ./configure # on x86 systems | |
f4b79972 EZ |
173 | |
174 | As of version 2.95, GCC doesn't support the 64-bit ABI properly, but | |
175 | later releases may. | |
176 | ||
1ebfc51b EZ |
177 | Some versions of Solaris 8 have a bug in their XIM (X Input Method) |
178 | implementation which causes Emacs to dump core when one of several | |
179 | frames is closed. To avoid this, either install patch 108773-12 | |
180 | (for Sparc) or 108874-12 (for x86), or configure Emacs with the | |
181 | `--with-xim=no' switch (you can use Leim input methods instead). | |
182 | ||
f4b79972 EZ |
183 | On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15 |
184 | C 5.0 failed, apparently with non-default CFLAGS, most probably due to | |
185 | compiler bugs. Using Sun Solaris 2.7 Sun WorkShop 6 update 1 C | |
186 | release was reported to work without problems. It worked OK on | |
187 | another system with Solaris 8 using apparently the same 5.0 compiler | |
188 | and the default CFLAGS. | |
189 | ||
9b4505aa EZ |
190 | Emacs 21.1 and 21.2 built with Sun's ProWorks PC3.0.1 compiler on |
191 | Intel/Solaris 8 was reported to abort and dump core during startup. | |
192 | Using GCC or a newer SUN compiler (Sun WokShop 6 update 2 C 5.3 | |
193 | 2001/05/15) solves the problem. | |
194 | ||
f4b79972 EZ |
195 | Emacs 20.5 and later work on SPARC GNU/Linux with the 32-bit ABI. |
196 | As of release 2.95, GCC doesn't work properly with the 64-bit ABI | |
197 | (applicable on UltraSPARC), but that isn't the default mode. | |
198 | ||
f4b79972 EZ |
199 | There are reports that using SunSoft cc with -xO4 -xdepend produces |
200 | bad code for some part of Emacs. | |
201 | ||
f4b79972 EZ |
202 | Some people report that Emacs crashes immediately on startup when |
203 | used with a non-X terminal, but we think this is due to compiling | |
204 | with GCC and failing to use GCC's "fixed" system header files. | |
205 | ||
206 | Some Sun versions of X windows use the clipboard, not the selections, | |
207 | for transferring text between clients. The Cut, Paste and Copy items | |
208 | in the menu bar Edit menu work with the clipboard. | |
209 | ||
f4b79972 EZ |
210 | If you compile with Sun's ANSI compiler acc, you need additional options |
211 | when linking temacs, such as | |
212 | /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 | |
213 | (those should be added just before the libraries) and you need to | |
214 | add -lansi just before -lc. The precise file names depend on the | |
215 | compiler version, so we cannot easily arrange to supply them. | |
216 | ||
f4b79972 EZ |
217 | On Solaris 2, you need to install patch 100947-02 to fix a system bug. |
218 | Presumably this patch comes from Sun. You must alter the definition of | |
219 | LD_SWITCH_SYSTEM if your X11 libraries are not in /usr/openwin/lib. | |
220 | You must make sure that /usr/ucblib is not in your LD_LIBRARY_PATH. | |
221 | ||
f4b79972 EZ |
222 | On Solaris, do not use /usr/ucb/cc. Use /opt/SUNWspro/bin/cc. Make |
223 | sure that /usr/ccs/bin and /opt/SUNWspro/bin are in your PATH before | |
224 | /usr/ucb. (Most free software packages have the same requirement on | |
67b33cb0 GM |
225 | Solaris.) With this compiler, use `/opt/SUNWspro/bin/cc -E' as the |
226 | preprocessor. If this inserts extra whitespace into its output (see | |
227 | the PROBLEMS file) then add the option `-Xs'. | |
f4b79972 EZ |
228 | |
229 | If you have trouble using open-network-stream, get the distribution | |
230 | of `bind' (the BSD name-server), build libresolv.a, and link Emacs | |
ad5a7209 GM |
231 | with -lresolv, by editing LIBRESOLV in src/Makefile. This problem is |
232 | due to obsolete software in the nonshared standard library. | |
f4b79972 | 233 | |
ad5a7209 GM |
234 | Note that Emacs on a Sun is not really as big as it looks. As |
235 | dumped, it includes around 200k of zeros between the original text | |
236 | section and the original data section (now remapped as part of the | |
237 | text). These are never swapped in. | |
f4b79972 | 238 | |
ad5a7209 | 239 | ** SuperH (sh[34]*-*-linux-gnu) |
fac5dc61 DN |
240 | |
241 | Emacs 23.0.60 was reported to work on GNU/Linux (October 2008). | |
242 | Tested on a little-endian sh4 system (cpu type SH7751R) running | |
243 | Gentoo Linux 2008.0. | |
244 | ||
ad5a7209 | 245 | * Here are notes about some of the systems supported: |
f4b79972 | 246 | |
ad5a7209 | 247 | ** Linux (actually GNU/Linux) |
f4b79972 EZ |
248 | |
249 | Most of the complete systems which use the Linux kernel are close | |
250 | enough to the GNU system to be considered variant GNU systems. We | |
251 | call them "Linux-based GNU systems," or GNU/Linux for short. | |
252 | ||
253 | It is not coincidence that many of the other components used with | |
254 | Linux--including GNU Emacs--were developed specifically for the GNU | |
255 | project. The GNU project was launched in 1984 to develop a free | |
256 | complete Unix-like operating system. To reach this goal, we had to | |
257 | develop whatever system components were not available as freely | |
258 | redistributable software from some other source. | |
259 | ||
260 | The GNU project wants users of GNU/Linux systems to be aware of how | |
261 | these systems relate to the GNU project, because that will help | |
262 | spread the GNU idea that software should be free--and thus encourage | |
263 | people to write more free software. See the file LINUX-GNU in this | |
264 | directory for more explanation. | |
265 | ||
ad5a7209 | 266 | ** Mac OS X |
f4b79972 | 267 | |
ad5a7209 | 268 | For installation instructions see the file nextstep/INSTALL. |
f4b79972 | 269 | |
ad5a7209 | 270 | ** MSDOS |
f4b79972 | 271 | |
ad5a7209 GM |
272 | For installation on MSDOS, see the file msdos/INSTALL. |
273 | See the "MS-DOS" chapter of the manual for information about using | |
274 | Emacs on MSDOS. | |
f4b79972 | 275 | |
ad5a7209 | 276 | ** MS-Windows NT/95/98/ME/2000 |
f4b79972 EZ |
277 | |
278 | For installation on all versions of the MS-Windows platform, see the | |
279 | file nt/INSTALL. | |
280 | ||
ad5a7209 | 281 | ** X86_64 GNU/Linux |
745377e8 GM |
282 | |
283 | No special procedures should be needed to build a 64-bit Emacs. To | |
284 | build a 32-bit Emacs, first ensure that the necessary 32-bit system | |
285 | libraries and include files are installed. Then use: | |
286 | ||
287 | env CC="gcc -m32" ./configure --build=i386-linux-gnu \ | |
288 | --x-libraries=/usr/X11R6/lib | |
289 | ||
290 | (using the location of the 32-bit X libraries on your system). | |
291 | ||
ad5a7209 GM |
292 | \f |
293 | * Obsolete platforms | |
294 | ||
e10bf4de EZ |
295 | Support for the following obsolete platforms was removed in Emacs 23.1 |
296 | (the names in parentheses state the files in src/ that were removed): | |
297 | ||
298 | Apollo SR10.x (unexapollo.c) | |
299 | Convex (unexconvex.c and m/convex.c) | |
300 | Xenix (unexenix.c and s/xenix.h) | |
301 | Iris (unexmips.c m/iris4d.h m/irist.h s/iris3-5.h s/iris3-6.h) | |
302 | Gould (m/gould*) | |
303 | Siemens machines running Sinix (unexsni.c) | |
304 | Harris CXUX (s/cxux*) | |
305 | ESIX, a variant of v.5.3 for the 386 (s/esix*) | |
306 | Interactive (ISC) Unix (s/isc*) | |
307 | Sony News (s/newsos*) | |
308 | RTU 3.0, ucb universe (s/rtu.h) | |
309 | UniSoft's UniPlus 5.2 (s/uniplus.h) | |
310 | UMAX (s/umax.h) | |
311 | AT&T UNIX PC model 7300 (m/7300.h) | |
312 | Acorn | |
313 | Alliant (m/alliant*) | |
314 | Amdahl (m/amdahl*) | |
315 | Altos 3068 Unix System V Release 2 (m/altos.h) | |
316 | Apollo (m/apollo.h) | |
317 | AT&T 3b (m/att3b.h) | |
318 | Aviion (m/aviion*) | |
f2a77c3a DN |
319 | Berkeley 4.1 (m/bsd4.1.h) |
320 | Berkeley 4.2 (m/bsd4.2.h) | |
321 | Berkeley 4.3 (m/bsd4.3.h) | |
e10bf4de EZ |
322 | Celerity (m/celerity.h) |
323 | clipper (m/clipper.h) | |
324 | convergent S series (m/cnvrgnt.h) | |
325 | cydra (m/cydra5.h) | |
326 | Motorola System V/88 machines (m/delta88k.h) | |
327 | Bull DPX/2 range (m/dpx2.h) | |
328 | Dual machines using unisoft port (m/dual.h) | |
329 | Elxsi machine (running enix) (m/elxsi.h) | |
330 | Fujitsu F301 machine (m/f301.h) | |
331 | i860 (m/i860.h) | |
332 | ibm ps/2 aix386 (m/ibmps2-aix.h) | |
333 | ISI 68000's (m/is*) | |
334 | Masscomp 5000 series running RTU, ucb universe (m/masscomp.h) | |
335 | Megatest 68000's (m/mega68.h) | |
336 | Whitechapel Computer Works MG1 (ns16000 based) (m/mg1.h) | |
337 | Harris Night Hawk Series 1200 and Series 3000 (m/nh3000.h m/nh4000.h) | |
338 | ns16000 (m/ns16000.h) | |
339 | National Semiconductor 32000, running Genix (m/ns32000.h) | |
340 | TI Nu machines using system V (m/nu.h) | |
341 | HLH Orion (m/orion.h m/orion105.h) | |
342 | Paragon i860 (m/paragon.h) | |
343 | PFU A-series (m/pfa50.h) | |
344 | Plexus running System V.2 (m/plexus.h) | |
345 | pyramid. (m/pyramid.h) | |
e10bf4de EZ |
346 | Bull SPS-7 (m/sps7.h) |
347 | Hitachi SR2001/SR2201 (m/sr2k.h) | |
348 | Stride (m/stride.h) | |
349 | Sun 1 (m/sun1.h) | |
350 | Sun 2 (m/sun2.h) | |
351 | SEQUENT SYMMETRY (m/symmetry.h) | |
352 | Tadpole 68k machines (m/tad68k.h) | |
353 | tahoe (m/tahoe.h) | |
354 | targon31 (m/targon31.h) | |
355 | Tektronix* (m/tek4300.h m/tekxd88.h) | |
356 | NCR Tower 32 running System V.2 (m/tower32.h) | |
357 | NCR Tower 32 running System V.3 (m/tower32v3.h) | |
358 | U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30) (m/ustation.h) | |
359 | Wicat (m/wicat.h) | |
360 | Honeywell XPS100 running UNIX System V.2 (m/xps100.h) | |
361 | Data General's DG/UX (s/dgux*) | |
362 | Irix before version 6 | |
363 | osf1 (s/osf*) | |
364 | SunOS4 (s/sunos*) | |
365 | RISCiX (s/riscix*) | |
366 | SCO 3.2v4 (s/sco4.h) | |
367 | SCO 3.2v5 (s/sco5.h) | |
368 | Sun's 386-based RoadRunner (m/sun386.h) | |
369 | Sun3 machines (m/sun3*) | |
0d5998d1 | 370 | Integrated Solutions 386 machine (m/is386.h) |
f2a77c3a | 371 | Integrated Solutions `Optimum V' -- m68k-isi-bsd4.2 or -bsd4.3 |
8aa3be83 | 372 | Harris Power PC (powerpc-harris-powerunix) |
e6857906 GM |
373 | Hewlett-Packard 9000 series 200 or 300 on some platforms -- m68k-hp-bsd or |
374 | m68k-hp-hpux; note m68k-*-netbsd* still works | |
f2a77c3a DN |
375 | IBM PS/2 -- i386-ibm-aix1.1 or i386-ibm-aix1.2 |
376 | GEC 63 -- local-gec63-usg5.2 | |
377 | Tandem Integrity S2 -- mips-tandem-sysv | |
378 | System V rel 0 -- usg5.0 | |
379 | System V rel 2 -- usg5.2 | |
380 | System V rel 2.2 -- usg5.2.2 | |
381 | System V rel 3 -- usg5.3 | |
382 | Ultrix -- bsd4.3 | |
7c2fb837 | 383 | VMS (s/vms.h) |
e10bf4de | 384 | |
f4b79972 EZ |
385 | \f |
386 | Local variables: | |
ad5a7209 | 387 | mode: outline |
f4b79972 EZ |
388 | fill-prefix: " " |
389 | End: | |
ab5796a9 | 390 | |
5b87ad55 GM |
391 | This file is part of GNU Emacs. |
392 | ||
ab73e885 | 393 | GNU Emacs is free software: you can redistribute it and/or modify |
5b87ad55 | 394 | it under the terms of the GNU General Public License as published by |
ab73e885 GM |
395 | the Free Software Foundation, either version 3 of the License, or |
396 | (at your option) any later version. | |
5b87ad55 GM |
397 | |
398 | GNU Emacs is distributed in the hope that it will be useful, | |
399 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
400 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
401 | GNU General Public License for more details. | |
402 | ||
403 | You should have received a copy of the GNU General Public License | |
ab73e885 | 404 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |