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