* termcap.c: Don't assume sizes fit in int and never overflow.
[emacs.git] / etc / MACHINES
blob126ae40cb57066c56865b4eed5be1a3373888dca
1 Emacs machines list
3 Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2011
4   Free Software Foundation, Inc.
5 See the end of the file for license conditions.
7 This is a list of the status of GNU Emacs on various machines and systems.
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.
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.
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.
27 Some obsolete platforms are unsupported beginning with Emacs 23.1, see
28 the list at the end of this file.
31 ** Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu)
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.
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".
44 ** Apple Macintosh running Mac OS X
46 ** Apple PowerPC Macintosh running GNU/Linux
48 ** HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux)
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.
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.
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.
63 ** IBM RS/6000 (rs6000-ibm-aix*)
65   Emacs 19.26 is believed to work; its pretest was tested.
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'.
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.
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.
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.
82   As of 19.11, if you strip the Emacs executable, it ceases to work.
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.
87 ** IBM System/390 running GNU/Linux (s390-*-linux-gnu)
89   As of Emacs 21.2, a 31-bit only version is supported on this system.
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)
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).
99   Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26.
100   Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11
101   and non-X11 modes.  (The Cygwin site has source and binaries for 21.2.)
103   On GNU/Linux systems, Emacs 19.23 was said to work properly with libc
104   version 4.5.21, but not with 4.5.19.
106   On GNU/Linux, configure may fail to put these definitions in config.h:
108     #define HAVE_GETTIMEOFDAY
109     #define HAVE_MKDIR
110     #define HAVE_RMDIR
111     #define HAVE_XSCREENNUMBEROFSCREEN
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.
117   On NetBSD and FreeBSD, at one time, it was necessary to use
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.
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.
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.
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.
136 ** Iris 4D (mips-sgi-irix6.*)
138   Emacs 21.3 is reported to work on IRIX 6.5.x.
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
142   flag or otherwise (see cc(1)).
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.
151 ** Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
152                                i386-sun-solaris2.*, sparc*-*-linux-gnu)
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:
163     env CC='/usr/sfw/bin/gcc -m32' ./configure
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
169   compilation):
171     env CC="cc -xarch=v9" CFLAGS='' ./configure    # on SPARC systems
172     env CC="cc -xarch=amd64" CFLAGS='' ./configure # on x86 systems
174   As of version 2.95, GCC doesn't support the 64-bit ABI properly, but
175   later releases may.
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).
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.
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.
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.
199   There are reports that using SunSoft cc with -xO4 -xdepend produces
200   bad code for some part of Emacs.
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.
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.
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.
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.
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
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'.
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
231   with -lresolv, by editing LIBRESOLV in src/Makefile.  This problem is
232   due to obsolete software in the nonshared standard library.
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.
239 ** SuperH (sh[34]*-*-linux-gnu)
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.
245 * Here are notes about some of the systems supported:
247 ** Linux (actually GNU/Linux)
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.
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.
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.
266 ** Mac OS X
268   For installation instructions see the file nextstep/INSTALL.
270 ** MSDOS
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.
276 ** MS-Windows NT/95/98/ME/2000
278   For installation on all versions of the MS-Windows platform, see the
279   file nt/INSTALL.
281 ** X86_64 GNU/Linux
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:
287     env CC="gcc -m32" ./configure --build=i386-linux-gnu \
288       --x-libraries=/usr/X11R6/lib
290   (using the location of the 32-bit X libraries on your system).
293 * Obsolete platforms
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):
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*)
319   Berkeley 4.1 (m/bsd4.1.h)
320   Berkeley 4.2 (m/bsd4.2.h)
321   Berkeley 4.3 (m/bsd4.3.h)
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)
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*)
370   Integrated Solutions 386 machine (m/is386.h)
371   Integrated Solutions `Optimum V' -- m68k-isi-bsd4.2 or -bsd4.3
372   Harris Power PC (powerpc-harris-powerunix)
373   Hewlett-Packard 9000 series 200 or 300 on some platforms -- m68k-hp-bsd or
374     m68k-hp-hpux; note m68k-*-netbsd* still works
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
383   VMS (s/vms.h)
386 Local variables:
387 mode: outline
388 fill-prefix: "  "
389 End:
391 This file is part of GNU Emacs.
393 GNU Emacs is free software: you can redistribute it and/or modify
394 it under the terms of the GNU General Public License as published by
395 the Free Software Foundation, either version 3 of the License, or
396 (at your option) any later version.
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.
403 You should have received a copy of the GNU General Public License
404 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.