mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
* etc/MACHINES: Delete note on platforms removed in Emacs 23.1 from the introduction, since it is duplicated again at the end of the file.
176 lines
6.7 KiB
Text
176 lines
6.7 KiB
Text
Emacs machines list
|
||
|
||
Copyright (C) 1989-2025 Free Software Foundation, Inc.
|
||
See the end of the file for license conditions.
|
||
|
||
This is a list of the status of GNU Emacs on various machines and systems.
|
||
|
||
Information about older releases, and platforms that are no longer
|
||
supported, has been removed. Consult older versions of this file if
|
||
you are interested in this information.
|
||
|
||
The 'configure' script uses the configuration name, and the results of
|
||
testing the system, to decide which options to use in src/config.h and
|
||
elsewhere (eg Makefiles).
|
||
|
||
If you add support for a new configuration, add a section to this
|
||
file, and edit the 'configure.ac' source as needed.
|
||
|
||
|
||
* Here are notes about some of the systems supported:
|
||
|
||
** GNU/Linux
|
||
|
||
Most of the complete systems which use the Linux kernel are close
|
||
enough to the GNU system to be considered variant GNU systems. We
|
||
call them "Linux-based GNU systems," or GNU/Linux for short.
|
||
|
||
It is not coincidence that many of the other components used with
|
||
Linux--including GNU Emacs--were developed specifically for the GNU
|
||
project. The GNU project was launched in 1984 to develop a free
|
||
complete Unix-like operating system. To reach this goal, we had to
|
||
develop whatever system components were not available as freely
|
||
redistributable software from some other source.
|
||
|
||
The GNU project wants users of GNU/Linux systems to be aware of how
|
||
these systems relate to the GNU project, because that will help
|
||
spread the GNU idea that software should be free--and thus encourage
|
||
people to write more free software. For more information, see
|
||
<https://www.gnu.org/gnu/linux-and-gnu.html>.
|
||
|
||
*** 64-bit GNU/Linux
|
||
|
||
No special procedures should be needed to build a 64-bit Emacs on a
|
||
64-bit GNU/Linux system. To build a 32-bit Emacs, first ensure that
|
||
the necessary 32-bit system libraries and include files are
|
||
installed. Then use:
|
||
|
||
./configure CC='gcc -m32' --build=i386-linux-gnu \
|
||
--x-libraries=/usr/X11R6/lib
|
||
|
||
(using the location of the 32-bit X libraries on your system).
|
||
|
||
*** IBM System/390 running GNU/Linux (s390-*-linux-gnu)
|
||
|
||
As of Emacs 21.2, a 31-bit only version is supported on this system.
|
||
|
||
*** SuperH (sh[34]*-*-linux-gnu)
|
||
|
||
Emacs 23.0.60 was reported to work on GNU/Linux (October 2008).
|
||
This was tested on a little-endian sh4 system (cpu type SH7751R) running
|
||
Gentoo Linux 2008.0.
|
||
|
||
** macOS
|
||
|
||
Mac OS X 10.6 or newer. Both AArch64 (Arm) and x86-64 systems are
|
||
supported, but PowerPC is not supported. For installation
|
||
instructions see the file nextstep/INSTALL.
|
||
|
||
** Microsoft Windows
|
||
|
||
For installation instructions see the file nt/INSTALL.
|
||
|
||
** MS-DOS
|
||
|
||
For installation instructions see the file msdos/INSTALL.
|
||
See the "MS-DOS" chapter of the manual for information about using
|
||
Emacs on MS-DOS.
|
||
|
||
** Solaris
|
||
|
||
On Solaris it is also possible to use either GCC or Oracle Developer
|
||
Studio to build Emacs, by pointing ./configure to the right compiler:
|
||
|
||
./configure # Defaults to 'gcc' if available.
|
||
./configure CC='cc' # Oracle Developer Studio
|
||
|
||
On Solaris, do not use /usr/ucb/cc. Use Oracle Developer Studio.
|
||
Make sure that /usr/ccs/bin and the Oracle Developer Studio bin
|
||
directory (e.g., /opt/developerstudio12.6/bin) are in your PATH
|
||
before /usr/ucb. (Most free software packages have the same
|
||
requirement on Solaris.) With this compiler, use 'cc -E' as the
|
||
preprocessor. If this inserts extra whitespace into its output (see
|
||
the PROBLEMS file), add the option '-Xs'.
|
||
|
||
To build a 64-bit Emacs (with larger maximum buffer size) on a
|
||
Solaris system that defaults to 32-bit executables, specify the -m64
|
||
compiler option. For example:
|
||
|
||
./configure CC='gcc -m64' # GCC
|
||
./configure CC='cc -m64' # Oracle Developer Studio
|
||
|
||
** Haiku
|
||
|
||
On 32-bit Haiku it is required that the newer GCC 8 be used, instead
|
||
of the legacy GCC 2 used by default. This can be achieved by
|
||
invoking configure inside a shell launched by the 'setarch' program
|
||
invoked as 'setarch x86'.
|
||
|
||
When building with packages discovered through pkg-config, such as
|
||
libpng, on a GCC 2/GCC 8 hybrid system, simply evaluating 'setarch
|
||
x86' is insufficient to ensure that all required libraries are found
|
||
at their correct locations. To avoid this problem, set the
|
||
environment variable 'PKG_CONFIG_PATH' to the GCC 8 pkg-config
|
||
directory at '/system/develop/lib/x86/pkgconfig/' before configuring
|
||
Emacs.
|
||
|
||
If GCC complains about not being able to resolve symbols such as
|
||
"BHandler::LockLooper", you are almost certainly experiencing this
|
||
problem.
|
||
|
||
Haiku running on non-x86 systems has not been tested. It is
|
||
anticipated that Haiku running on big-endian systems will experience
|
||
problems when Emacs is built with Haiku windowing support, but there
|
||
doesn't seem to be any reliable way to get Haiku running on a
|
||
big-endian system at present.
|
||
|
||
The earliest release of Haiku that will successfully compile Emacs
|
||
is R1/Beta2. For windowing support, R1/Beta3 or later is required.
|
||
|
||
** Android
|
||
|
||
Emacs is known to run on all Android versions from 2.2 onwards, on
|
||
Linux kernel 2.26.29 or later.
|
||
|
||
Android 2.2 has only been tested on ARM. mips64 has not been
|
||
tested, but builds. With these exceptions, Emacs is known to run on
|
||
all supported versions of Android on all supported machines: arm,
|
||
armv7, arm64, x86, x86_64, and mips.
|
||
|
||
See the file java/INSTALL for detailed installation instructions.
|
||
|
||
It is also possible to build Emacs for Android systems without using
|
||
GUI capabilities provided by the Android port. We do not know
|
||
exactly which configurations this works on, but the installation
|
||
instructions for such a build should be the same as for any Unix
|
||
system. (This does in turn imply that such a build must be carried
|
||
out on an Android device itself utilizing development tools provided
|
||
by third party package repositories.)
|
||
|
||
|
||
* Obsolete platforms
|
||
|
||
Support for many obsolete platforms was removed in Emacs 23.1.
|
||
If for some reason you encounter an ancient machine where current
|
||
Emacs does not compile, try an older release like Emacs 22.3.
|
||
|
||
|
||
Local variables:
|
||
mode: outline
|
||
fill-prefix: " "
|
||
End:
|
||
|
||
This file is part of GNU Emacs.
|
||
|
||
GNU Emacs is free software: you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation, either version 3 of the License, or
|
||
(at your option) any later version.
|
||
|
||
GNU Emacs is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|