* PROBLEMS: Remove obsolete comment re Yellow Dog (Bug#9403).
[bpt/emacs.git] / etc / MACHINES
CommitLineData
b727702b
EZ
1Emacs machines list
2
95df8112
GM
3Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2011
4 Free Software Foundation, Inc.
5b87ad55 5See the end of the file for license conditions.
b727702b 6
f4b79972
EZ
7This is a list of the status of GNU Emacs on various machines and systems.
8
ad5a7209
GM
9Information about older releases, and platforms that are no longer
10supported, has been removed. Consult older versions of this file if
11you are interested in this information.
f4b79972
EZ
12
13The `configure' script uses the configuration name to decide which
14machine and operating system description files `src/config.h' should
15include. The machine description files are all in `src/m', and have
16names similar to, but not identical to, the machine names used in
17configuration names. The operating system files are all in `src/s',
18and are named similarly. See the `configure' script if you need to
19know which configuration names use which machine and operating system
20description files.
21
22If you add support for a new configuration, add a section to this
23file, and then edit the `configure' script to tell it which
24configuration name(s) should select your new machine description and
25system description files.
26
e10bf4de 27Some obsolete platforms are unsupported beginning with Emacs 23.1, see
ad5a7209 28the 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
295Support 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
386Local variables:
ad5a7209 387mode: outline
f4b79972
EZ
388fill-prefix: " "
389End:
ab5796a9 390
5b87ad55
GM
391This file is part of GNU Emacs.
392
ab73e885 393GNU Emacs is free software: you can redistribute it and/or modify
5b87ad55 394it under the terms of the GNU General Public License as published by
ab73e885
GM
395the Free Software Foundation, either version 3 of the License, or
396(at your option) any later version.
5b87ad55
GM
397
398GNU Emacs is distributed in the hope that it will be useful,
399but WITHOUT ANY WARRANTY; without even the implied warranty of
400MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
401GNU General Public License for more details.
402
403You should have received a copy of the GNU General Public License
ab73e885 404along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.