- New upstream release - Update and slightly improve cleaner script - Update poppler 0.20 patch
188 lines
6.9 KiB
Diff
188 lines
6.9 KiB
Diff
Index: /branches/1.9/gdal/configure
|
|
===================================================================
|
|
--- /branches/1.9/gdal/configure (revision 24333)
|
|
+++ /branches/1.9/gdal/configure (revision 24437)
|
|
@@ -639,4 +639,5 @@
|
|
HAVE_PODOFO
|
|
POPPLER_INC
|
|
+POPPLER_0_20_OR_LATER
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS
|
|
POPPLER_HAS_OPTCONTENT
|
|
@@ -26470,4 +26471,5 @@
|
|
POPPLER_HAS_OPTCONTENT=no
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS=no
|
|
+POPPLER_0_20_OR_LATER=no
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for poppler" >&5
|
|
@@ -26536,4 +26538,20 @@
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
$as_echo "yes" >&6; }
|
|
+
|
|
+ # And now we check if we have Poppler >= 0.20.0
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have Poppler >= 0.20.0" >&5
|
|
+$as_echo_n "checking if we have Poppler >= 0.20.0... " >&6; }
|
|
+ rm -f testpoppler.*
|
|
+ echo '#include <poppler/Error.h>' > testpoppler.cpp
|
|
+ echo 'int main(int argc, char** argv) { setErrorCallback(0,0); return 0; }' >> testpoppler.cpp
|
|
+ if test -z "`${CXX} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then
|
|
+ POPPLER_0_20_OR_LATER=yes
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
+$as_echo "yes" >&6; }
|
|
+ else
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
+$as_echo "no" >&6; }
|
|
+ fi
|
|
+
|
|
else
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
@@ -26556,4 +26574,6 @@
|
|
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS=$POPPLER_BASE_STREAM_HAS_TWO_ARGS
|
|
+
|
|
+POPPLER_0_20_OR_LATER=$POPPLER_0_20_OR_LATER
|
|
|
|
POPPLER_INC=$POPPLER_INC
|
|
Index: /branches/1.9/gdal/nmake.opt
|
|
===================================================================
|
|
--- /branches/1.9/gdal/nmake.opt (revision 23610)
|
|
+++ /branches/1.9/gdal/nmake.opt (revision 24437)
|
|
@@ -469,8 +469,10 @@
|
|
# Uncomment for PDF support
|
|
# Uncomment POPPLER_BASE_STREAM_HAS_TWO_ARGS = YES for Poppler >= 0.16.0
|
|
+# Uncomment POPPLER_0_20_OR_LATER = YES for Poppler >= 0.20.0
|
|
#POPPLER_ENABLED = YES
|
|
#POPPLER_CFLAGS = -Ie:/kde/include -Ie:/kde/include/poppler
|
|
#POPPLER_HAS_OPTCONTENT = YES
|
|
#POPPLER_BASE_STREAM_HAS_TWO_ARGS = YES
|
|
+#POPPLER_0_20_OR_LATER = YES
|
|
#POPPLER_LIBS = e:/kde/lib/poppler.lib e:/kde/lib/freetype.lib e:/kde/lib/liblcms-1.lib advapi32.lib gdi32.lib
|
|
|
|
Index: /branches/1.9/gdal/configure.in
|
|
===================================================================
|
|
--- /branches/1.9/gdal/configure.in (revision 24333)
|
|
+++ /branches/1.9/gdal/configure.in (revision 24437)
|
|
@@ -2941,4 +2941,5 @@
|
|
POPPLER_HAS_OPTCONTENT=no
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS=no
|
|
+POPPLER_0_20_OR_LATER=no
|
|
|
|
AC_MSG_CHECKING([for poppler])
|
|
@@ -3000,4 +3001,17 @@
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes
|
|
AC_MSG_RESULT([yes])
|
|
+
|
|
+ # And now we check if we have Poppler >= 0.20.0
|
|
+ AC_MSG_CHECKING([if we have Poppler >= 0.20.0])
|
|
+ rm -f testpoppler.*
|
|
+ echo '#include <poppler/Error.h>' > testpoppler.cpp
|
|
+ echo 'int main(int argc, char** argv) { setErrorCallback(0,0); return 0; }' >> testpoppler.cpp
|
|
+ if test -z "`${CXX} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then
|
|
+ POPPLER_0_20_OR_LATER=yes
|
|
+ AC_MSG_RESULT([yes])
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
+ fi
|
|
+
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
@@ -3015,4 +3029,5 @@
|
|
AC_SUBST(POPPLER_HAS_OPTCONTENT, $POPPLER_HAS_OPTCONTENT)
|
|
AC_SUBST(POPPLER_BASE_STREAM_HAS_TWO_ARGS, $POPPLER_BASE_STREAM_HAS_TWO_ARGS)
|
|
+AC_SUBST(POPPLER_0_20_OR_LATER, $POPPLER_0_20_OR_LATER)
|
|
AC_SUBST(POPPLER_INC, $POPPLER_INC)
|
|
|
|
Index: /branches/1.9/gdal/frmts/pdf/pdfdataset.cpp
|
|
===================================================================
|
|
--- /branches/1.9/gdal/frmts/pdf/pdfdataset.cpp (revision 23986)
|
|
+++ /branches/1.9/gdal/frmts/pdf/pdfdataset.cpp (revision 24437)
|
|
@@ -327,5 +327,9 @@
|
|
poSplashOut = new SplashOutputDev(splashModeRGB8, 4, gFalse, sColor);
|
|
PDFDoc* poDoc = poGDS->poDoc;
|
|
+#ifdef POPPLER_0_20_OR_LATER
|
|
+ poSplashOut->startDoc(poDoc);
|
|
+#else
|
|
poSplashOut->startDoc(poDoc->getXRef());
|
|
+#endif
|
|
double dfDPI = poGDS->dfDPI;
|
|
|
|
@@ -518,4 +522,19 @@
|
|
|
|
#ifdef USE_POPPLER
|
|
+#ifdef POPPLER_0_20_OR_LATER
|
|
+static void PDFDatasetErrorFunction(void* userData, ErrorCategory eErrCatagory, int nPos, char *pszMsg)
|
|
+{
|
|
+ CPLString osError;
|
|
+
|
|
+ if (nPos >= 0)
|
|
+ osError.Printf("Pos = %d, ", nPos);
|
|
+ osError += pszMsg;
|
|
+
|
|
+ if (strcmp(osError.c_str(), "Incorrect password") == 0)
|
|
+ return;
|
|
+
|
|
+ CPLError(CE_Failure, CPLE_AppDefined, "%s", osError.c_str());
|
|
+}
|
|
+#else
|
|
static void PDFDatasetErrorFunction(int nPos, char *pszMsg, va_list args)
|
|
{
|
|
@@ -531,4 +550,5 @@
|
|
CPLError(CE_Failure, CPLE_AppDefined, "%s", osError.c_str());
|
|
}
|
|
+#endif
|
|
#endif
|
|
|
|
@@ -567,5 +587,9 @@
|
|
|
|
/* Set custom error handler for poppler errors */
|
|
+#ifdef POPPLER_0_20_OR_LATER
|
|
+ setErrorCallback(PDFDatasetErrorFunction, NULL);
|
|
+#else
|
|
setErrorFunction(PDFDatasetErrorFunction);
|
|
+#endif
|
|
|
|
/* poppler global variable */
|
|
Index: /branches/1.9/gdal/frmts/pdf/makefile.vc
|
|
===================================================================
|
|
--- /branches/1.9/gdal/frmts/pdf/makefile.vc (revision 22493)
|
|
+++ /branches/1.9/gdal/frmts/pdf/makefile.vc (revision 24437)
|
|
@@ -7,5 +7,5 @@
|
|
|
|
!IFDEF POPPLER_ENABLED
|
|
-EXTRAFLAGS = $(POPPLER_CFLAGS) $(POPPLER_HAS_OPTCONTENT_FLAGS) $(POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS) -DUSE_POPPLER
|
|
+EXTRAFLAGS = $(POPPLER_CFLAGS) $(POPPLER_HAS_OPTCONTENT_FLAGS) $(POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS) $(POPPLER_0_20_OR_LATER_FLAGS) -DUSE_POPPLER
|
|
|
|
!IFDEF POPPLER_HAS_OPTCONTENT
|
|
@@ -15,4 +15,8 @@
|
|
!IFDEF POPPLER_BASE_STREAM_HAS_TWO_ARGS
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS = -DPOPPLER_BASE_STREAM_HAS_TWO_ARGS
|
|
+!ENDIF
|
|
+
|
|
+!IFDEF POPPLER_0_20_OR_LATER
|
|
+POPPLER_0_20_OR_LATER_FLAGS = -DPOPPLER_0_20_OR_LATER
|
|
!ENDIF
|
|
|
|
Index: /branches/1.9/gdal/frmts/pdf/GNUmakefile
|
|
===================================================================
|
|
--- /branches/1.9/gdal/frmts/pdf/GNUmakefile (revision 22491)
|
|
+++ /branches/1.9/gdal/frmts/pdf/GNUmakefile (revision 24437)
|
|
@@ -16,4 +16,9 @@
|
|
endif
|
|
|
|
+ifeq ($(POPPLER_0_20_OR_LATER),yes)
|
|
+CPPFLAGS += -DPOPPLER_0_20_OR_LATER
|
|
+endif
|
|
+
|
|
+
|
|
CPPFLAGS := $(GDAL_INCLUDE) $(CPPFLAGS) $(POPPLER_INC) $(PODOFO_INC)
|
|
|
|
Index: /branches/1.9/gdal/GDALmake.opt.in
|
|
===================================================================
|
|
--- /branches/1.9/gdal/GDALmake.opt.in (revision 24419)
|
|
+++ /branches/1.9/gdal/GDALmake.opt.in (revision 24437)
|
|
@@ -386,4 +386,5 @@
|
|
POPPLER_HAS_OPTCONTENT = @POPPLER_HAS_OPTCONTENT@
|
|
POPPLER_BASE_STREAM_HAS_TWO_ARGS = @POPPLER_BASE_STREAM_HAS_TWO_ARGS@
|
|
+POPPLER_0_20_OR_LATER = @POPPLER_0_20_OR_LATER@
|
|
POPPLER_INC = @POPPLER_INC@
|
|
|