mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-22 07:09:54 +00:00
181 lines
6.8 KiB
Plaintext
181 lines
6.8 KiB
Plaintext
Emacs machines list
|
||
|
||
Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2023 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.
|
||
|
||
Some obsolete platforms are unsupported beginning with Emacs 23.1. See
|
||
the list at the end of this file.
|
||
|
||
|
||
* 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/>.
|