Commit a0a8f45a1c8ca7952e4596785ad399ec47b7a0af
1 parent
2d2f6196
Add libjpeg dependency
Showing
5 changed files
with
44 additions
and
19 deletions
README
| @@ -13,11 +13,11 @@ warranty. | @@ -13,11 +13,11 @@ warranty. | ||
| 13 | Prerequisites | 13 | Prerequisites |
| 14 | ============= | 14 | ============= |
| 15 | 15 | ||
| 16 | -QPDF depends on the external library "zlib". This are part of every | ||
| 17 | -Linux distribution and is readily available. Download information | ||
| 18 | -appears in the documentation. For Windows, you can download pre-built | ||
| 19 | -binary versions of this libraries for some compilers; see | ||
| 20 | -README-windows.txt for additional details. | 16 | +QPDF depends on the external libraries "zlib" and "jpeg". These are |
| 17 | +part of every Linux distribution and are readily available. Download | ||
| 18 | +information appears in the documentation. For Windows, you can | ||
| 19 | +download pre-built binary versions of these libraries for some | ||
| 20 | +compilers; see README-windows.txt for additional details. | ||
| 21 | 21 | ||
| 22 | QPDF requires a C++ compiler that works with STL. Your compiler must | 22 | QPDF requires a C++ compiler that works with STL. Your compiler must |
| 23 | also support "long long". Almost all modern compilers do. If you are | 23 | also support "long long". Almost all modern compilers do. If you are |
| @@ -34,9 +34,10 @@ you had an otherwise working qpdf. | @@ -34,9 +34,10 @@ you had an otherwise working qpdf. | ||
| 34 | Licensing terms of embedded software | 34 | Licensing terms of embedded software |
| 35 | ==================================== | 35 | ==================================== |
| 36 | 36 | ||
| 37 | -QPDF makes use of zlib for its functionality. This package can be | ||
| 38 | -downloaded separately from its own download location, or it can be | ||
| 39 | -downloaded in the external-libs area of the qpdf download site. | 37 | +QPDF makes use of zlib and jpeg libraries for its functionality. These |
| 38 | +packages can be downloaded separately from their own download | ||
| 39 | +locations, or they can be downloaded in the external-libs area of the | ||
| 40 | +qpdf download site. | ||
| 40 | 41 | ||
| 41 | The Rijndael encryption implementation used as the basis for AES | 42 | The Rijndael encryption implementation used as the basis for AES |
| 42 | encryption and decryption support comes from Philip J. Erdelsky's | 43 | encryption and decryption support comes from Philip J. Erdelsky's |
| @@ -147,10 +148,13 @@ sources to the user's manual can be found in the "manual" directory. | @@ -147,10 +148,13 @@ sources to the user's manual can be found in the "manual" directory. | ||
| 147 | 148 | ||
| 148 | The software library is just libqpdf, and all the header files are in | 149 | The software library is just libqpdf, and all the header files are in |
| 149 | the qpdf subdirectory. If you link statically with -lqpdf, then you | 150 | the qpdf subdirectory. If you link statically with -lqpdf, then you |
| 150 | -will also need to link with -lz. The shared qpdf library is linked | ||
| 151 | -with -lz, and none of qpdf's public header files directly include | ||
| 152 | -files from libz, so in many cases, qpdf's development files are self | ||
| 153 | -contained. | 151 | +will also need to link with -lz and -ljpeg. The shared qpdf library is |
| 152 | +linked with -lz and -ljpeg, none of qpdf's public header files | ||
| 153 | +directly include files from libz, and only Pl_DCT.hh includes files | ||
| 154 | +from libjpeg, so for most cases, qpdf's development files are self | ||
| 155 | +contained. If you need to use Pl_DCT in your application code, you | ||
| 156 | +will need to have the header files for some libjpeg distribution in | ||
| 157 | +your include path. | ||
| 154 | 158 | ||
| 155 | To learn about using the library, please read comments in the header | 159 | To learn about using the library, please read comments in the header |
| 156 | files in include/qpdf, especially QPDF.hh, QPDFObjectHandle.hh, and | 160 | files in include/qpdf, especially QPDF.hh, QPDFObjectHandle.hh, and |
README-what-to-download.txt
| @@ -47,7 +47,10 @@ download. | @@ -47,7 +47,10 @@ download. | ||
| 47 | 47 | ||
| 48 | If you want to build the external libraries on your own (for | 48 | If you want to build the external libraries on your own (for |
| 49 | Windows or anything else), you can download this archive. In | 49 | Windows or anything else), you can download this archive. In |
| 50 | - addition to including an unmodified distribution zlib, it includes | ||
| 51 | - a README file and some scripts to help you build it for Windows. | 50 | + addition to including an unmodified distribution zlib and the jpeg |
| 51 | + libary, it includes a README file and some scripts to help you | ||
| 52 | + build it for Windows. qpdf was built using a binary distribution of | ||
| 53 | + libjpeg-turbo for Windows. You will also have to provide those. See | ||
| 54 | + README-windows.txt for details. | ||
| 52 | 55 | ||
| 53 | If you want to build on Windows, please see also README-windows.txt. | 56 | If you want to build on Windows, please see also README-windows.txt. |
configure.ac
| @@ -102,6 +102,8 @@ fi | @@ -102,6 +102,8 @@ fi | ||
| 102 | if test "$BUILD_INTERNAL_LIBS" = "0"; then | 102 | if test "$BUILD_INTERNAL_LIBS" = "0"; then |
| 103 | AC_CHECK_HEADER(zlib.h,,[MISSING_ZLIB_H=1; MISSING_ANY=1]) | 103 | AC_CHECK_HEADER(zlib.h,,[MISSING_ZLIB_H=1; MISSING_ANY=1]) |
| 104 | AC_SEARCH_LIBS(deflate,z zlib,,[MISSING_ZLIB=1; MISSING_ANY=1]) | 104 | AC_SEARCH_LIBS(deflate,z zlib,,[MISSING_ZLIB=1; MISSING_ANY=1]) |
| 105 | + AC_CHECK_HEADER(jpeglib.h,,[MISSING_JPEG_H=1; MISSING_ANY=1]) | ||
| 106 | + AC_SEARCH_LIBS(jpeg_destroy,jpeg,,[MISSING_JPEG=1; MISSING_ANY=1]) | ||
| 105 | fi | 107 | fi |
| 106 | 108 | ||
| 107 | if test "x$qpdf_OS_SECURE_RANDOM" = "x1"; then | 109 | if test "x$qpdf_OS_SECURE_RANDOM" = "x1"; then |
| @@ -471,6 +473,14 @@ if test "$MISSING_ZLIB" = "1"; then | @@ -471,6 +473,14 @@ if test "$MISSING_ZLIB" = "1"; then | ||
| 471 | AC_MSG_WARN(unable to find required library z (or zlib)) | 473 | AC_MSG_WARN(unable to find required library z (or zlib)) |
| 472 | fi | 474 | fi |
| 473 | 475 | ||
| 476 | +if test "$MISSING_JPEG_H" = "1"; then | ||
| 477 | + AC_MSG_WARN(unable to find required header jpeglib.h) | ||
| 478 | +fi | ||
| 479 | + | ||
| 480 | +if test "$MISSING_JPEG" = "1"; then | ||
| 481 | + AC_MSG_WARN(unable to find required library jpeg) | ||
| 482 | +fi | ||
| 483 | + | ||
| 474 | if test "$MISSING_DOCBOOK_FO" = "1"; then | 484 | if test "$MISSING_DOCBOOK_FO" = "1"; then |
| 475 | AC_MSG_WARN(docbook fo stylesheets are required to build PDF documentation) | 485 | AC_MSG_WARN(docbook fo stylesheets are required to build PDF documentation) |
| 476 | fi | 486 | fi |
| @@ -507,7 +517,7 @@ if test "$USE_EXTERNAL_LIBS" = "1"; then | @@ -507,7 +517,7 @@ if test "$USE_EXTERNAL_LIBS" = "1"; then | ||
| 507 | # much trouble getting it to work with a different compiler. | 517 | # much trouble getting it to work with a different compiler. |
| 508 | CPPFLAGS="$CPPFLAGS -Iexternal-libs/include" | 518 | CPPFLAGS="$CPPFLAGS -Iexternal-libs/include" |
| 509 | LDFLAGS="$LDFLAGS -Lexternal-libs/lib-$BUILDRULES$WINDOWS_WORDSIZE" | 519 | LDFLAGS="$LDFLAGS -Lexternal-libs/lib-$BUILDRULES$WINDOWS_WORDSIZE" |
| 510 | - LIBS="$LIBS -lz" | 520 | + LIBS="$LIBS -lz -ljpeg" |
| 511 | fi | 521 | fi |
| 512 | 522 | ||
| 513 | AC_OUTPUT | 523 | AC_OUTPUT |
libqpdf.pc.in
| @@ -6,6 +6,6 @@ includedir=@includedir@ | @@ -6,6 +6,6 @@ includedir=@includedir@ | ||
| 6 | Name: libqpdf | 6 | Name: libqpdf |
| 7 | Description: PDF transformation library | 7 | Description: PDF transformation library |
| 8 | Version: @PACKAGE_VERSION@ | 8 | Version: @PACKAGE_VERSION@ |
| 9 | -Requires.private: zlib | 9 | +Requires.private: zlib, libjpeg |
| 10 | Libs: -L${libdir} -lqpdf | 10 | Libs: -L${libdir} -lqpdf |
| 11 | Cflags: -I${includedir} | 11 | Cflags: -I${includedir} |
manual/qpdf-manual.xml
| @@ -93,8 +93,8 @@ | @@ -93,8 +93,8 @@ | ||
| 93 | <sect1 id="ref.prerequisites"> | 93 | <sect1 id="ref.prerequisites"> |
| 94 | <title>System Requirements</title> | 94 | <title>System Requirements</title> |
| 95 | <para> | 95 | <para> |
| 96 | - The qpdf package has only one external dependencies. In | ||
| 97 | - order to build qpdf, the following packages are required: | 96 | + The qpdf package has few external dependencies. In order to build |
| 97 | + qpdf, the following packages are required: | ||
| 98 | <itemizedlist> | 98 | <itemizedlist> |
| 99 | <listitem> | 99 | <listitem> |
| 100 | <para> | 100 | <para> |
| @@ -103,6 +103,14 @@ | @@ -103,6 +103,14 @@ | ||
| 103 | </listitem> | 103 | </listitem> |
| 104 | <listitem> | 104 | <listitem> |
| 105 | <para> | 105 | <para> |
| 106 | + jpeg: <ulink | ||
| 107 | + url="http://www.ijg.org/files/">http://www.ijg.org/files/</ulink> | ||
| 108 | + or <ulink | ||
| 109 | + url="https://libjpeg-turbo.org/">https://libjpeg-turbo.org/</ulink> | ||
| 110 | + </para> | ||
| 111 | + </listitem> | ||
| 112 | + <listitem> | ||
| 113 | + <para> | ||
| 106 | gnu make 3.81 or newer: <ulink url="http://www.gnu.org/software/make">http://www.gnu.org/software/make</ulink> | 114 | gnu make 3.81 or newer: <ulink url="http://www.gnu.org/software/make">http://www.gnu.org/software/make</ulink> |
| 107 | </para> | 115 | </para> |
| 108 | </listitem> | 116 | </listitem> |
| @@ -1509,7 +1517,7 @@ outfile.pdf</option> | @@ -1509,7 +1517,7 @@ outfile.pdf</option> | ||
| 1509 | </para> | 1517 | </para> |
| 1510 | <para> | 1518 | <para> |
| 1511 | When linking against the qpdf static library, you may also need to | 1519 | When linking against the qpdf static library, you may also need to |
| 1512 | - specify <literal>-lz</literal> on your link command. If | 1520 | + specify <literal>-lz -ljpeg</literal> on your link command. If |
| 1513 | your system understands how to read libtool | 1521 | your system understands how to read libtool |
| 1514 | <filename>.la</filename> files, this may not be necessary. | 1522 | <filename>.la</filename> files, this may not be necessary. |
| 1515 | </para> | 1523 | </para> |