blob: 435135b8b1b06fe6759a212e50e451d91bb1569a [file] [log] [blame]
INSTALL file for texinfo.
Copyright 1992-2024 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
For generic installation instructions on compiling and installing this
Automake-based distribution, please read the file `INSTALL.generic'.
Installation notes specific to Texinfo:
* texinfo.tex and the other *.tex files are not installed by
`make install', because TeX installations vary so widely.
Installing them in the wrong place would give a false sense of
security. Instead, you have to run an additional make command
after the normal make install:
make TEXMF=/your/texmf install-tex
where TEXMF is a root of a TeX hierachy that follows the TeX
Directory Structure standard (http://tug.org/tds/).
texinfo.tex is installed in ${TEXMF}/tex/texinfo, epsf.tex
in ${TEXMF}/tex/generic/epsf/, etc.
(Alternatively, you can simply cp *.tex to the appropriate places.)
For information on how or where to install files, see your TeX
documentation in general (i.e. web2c and kpathsea manuals), and the
texmf.cnf file.
It is possible to put these .tex files in a `local' place instead of
overwriting existing ones. You might find where this is by running
`kpsewhich -var-value TEXMFLOCAL'.
If you add files to your TeX installations, not just replace existing
ones, you very likely will also have to update your ls-R file; do this
by running the mktexlsr command.
An alternative is to copy texinfo.tex to the same directory as your
Texinfo manual, but this is not especially recommended.
You can get the latest texinfo.tex from
https://ftp.gnu.org/gnu/texinfo/texinfo.tex (and all GNU mirrors)
ftp://tug.org/tex/texinfo.tex (and all CTAN mirrors)
or from the gnulib project on Savannah (among other places).
If you have problems with the texinfo.tex in this distribution, please
check for a newer version.
* If you're maintaining a TeX distribution and keeping the files up to
date yourself, you may not want to see the installation warnings.
For that, run configure --disable-install-warnings, or set
enable_install_warnings=no in the environment.
* The `texi2any' (makeinfo) program is a Perl program that can use
extension modules, known as XS modules. The configure script will
attempt to detect whether such modules can be built and loaded on your
installation. If you want to disable the use of XS modules, you can
give the --disable-perl-xs flag to `configure'; likewise, to use them
without checking, give the --enable-perl-xs flag.
When `configure' is running in the XS subdirectory, instead of the
standard CC, CFLAGS, LDFLAGS etc., it uses special variables with a
PERL_EXT_ prefix. These are all listed in the output of `configure
--help'. This is necessary because it is possible that the C compiler
being used to compile Perl extension modules is a different compiler
to that used for the rest of the package. (However, if you need to
override these variables when running `make', use the unprefixed
variants, e.g. CFLAGS instead of PERL_EXT_CFLAGS. Exception: you
cannot override CPPFLAGS this way as gnulib uses this variable.)
After building the program, the use of XS modules can be
controlled with the `TEXINFO_XS' environment variable, which may be
useful for troubleshooting. Set TEXINFO_XS=debug to print some
information as the modules are looked for and loaded, TEXINFO_XS=omit
to disable their use, and TEXINFO_XS=required to force their use.
Specific focused XS modules are only controlled by TEXINFO_XS.
XS modules replacing perl code for the main processing steps can be
controlled more finaly. Three steps are distinguished: the parsing
step, the structure step for the determination of sectioning and node
structures, and the conversion step. If the XS modules are not used
for a step, they cannot be used for the following steps.
If you want to use the XS modules but not the XS parser, you can
set the `TEXINFO_XS_PARSER' environment variable to 0. If you use
the XS parser but do not want to use XS for the structure step, you
can set the `TEXINFO_XS_STRUCTURE' environment variable to 0. For now,
the XS modules used for conversion are considered to be experimental,
so they are not used in the default case, even if the XS modules are used
for the structure step. If you want to use the XS modules for conversion,
you should set the `TEXINFO_XS_CONVERT' environment variable to 1.
* For instructions on compiling this distribution with DJGPP tools
for MS-DOS and MS-Windows, see the file djgpp/README.
* The Info tree uses a file `dir' as its root node; the `dir-example'
file in this distribution is included as a possible starting point.
Use it, modify it, or ignore it just as you like.
* You can create a file texinfo.cnf to be read by TeX when
processing Texinfo manuals. For example, you might like to use
@afourpaper by default. See the `Preparing for TeX' node in
the Texinfo manual for more details. You don't have to create the
file if you have nothing to put in it.