[Libreoffice-commits] core.git: download.lst external/poppler RepositoryExternal.mk

Michael Stahl Michael.Stahl at cib.de
Thu Jun 21 09:47:31 UTC 2018


 RepositoryExternal.mk                                     |    6 
 download.lst                                              |    4 
 external/poppler/0001-Fix-building-with-old-clang.patch.1 |   25 
 external/poppler/ExternalProject_poppler.mk               |   51 -
 external/poppler/Module_poppler.mk                        |    2 
 external/poppler/StaticLibrary_poppler.mk                 |  128 +++
 external/poppler/UnpackedTarball_poppler.mk               |    6 
 external/poppler/poppler-config.patch.1                   |  484 ++++++++++++++
 external/poppler/poppler-libjpeg.patch.1                  |   23 
 external/poppler/poppler-mac-fake.patch.1                 |   13 
 external/poppler/poppler-notests.patch.1                  |   11 
 external/poppler/ubsan.patch.0                            |  230 ------
 12 files changed, 617 insertions(+), 366 deletions(-)

New commits:
commit 67e5355a8b0d51111934e0a0c30870b053c8e0d3
Author: Michael Stahl <Michael.Stahl at cib.de>
Date:   Wed Jun 20 16:10:44 2018 +0200

    poppler: upgrade to release 0.66.0
    
    Unfortunately the autotools build system was removed in 0.60.0, and the
    CMake one is a bit overeager in linking against system libraries that
    happen to be installed on the build machine, and we currently don't
    require CMake anyway, so avoid the problems by using a gbuild makefile
    and a patch to add the generated header files.
    
    Remove all current patches:
    
    poppler-notests.patch.1: obsolete (autotools build system)
    
    poppler-mac-fake.patch.1: presumed obsolete
    
    ubsan.patch.0: presumably fixed differently upstream in
    https://cgit.freedesktop.org/poppler/poppler/commit/?id=f43cb73939f85952d83afc87a6dc638dc1ae311b
    
    poppler-libjpeg.patch.1: obsolete (autotools build system; there appears
    to be no way to do this with CMake?)
    
    0001-Fix-building-with-old-clang.patch.1: merged upstream
    
    Change-Id: I271c87ab3ec25cc9d1e8fafb04dae7c004acc350
    Reviewed-on: https://gerrit.libreoffice.org/56166
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 92ab41cbdea1..d70b1f051968 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2830,11 +2830,7 @@ $(call gb_LinkTarget_set_include,$(1),\
 	$$(INCLUDE) \
 )
 
