Skip to content

Commit

Permalink
Update the various INSTALL files
Browse files Browse the repository at this point in the history
* nt/INSTALL.W64:
* nt/INSTALL:
* INSTALL: Update the installation information, in particular the
fact that HarfBuzz is now preferred as the shaping library.
  • Loading branch information
Eli-Zaretskii committed Nov 14, 2020
1 parent e2c7b63 commit d875a22
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 19 deletions.
34 changes: 20 additions & 14 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -117,19 +117,25 @@ ADDITIONAL DISTRIBUTION FILES

* Complex Text Layout support libraries

On GNU and Unix systems, Emacs needs the optional libraries "m17n-db",
"libm17n-flt", "libotf" to correctly display such complex scripts as
Indic and Khmer, and also for scripts that require Arabic shaping
support (Arabic and Farsi). On some systems, particularly GNU/Linux,
these libraries may be already present or available as additional
packages. Note that if there is a separate 'dev' or 'devel' package,
for use at compilation time rather than run time, you will need that
as well as the corresponding run time package; typically the dev
package will contain header files and a library archive. Otherwise,
you can download the libraries from <https://www.nongnu.org/m17n/>.
On GNU and Unix systems, Emacs needs optional libraries to correctly
display such complex scripts as Indic and Khmer, and also for scripts
that require Arabic shaping support (Arabic and Farsi). If the
HarfBuzz library is installed, Emacs will build with it and use it for
this purpose. HarfBuzz is the preferred shaping engine, both on Posix
hosts and on MS-Windows, so we recommend installing it before building
Emacs. The alternative for GNU/Linux and Posix systems is to use the
"m17n-db", "libm17n-flt", and "libotf" libraries. (On some systems,
particularly GNU/Linux, these libraries may be already present or
available as additional packages.) Note that if there is a separate
'dev' or 'devel' package, for use at compilation time rather than run
time, you will need that as well as the corresponding run time
package; typically the dev package will contain header files and a
library archive. On MS-Windows, if HarfBuzz is not available, Emacs
will use the Uniscribe shaping engine that is part of the OS.

Note that Emacs cannot support complex scripts on a TTY, unless the
terminal includes such a support.
terminal includes such a support. However, most modern terminal
emulators, such as xterm, do support such scripts.

* intlfonts-VERSION.tar.gz

Expand Down Expand Up @@ -234,10 +240,10 @@ directory. On Red Hat-based systems, the corresponding command is
config-manager --set-enabled fedora-debuginfo updates-debuginfo').

Once you have installed the source package, for example at
/path/to/emacs-26.1, add the following line to your startup file:
/path/to/emacs-27.1, add the following line to your startup file:

(setq find-function-C-source-directory
"/path/to/emacs-26.1/src")
"/path/to/emacs-27.1/src")

The installation directory of the Emacs source package will contain
the exact package name and version number Emacs is installed on your
Expand All @@ -249,7 +255,7 @@ Emacs debugging symbols are distributed by a debug package. It does
not exist for every released Emacs package, this depends on the
distribution. On Debian-based systems, you can install a debug
package of Emacs with a command like 'apt-get install emacs-dbg' (on
older systems, replace 'emacs' with eg 'emacs25'). On Red Hat-based
older systems, replace 'emacs' with eg 'emacs27'). On Red Hat-based
systems, the corresponding command is 'dnf debuginfo-install emacs'.


Expand Down
18 changes: 18 additions & 0 deletions nt/INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -502,11 +502,21 @@ build will run on Windows 9X and newer systems).
Does Emacs use -lgnutls? yes
Does Emacs use -lxml2? yes
Does Emacs use -lfreetype? no
Does Emacs use HarfBuzz? yes
Does Emacs use -lm17n-flt? no
Does Emacs use -lotf? no
Does Emacs use -lxft? no
Does Emacs use -lsystemd? no
Does Emacs use -ljansson? yes
Does Emacs use the GMP library? yes
Does Emacs directly use zlib? yes
Does Emacs have dynamic modules support? yes
Does Emacs use toolkit scroll bars? yes
Does Emacs support Xwidgets? no
Does Emacs have threading support in lisp? yes
Does Emacs support the portable dumper? yes
Does Emacs support the legacy unexec dumping? no
Which dumping strategy does Emacs use? pdumper

You are almost there, hang on.

Expand Down Expand Up @@ -815,6 +825,14 @@ build will run on Windows 9X and newer systems).
the libjansson DLL (for 32-bit builds of Emacs) are available from
the ezwinports site and from the MSYS2 project.

* Optional support for HarfBuzzz shaping library

Emacs supports display of complex scripts and Arabic shaping. The
preferred library for that is HarfBuzz; prebuilt binaries are
available from the ezwinports site (for 32-bit builds of Emacs) and
from the MSYS2 project. If HarfBuzz is not available, Emacs will
use the Uniscribe shaping engine that is part of MS-Windows.


This file is part of GNU Emacs.

Expand Down
12 changes: 7 additions & 5 deletions nt/INSTALL.W64
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,16 @@ packages (you can copy and paste it into the shell with Shift + Insert):
mingw-w64-x86_64-jansson \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls \
mingw-w64-x86_64-zlib
mingw-w64-x86_64-zlib \
mingw-w64-x86_64-harfbuzz

The packages include the base developer tools (autoconf, grep, make, etc.),
the compiler toolchain (gcc, gdb, etc.), several image libraries, an XML
library, the GnuTLS (transport layer security) library, and zlib for
decompressing text. Only the first three packages are required (base-devel,
toolchain, xpm-nox); the rest are optional. You can select only part of the
libraries if you don't need them all.
library, the GnuTLS (transport layer security) library, zlib for
decompressing text, and HarfBuzz for use as the shaping engine. Only the
first three packages are required (base-devel, toolchain, xpm-nox); the
rest are optional. You can select only part of the libraries if you don't
need them all.

You now have a complete build environment for Emacs.

Expand Down

0 comments on commit d875a22

Please sign in to comment.