From f212c9bfc2cbdc99d708c5620a4da44aa887c96e Mon Sep 17 00:00:00 2001 From: Jehan Date: Wed, 13 Aug 2014 00:47:12 +0000 Subject: [PATCH] Bug 733525: check presence of poppler-data (informational only). As of version 0.4.7, poppler-data has a pkg-config file, allowing us to verify its presence. The configure summary is only informational, and we don't impose this version since older versions may still work. Moreover poppler-data is only a runtime dependency, so you can also add it afterwards. --- INSTALL.in | 11 ++++++++++- configure.ac | 16 +++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/INSTALL.in b/INSTALL.in index e7e8262a63..82706b15ea 100644 --- a/INSTALL.in +++ b/INSTALL.in @@ -86,6 +86,15 @@ header files installed. libtiff, webkit, libmng, librsvg, libwmf, libgs (Ghostscript), libaa and libjasper. + Note that to be able to render CJK (Asian) and Cyrillic characters + in pdf-imported files, the data package `poppler-data` needs to be + installed as well. It is only possible to automatically check its + existence since version @POPPLER_DATA_REQUIRED_VERSION@, but there is no strong requirement + in our `configure` script because older versions of poppler-data may + still work. Thus if poppler-data was not detected during ./configure, + but you are sure it is installed, you are advised to test your build + afterwards. + 11. The Python extension requires Python 2 development headers (@PYTHON2_REQUIRED_VERSION@ or newer) to be present. You will also need PyGTK and the respective development headers. @@ -133,7 +142,7 @@ header files installed. libmng - MNG openexr @OPENEXR_REQUIRED_VERSION@ OpenEXR libpoppler @POPPLER_REQUIRED_VERSION@ PDF import - poppler-data - PDF import (optional: rendering of CJK and Cyrillic) + poppler-data @POPPLER_DATA_REQUIRED_VERSION@ PDF import (optional: rendering of CJK and Cyrillic) cairo-pdf @CAIRO_PDF_REQUIRED_VERSION@ PDF export python 2 @PYTHON2_REQUIRED_VERSION@ Python plug-ins librsvg @RSVG_REQUIRED_VERSION@ SVG diff --git a/configure.ac b/configure.ac index c8051b391f..f0606dae4e 100644 --- a/configure.ac +++ b/configure.ac @@ -60,6 +60,7 @@ m4_define([rsvg_required_version], [2.36.0]) m4_define([wmf_required_version], [0.2.8]) m4_define([pygtk_required_version], [2.10.4]) m4_define([poppler_required_version], [0.12.4]) +m4_define([poppler_data_required_version], [0.4.7]) m4_define([libgudev_required_version], [167]) m4_define([gexiv2_required_version], [0.6.1]) m4_define([lcms_required_version], [2.2]) @@ -147,6 +148,7 @@ ATK_REQUIRED_VERSION=atk_required_version RSVG_REQUIRED_VERSION=rsvg_required_version WMF_REQUIRED_VERSION=wmf_required_version POPPLER_REQUIRED_VERSION=poppler_required_version +POPPLER_DATA_REQUIRED_VERSION=poppler_data_required_version OPENEXR_REQUIRED_VERSION=openexr_required_version INTLTOOL_REQUIRED_VERSION=intltool_required_version PYTHON2_REQUIRED_VERSION=python2_required_version @@ -172,6 +174,7 @@ AC_SUBST(ATK_REQUIRED_VERSION) AC_SUBST(RSVG_REQUIRED_VERSION) AC_SUBST(WMF_REQUIRED_VERSION) AC_SUBST(POPPLER_REQUIRED_VERSION) +AC_SUBST(POPPLER_DATA_REQUIRED_VERSION) AC_SUBST(OPENEXR_REQUIRED_VERSION) AC_SUBST(INTLTOOL_REQUIRED_VERSION) AC_SUBST(PYTHON2_REQUIRED_VERSION) @@ -1501,9 +1504,16 @@ have_poppler=no if test "x$with_poppler" != xno; then PKG_CHECK_MODULES(POPPLER, poppler-glib >= poppler_required_version, - FILE_PDF_LOAD='file-pdf-load$(EXEEXT)' - AC_DEFINE(HAVE_POPPLER, 1, [Define to 1 if libpoppler is available]) - have_poppler=yes, + [ FILE_PDF_LOAD='file-pdf-load$(EXEEXT)' + AC_DEFINE(HAVE_POPPLER, 1, [Define to 1 if libpoppler is available]) + # We don't check against a poppler-data version, because old + # versions may work as well. Yet the pkg-config file has only been + # added in 0.4.7, thus we can't verify presence of older versions. + PKG_CHECK_MODULES(POPPLER_DATA, poppler-data, + [have_poppler="yes (Cyrillic and CJK support: yes)"], + [have_poppler='yes (Cyrillic and CJK support: no or poppler-data < poppler_data_required_version)'] + ) + ], have_poppler="Using PostScript plug-in (libpoppler not found)") else have_poppler="Using PostScript plug-in (libpoppler support disabled)"