diff options
| author | Calvin Morrison <calvin@pobox.com> | 2023-04-05 14:13:39 -0400 | 
|---|---|---|
| committer | Calvin Morrison <calvin@pobox.com> | 2023-04-05 14:13:39 -0400 | 
| commit | 835e373b3eeaabcd0621ed6798ab500f37982fae (patch) | |
| tree | dfa16b0e2e1b4956b38f693220eac4e607802133 /INSTALL | |
Diffstat (limited to 'INSTALL')
| -rw-r--r-- | INSTALL | 196 | 
1 files changed, 196 insertions, 0 deletions
@@ -0,0 +1,196 @@ +Xpdf +==== + +version 4.04 +2022-apr-18 + +The Xpdf software and documentation are +copyright 1996-2022 Glyph & Cog, LLC. + +Email: xpdf@xpdfreader.com +WWW: http://www.xpdfreader.com/ + + +Compiling xpdf +-------------- + +Xpdf is written in C++ (with a little bit of C).  It should work with +any ANSI-compliant C++ and C compilers.  The systems and compilers +it's been tested with are listed on the xpdf web page. + +Xpdf requires the Qt toolkit.  The non-GUI command line tools do not +use Qt. + +The following notes give specific instructions for compiling on +different systems. + + +********************* +***  Linux, OS X  *** +********************* + +* Make sure you have the following installed: + +    - CMake 2.8.8 or newer +    - FreeType 2.0.5 or newer +    - Qt 5.x or 6.x (for xpdf only) +    - libpng (for pdftoppm and pdftohtml) +    - zlib (for pdftoppm and pdftohtml) + +  If Qt isn't found, the GUI viewer (xpdf) won't be built, but the +  command line tools will still be built. + +* Create a build directory.  These instructions assume that you create +  a directory called "build" under the top-level xpdf source +  directory, but the build directory can be anywhere you like.  Create +  the directory and cd into it: + +      cd ..../xpdf-X.YY +      mkdir build +      cd build + +* Run cmake: + +      cmake -DCMAKE_BUILD_TYPE=Release {other options - see below} .. + +  If your build directory isn't under the source, use the full path to +  the source directory: + +      cmake -DCMAKE_BUILD_TYPE=Release {other options} ..../xpdf-X.YY + +* If cmake doesn't find FreeType, you can set FREETYPE_DIR to point to +  the FreeType install directory.  Add this to the cmake command line: + +      -DFREETYPE_DIR=/opt/freetype + +  Cmake will look for ${FREETYPE_DIR}/include. + +  You can also set the FreeType library location with: + +      -DFREETYPE_LIBRARY=/opt/freetype/lib/libfreetype.so + +* If cmake doesn't find Qt, make sure qmake is on your executable +  search path. + +* To change the xpdf install directory, use: + +      -DCMAKE_INSTALL_PREFIX=/opt/xpdf + +  If you're familiar with autoconf, this is similar to the "--prefix" +  option. + +* Other configuration options are: + +    -DSPLASH_CMYK=ON +        Enable CMYK rasterization support. + +    -DA4_PAPER=ON +        Switches the default paper size for PostScript output (xpdf +        and pdftops) to A4.  The default is Letter size. + +    -DNO_TEXT_SELECT=ON +        With this option, xpdf will not copy text.  (This is only +        useful on closed systems where the user can't get at the PDF +        file directly.) + +    -DOPI_SUPPORT=ON +        Enables support for generation of OPI (Open Prepress +        Interface) comments with pdftops. + +    -DNO_FONTCONFIG=ON +        Disables use of libfontconfig, which is used to locate system +        fonts on Linux/Unix systems.  The default is to search for the +        library, and to use it if found. + +    -DMULTITHREADED=0 +        Disables multithreading, which also disables building the GUI +        viewer (xpdf).  This does not affect the command line tools. +        Disabling multithreading should only be necessary if you're +        building with a compiler other than gcc, clang, or Microsoft +        Visual Studio. + +    -DXPDFWIDGET_PRINTING=OFF +        Disable printing support. + +    -DSYSTEM_XPDFRC="/etc/xpdfrc" +        Look for a system-wide xpdfrc config file in this directory. + +    -DXPDFRC_DATADIR="/usr/share/xpdf" +        The ${DATADIR} variable in xpdfrc config files will expand to +        this string. + +    -DCMAKE_DISABLE_FIND_PACKAGE_Qt4=1 +    -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=1 +        Do not search for the Qt4/Qt5 libraries.  This will disable +        building the GUI viewer (xpdf).  Cmake will look for a "qmake" +        binary -- make sure the first qmake binary on your executable +        search path matches the desired version of Qt. + +    -DCMAKE_C_FLAGS="..." +    -DCMAKE_CXX_FLAGS="..." +        Set additional options to pass to the C and/or C++ compilers. + +    -DCMAKE_EXE_LINKER_FLAGS="..." +        Set additional options to pass to the linker. + +    -DCMAKE_INSTALL_BINDIR +        Set the bin directory, relative to CMAKE_INSTALL_PREFIX +        (typically "bin"). + +    -DCMAKE_INSTALL_MANDIR +        Set the man directory, relative to CMAKE_INSTALL_PREFIX +        (typically "man" or "share/man"). + +* Build: + +      make + +  This will build the executables in the build directory: + +      xpdf/xpdf +      xpdf/pdftops +      xpdf/pdftotext +      xpdf/pdftohtml +      xpdf/pdfinfo +      xpdf/pdffonts +      xpdf/pdfdetach +      xpdf/pdftoppm +      xpdf/pdftopng +      xpdf/pdfimages +      xpdf-qt/xpdf + +* If desired, install the binaries and man pages: + +      make install + +If you want to run a quick test, there is a tiny PDF file included +with xpdf, as misc/hello.pdf . + + +***************** +***  Windows  *** +***************** + +The Windows build procedure is essentially the same as for Unix.  If +building with cygwin, the procedure is identical to Unix. + +If building with Visual Studio: + +* Make sure you have CMake, FreeType, libpng, and zlib installed. + +* You'll need to set the FREETYPE_DIR variable to point to your +  FreeType installation, CMAKE_INCLUDE_PATH to point to your libpng +  includes, CMAKE_LIBRARY_PATH to point to your libpng library, and +  ZLIB_ROOT to point to your zlib installation. + +      cmake -G "NMake Makefiles" +            -DCMAKE_BUILD_TYPE=Release +            -DFREETYPE_DIR="c:/software/freetype" +            -DCMAKE_INCLUDE_PATH="c:/software/libpng" +            -DCMAKE_LIBRARY_PATH="c:/software/libpng" +            -DZLIB_ROOT="c:/software/zlib" +            .. + +* Build: + +      nmake  | 