-$(call gb_LinkTarget_add_libs,$(1),\
-	$(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
-	$(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
-	$(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
-)
+$(call gb_LinkTarget_use_static_libraries,$(1),poppler)
 
 $(call gb_LinkTarget_use_external,$(1),libjpeg)
 
diff --git a/download.lst b/download.lst
index 7224b16dbc22..1c9a11cf95ab 100644
--- a/download.lst
+++ b/download.lst
@@ -206,8 +206,8 @@ export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3
 export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
 export LIBPNG_SHA256SUM := 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6
 export LIBPNG_TARBALL := libpng-1.6.34.tar.xz
-export POPPLER_SHA256SUM := a3d626b24cd14efa9864e12584b22c9c32f51c46417d7c10ca17651f297c9641
-export POPPLER_TARBALL := poppler-0.59.0.tar.xz
+export POPPLER_SHA256SUM := 2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7
+export POPPLER_TARBALL := poppler-0.66.0.tar.xz
 export POSTGRESQL_SHA256SUM := db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461
 export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
 export PYTHON_SHA256SUM := 6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44
diff --git a/external/poppler/0001-Fix-building-with-old-clang.patch.1 b/external/poppler/0001-Fix-building-with-old-clang.patch.1
deleted file mode 100644
index dcddd11d2967..000000000000
--- a/external/poppler/0001-Fix-building-with-old-clang.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-From dd80c182cbcb188af0dd590f222ba9bbb31e3fb7 Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <aacid at kde.org>
-Date: Mon, 4 Sep 2017 19:36:06 +0200
-Subject: [PATCH] Fix building with old clang
-
----
- poppler/StructElement.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/poppler/StructElement.cc b/poppler/StructElement.cc
-index 0fbd336a..451213f8 100644
---- a/poppler/StructElement.cc
-+++ b/poppler/StructElement.cc
-@@ -248,6 +248,8 @@ struct AttributeMapEntry {
- };
- 
- struct AttributeDefaults {
-+  AttributeDefaults() {}; // needed to support old clang
-+
-   Object Inline  = Object(objName, "Inline");
-   Object LrTb = Object(objName, "LrTb");
-   Object Normal = Object(objName, "Normal");
--- 
-2.13.5
-
diff --git a/external/poppler/ExternalProject_poppler.mk b/external/poppler/ExternalProject_poppler.mk
deleted file mode 100644
index 61df84311fae..000000000000
--- a/external/poppler/ExternalProject_poppler.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_ExternalProject_ExternalProject,poppler))
-
-$(eval $(call gb_ExternalProject_use_autoconf,poppler,build))
-
-$(eval $(call gb_ExternalProject_use_externals,poppler,\
-	libjpeg \
-))
-
-$(eval $(call gb_ExternalProject_register_targets,poppler,\
-	build \
-))
-
-$(call gb_ExternalProject_get_state_target,poppler,build) :
-	$(call gb_ExternalProject_run,build,\
-		$(if $(filter TRUE,$(DISABLE_DYNLOADING)),CFLAGS="$(CFLAGS) $(gb_VISIBILITY_FLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS))" CXXFLAGS="$(CXXFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_VISIBILITY_FLAGS_CXX) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS))") \
-		MAKE=$(MAKE) PKG_CONFIG="" ./configure \
-			--with-pic \
-			--enable-static \
-			--disable-shared \
-			--enable-xpdf-headers \
-			--disable-poppler-cpp \
-			--enable-libopenjpeg=none \
-			--disable-libtiff \
-			--enable-libjpeg \
-			--disable-libpng \
-			--disable-zlib \
-			--disable-libcurl \
-			--disable-splash-output \
-			--disable-cairo-output \
-			--disable-poppler-glib \
-			--disable-poppler-qt4 \
-			--disable-poppler-qt5 \
-			--disable-gtk-test \
-			--disable-utils \
-			--disable-cms \
-			$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
-			$(if $(filter WNT MACOSX,$(OS)),--with-font-configuration=win32,--with-font-configuration=fontconfig) \
-			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
-		&& $(MAKE) \
-	)
-
-# vim: set noet sw=4 ts=4:
diff --git a/external/poppler/Module_poppler.mk b/external/poppler/Module_poppler.mk
index 9e9f540531c2..ebae6e7aaddd 100644
--- a/external/poppler/Module_poppler.mk
+++ b/external/poppler/Module_poppler.mk
@@ -10,7 +10,7 @@
 $(eval $(call gb_Module_Module,poppler))
 
 $(eval $(call gb_Module_add_targets,poppler,\
-	ExternalProject_poppler \
+	StaticLibrary_poppler \
 	UnpackedTarball_poppler \
 ))
 
diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk
new file mode 100644
index 000000000000..84873d9c7c2a
--- /dev/null
+++ b/external/poppler/StaticLibrary_poppler.mk
@@ -0,0 +1,128 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,poppler))
+
+$(eval $(call gb_StaticLibrary_use_unpacked,poppler,poppler))
+
+$(eval $(call gb_StaticLibrary_use_external,poppler,libjpeg))
+
+$(eval $(call gb_StaticLibrary_set_warnings_not_errors,poppler))
+
+$(eval $(call gb_StaticLibrary_set_include,poppler,\
+	-I$(WORKDIR)/UnpackedTarball/poppler \
+	-I$(WORKDIR)/UnpackedTarball/poppler/fofi \
+	-I$(WORKDIR)/UnpackedTarball/poppler/goo \
+	-I$(WORKDIR)/UnpackedTarball/poppler/poppler \
+	$$(INCLUDE) \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_StaticLibrary_add_defs,poppler,\
+	-DWIN32_LEAN_AND_MEAN \
+	-D_CRT_SECURE_NO_WARNINGS \
+))
+$(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
+	/Zc:wchar_t- \
+))
+endif
+
+$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc))
+
+$(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
+	UnpackedTarball/poppler/goo/gfile \
+	UnpackedTarball/poppler/goo/gmempp \
+	UnpackedTarball/poppler/goo/GooList \
+	UnpackedTarball/poppler/goo/GooTimer \
+	UnpackedTarball/poppler/goo/GooString \
+	UnpackedTarball/poppler/goo/gmem \
+	UnpackedTarball/poppler/goo/FixedPoint \
+	UnpackedTarball/poppler/goo/NetPBMWriter \
+	UnpackedTarball/poppler/goo/PNGWriter \
+	UnpackedTarball/poppler/goo/TiffWriter \
+	UnpackedTarball/poppler/goo/JpegWriter \
+	UnpackedTarball/poppler/goo/ImgWriter \
+	UnpackedTarball/poppler/goo/gstrtod \
+	UnpackedTarball/poppler/goo/grandom \
+	UnpackedTarball/poppler/goo/glibc \
+	UnpackedTarball/poppler/goo/glibc_strtok_r \
+	UnpackedTarball/poppler/fofi/FoFiBase \
+	UnpackedTarball/poppler/fofi/FoFiEncodings \
+	UnpackedTarball/poppler/fofi/FoFiTrueType \
+	UnpackedTarball/poppler/fofi/FoFiType1 \
+	UnpackedTarball/poppler/fofi/FoFiType1C \
+	UnpackedTarball/poppler/fofi/FoFiIdentifier \
+	UnpackedTarball/poppler/poppler/Annot \
+	UnpackedTarball/poppler/poppler/Array \
+	UnpackedTarball/poppler/poppler/BuiltinFont \
+	UnpackedTarball/poppler/poppler/BuiltinFontTables \
+	UnpackedTarball/poppler/poppler/CachedFile \
+	UnpackedTarball/poppler/poppler/Catalog \
+	UnpackedTarball/poppler/poppler/CharCodeToUnicode \
+	UnpackedTarball/poppler/poppler/CMap \
+	UnpackedTarball/poppler/poppler/DateInfo \
+	UnpackedTarball/poppler/poppler/Decrypt \
+	UnpackedTarball/poppler/poppler/Dict \
+	UnpackedTarball/poppler/poppler/Error \
+	UnpackedTarball/poppler/poppler/FileSpec \
+	UnpackedTarball/poppler/poppler/FontEncodingTables \
+	UnpackedTarball/poppler/poppler/Form \
+	UnpackedTarball/poppler/poppler/FontInfo \
+	UnpackedTarball/poppler/poppler/Function \
+	UnpackedTarball/poppler/poppler/Gfx \
+	UnpackedTarball/poppler/poppler/GfxFont \
+	UnpackedTarball/poppler/poppler/GfxState \
+	UnpackedTarball/poppler/poppler/GlobalParams \
+	UnpackedTarball/poppler/poppler/Hints \
+	UnpackedTarball/poppler/poppler/JArithmeticDecoder \
+	UnpackedTarball/poppler/poppler/JBIG2Stream \
+	UnpackedTarball/poppler/poppler/Lexer \
+	UnpackedTarball/poppler/poppler/Link \
+	UnpackedTarball/poppler/poppler/Linearization \
+	UnpackedTarball/poppler/poppler/LocalPDFDocBuilder \
+	UnpackedTarball/poppler/poppler/MarkedContentOutputDev \
+	UnpackedTarball/poppler/poppler/NameToCharCode \
+	UnpackedTarball/poppler/poppler/Object \
+	UnpackedTarball/poppler/poppler/OptionalContent \
+	UnpackedTarball/poppler/poppler/Outline \
+	UnpackedTarball/poppler/poppler/OutputDev \
+	UnpackedTarball/poppler/poppler/Page \
+	UnpackedTarball/poppler/poppler/PageTransition \
+	UnpackedTarball/poppler/poppler/Parser \
+	UnpackedTarball/poppler/poppler/PDFDoc \
+	UnpackedTarball/poppler/poppler/PDFDocEncoding \
+	UnpackedTarball/poppler/poppler/PDFDocFactory \
+	UnpackedTarball/poppler/poppler/PopplerCache \
+	UnpackedTarball/poppler/poppler/ProfileData \
+	UnpackedTarball/poppler/poppler/PreScanOutputDev \
+	UnpackedTarball/poppler/poppler/PSTokenizer \
+	UnpackedTarball/poppler/poppler/SignatureInfo \
+	UnpackedTarball/poppler/poppler/Stream \
+	UnpackedTarball/poppler/poppler/StructTreeRoot \
+	UnpackedTarball/poppler/poppler/StructElement \
+	UnpackedTarball/poppler/poppler/UnicodeMap \
+	UnpackedTarball/poppler/poppler/UnicodeMapFuncs \
+	UnpackedTarball/poppler/poppler/UnicodeTypeTable \
+	UnpackedTarball/poppler/poppler/UTF \
+	UnpackedTarball/poppler/poppler/XRef \
+	UnpackedTarball/poppler/poppler/PSOutputDev \
+	UnpackedTarball/poppler/poppler/TextOutputDev \
+	UnpackedTarball/poppler/poppler/PageLabelInfo \
+	UnpackedTarball/poppler/poppler/SecurityHandler \
+	UnpackedTarball/poppler/poppler/StdinCachedFile \
+	UnpackedTarball/poppler/poppler/StdinPDFDocBuilder \
+	UnpackedTarball/poppler/poppler/Sound \
+	UnpackedTarball/poppler/poppler/ViewerPreferences \
+	UnpackedTarball/poppler/poppler/XpdfPluginAPI \
+	UnpackedTarball/poppler/poppler/Movie \
+	UnpackedTarball/poppler/poppler/Rendition \
+	UnpackedTarball/poppler/poppler/DCTStream \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk
index fc62974521fa..68fd06d9403b 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -12,11 +12,7 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,poppler))
 $(eval $(call gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler))
 
 $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
