| INSTALL file for texinfo. | |
| Copyright 1992-2026 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. | |
| * `texi2any' depends on having a locale installed that is not "C", "C.UTF-8" | |
| or "POSIX" in order to translate strings in its output, if @documentlanguage | |
| appears in a document. This is due to a limitation in the libc | |
| "gettext" interface. | |
| * The texi2any program can use extension (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 tta/ subdirectory and XS modules | |
| are used, 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 and other texi2any C | |
| codes 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.) | |
| We recommend not using the configure --config-cache nor setting --cache-file | |
| because of the differences between the main directory and texi2any | |
| settings. The features found in the main directory may be different from | |
| the features available in texi2any. Using cached values could bring in | |
| values found for the main directory that are not correct in the context of | |
| texi2any. | |
| * After building the program, you can control the use of XS modules by | |
| the Perl texi2any implementation with the `TEXINFO_XS' environment | |
| variable, which may be useful for troubleshooting. | |
| Set TEXINFO_XS=omit to disable the use of XS modules, or | |
| TEXINFO_XS=debug to print some information as the modules are | |
| looked for and loaded. | |
| * Native code (in XS modules) get translations for strings to be put in | |
| output files using libc gettext, using the LANGUAGE variable. If the | |
| gettext implementation (such as that in musl libc) does not support | |
| this variable, this will not work and strings will not be translated. | |
| However, if you pass the --enable-xs-perl-libintl flag to `configure', | |
| an alternative translation method is activated where C code calls back | |
| into the Perl interpreter to get translations, which does work. | |
| * 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. | |
| * Texinfo uses code from the Gnulib portability library. For correct | |
| localization of Gnulib strings, you may need to install a 'gnulib-l10n' | |
| package. | |
| + Documentation: | |
| https://www.gnu.org/software/gnulib/manual/html_node/Localization.html | |
| + Download: | |
| https://ftp.gnu.org/gnu/gnulib/gnulib-l10n-* |