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