-	external/poppler/poppler-notests.patch.1 \
-	external/poppler/poppler-mac-fake.patch.1 \
-	external/poppler/ubsan.patch.0 \
-	external/poppler/poppler-libjpeg.patch.1 \
-	external/poppler/0001-Fix-building-with-old-clang.patch.1 \
+	external/poppler/poppler-config.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1
new file mode 100644
index 000000000000..5328e680e2f2
--- /dev/null
+++ b/external/poppler/poppler-config.patch.1
@@ -0,0 +1,484 @@
+*three* poppler config headers
+
+mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off
+
+manually disabled these because cmake failed to do it:
+HAVE_CAIRO
+ENABLE_NSS3
+ENABLE_LIBPNG (twice!)
+ENABLE_LIBTIFF (twice!)
+ENABLE_LIBCURL
+
+diff --git a/config.h b/config.h
+new file mode 100644
+index 0fbd336a..451213f8 100644
+--- /dev/null
++++ b/config.h
+@@ -0,0 +1,248 @@
++/* config.h.  Generated from config.h.cmake by cmake.  */
++
++/* Build against libcurl. */
++/* #undef ENABLE_LIBCURL */
++
++/* Use libjpeg instead of builtin jpeg decoder. */
++#define ENABLE_LIBJPEG 1
++
++/* Use libopenjpeg instead of builtin jpeg2000 decoder. */
++/* #undef ENABLE_LIBOPENJPEG */
++
++/* Build against libtiff. */
++/* #define ENABLE_LIBTIFF 1 */
++
++/* Build against libpng. */
++/* #define ENABLE_LIBPNG 1 */
++
++/* Do not hardcode the library location */
++/* #undef ENABLE_RELOCATABLE */
++
++/* Build against zlib. */
++/* #undef ENABLE_ZLIB */
++
++/* Use zlib instead of builtin zlib decoder to uncompress flate streams. */
++/* #undef ENABLE_ZLIB_UNCOMPRESS */
++
++/* Build against libnss3 for digital signature validation */
++/* #define ENABLE_NSS3 1 */
++
++/* Use cairo for rendering. */
++/* #define HAVE_CAIRO 1 */
++
++/* Do we have any DCT decoder?. */
++#define HAVE_DCT_DECODER 1
++
++/* Do we have any JPX decoder?. */
++/* #undef HAVE_JPX_DECODER */
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
++   */
++#define HAVE_DIRENT_H 1
++#endif
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++#endif
++
++/* Define to 1 if you have the <fcntl.h> header file. */
++#define HAVE_FCNTL_H 1
++
++/* Define to 1 if you have the `fseek64' function. */
++/* #undef HAVE_FSEEK64 */
++
++#if !defined(_WIN32)
++/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
++#define HAVE_FSEEKO 1
++#endif
++
++/* Define to 1 if you have the `ftell64' function. */
++/* #undef HAVE_FTELL64 */
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the `pread64' function. */
++#define HAVE_PREAD64 1
++#endif
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the `lseek64' function. */
++#define HAVE_LSEEK64 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if gettimeofday is available on your system */
++#define HAVE_GETTIMEOFDAY 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if gmtime_r is available on your system */
++#define HAVE_GMTIME_R 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if timegm is available on your system */
++#define HAVE_TIMEGM 1
++#endif
++
++/* Define if you have the iconv() function and it works. */
++/* #undef HAVE_ICONV */
++
++/* Define to 1 if you have the `z' library (-lz). */
++/* #undef HAVE_LIBZ */
++
++#if !defined(_WIN32)
++/* Defines if localtime_r is available on your system */
++#define HAVE_LOCALTIME_R 1
++#endif
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the `mkstemp' function. */
++#define HAVE_MKSTEMP 1
++#endif
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the `rand_r' function. */
++#define HAVE_RAND_R 1
++#endif
++
++#if defined(_WIN32)
++/* Define to 1 if you have the `strcpy_s' function. */
++#define HAVE_STRCPY_S 1
++#endif
++
++#if defined(_WIN32)
++/* Define to 1 if you have the `strcat_s' function. */
++#define HAVE_STRCAT_S 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if strtok_r is available on your system */
++#define HAVE_STRTOK_R 1
++#endif
++
++/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
++/* #undef HAVE_NDIR_H */
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the `popen' function. */
++#define HAVE_POPEN 1
++#endif
++
++/* Use splash for rendering. */
++/* #undef HAVE_SPLASH */
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
++   */
++#define HAVE_SYS_DIR_H 1
++#endif
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the <sys/mman.h> header file. */
++#define HAVE_SYS_MMAN_H 1
++#endif
++
++/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
++   */
++/* #undef HAVE_SYS_NDIR_H */
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++#endif
++
++/* Define to 1 if you have a big endian machine */
++/* #undef WORDS_BIGENDIAN */
++
++/* Define as const if the declaration of iconv() needs const. */
++#define ICONV_CONST 
++
++/* Enable multithreading support. */
++#define MULTITHREADED 1
++
++/* Generate OPI comments in PS output. */
++#define OPI_SUPPORT 1
++
++/* Name of package */
++#define PACKAGE "poppler"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=poppler"
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME "poppler"
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING "poppler 0.66.0"
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME "poppler"
++
++/* Define to the home page for this package. */
++#define PACKAGE_URL ""
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION "0.66.0"
++
++/* Poppler data dir */
++#define POPPLER_DATADIR "/usr/local/share/poppler"
++
++/* Support for curl based doc builder is compiled in. */
++/* #undef POPPLER_HAS_CURL_SUPPORT */
++
++/* Include support for CMYK rasterization */
++/* #undef SPLASH_CMYK */
++
++/* Enable word list support. */
++#define TEXTOUT_WORD_LIST 1
++
++/* Defines if use cms */
++/* #undef USE_CMS */
++
++/* Use fixed point arithmetic in the Splash backend */
++/* #undef USE_FIXEDPOINT */
++
++/* Use single precision arithmetic in the Splash backend */
++/* #undef USE_FLOAT */
++
++/* Version number of package */
++#define VERSION "0.66.0"
++
++#if defined(__APPLE__)
++#elif defined (_WIN32)
++/* Use win32 font configuration backend */
++#define WITH_FONTCONFIGURATION_WIN32 1
++#else
++/* Use fontconfig font configuration backend */
++#define WITH_FONTCONFIGURATION_FONTCONFIG 1
++#endif
++
++/* OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag */
++/* #undef WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG */
++
++/* MS defined snprintf as deprecated but then added it in Visual Studio 2015. */
++#if defined(_MSC_VER) && _MSC_VER < 1900
++#define snprintf _snprintf
++#endif
++
++//------------------------------------------------------------------------
++// popen
++//------------------------------------------------------------------------
++#if defined(_MSC_VER) || defined(__BORLANDC__)
++#define popen _popen
++#define pclose _pclose
++#endif
++
++/* Number of bits in a file offset, on hosts where this is settable. */
++/* #undef _FILE_OFFSET_BITS */
++
++/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
++/* TODO This is wrong, port if needed #undef _LARGEFILE_SOURCE */
++
++/* Define for large files, on AIX-style hosts. */
++/* TODO This is wrong, port if needed #undef _LARGE_FILES */
+diff --git a/poppler/poppler-config.h b/poppler/poppler-config.h
+new file mode 100644
+index 0fbd336a..451213f8 100644
+--- /dev/null
++++ b/poppler/poppler-config.h
+@@ -0,0 +1,168 @@
++//================================================= -*- mode: c++ -*- ====
++//
++// poppler-config.h
++//
++// Copyright 1996-2011 Glyph & Cog, LLC
++//
++//========================================================================
++
++//========================================================================
++//
++// Modified under the Poppler project - http://poppler.freedesktop.org
++//
++// All changes made under the Poppler project to this file are licensed
++// under GPL version 2 or later
++//
++// Copyright (C) 2014 Bogdan Cristea <cristeab at gmail.com>
++// Copyright (C) 2014 Hib Eris <hib at hiberis.nl>
++// Copyright (C) 2016 Tor Lillqvist <tml at collabora.com>
++// Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
++//
++// To see a description of the changes please see the Changelog file that
++// came with your tarball or type make ChangeLog if you are building from git
++//
++//========================================================================
++
++#ifndef POPPLER_CONFIG_H
++#define POPPLER_CONFIG_H
++
++// We duplicate some of the config.h #define's here since they are
++// used in some of the header files we install.  The #ifndef/#endif
++// around #undef look odd, but it's to silence warnings about
++// redefining those symbols.
++
++/* Defines the poppler version. */
++#ifndef POPPLER_VERSION
++#define POPPLER_VERSION "0.66.0"
++#endif
++
++/* Enable multithreading support. */
++#ifndef MULTITHREADED
++#define MULTITHREADED 1
++#endif
++
++/* Use fixedpoint. */
++#ifndef USE_FIXEDPOINT
++/* #undef USE_FIXEDPOINT */
++#endif
++
++/* Use single precision arithmetic in the Splash backend */
++#ifndef USE_FLOAT
++/* #undef USE_FLOAT */
++#endif
++
++/* Include support for OPI comments. */
++#ifndef OPI_SUPPORT
++#define OPI_SUPPORT 1
++#endif
++
++/* Enable word list support. */
++#ifndef TEXTOUT_WORD_LIST
++#define TEXTOUT_WORD_LIST 1
++#endif
++
++/* Support for curl is compiled in. */
++#ifndef POPPLER_HAS_CURL_SUPPORT
++/* #undef POPPLER_HAS_CURL_SUPPORT */
++#endif
++
++/* Use libjpeg instead of builtin jpeg decoder. */
++#ifndef ENABLE_LIBJPEG
++#define ENABLE_LIBJPEG 1
++#endif
++
++/* Build against libtiff. */
++#ifndef ENABLE_LIBTIFF
++/* #define ENABLE_LIBTIFF 1 */
++#endif
++
++/* Build against libpng. */
++#ifndef ENABLE_LIBPNG
++/* #define ENABLE_LIBPNG 1 */
++#endif
++
++/* Use zlib instead of builtin zlib decoder. */
++#ifndef ENABLE_ZLIB
++/* #undef ENABLE_ZLIB */
++#endif
++
++/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
++   */
++#ifndef HAVE_DIRENT_H
++#if !defined(_WIN32)
++#define HAVE_DIRENT_H 1
++#endif
++#endif
++
++/* Defines if gettimeofday is available on your system */
++#ifndef HAVE_GETTIMEOFDAY
++#if !defined(_WIN32)
++#define HAVE_GETTIMEOFDAY 1
++#endif
++#endif
++
++/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
++#ifndef HAVE_NDIR_H
++/* #undef HAVE_NDIR_H */
++#endif
++
++/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
++   */
++#ifndef HAVE_SYS_DIR_H
++#if !defined(__APPLE__) && !defined(_WIN32)
++#define HAVE_SYS_DIR_H 1
++#endif
++#endif
++
++/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
++   */
++#ifndef HAVE_SYS_NDIR_H
++/* #undef HAVE_SYS_NDIR_H */
++#endif
++
++/* Defines if use cms */
++#ifndef USE_CMS
++/* #undef USE_CMS */
++#endif
++
++// Also, there are preprocessor symbols in the header files
++// that are used but never defined when building poppler using configure
++// or cmake: DISABLE_OUTLINE, DEBUG_MEM,
++// ENABLE_PLUGINS, DEBUG_FORMS
++
++//------------------------------------------------------------------------
++// version
++//------------------------------------------------------------------------
++
++// copyright notice
++#define popplerCopyright "Copyright 2005-2018 The Poppler Developers - http://poppler.freedesktop.org"
++#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
++
++//------------------------------------------------------------------------
++// Win32 stuff
++//------------------------------------------------------------------------
++
++#if defined(_WIN32) && !defined(_MSC_VER)
++#include <windef.h>
++#else
++#define CDECL
++#endif
++
++//------------------------------------------------------------------------
++// Compiler
++//------------------------------------------------------------------------
++
++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
++#include <stdio.h> // __MINGW_PRINTF_FORMAT is defined in the mingw stdio.h
++#ifdef __MINGW_PRINTF_FORMAT
++#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
++	__attribute__((__format__(__MINGW_PRINTF_FORMAT, fmt_index, va_index)))
++#else
++#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
++	__attribute__((__format__(__printf__, fmt_index, va_index)))
++#endif
++#else
++#define GCC_PRINTF_FORMAT(fmt_index, va_index)
++#endif
++
++#endif /* POPPLER_CONFIG_H */
+diff --git a/cpp/poppler-version.h b/cpp/poppler-version.h
+new file mode 100644
+index 0fbd336a..451213f8 100644
+--- /dev/null
++++ b/cpp/poppler-version.h
+@@ -0,0 +1,39 @@
++/*
++ * Copyright (C) 2009, Pino Toscano <pino at kde.org>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++#ifndef POPPLER_VERSION_H
++#define POPPLER_VERSION_H
++
++#include "poppler-global.h"
++
++#define POPPLER_VERSION "0.66.0"
++#define POPPLER_VERSION_MAJOR 0
++#define POPPLER_VERSION_MINOR 66
++#define POPPLER_VERSION_MICRO 0
++
++namespace poppler
++{
++
++POPPLER_CPP_EXPORT std::string version_string();
++POPPLER_CPP_EXPORT unsigned int version_major();
++POPPLER_CPP_EXPORT unsigned int version_minor();
++POPPLER_CPP_EXPORT unsigned int version_micro();
++
++}
++
++#endif
diff --git a/external/poppler/poppler-libjpeg.patch.1 b/external/poppler/poppler-libjpeg.patch.1
deleted file mode 100644
index c8d54beb75ae..000000000000
--- a/external/poppler/poppler-libjpeg.patch.1
+++ /dev/null
@@ -1,23 +0,0 @@
-do not override user supplied LIBJPEG_LIBS so we can use the one in WORKDIR
-
---- poppler/configure.orig	2016-11-02 13:58:32.530617038 +0100
-+++ poppler/configure	2016-11-02 13:58:06.233617689 +0100
-@@ -21377,8 +21377,9 @@
-           ac_save_USER_INCLUDES="$USER_INCLUDES"
-   ac_save_USER_LDFLAGS="$USER_LDFLAGS"
-   USER_INCLUDES="$USER_INCLUDES $LIBJPEG_CFLAGS"
--  USER_LDFLAGS="$USER_LDFLAGS $LIBJPEG_CFLAGS"
-+  USER_LDFLAGS="$USER_LDFLAGS $LIBJPEG_LIBS"
- 
-+if test -z "$LIBJPEG_LIBS"; then
- 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libjpeg6b" >&5
- $as_echo_n "checking for libjpeg6b... " >&6; }
-@@ -21489,6 +21490,7 @@
- 
- 
- fi
-+fi
- 
- 
- ac_save_CPPFLAGS="$CPPFLAGS"
diff --git a/external/poppler/poppler-mac-fake.patch.1 b/external/poppler/poppler-mac-fake.patch.1
deleted file mode 100644
index d0b1936658ca..000000000000
--- a/external/poppler/poppler-mac-fake.patch.1
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur poppler.org/poppler/GlobalParams.cc poppler/poppler/GlobalParams.cc
---- poppler.org/poppler/GlobalParams.cc	2013-07-09 06:24:38.000000000 -0500
-+++ poppler/poppler/GlobalParams.cc	2013-07-09 06:25:18.000000000 -0500
-@@ -1327,7 +1327,7 @@
-   return path;
- }
- 
--#elif WITH_FONTCONFIGURATION_WIN32
-+#elif WITH_FONTCONFIGURATION_WIN32 && defined(_WIN32)
- #include "GlobalParamsWin.cc"
- 
- GooString *GlobalParams::findBase14FontFile(GooString *base14Name, GfxFont *font) {
-
diff --git a/external/poppler/poppler-notests.patch.1 b/external/poppler/poppler-notests.patch.1
deleted file mode 100644
index ffac17312959..000000000000
--- a/external/poppler/poppler-notests.patch.1
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -483,7 +483,7 @@
- @BUILD_POPPLER_QT4_TRUE at qt4_pc_file = poppler-qt4.pc
- @BUILD_POPPLER_CPP_TRUE at cpp_subdir = cpp
- @BUILD_POPPLER_CPP_TRUE at cpp_pc_file = poppler-cpp.pc
--SUBDIRS = goo fofi $(splash_subdir) poppler utils $(glib_subdir) test $(qt4_subdir) $(qt5_subdir) $(cpp_subdir)
-+SUBDIRS = goo fofi $(splash_subdir) poppler utils $(glib_subdir) $(qt4_subdir) $(qt5_subdir) $(cpp_subdir)
- 
- # Add CMake buildsystem files here so they get added on make dist
- EXTRA_DIST = README-XPDF poppler.pc.in poppler-uninstalled.pc.in \
diff --git a/external/poppler/ubsan.patch.0 b/external/poppler/ubsan.patch.0
deleted file mode 100644
index f6e4667dc133..000000000000
--- a/external/poppler/ubsan.patch.0
+++ /dev/null
@@ -1,230 +0,0 @@
---- poppler/Form.cc
-+++ poppler/Form.cc
-@@ -463,12 +463,11 @@
- // FormField
- //========================================================================
- 
--FormField::FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parentA, std::set<int> *usedParents, FormFieldType ty)
-+FormField::FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parentA, FormFieldType ty)
- {
-   doc = docA;
-   xref = doc->getXRef();
-   obj = aobj->copy();
--  Dict* dict = obj.getDict();
-   ref.num = ref.gen = 0;
-   type = ty;
-   parent = parentA;
-@@ -483,7 +482,11 @@
-   hasQuadding = gFalse;
- 
-   ref = aref;
-+}
- 
-+void FormField::init(std::set<int> *usedParents)
-+{
-+  Dict* dict = obj.getDict();
-   //childs
-   Object obj1 = dict->lookup("Kids");
-   if (obj1.isArray()) {
-@@ -803,9 +806,15 @@
- //------------------------------------------------------------------------
- // FormFieldButton
- //------------------------------------------------------------------------
--FormFieldButton::FormFieldButton(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
--  : FormField(docA, aobj, ref, parent, usedParents, formButton)
-+FormFieldButton::FormFieldButton(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent)
-+  : FormField(docA, aobj, ref, parent, formButton)
- {
-+}
-+
-+void FormFieldButton::init(std::set<int> *usedParents)
-+{
-+  FormField::init(usedParents);
-+
-   Dict* dict = obj.getDict();
-   active_child = -1;
-   noAllOff = false;
-@@ -983,9 +992,15 @@
- //------------------------------------------------------------------------
- // FormFieldText
- //------------------------------------------------------------------------
--FormFieldText::FormFieldText(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
--  : FormField(docA, aobj, ref, parent, usedParents, formText)
-+FormFieldText::FormFieldText(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent)
-+  : FormField(docA, aobj, ref, parent, formText)
- {
-+}
-+
-+void FormFieldText::init(std::set<int> *usedParents)
-+{
-+  FormField::init(usedParents);
-+
-   Dict* dict = obj.getDict();
-   Object obj1;
-   content = NULL;
-@@ -1076,9 +1091,15 @@
- //------------------------------------------------------------------------
- // FormFieldChoice
- //------------------------------------------------------------------------
--FormFieldChoice::FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
--  : FormField(docA, aobj, ref, parent, usedParents, formChoice)
-+FormFieldChoice::FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent)
-+  : FormField(docA, aobj, ref, parent, formChoice)
- {
-+}
-+
-+void FormFieldChoice::init(std::set<int> *usedParents)
-+{
-+  FormField::init(usedParents);
-+
-   numChoices = 0;
-   choices = NULL;
-   editedChoice = NULL;
-@@ -1379,11 +1400,17 @@
- //------------------------------------------------------------------------
- // FormFieldSignature
- //------------------------------------------------------------------------
--FormFieldSignature::FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
--  : FormField(docA, dict, ref, parent, usedParents, formSignature),
-+FormFieldSignature::FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent)
-+  : FormField(docA, dict, ref, parent, formSignature),
-     signature_type(adbe_pkcs7_detached),
-     signature(nullptr), signature_info(nullptr)
- {
-+}
-+
-+void FormFieldSignature::init(std::set<int> *usedParents)
-+{
-+  FormField::init(usedParents);
-+
-   signature = NULL;
- 
-   signature_info = new SignatureInfo();
-@@ -1691,15 +1718,15 @@
- 
-     Object obj2 = Form::fieldLookup(obj->getDict (), "FT");
-     if (obj2.isName("Btn")) {
--      field = new FormFieldButton(docA, obj, pref, parent, usedParents);
-+      field = FormFieldButton::create(docA, obj, pref, parent, usedParents);
-     } else if (obj2.isName("Tx")) {
--      field = new FormFieldText(docA, obj, pref, parent, usedParents);
-+      field = FormFieldText::create(docA, obj, pref, parent, usedParents);
-     } else if (obj2.isName("Ch")) {
--      field = new FormFieldChoice(docA, obj, pref, parent, usedParents);
-+      field = FormFieldChoice::create(docA, obj, pref, parent, usedParents);
-     } else if (obj2.isName("Sig")) {
--      field = new FormFieldSignature(docA, obj, pref, parent, usedParents);
-+      field = FormFieldSignature::create(docA, obj, pref, parent, usedParents);
-     } else { //we don't have an FT entry => non-terminal field
--      field = new FormField(docA, obj, pref, parent, usedParents);
-+      field = FormField::create(docA, obj, pref, parent, usedParents);
-     }
- 
-     return field;
---- poppler/Form.h
-+++ poppler/Form.h
-@@ -264,8 +264,16 @@
- //------------------------------------------------------------------------
- 
- class FormField {
--public:
--  FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parent, std::set<int> *usedParents, FormFieldType t=formUndef);
-+protected:
-+  FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parent, FormFieldType t);
-+  void init(std::set<int> *usedParents);
-+public:
-+  static FormField *create(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *parent, std::set<int> *usedParents, FormFieldType t=formUndef)
-+  {
-+    FormField *f = new FormField(docA, aobj, aref, parent, t);
-+    f->init(usedParents);
-+    return f;
-+  }
- 
-   virtual ~FormField();
- 
-@@ -338,8 +346,16 @@
- //------------------------------------------------------------------------
- 
- class FormFieldButton: public FormField {
--public:
--  FormFieldButton(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents);
-+private:
-+  FormFieldButton(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent);
-+  void init(std::set<int> *usedParents);
-+public:
-+  static FormFieldButton *create(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
-+  {
-+    FormFieldButton *f = new FormFieldButton(docA, dict, ref, parent);
-+    f->init(usedParents);
-+    return f;
-+  }
- 
-   FormButtonType getButtonType () { return btype; }
- 
-@@ -384,8 +400,16 @@
- //------------------------------------------------------------------------
- 
- class FormFieldText: public FormField {
--public:
--  FormFieldText(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents);
-+private:
-+  FormFieldText(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent);
-+  void init(std::set<int> *usedParents);
-+public:
-+  static FormFieldText *create(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
-+  {
-+    FormFieldText *f = new FormFieldText(docA, dict, ref, parent);
-+    f->init(usedParents);
-+    return f;
-+  }
-   
-   GooString* getContent () { return content; }
-   GooString* getContentCopy ();
-@@ -422,8 +446,16 @@
- //------------------------------------------------------------------------
- 
- class FormFieldChoice: public FormField {
--public:
--  FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents);
-+private:
-+  FormFieldChoice(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent);
-+  void init(std::set<int> *usedParents);
-+public:
-+  static FormFieldChoice *create(PDFDoc *docA, Object *aobj, const Ref& ref, FormField *parent, std::set<int> *usedParents)
-+  {
-+    FormFieldChoice *f = new FormFieldChoice(docA, aobj, ref, parent);
-+    f->init(usedParents);
-+    return f;
-+  }
- 
-   ~FormFieldChoice();
- 
-@@ -491,8 +523,16 @@
- 
- class FormFieldSignature: public FormField {
-   friend class FormWidgetSignature;
--public:
--  FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents);
-+private:
-+  FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent);
-+  void init(std::set<int> *usedParents);
-+public:
-+  static FormFieldSignature *create(PDFDoc *docA, Object *dict, const Ref& ref, FormField *parent, std::set<int> *usedParents)
-+  {
-+    FormFieldSignature *f = new FormFieldSignature(docA, dict, ref, parent);
-+    f->init(usedParents);
-+    return f;
-+  }
- 
-   // Use -1 for now as validationTime
-   SignatureInfo *validateSignature(bool doVerifyCert, bool forceRevalidation, time_t validationTime);
---- poppler/XRef.cc
-+++ poppler/XRef.cc
-@@ -293,6 +293,7 @@
-   xRefStream = gFalse;
-   scannedSpecialFlags = gFalse;
-   encrypted = gFalse;
-+  encAlgorithm = cryptRC4;
-   permFlags = defPermFlags;
-   ownerPasswordOk = gFalse;
-   rootNum = -1;


More information about the Libreoffice-commits mailing list