1Emacs machines list 2 3Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2021 Free Software 4Foundation, Inc. 5See the end of the file for license conditions. 6 7This is a list of the status of GNU Emacs on various machines and systems. 8 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. 12 13The 'configure' script uses the configuration name, and the results of 14testing the system, to decide which options to use in src/config.h and 15elsewhere (eg Makefiles). 16 17If you add support for a new configuration, add a section to this 18file, and edit the 'configure.ac' source as needed. 19 20Some obsolete platforms are unsupported beginning with Emacs 23.1. See 21the list at the end of this file. 22 23 24* Here are notes about some of the systems supported: 25 26** GNU/Linux 27 28 Most of the complete systems which use the Linux kernel are close 29 enough to the GNU system to be considered variant GNU systems. We 30 call them "Linux-based GNU systems," or GNU/Linux for short. 31 32 It is not coincidence that many of the other components used with 33 Linux--including GNU Emacs--were developed specifically for the GNU 34 project. The GNU project was launched in 1984 to develop a free 35 complete Unix-like operating system. To reach this goal, we had to 36 develop whatever system components were not available as freely 37 redistributable software from some other source. 38 39 The GNU project wants users of GNU/Linux systems to be aware of how 40 these systems relate to the GNU project, because that will help 41 spread the GNU idea that software should be free--and thus encourage 42 people to write more free software. For more information, see 43 <https://www.gnu.org/gnu/linux-and-gnu.html>. 44 45*** 64-bit GNU/Linux 46 47 No special procedures should be needed to build a 64-bit Emacs on a 48 64-bit GNU/Linux system. To build a 32-bit Emacs, first ensure that 49 the necessary 32-bit system libraries and include files are 50 installed. Then use: 51 52 ./configure CC='gcc -m32' --build=i386-linux-gnu \ 53 --x-libraries=/usr/X11R6/lib 54 55 (using the location of the 32-bit X libraries on your system). 56 57*** IBM System/390 running GNU/Linux (s390-*-linux-gnu) 58 59 As of Emacs 21.2, a 31-bit only version is supported on this system. 60 61*** SuperH (sh[34]*-*-linux-gnu) 62 63 Emacs 23.0.60 was reported to work on GNU/Linux (October 2008). 64 This was tested on a little-endian sh4 system (cpu type SH7751R) running 65 Gentoo Linux 2008.0. 66 67** macOS 68 69 Mac OS X 10.6 or newer. Both AArch64 (Arm) and x86-64 systems are 70 supported, but PowerPC is not supported. For installation 71 instructions see the file nextstep/INSTALL. 72 73** Microsoft Windows 74 75 For installation instructions see the file nt/INSTALL. 76 77** MS-DOS 78 79 For installation instructions see the file msdos/INSTALL. 80 See the "MS-DOS" chapter of the manual for information about using 81 Emacs on MS-DOS. 82 83** Solaris 84 85 On Solaris it is also possible to use either GCC or Oracle Developer 86 Studio to build Emacs, by pointing ./configure to the right compiler: 87 88 ./configure # Defaults to 'gcc' if available. 89 ./configure CC='cc' # Oracle Developer Studio 90 91 On Solaris, do not use /usr/ucb/cc. Use Oracle Developer Studio. 92 Make sure that /usr/ccs/bin and the Oracle Developer Studio bin 93 directory (e.g., /opt/developerstudio12.6/bin) are in your PATH 94 before /usr/ucb. (Most free software packages have the same 95 requirement on Solaris.) With this compiler, use 'cc -E' as the 96 preprocessor. If this inserts extra whitespace into its output (see 97 the PROBLEMS file), add the option '-Xs'. 98 99 To build a 64-bit Emacs (with larger maximum buffer size) on a 100 Solaris system that defaults to 32-bit executables, specify the -m64 101 compiler option. For example: 102 103 ./configure CC='gcc -m64' # GCC 104 ./configure CC='cc -m64' # Oracle Developer Studio 105 106** Haiku 107 108 On 32-bit Haiku it is required that the newer GCC 8 be used, instead 109 of the legacy GCC 2 used by default. This can be achieved by 110 invoking configure inside a shell launched by the 'setarch' program 111 invoked as 'setarch x86'. 112 113 When building with packages discovered through pkg-config, such as 114 libpng, on a GCC 2/GCC 8 hybrid system, simply evaluating 'setarch 115 x86' is insufficient to ensure that all required libraries are found 116 at their correct locations. To avoid this problem, set the 117 environment variable 'PKG_CONFIG_PATH' to the GCC 8 pkg-config 118 directory at '/system/develop/lib/x86/pkgconfig/' before configuring 119 Emacs. 120 121 If GCC complains about not being able to resolve symbols such as 122 "BHandler::LockLooper", you are almost certainly experiencing this 123 problem. 124 125 Haiku running on non-x86 systems has not been tested. It is 126 anticipated that Haiku running on big-endian systems will experience 127 problems when Emacs is built with Haiku windowing support, but there 128 doesn't seem to be any reliable way to get Haiku running on a 129 big-endian system at present. 130 131 The earliest release of Haiku that will successfully compile Emacs 132 is R1/Beta2. For windowing support, R1/Beta3 or later is required. 133 134 135* Obsolete platforms 136 137Support for many obsolete platforms was removed in Emacs 23.1. 138If for some reason you encounter an ancient machine where current 139Emacs does not compile, try an older release like Emacs 22.3. 140 141 142Local variables: 143mode: outline 144fill-prefix: " " 145End: 146 147This file is part of GNU Emacs. 148 149GNU Emacs is free software: you can redistribute it and/or modify 150it under the terms of the GNU General Public License as published by 151the Free Software Foundation, either version 3 of the License, or 152(at your option) any later version. 153 154GNU Emacs is distributed in the hope that it will be useful, 155but WITHOUT ANY WARRANTY; without even the implied warranty of 156MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 157GNU General Public License for more details. 158 159You should have received a copy of the GNU General Public License 160along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. 161