1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-22 07:09:54 +00:00
emacs/etc/MACHINES

181 lines
6.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/>.