| 1 | Emacs machines list |
| 2 | |
| 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. |
| 6 | |
| 7 | This is a list of the status of GNU Emacs on various machines and systems. |
| 8 | |
| 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. |
| 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 | |
| 27 | Some obsolete platforms are unsupported beginning with Emacs 23.1, see |
| 28 | the list at the end of this file. |
| 29 | |
| 30 | \f |
| 31 | ** Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu) |
| 32 | |
| 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 | |
| 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 | |
| 44 | ** Apple Macintosh running Mac OS X |
| 45 | |
| 46 | ** Apple PowerPC Macintosh running GNU/Linux |
| 47 | |
| 48 | ** HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux) |
| 49 | |
| 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 | |
| 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. |
| 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 | |
| 63 | ** IBM RS/6000 (rs6000-ibm-aix*) |
| 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 | |
| 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 | |
| 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 | |
| 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. |
| 81 | |
| 82 | As of 19.11, if you strip the Emacs executable, it ceases to work. |
| 83 | |
| 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 | |
| 87 | ** IBM System/390 running GNU/Linux (s390-*-linux-gnu) |
| 88 | |
| 89 | As of Emacs 21.2, a 31-bit only version is supported on this system. |
| 90 | |
| 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) |
| 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 | |
| 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.) |
| 102 | |
| 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. |
| 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 | |
| 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. |
| 121 | |
| 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 | |
| 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 | |
| 136 | ** Iris 4D (mips-sgi-irix6.*) |
| 137 | |
| 138 | Emacs 21.3 is reported to work on IRIX 6.5.x. |
| 139 | |
| 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)). |
| 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 | |
| 151 | ** Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, |
| 152 | i386-sun-solaris2.*, sparc*-*-linux-gnu) |
| 153 | |
| 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 | |
| 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): |
| 170 | |
| 171 | env CC="cc -xarch=v9" CFLAGS='' ./configure # on SPARC systems |
| 172 | env CC="cc -xarch=amd64" CFLAGS='' ./configure # on x86 systems |
| 173 | |
| 174 | As of version 2.95, GCC doesn't support the 64-bit ABI properly, but |
| 175 | later releases may. |
| 176 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 199 | There are reports that using SunSoft cc with -xO4 -xdepend produces |
| 200 | bad code for some part of Emacs. |
| 201 | |
| 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 | |
| 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 | |
| 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 | |
| 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'. |
| 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 |
| 231 | with -lresolv, by editing LIBRESOLV in src/Makefile. This problem is |
| 232 | due to obsolete software in the nonshared standard library. |
| 233 | |
| 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. |
| 238 | |
| 239 | ** SuperH (sh[34]*-*-linux-gnu) |
| 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 | |
| 245 | * Here are notes about some of the systems supported: |
| 246 | |
| 247 | ** Linux (actually GNU/Linux) |
| 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 | |
| 266 | ** Mac OS X |
| 267 | |
| 268 | For installation instructions see the file nextstep/INSTALL. |
| 269 | |
| 270 | ** MSDOS |
| 271 | |
| 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. |
| 275 | |
| 276 | ** MS-Windows NT/95/98/ME/2000 |
| 277 | |
| 278 | For installation on all versions of the MS-Windows platform, see the |
| 279 | file nt/INSTALL. |
| 280 | |
| 281 | ** X86_64 GNU/Linux |
| 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 | |
| 292 | \f |
| 293 | * Obsolete platforms |
| 294 | |
| 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*) |
| 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) |
| 384 | |
| 385 | \f |
| 386 | Local variables: |
| 387 | mode: outline |
| 388 | fill-prefix: " " |
| 389 | End: |
| 390 | |
| 391 | This file is part of GNU Emacs. |
| 392 | |
| 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. |
| 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 |
| 404 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |