diff options
Diffstat (limited to 'Build/source/texk/dvipng/doc/install.texi')
-rw-r--r-- | Build/source/texk/dvipng/doc/install.texi | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/Build/source/texk/dvipng/doc/install.texi b/Build/source/texk/dvipng/doc/install.texi new file mode 100644 index 00000000000..61e47e565b9 --- /dev/null +++ b/Build/source/texk/dvipng/doc/install.texi @@ -0,0 +1,194 @@ +@c install.texi +@c +@c Part of the dvipng distribution + +@include macros.texi +@ifset rawfile +@chapter Installing dvipng + +@end ifset +@c ----------------------- +Installing dvipng should be simple: merely @code{./configure}, +@code{make}, and @code{make install}. + +@ifclear rawfile +@menu +* Prerequisites:: +* Configure:: +* Build/install:: +* Installation outside the texmf tree:: +* Advice for non-privileged users:: +@end menu +@end ifclear + +@node Prerequisites +@section Prerequisites + +@itemize @bullet +@item The GD Graphics Draw library, libgd + +The drawing library @samp{libgd} is necessary, and is downloadable at +@uref{https://bitbucket.org/libgd/gd-libgd/downloads}, and there are +binary packages for most operating systems from their respective +distributors. In any case, the library installs using @samp{autoconf} so +it should not be difficult for you to install it from source, and then +proceed with installing dvipng. + +@item The path-searching library kpathsea + +Kpathsea is most likely included in your @LaTeX{} installation, but it +may happen that ./configure does not find it; see below. If you do not +have it, download it from @uref{http://www.ctan.org} and compile it. +I have no experience with this, so I cannot help much here. + +@item The font-rendering library FreeType 2 + +While not strictly necessary, a recent FreeType 2 is recommended since +dvipng currently will produce better-quality images when this library is +available. To take advantage of this, you should have at least FreeType +2.1.9. + +FreeType 2 will enable direct support for PostScript and TrueType fonts, +so that dvipng will not need to generate bitmapped variants on disk of +the @TeX{} fonts since modern @TeX{} distributions include PostScript +versions of them. Then, you can render images at different (and unusual) +resolutions without cluttering the disk with lots of bitmapped fonts. + +Finally, it will enable subfont support in dvipng. That is, if you want +to render CJK-@LaTeX{} characters, you must have FreeType 2 installed. + +@item libpng and libz + +To be able to compress and write PNG files to disk, dvipng (or really +libgd) uses libpng which in turn uses libz. These should be available on +any modern system, if not, download them and install them. + +@item The @code{texinfo} package + +This is needed for building the documentation. +@end itemize + +@node Configure +@section Configure + +The first step is to configure the source code, telling it where +various files will be. To do so, run + +@example +./configure @var{options} +@end example + +(Note: if you have fetched dvipng from CVS rather than a regular +release, you will have to first generate @file{./configure} by running +@code{autoconf} 2.53 or later.) + +On many machines, you will not need to specify any options, but if +@code{configure} cannot determine something on its own, you'll need to +help it out. For a list of the options type + +@example +./configure --help +@end example + +On some machines, the libraries will be installed in directories that +are not in the linker's search path. This will generate an error when +running @file{./configure}, indicating that it cannot find libgd or +libkpathsea (most likely). You then need to specify the path to the +respective library's object files. They are typically called e.g., +@file{libgd.a} or @file{libgd.so}. If they are located in e.g., +@file{/sw/local/lib}, do + +@example +./configure LDFLAGS=-L/sw/local/lib +@end example + +If the library is available as a shared object file (@file{.so}), the +runtime linker may also need to be told where to find the library, +then use + +@example +./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib' +@end example + +When either of these is necessary, it is likely that the C header +files are also installed in directories that are not in the C +preprocessor's search path. This will also generate an error when +running @file{./configure}, indicating that it cannot find e.g., +@file{gd.h} or @file{kpathsea.h} (most likely). You then need to +specify the path to the respective library's C header files. If they +are located in e.g., @file{/sw/local/include}, do + +@example +./configure CPPFLAGS=-I/sw/local/include +@end example + +On my SUN Solaris workstation, I had to combine this into + +@example +./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\ + LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/' +@end example + +@noindent +where the backslash denotes a continuation of the line. + +@node Build/install +@section Build/install + +Once @file{configure} has been run, simply enter + +@example +make +@end example + +@noindent +at the prompt to compile the C code, and build the documentation files. +To install the files into the locations chosen earlier, type + +@example +make install +@end example + +@noindent +You may need special privileges to install, e.g., if you are installing +into system directories. + +@node Installation outside the texmf tree +@section Installation outside the texmf tree + +In some cases, a dvipng binary installed outside the texmf tree will +not be able to find virtual fonts, or the PostScript font maps +(normally used by dvips). This may be because @emph{only} +$SELFAUTOLOC, $SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf +tree configuration file @samp{texmf.cnf}. If so, give the switch +@samp{--enable-selfauto-set} to @samp{./configure}. This will make +dvipng adjust these three internally so that kpathsea thinks that +dvipng @emph{is} installed in the texmf tree. + +@node Advice for non-privileged users +@section Installation for non-privileged users + +Often people without system administration privileges want to install +software for their private use. In that case you need to specify more +options to the @file{configure} script, usually this is done by using +the @samp{--prefix} option to the @file{configure} script, and let it +point to the personal home directory. In that way, resulting binaries +will be installed under the @file{bin} subdirectory of your home +directory, manual pages under @file{man} and so on. That way, it is +reasonably easy to maintain a bunch of additional packages, since the +prefix argument is supported by most @file{configure} scripts. + +You'll have to add something like @file{/home/myself/bin} to your +@code{PATH} shell variable, if it isn't there already, and similarly +set the @code{INFOPATH} and @code{MANPATH} variables to be able to +access the documentation. + +@ifset rawfile +@section Copying + +This program is released under the GNU Lesser General Public License +version 3, see the COPYING file in the dvipng distribution or +@url{http://www.gnu.org/licenses/}. + +Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson +@end ifset |