Makefile.fetch | 6 RepositoryExternal.mk | 6 canvas/source/directx/dx_canvasbitmap.cxx | 3 configure.ac | 336 +++--- desktop/unx/source/pagein.c | 1 download.lst | 12 external/curl/ExternalProject_curl.mk | 14 external/curl/UnpackedTarball_curl.mk | 1 external/curl/curl-msvc-disable-protocols.patch.1 | 24 external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 | 25 external/libmwaw/UnpackedTarball_libmwaw.mk | 1 external/libwpd/UnpackedTarball_libwpd.mk | 1 external/libwpd/libwpd-tdf112269.patch.1 | 42 external/nss/UnpackedTarball_nss.mk | 1 external/nss/nss.patch | 116 +- external/nss/nss.vs2015.patch | 10 external/nss/nss.windowbuild.patch.0 | 55 - external/poppler/ExternalProject_poppler.mk | 51 - external/poppler/Module_poppler.mk | 2 external/poppler/StaticLibrary_poppler.mk | 144 ++ external/poppler/UnpackedTarball_poppler.mk | 8 external/poppler/poppler-0.46.0-std-max.patch.1 | 10 external/poppler/poppler-0.46.0-unused-private-field.patch.1 | 11 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/poppler-snprintf.patch.1 | 2 external/poppler/poppler-vs2013.patch.1 | 11 external/poppler/ubsan.patch.0 | 58 - external/python3/ExternalProject_python3.mk | 2 external/python3/internal-zlib.patch.0 | 55 + package/source/zipapi/ZipFile.cxx | 1 postprocess/CustomTarget_signing.mk | 1 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 22 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 4 solenv/gbuild/platform/com_MSC_defs.mk | 4 solenv/gdb/libreoffice/sal.py | 4 solenv/gdb/libreoffice/util/string.py | 6 xmlsecurity/source/xmlsec/nss/nssinitializer.cxx | 14 40 files changed, 1102 insertions(+), 493 deletions(-)
New commits: commit 1fe51e08e0e4a913c10ca5521051b45909e75cde Author: David Tardon <dtar...@redhat.com> AuthorDate: Wed Mar 8 10:37:38 2017 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 18:10:01 2018 +0100 WaE: include needed header "error: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>." Change-Id: I7f5741d4c2eae277e316c5fc97aa73b9430fbdc1 (cherry picked from commit 01bf741a79241829b0d5c048e8f45e3cf6914d3e) diff --git a/desktop/unx/source/pagein.c b/desktop/unx/source/pagein.c index 56baffa79ca3..a401419fc162 100644 --- a/desktop/unx/source/pagein.c +++ b/desktop/unx/source/pagein.c @@ -25,6 +25,7 @@ #include <stdio.h> #include <string.h> #include <sys/stat.h> +#include <sys/sysmacros.h> #include <sys/types.h> /* do_pagein */ commit b5a8faf8559f98bdd0e51cfc00bbbd1ea18d2f4a Author: Michael Stahl <mst...@redhat.com> AuthorDate: Fri Sep 29 16:53:35 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 18:01:03 2018 +0100 gdb pretty-printers: fix StringPrinterHelper for gdb 8.0 Latest gdb release "lazy_string" validates the array size: Traceback (most recent call last): File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line 29, in to_string return self.make_string(data, self.encoding, len) File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line 66, in make_string return data.lazy_string(encoding, length) gdb.error: Length is larger than array size. rtl_uString has "sal_Unicode buffer[1];", which is a lie as the real size is the same as "length". Taking the address of "buffer" appears to avoid the exception. Change-Id: I85710b1adfae584ba09c8d517e9b49b290e79d8a (cherry picked from commit 205677c88cb01e2bbee278443867baed2c89e5fe) (cherry picked from commit 8c3874409539440cae7eda4ab74f2b73f272fbe1) diff --git a/solenv/gdb/libreoffice/sal.py b/solenv/gdb/libreoffice/sal.py index c2e8384537be..8dcfaebe66e1 100644 --- a/solenv/gdb/libreoffice/sal.py +++ b/solenv/gdb/libreoffice/sal.py @@ -21,7 +21,7 @@ class RtlStringPrinter(StringPrinterHelper): super(RtlStringPrinter, self).__init__(typename, val, encoding) def data(self): - return self.val['buffer'] + return self.val['buffer'].address def length(self): return self.val['length'] @@ -37,7 +37,7 @@ class StringPrinter(StringPrinterHelper): def data(self): assert self.val['pData'] - return self.val['pData'].dereference()['buffer'] + return self.val['pData'].dereference()['buffer'].address def length(self): assert self.val['pData'] diff --git a/solenv/gdb/libreoffice/util/string.py b/solenv/gdb/libreoffice/util/string.py index 4583f5960ae1..9f7cb70028b5 100644 --- a/solenv/gdb/libreoffice/util/string.py +++ b/solenv/gdb/libreoffice/util/string.py @@ -52,15 +52,15 @@ class StringPrinterHelper(object): if not encoding: encoding = '' - if use_lazy_string: - return data.lazy_string(encoding, length) - # we need to determine length, if not given (for sal_Unicode*) if length < 0: length = 0 while data[length] != 0 and length <= 512: # arbitrary limit length += 1 + if use_lazy_string: + return data.lazy_string(encoding, length) + # The gdb.Value.string() conversion works on array of bytes, but # the length we have is the length of the string. So we must # multiply it by width of character if the string is Unicode. commit 687d98a3f1b34f3d8e10064604f388109638b65e Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Tue Aug 7 18:11:41 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 18:00:53 2018 +0100 nss: upgrade to release 3.38 Fixes CVE-2018-0495 and "the ASN.1 code". (Remove one hunk of nss-android.patch.1 that should be obsolete with the current Android toolchain baseline (but that hunk didn't exist in libreoffice-6-0 or older anyway).) Change-Id: I5516edec17b72f53acd2749e8840805eead077bc Reviewed-on: https://gerrit.libreoffice.org/58697 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 3ef76067bfa1f9f60ec3989bd6b40a5760137903) Reviewed-on: https://gerrit.libreoffice.org/58722 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> (cherry picked from commit e4874f777048535650a2bb1ce875e1a6e3e4b7ef) (cherry picked from commit 88c54effcdfa2fb044add69da3a47d06ef796271) diff --git a/download.lst b/download.lst index 82edfc596493..36bf1e2b366a 100644 --- a/download.lst +++ b/download.lst @@ -110,8 +110,8 @@ export MWAW_TARBALL := libmwaw-0.3.$(MWAW_VERSION_MICRO).tar.bz2 export MYSQLCPPCONN_TARBALL := 7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz export NEON_TARBALL := 231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz -export NSS_MD5SUM := b47a61cb90571c0b88a531037114685a -export NSS_TARBALL := nss-3.31.1-with-nspr-4.15.tar.gz +export NSS_MD5SUM := cd649be8ee61fe15d64d7bef361b37ba +export NSS_TARBALL := nss-3.38-with-nspr-4.19.tar.gz export ODFGEN_MD5SUM := 32572ea48d9021bbd6fa317ddb697abc export ODFGEN_VERSION_MICRO := 6 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2 diff --git a/external/nss/nss.vs2015.patch b/external/nss/nss.vs2015.patch index de4f8762fd5b..c3e6b5a5acaa 100755 --- a/external/nss/nss.vs2015.patch +++ b/external/nss/nss.vs2015.patch @@ -10,3 +10,13 @@ diff -ru nss.org/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk ifeq ($(_MSC_VER_GE_12),1) OS_CFLAGS += -FS endif +--- a/nss/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc 2018-08-08 11:08:42.922939267 +0200 ++++ b/nss/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc 2018-08-08 11:08:47.778929835 +0200 +@@ -6,6 +6,7 @@ + #include "config.h" + + #include <algorithm> ++#include <iterator> + #include <cstdlib> + #include <iostream> + #include <memory> commit b278d92c34993e776cdb7835e8c76061fa70420f Author: Gautam Prajapati <gautamprajapat...@gmail.com> AuthorDate: Mon Aug 28 18:17:29 2017 +0530 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 18:00:47 2018 +0100 nss: Upgrade to release 3.31.1 and update patches This commit updates the NSS to release 3.31.1 and NSPR to 4.15. It also updates the external/nss/nss.patch and external/nss/nss-android.patch to incorporate the NSS source changes. Change-Id: Icdd933b67e717f8d91622cd5f6001e34e261b746 Reviewed-on: https://gerrit.libreoffice.org/41636 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit c6df07f905cd9562132b06e44f90b0479b250f7a) (cherry picked from commit fc5aafb1478affadce79a82c3504182e65e2525e) diff --git a/download.lst b/download.lst index 49ed2b743f72..82edfc596493 100644 --- a/download.lst +++ b/download.lst @@ -110,8 +110,8 @@ export MWAW_TARBALL := libmwaw-0.3.$(MWAW_VERSION_MICRO).tar.bz2 export MYSQLCPPCONN_TARBALL := 7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz export NEON_TARBALL := 231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz -export NSS_MD5SUM := e55ee06b22687df68fafc6a30c0554b2 -export NSS_TARBALL := nss-3.29.5-with-nspr-4.13.1.tar.gz +export NSS_MD5SUM := b47a61cb90571c0b88a531037114685a +export NSS_TARBALL := nss-3.31.1-with-nspr-4.15.tar.gz export ODFGEN_MD5SUM := 32572ea48d9021bbd6fa317ddb697abc export ODFGEN_VERSION_MICRO := 6 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2 diff --git a/external/nss/nss.patch b/external/nss/nss.patch index b3b932343d83..1eb0bf70d866 100644 --- a/external/nss/nss.patch +++ b/external/nss/nss.patch @@ -1,5 +1,16 @@ ---- a/nss.orig/nspr/pr/src/misc/prnetdb.c 2016-02-12 14:51:25.000000000 +0100 -+++ b/nss/nspr/pr/src/misc/prnetdb.c 2016-03-04 19:23:00.462892600 +0100 +--- a/a/nspr/configure 2017-08-29 23:44:13.686045013 +0530 ++++ b/b/nspr/configure 2017-08-29 23:46:53.774768655 +0530 +@@ -7034,7 +7034,7 @@ + PR_MD_CSRCS=linux.c + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + DSO_CFLAGS=-fPIC +- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' ++ DSO_LDOPTS='-shared -Wl,-z,origin -Wl,-rpath,\$$ORIGIN -Wl,-soname -Wl,$(notdir $@)' + _OPTIMIZE_FLAGS=-O2 + _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that + # combo is not yet good at debugging inlined +--- a/nss.orig/nspr/pr/src/misc/prnetdb.c 2017-08-29 23:44:13.690045031 +0530 ++++ b/nss/nspr/pr/src/misc/prnetdb.c 2017-08-29 23:47:03.810814019 +0530 @@ -438,7 +438,7 @@ char *buf = *bufp; PRIntn buflen = *buflenp; @@ -9,21 +20,8 @@ PRIntn skip = align - ((ptrdiff_t)buf & (align - 1)); if (buflen < skip) { return 0; -diff -ru a/nspr/configure b/nspr/configure ---- a/a/nspr/configure 2014-09-29 16:46:38.427423757 +0100 -+++ b/b/nspr/configure 2014-09-29 16:47:42.984012225 +0100 -@@ -7018,7 +7018,7 @@ - PR_MD_CSRCS=linux.c - MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' - DSO_CFLAGS=-fPIC -- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' -+ DSO_LDOPTS='-shared -Wl,-z,origin -Wl,-rpath,\$$ORIGIN -Wl,-soname -Wl,$(notdir $@)' - _OPTIMIZE_FLAGS=-O2 - _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that - # combo is not yet good at debugging inlined -diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk ---- a/a/nss/cmd/platlibs.mk 2014-09-29 16:46:38.306422654 +0100 -+++ b/b/nss/cmd/platlibs.mk 2014-09-29 16:47:42.987012253 +0100 +--- a/a/nss/cmd/platlibs.mk 2017-08-29 23:44:13.554044416 +0530 ++++ b/b/nss/cmd/platlibs.mk 2017-08-29 23:46:09.638569150 +0530 @@ -10,17 +10,22 @@ ifeq ($(OS_ARCH), SunOS) @@ -51,10 +49,9 @@ diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk endif endif -diff -ru nss.orig/nss/coreconf/arch.mk nss/nss/coreconf/arch.mk ---- a/nss.orig/nss/coreconf/arch.mk 2016-02-12 15:36:18.000000000 +0100 -+++ b/nss/nss/coreconf/arch.mk 2016-02-23 20:48:31.595941079 +0100 -@@ -280,11 +280,17 @@ +--- a/nss.org/nss/coreconf/arch.mk 2017-08-29 23:44:13.646044832 +0530 ++++ b/nss/nss/coreconf/arch.mk 2017-08-29 23:45:51.494487134 +0530 +@@ -305,11 +305,17 @@ OBJDIR_NAME_COMPILER = $(COMPILER_TAG) endif OBJDIR_NAME_BASE = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(OBJDIR_NAME_COMPILER)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG) @@ -74,9 +71,8 @@ diff -ru nss.orig/nss/coreconf/arch.mk nss/nss/coreconf/arch.mk # # Define USE_DEBUG_RTL if you want to use the debug runtime library # (RTL) in the debug build -diff -ru a/nss/coreconf/FreeBSD.mk b/nss/coreconf/FreeBSD.mk ---- a/a/nss/coreconf/FreeBSD.mk 2014-09-29 16:46:38.189421588 +0100 -+++ b/b/nss/coreconf/FreeBSD.mk 2014-09-29 16:47:42.984012225 +0100 +--- a/nss.org/nss/coreconf/FreeBSD.mk 2017-08-29 23:44:13.642044814 +0530 ++++ b/nss/nss/coreconf/FreeBSD.mk 2017-08-29 23:45:20.850348615 +0530 @@ -25,6 +25,7 @@ DSO_CFLAGS = -fPIC @@ -85,19 +81,18 @@ diff -ru a/nss/coreconf/FreeBSD.mk b/nss/coreconf/FreeBSD.mk # # The default implementation strategy for FreeBSD is pthreads. -diff -ru a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk ---- a/a/nss/coreconf/Linux.mk 2014-09-29 16:46:38.189421588 +0100 -+++ b/b/nss/coreconf/Linux.mk 2014-09-29 16:47:42.985012235 +0100 -@@ -157,7 +160,7 @@ +--- a/nss.org/nss/coreconf/Linux.mk 2017-08-29 23:44:13.642044814 +0530 ++++ b/nss/nss/coreconf/Linux.mk 2017-08-29 23:47:26.318915759 +0530 +@@ -147,7 +147,7 @@ + # Also, -z defs conflicts with Address Sanitizer, which emits relocations # against the libsanitizer runtime built into the main executable. ZDEFS_FLAG = -Wl,-z,defs - ifneq ($(USE_ASAN),1) -DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) -+DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) -Wl,-z,origin '-Wl,-rpath,$$ORIGIN' - endif - LDFLAGS += $(ARCHFLAG) ++DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) -Wl,-z,origin '-Wl,-rpath,$$ORIGIN' + LDFLAGS += $(ARCHFLAG) -z noexecstack -@@ -189,8 +192,13 @@ + # On Maemo, we need to use the -rpath-link flag for even the standard system +@@ -177,8 +177,13 @@ endif endif @@ -111,9 +106,8 @@ diff -ru a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk # The -rpath '$$ORIGIN' linker option instructs this library to search for its # dependencies in the same directory where it resides. -diff -ru a/nss/coreconf/rules.mk b/nss/coreconf/rules.mk ---- a/a/nss/coreconf/rules.mk 2014-09-29 16:46:38.188421578 +0100 -+++ b/b/nss/coreconf/rules.mk 2014-09-29 16:47:42.986012244 +0100 +--- a/nss.org/nss/coreconf/rules.mk 2017-08-29 23:44:13.646044832 +0530 ++++ b/nss/nss/coreconf/rules.mk 2017-08-29 23:47:37.442966042 +0530 @@ -261,7 +261,7 @@ ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) $(AR) $(subst /,\\,$(OBJS)) @@ -123,34 +117,43 @@ diff -ru a/nss/coreconf/rules.mk b/nss/coreconf/rules.mk endif $(RANLIB) $@ -diff -ru a/nss/coreconf/SunOS5.mk b/nss/coreconf/SunOS5.mk ---- a/a/nss/coreconf/SunOS5.mk 2014-09-29 16:46:38.175421471 +0100 -+++ b/b/nss/coreconf/SunOS5.mk 2014-09-29 16:47:42.985012235 +0100 -@@ -48,8 +48,12 @@ +--- a/nss.org/nss/coreconf/SunOS5.mk 2017-08-29 23:44:13.646044832 +0530 ++++ b/nss/nss/coreconf/SunOS5.mk 2017-08-29 23:45:00.902258445 +0530 +@@ -48,8 +48,11 @@ # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer endif else - CC = cc - CCC = CC -+# CC is taken from environment automatically. -+# CC = cc -+# Use CXX from environment. -+# CCC = CC -+ CCC = $(CXX) -+ ++ # CC is taken from environment automatically. ++ # CC = cc ++ # Use CXX from environment. ++ # CCC = CC ++ CCC = $(CXX) ASFLAGS += -Wa,-P OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG) ifndef BUILD_OPT -diff -ru a/nss/Makefile b/nss/Makefile ---- a/a/nss/Makefile 2014-09-29 16:46:38.171421425 +0100 -+++ b/b/nss/Makefile 2014-09-29 16:47:42.987012253 +0100 +--- a/nss.org/nss/coreconf/Werror.mk 2017-08-29 23:44:13.646044832 +0530 ++++ b/nss/nss/coreconf/Werror.mk 2017-08-29 23:44:23.994091608 +0530 +@@ -94,7 +94,8 @@ + endif #ndef NSS_ENABLE_WERROR + + ifeq ($(NSS_ENABLE_WERROR),1) +- WARNING_CFLAGS += -Werror ++ # We do not treat warnings as errors. ++ # WARNING_CFLAGS += -Werror + else + # Old versions of gcc (< 4.8) don't support #pragma diagnostic in functions. + # Use this to disable use of that #pragma and the warnings it suppresses. +--- a/nss.org/nss/Makefile 2017-08-29 23:44:13.402043729 +0530 ++++ b/nss/nss/Makefile 2017-08-29 23:44:39.774162939 +0530 @@ -1,3 +1,5 @@ +export AR +export RANLIB #! gmake # # This Source Code Form is subject to the terms of the Mozilla Public -@@ -91,10 +91,10 @@ +@@ -89,10 +91,10 @@ NSPR_CONFIGURE_ENV = CC=gcc CXX=g++ endif ifdef CC @@ -163,16 +166,3 @@ diff -ru a/nss/Makefile b/nss/Makefile endif # Remove -arch definitions. NSPR can't handle that. NSPR_CONFIGURE_ENV := $(filter-out -arch x86_64,$(NSPR_CONFIGURE_ENV)) -diff -ru nss.orig/nss/coreconf/Werror.mk nss/nss/coreconf/Werror.mk ---- a/nss.orig/nss/coreconf/Werror.mk 2016-02-12 15:36:18.000000000 +0100 -+++ b/nss/nss/coreconf/Werror.mk 2016-02-23 23:58:15.119584046 +0100 -@@ -94,7 +94,8 @@ - endif #ndef NSS_ENABLE_WERROR - - ifeq ($(NSS_ENABLE_WERROR),1) -- WARNING_CFLAGS += -Werror -+# We do not treat warnings as errors. -+# WARNING_CFLAGS += -Werror - else - # Old versions of gcc (< 4.8) don't support #pragma diagnostic in functions. - # Use this to disable use of that #pragma and the warnings it suppresses. commit 3c16600844cc77b0f7d3bb5913544338ac615494 Author: Michael Stahl <mst...@redhat.com> AuthorDate: Fri Apr 21 14:41:53 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 18:00:39 2018 +0100 nss: try to remove nss.windowbuild.patch.0 It's not obvious to me what problem this solves. Maybe the problem no longer exsists in the new upstream release? Change-Id: I16762e0024536afb821eac70c6ba3929d5b8927a Reviewed-on: https://gerrit.libreoffice.org/36798 Reviewed-by: Michael Stahl <mst...@redhat.com> Tested-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit 489414f2395b6c8008ebcda7c37a150fd4ed7ad5) (cherry picked from commit e2ec351222a76644f61800363274bb702fedbc36) diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk index 4a90853f543a..1a7ed1373230 100644 --- a/external/nss/UnpackedTarball_nss.mk +++ b/external/nss/UnpackedTarball_nss.mk @@ -25,7 +25,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\ external/nss/nss.mingw.patch.3) \ external/nss/ubsan.patch.0 \ external/nss/clang-cl.patch.0 \ - external/nss/nss.windowbuild.patch.0 \ $(if $(filter IOS,$(OS)), \ external/nss/nss-chromium-nss-static.patch \ external/nss/nss-more-static.patch \ diff --git a/external/nss/nss.windowbuild.patch.0 b/external/nss/nss.windowbuild.patch.0 deleted file mode 100644 index c25ff4d6437b..000000000000 --- a/external/nss/nss.windowbuild.patch.0 +++ /dev/null @@ -1,55 +0,0 @@ ---- ./nss/gtests/ssl_gtest/tls_connect.cc -+++ ./nss/gtests/ssl_gtest/tls_connect.cc -@@ -375,6 +375,12 @@ - } - } - -+// A simple value of "a", "b". Note that the preferred value of "a" is placed -+// at the end, because the NSS API follows the now defunct NPN specification, -+// which places the preferred (and default) entry at the end of the list. -+// NSS will move this final entry to the front when used with ALPN. -+const uint8_t alpn_dummy_val_[4] = { 0x01, 0x62, 0x01, 0x61 }; -+ - void TlsConnectTestBase::EnableAlpn() { - client_->EnableAlpn(alpn_dummy_val_, sizeof(alpn_dummy_val_)); - server_->EnableAlpn(alpn_dummy_val_, sizeof(alpn_dummy_val_)); ---- ./nss/gtests/ssl_gtest/tls_connect.h -+++ ./nss/gtests/ssl_gtest/tls_connect.h -@@ -113,12 +113,6 @@ - SessionResumptionMode expected_resumption_mode_; - std::vector<std::vector<uint8_t>> session_ids_; - -- // A simple value of "a", "b". Note that the preferred value of "a" is placed -- // at the end, because the NSS API follows the now defunct NPN specification, -- // which places the preferred (and default) entry at the end of the list. -- // NSS will move this final entry to the front when used with ALPN. -- const uint8_t alpn_dummy_val_[4] = {0x01, 0x62, 0x01, 0x61}; -- - private: - static inline Mode ToMode(const std::string& str) { - return str == "TLS" ? STREAM : DGRAM; ---- ./nss/gtests/ssl_gtest/ssl_loopback_unittest.cc -+++ ./nss/gtests/ssl_gtest/ssl_loopback_unittest.cc -@@ -51,6 +51,12 @@ - CheckAlpn("a"); - } - -+// A simple value of "a", "b". Note that the preferred value of "a" is placed -+// at the end, because the NSS API follows the now defunct NPN specification, -+// which places the preferred (and default) entry at the end of the list. -+// NSS will move this final entry to the front when used with ALPN. -+const uint8_t alpn_dummy_val_[4] = { 0x01, 0x62, 0x01, 0x61 }; -+ - TEST_P(TlsConnectGeneric, ConnectAlpnClone) { - EnsureModelSockets(); - client_model_->EnableAlpn(alpn_dummy_val_, sizeof(alpn_dummy_val_)); ---- ./nss/gtests/ssl_gtest/databuffer.h -+++ ./nss/gtests/ssl_gtest/databuffer.h -@@ -10,6 +10,7 @@ - #include <algorithm> - #include <cassert> - #include <cstring> -+#include <cstdint> - #include <iomanip> - #include <iostream> - #if defined(WIN32) || defined(WIN64) commit 4aa36ddd63d39435d26e3cc24bf29de9cf1734af Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Thu Aug 9 11:55:09 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 18:00:27 2018 +0100 xmlsecurity: nsscrypto_initialize: try to avoid profile migration https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.35_release_notes NSS 3.35 and later will automatically migrate migrate profiles from the old "dbm:" BDB format to the new "sql:" SQLite format. The new format can be read by NSS 3.12 and later, which is old enough that it can be assumed to be available. However LibreOffice still shouldn't migrate the profile on its own: LO typically uses a Mozilla Firefox or Thunderbird profile, and if it is a system Firefox with system NSS libraries, then it's probably a bad idea for LO to migrate the profile under Firefox's nose, particularly considering the "partial migration" scenario if the profile is password-protected. Try to avoid this by checking if the profile is the old format and explicitly using the "dbm:" prefix to prevent the migration. Change-Id: I06480522f830ce74e2fb7bf79fee84ad80979b82 Reviewed-on: https://gerrit.libreoffice.org/58756 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> (cherry picked from commit 61688aa1abd9db9adbb8dc5d5aacc6269b21fd27) Reviewed-on: https://gerrit.libreoffice.org/58974 (cherry picked from commit dc5474b2e2f361eec981c6955630dbb020442eae) (cherry picked from commit 32dfccb3b007f4aba75d2705a50e3d9f1a15c146) diff --git a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx index 136c8d6b79d6..907126b0c13c 100644 --- a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx +++ b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx @@ -257,6 +257,20 @@ bool nsscrypto_initialize( const css::uno::Reference< css::uno::XComponentContex // there might be no profile if ( !sCertDir.isEmpty() ) { + if (sCertDir.indexOf(':') == -1) //might be env var with explicit prefix + { + OUString sCertDirURL; + osl::FileBase::getFileURLFromSystemPath( + OStringToOUString(sCertDir, osl_getThreadTextEncoding()), + sCertDirURL); + osl::DirectoryItem item; + if (osl::FileBase::E_NOENT != osl::DirectoryItem::get(sCertDirURL + "/cert8.db", item) && + osl::FileBase::E_NOENT == osl::DirectoryItem::get(sCertDirURL + "/cert9.db", item)) + { + SAL_INFO("xmlsecurity.xmlsec", "nsscrypto_initialize: trying to avoid profile migration"); + sCertDir = "dbm:" + sCertDir; + } + } if( NSS_InitReadWrite( sCertDir.getStr() ) != SECSuccess ) { SAL_INFO("xmlsecurity.xmlsec", "Initializing NSS with profile failed."); commit 9c22c9d02aae236eaa848c8c765763e781996332 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Sep 7 13:37:30 2017 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:59:56 2018 +0100 Resolves: tdf#112269 libwpd fix Change-Id: I0d8d6887fa360c05d5f9e2a070410c77926b9ce1 Reviewed-on: https://gerrit.libreoffice.org/42056 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: David Tardon <dtar...@redhat.com> (cherry picked from commit 05da1c67e49a2d758799db735a826c4d292fea44) (cherry picked from commit 9618de6c0b58770d79761ad28386a701daf4f3df) diff --git a/external/libwpd/UnpackedTarball_libwpd.mk b/external/libwpd/UnpackedTarball_libwpd.mk index 7fb7c3b2181d..495824d804b5 100644 --- a/external/libwpd/UnpackedTarball_libwpd.mk +++ b/external/libwpd/UnpackedTarball_libwpd.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libwpd,0)) $(eval $(call gb_UnpackedTarball_add_patches,libwpd,\ external/libwpd/libwpd-vs2013.patch.1 \ $(if $(SYSTEM_REVENGE),,external/libwpd/rpath.patch) \ + external/libwpd/libwpd-tdf112269.patch.1 \ )) ifneq ($(OS),MACOSX) diff --git a/external/libwpd/libwpd-tdf112269.patch.1 b/external/libwpd/libwpd-tdf112269.patch.1 new file mode 100644 index 000000000000..bc79ab0eaccd --- /dev/null +++ b/external/libwpd/libwpd-tdf112269.patch.1 @@ -0,0 +1,42 @@ +--- libwpd/src/lib/WP5StylesListener.cpp ++++ libwpd/src/lib/WP5StylesListener.cpp +@@ -85,8 +85,9 @@ + m_currentPage = WPXPageSpan(m_pageList.back(), 0.0, 0.0); + m_currentPage.setPageSpan(1); + +- for (std::vector<WPXHeaderFooter>::const_iterator HFiter = (m_nextPage.getHeaderFooterList()).begin(); +- HFiter != (m_nextPage.getHeaderFooterList()).end(); ++HFiter) ++ std::vector<WPXHeaderFooter> headerFooterList = m_nextPage.getHeaderFooterList(); ++ for (std::vector<WPXHeaderFooter>::const_iterator HFiter = headerFooterList.begin(); ++ HFiter != headerFooterList.end(); ++HFiter) + { + if ((*HFiter).getOccurrence() != NEVER) + { +--- libwpd/src/lib/WP42StylesListener.cpp ++++ libwpd/src/lib/WP42StylesListener.cpp +@@ -84,8 +84,9 @@ + m_currentPage = WPXPageSpan(m_pageList.back(), 0.0, 0.0); + m_currentPage.setPageSpan(1); + +- for (std::vector<WPXHeaderFooter>::const_iterator HFiter = (m_nextPage.getHeaderFooterList()).begin(); +- HFiter != (m_nextPage.getHeaderFooterList()).end(); ++HFiter) ++ std::vector<WPXHeaderFooter> headerFooterList = m_nextPage.getHeaderFooterList(); ++ for (std::vector<WPXHeaderFooter>::const_iterator HFiter = headerFooterList.begin(); ++ HFiter != headerFooterList.end(); ++HFiter) + { + if ((*HFiter).getOccurrence() != NEVER) + { +--- libwpd/src/lib/WP1StylesListener.cpp ++++ libwpd/src/lib/WP1StylesListener.cpp +@@ -83,8 +83,9 @@ + m_currentPage = WPXPageSpan(m_pageList.back(), 0.0, 0.0); + m_currentPage.setPageSpan(1); + +- for (std::vector<WPXHeaderFooter>::const_iterator HFiter = (m_nextPage.getHeaderFooterList()).begin(); +- HFiter != (m_nextPage.getHeaderFooterList()).end(); ++HFiter) ++ std::vector<WPXHeaderFooter> headerFooterList = m_nextPage.getHeaderFooterList(); ++ for (std::vector<WPXHeaderFooter>::const_iterator HFiter = headerFooterList.begin(); ++ HFiter != headerFooterList.end(); ++HFiter) + { + if ((*HFiter).getOccurrence() != NEVER) + { commit 8bae87940b5ce773bc7439588da10804eec570ed Author: David Tardon <dtar...@redhat.com> AuthorDate: Thu Jun 15 13:17:40 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:59:47 2018 +0100 use correct size (cherry picked from commit d1ae31a1fc49ec7a68b2a07c5e5e97d95b346ca9) Change-Id: I620ada9b209bb2084eccaa81385beb6306d6a3d0 Reviewed-on: https://gerrit.libreoffice.org/38827 Reviewed-by: Michael Stahl <mst...@redhat.com> Tested-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit 54e7b46718bf2f47c7f55a93cfbb23681429ffc6) (cherry picked from commit 2f3482382f4c07b5caf21dc26d34d621efdc66e8) diff --git a/external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 b/external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 new file mode 100644 index 000000000000..9be6a007b85d --- /dev/null +++ b/external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 @@ -0,0 +1,25 @@ +From 68b3b74569881248bfb6cbb4266177cc253b292f Mon Sep 17 00:00:00 2001 +From: David Tardon <dtar...@redhat.com> +Date: Sat, 8 Apr 2017 14:03:29 +0200 +Subject: [PATCH] ofz#1037 resize vector correctly + +--- + src/lib/MsWrd1Parser.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/MsWrd1Parser.cxx b/src/lib/MsWrd1Parser.cxx +index 63547e6..3626064 100644 +--- a/src/lib/MsWrd1Parser.cxx ++++ b/src/lib/MsWrd1Parser.cxx +@@ -902,7 +902,7 @@ bool MsWrd1Parser::readFootnoteCorrespondance(MWAWVec2i limits) + int id = fIt++->second; + fPos[1] = fIt==footnoteMap.end() ? m_state->m_eot : fIt->first; + if (id >= int(m_state->m_footnotesList.size())) +- m_state->m_footnotesList.resize(size_t(id),0); ++ m_state->m_footnotesList.resize(size_t(id)+1,0); + m_state->m_footnotesList[size_t(id)]=fPos; + } + ascii().addDelimiter(input->tell(),'|'); +-- +2.13.0 + diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk b/external/libmwaw/UnpackedTarball_libmwaw.mk index 2adf7ffad639..068a7a241dea 100644 --- a/external/libmwaw/UnpackedTarball_libmwaw.mk +++ b/external/libmwaw/UnpackedTarball_libmwaw.mk @@ -37,6 +37,7 @@ endif $(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \ external/libmwaw/0001-if-ptr-to-member-var.-is-defined-ensure-the-class-is.patch.1 \ + external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 \ )) # vim: set noet sw=4 ts=4: commit cdb83707f884bd012c0926704f5919ea215da90e Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Mon Jul 9 12:33:33 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:59:25 2018 +0100 curl: in 7.52.1, the parameter is documented as --with-libidn2, but actually it is --with-libidn (it's consistent in later versions). Change-Id: Ib24767974173e4c737fc10d9420e6dbad3440239 (cherry picked from commit 66a2c1fe2e4fd57987ae62f6274a89fab0fab58a) diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk index 831b57088dd6..122cac82a525 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -47,6 +47,7 @@ $(call gb_ExternalProject_get_state_target,curl,build): --with-nss$(if $(SYSTEM_NSS),,="$(call gb_UnpackedTarball_get_dir,nss)/dist/out")) \ --without-ssl --without-gnutls --without-polarssl --without-cyassl --without-axtls \ --enable-ftp --enable-http --enable-ipv6 \ + --without-libidn \ --without-libidn2 --without-libpsl --without-librtmp \ --without-libssh2 --without-metalink --without-nghttp2 \ --disable-ares \ commit 1ed765e3528ce039df7ed855c01ffac495ddbe3a Author: Michael Stahl <mst...@redhat.com> AuthorDate: Wed Aug 9 16:52:18 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:59:18 2018 +0100 curl: disable protocols nobody needs in MSVC build These are disabled via configure on other platforms. Change-Id: I4e27865396f3817ceb5645ab8589c21fdaa5afab (cherry picked from commit 152a1d279cbc81e7b5f076a2c4b20c12c6929ce6) (cherry picked from commit db39b7ec54f3a8875c083b064cc2c7a2a76f9fcf) diff --git a/external/curl/UnpackedTarball_curl.mk b/external/curl/UnpackedTarball_curl.mk index f9f3a8bf6016..1179153959a5 100644 --- a/external/curl/UnpackedTarball_curl.mk +++ b/external/curl/UnpackedTarball_curl.mk @@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,curl,\ $(eval $(call gb_UnpackedTarball_add_patches,curl,\ external/curl/curl-msvc.patch.1 \ + external/curl/curl-msvc-disable-protocols.patch.1 \ external/curl/curl-msvc-schannel.patch.1 \ external/curl/curl-7.26.0_mingw.patch \ external/curl/curl-7.26.0_win-proxy.patch \ diff --git a/external/curl/curl-msvc-disable-protocols.patch.1 b/external/curl/curl-msvc-disable-protocols.patch.1 new file mode 100644 index 000000000000..38ff5ccb5ac0 --- /dev/null +++ b/external/curl/curl-msvc-disable-protocols.patch.1 @@ -0,0 +1,24 @@ +disable protocols nobody needs in MSVC build + +--- curl/lib/config-win32.h.orig 2017-08-09 16:43:29.464000000 +0200 ++++ curl/lib/config-win32.h 2017-08-09 16:47:38.549200000 +0200 +@@ -733,4 +733,19 @@ + # define ENABLE_IPV6 1 + #endif + ++#define CURL_DISABLE_DICT 1 ++#define CURL_DISABLE_FILE 1 ++//#undef CURL_DISABLE_FTP ++#define CURL_DISABLE_GOPHER 1 ++//#undef CURL_DISABLE_HTTP ++#define CURL_DISABLE_IMAP 1 ++#define CURL_DISABLE_LDAP 1 ++#define CURL_DISABLE_LDAPS 1 ++#define CURL_DISABLE_POP3 1 ++#define CURL_DISABLE_RTSP 1 ++#define CURL_DISABLE_SMB 1 ++#define CURL_DISABLE_SMTP 1 ++#define CURL_DISABLE_TELNET 1 ++#define CURL_DISABLE_TFTP 1 ++ + #endif /* HEADER_CURL_CONFIG_WIN32_H */ commit 377c8151e67674c6a90a0d98db2573142e7c2022 Author: Michael Stahl <mst...@redhat.com> AuthorDate: Wed Aug 9 17:14:11 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:59:12 2018 +0100 curl: disable more unnecessary stuff Only HTTP and FTP should be required. Add --without-libpsl --disable-ares --disable-rtsp --disable-smb, and --without-libidn was replaced with --without-libidn2. Change-Id: Icf6afc8bff4cc7ad7a5a95b0c3f9a345a7cf67a3 (cherry picked from commit 9fd26734d3cbbd9b58f4b08058a75063632f57d1) (cherry picked from commit 9d75749f70ab4997b9450c855285fb2a2c89d777) diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk index d1ddf7f81fdf..831b57088dd6 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -46,11 +46,14 @@ $(call gb_ExternalProject_get_state_target,curl,build): --with-darwinssl,\ --with-nss$(if $(SYSTEM_NSS),,="$(call gb_UnpackedTarball_get_dir,nss)/dist/out")) \ --without-ssl --without-gnutls --without-polarssl --without-cyassl --without-axtls \ - --without-libidn --enable-ftp --enable-ipv6 --enable-http --disable-gopher \ - --disable-file --disable-ldap --disable-telnet --disable-dict --without-libssh2 \ - --without-librtmp --disable-ldaps --disable-tftp --disable-pop3 \ - --disable-imap --disable-smtp --disable-manual --without-metalink \ - --without-nghttp2 \ + --enable-ftp --enable-http --enable-ipv6 \ + --without-libidn2 --without-libpsl --without-librtmp \ + --without-libssh2 --without-metalink --without-nghttp2 \ + --disable-ares \ + --disable-dict --disable-file --disable-gopher --disable-imap \ + --disable-ldap --disable-ldaps --disable-manual --disable-pop3 \ + --disable-rtsp --disable-smb --disable-smtp --disable-telnet \ + --disable-tftp \ $(if $(filter LINUX,$(OS)),--without-ca-bundle --without-ca-path) \ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \ commit c9e01f229f6222182efcb39a0098da4684b0f8cf Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> AuthorDate: Tue May 9 13:23:59 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:59:04 2018 +0100 cannot sign read-only files, so u+w the redistributables Change-Id: I5290d2093555d00e7b7cd4e21098d54af58ee6b8 (cherry picked from commit 5e062501eb6c3abe5219777fd9267702689785c7) (cherry picked from commit 1e906500e36d9bd54ca3cc8ddb9a28b37c3737c3) diff --git a/postprocess/CustomTarget_signing.mk b/postprocess/CustomTarget_signing.mk index 1d7193cc517c..61336f40ac00 100644 --- a/postprocess/CustomTarget_signing.mk +++ b/postprocess/CustomTarget_signing.mk @@ -32,6 +32,7 @@ ifneq ($(ENABLE_DBGUTIL),TRUE) EXCLUDELIST=$(shell $(gb_MKTEMP)) && \ cat $(SRCDIR)/postprocess/signing/no_signing.txt > $$EXCLUDELIST && \ echo "$(foreach lib,$(gb_MERGEDLIBS),$(call gb_Library_get_filename,$(lib)))" | tr ' ' '\n' >> $$EXCLUDELIST && \ + chmod u+w $(foreach lib,$(MSVC_DLLS),$(INSTDIR)/program/shlxthdl/$(lib)) && \ $(PERL) $(SRCDIR)/postprocess/signing/signing.pl \ -e $$EXCLUDELIST \ -l $(subst .done,_log.txt,$@) \ commit 3f7bb10adfcb7ca1fb3a1ab2b94bc479cd344e65 Author: David Ostrovsky <da...@ostrovsky.org> AuthorDate: Sun Jan 15 11:05:03 2017 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:56 2018 +0100 ZipFile: make it work on MSVC 14.0 Change-Id: I99a00c61634375a75e15a8c1530213f5aad25b51 (cherry picked from commit 32c9876d51fe0357ba66eb6292f772728080510b) (cherry picked from commit e06a33ee928240259649438951b81c118a2db925) diff --git a/package/source/zipapi/ZipFile.cxx b/package/source/zipapi/ZipFile.cxx index 037e08e2eaad..b297e858fa6b 100644 --- a/package/source/zipapi/ZipFile.cxx +++ b/package/source/zipapi/ZipFile.cxx @@ -34,6 +34,7 @@ #include <osl/diagnose.h> #include <algorithm> +#include <iterator> #include <vector> #include "blowfishcontext.hxx" commit ba9e91e5c0ae33116cb4c9cd9664e94b32402864 Author: Michael Stahl <mst...@redhat.com> AuthorDate: Thu May 26 20:34:09 2016 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:50 2018 +0100 canvas: error C2397: conversion from 'size_t' to 'BYTE' requires ... a narrowing conversion (at least other people's MSVC says so, mine doesn't complain) Change-Id: Ic87da76567778884b81361067075fd9325e2d276 (cherry picked from commit f2d039f67743c7588df5cfd725915627b6efb0ba) (cherry picked from commit a92e1e04ecfd04d799703f7daf66a8338c7326bc) diff --git a/canvas/source/directx/dx_canvasbitmap.cxx b/canvas/source/directx/dx_canvasbitmap.cxx index e2e249a9da47..35877ddb639b 100644 --- a/canvas/source/directx/dx_canvasbitmap.cxx +++ b/canvas/source/directx/dx_canvasbitmap.cxx @@ -68,7 +68,8 @@ namespace dxcanvas { // this here fills palette with grey level colors, starting // from 0,0,0 up to 255,255,255 - bmiColors[i] = { i,i,i,i }; + BYTE const b(i); + bmiColors[i] = { b,b,b,b }; } } }; commit 5ded015dc0d7fb31e0b25fdbb1a1032503847f43 Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> AuthorDate: Fri Mar 24 12:57:11 2017 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:43 2018 +0100 use VS 2015 to target XP with the 7.1A SDK Change-Id: I527a524c282d4314e57c30cdd9eb89bff38443db (cherry picked from commit 89513bf1ae4933405c65a04d57a2a585fa8213d8) diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk index 9cbba2dbc405..63b9e29d5d55 100644 --- a/solenv/gbuild/platform/com_MSC_defs.mk +++ b/solenv/gbuild/platform/com_MSC_defs.mk @@ -54,7 +54,7 @@ gb_COMPILERDEFS := \ -D_MT \ -D_DLL \ -DCPPU_ENV=$(gb_CPPU_ENV) \ - $(if $(findstring 120_70,$(VCVER)_$(WINDOWS_SDK_VERSION)),-D_USING_V110_SDK71_) \ + $(if $(findstring 140_70,$(VCVER)_$(WINDOWS_SDK_VERSION)),-D_USING_V110_SDK71_) \ ifeq ($(CPUNAME),INTEL) gb_COMPILERDEFS += \ commit 3ead6120f2c988d2b2f021890253c7435b0731cb Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Mon Oct 23 15:31:52 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:31 2018 +0100 tdf#112928: don't use "magic statics" for 5.4 (fails on WinXP) https://stackoverflow.com/questions/32517234/access-violation-on-static-initialization Change-Id: Ibda63c6307e6dc4ae1eec4b0c673a987f33bed94 Reviewed-on: https://gerrit.libreoffice.org/43721 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Stephan Bergmann <sberg...@redhat.com> (cherry picked from commit e0c2c9658438e1d8f0a9423ae6e6a853b111008f) diff --git a/configure.ac b/configure.ac index 0b0050338ba5..ca948f29821f 100644 --- a/configure.ac +++ b/configure.ac @@ -6115,7 +6115,9 @@ if test "$GCC" = "yes"; then else # MSVC has sprouted C++11 thread-safe statics in 2015 # http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx - if test "$COM" = "MSC" -a "$VCVER" -ge "140"; then + # but it doesn't work on Windows XP, so don't use it for 32-bit builds baselined for Windows XP + if test "$COM" = "MSC" -a "$VCVER" -ge "140" -a "$with_windows_sdk" != "7.1A"; then + HAVE_THREADSAFE_STATICS=TRUE AC_DEFINE(HAVE_THREADSAFE_STATICS) AC_MSG_RESULT([yes]) else diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk index 382df3e61597..9cbba2dbc405 100644 --- a/solenv/gbuild/platform/com_MSC_defs.mk +++ b/solenv/gbuild/platform/com_MSC_defs.mk @@ -149,6 +149,7 @@ gb_CFLAGS := \ -Gs \ -GS \ $(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \ + $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \ -nologo \ -W4 \ -wd4091 \ @@ -190,6 +191,7 @@ gb_CXXFLAGS := \ -GS \ -Gy \ $(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \ + $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \ -nologo \ -W4 \ -wd4091 \ commit 26e09219f39f0af272b73f6229478468ea6c96df Author: David Tardon <dtar...@redhat.com> AuthorDate: Thu Nov 3 17:16:29 2016 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:21 2018 +0100 fix build of bundled python3 with bundled zlib Change-Id: I383a04ea926187263b1d7e11c548817fa9ca3fb6 (cherry picked from commit b2c16b3563a4a8e4b54f6fc0cb1be597e7c5b27d) (cherry picked from commit c65e855d381bcc1e048252624009eeba09163e22) diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index ee4c90243462..f91399c0af52 100755 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -93,6 +93,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) : )" \ && MAKEFLAGS= $(MAKE) \ $(if $(filter MACOSX,$(OS)),DESTDIR=$(EXTERNAL_WORKDIR)/python-inst install) \ + $(if $(SYSTEM_ZLIB),,ZLIB_INCDIR=$(WORKDIR)/UnpackedTarball/zlib) \ && ln -s build/lib.* LO_lib \ ) diff --git a/external/python3/internal-zlib.patch.0 b/external/python3/internal-zlib.patch.0 index d045f468231c..abe2630bd2e7 100644 --- a/external/python3/internal-zlib.patch.0 +++ b/external/python3/internal-zlib.patch.0 @@ -19,6 +19,15 @@ --- setup.py +++ setup.py +@@ -1362,7 +1362,7 @@ + # + # You can upgrade zlib to version 1.1.4 yourself by going to + # http://www.gzip.org/zlib/ +- zlib_inc = find_file('zlib.h', [], inc_dirs) ++ zlib_inc = [os.environ.get('ZLIB_INCDIR')] + have_zlib = False + if zlib_inc is not None: + zlib_h = zlib_inc[0] + '/zlib.h' @@ -1379,13 +1379,13 @@ version = line.split()[2] break commit 3bfdcf1bfe26fdd7667fc67876f0a314eb6a7f25 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Fri Sep 16 16:07:47 2016 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:13 2018 +0100 external/python3: Fix building against external/zlib ...whose (static) library is called "zlib" instead of just "z". (I ran into this when trying to do a 32-bit Linux build in a 64-bit environment, with only very limited 32-bit support installed in the system.) Reviewed-on: https://gerrit.libreoffice.org/28964 Reviewed-by: Stephan Bergmann <sberg...@redhat.com> Tested-by: Stephan Bergmann <sberg...@redhat.com> (cherry picked from commit 5fb8a050210a7cabf49daac0da8f80b94d60de2c) Conflicts: external/python3/ExternalProject_python3.mk Change-Id: I9286975917ddf643a22803561677af035e66fb98 (cherry picked from commit 4fd6effb6e85398d4143f09897cc6215d75686dc) diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index 38ed6700435e..ee4c90243462 100755 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -85,6 +85,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) : LDFLAGS="$(strip $(LDFLAGS) \ $(if $(SYSTEM_OPENSSL),,-L$(call gb_UnpackedTarball_get_dir,openssl)) \ $(if $(SYSTEM_EXPAT),,-L$(gb_StaticLibrary_WORKDIR)) \ + $(if $(SYSTEM_ZLIB),,-L$(gb_StaticLibrary_WORKDIR)) \ $(if $(SYSBASE), -L$(SYSBASE)/usr/lib) \ $(if $(filter WNT-GCC,$(OS)-$(COM)), -shared-libgcc \ $(if $(MINGW_SHARED_GCCLIB),-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2 -Wl$(COMMA)--export-all-symbols)) \ diff --git a/external/python3/internal-zlib.patch.0 b/external/python3/internal-zlib.patch.0 new file mode 100644 index 000000000000..d045f468231c --- /dev/null +++ b/external/python3/internal-zlib.patch.0 @@ -0,0 +1,46 @@ +--- configure ++++ configure +@@ -11607,13 +11607,13 @@ + ;; + esac + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5 +-$as_echo_n "checking for inflateCopy in -lz... " >&6; } ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lzlib" >&5 ++$as_echo_n "checking for inflateCopy in -lzlib... " >&6; } + if ${ac_cv_lib_z_inflateCopy+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lz $LIBS" ++LIBS="-lzlib $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +--- setup.py ++++ setup.py +@@ -1379,13 +1379,13 @@ + version = line.split()[2] + break + if version >= version_req: +- if (self.compiler.find_library_file(lib_dirs, 'z')): ++ if (self.compiler.find_library_file(lib_dirs, 'zlib')): + if host_platform == "darwin": + zlib_extra_link_args = ('-Wl,-search_paths_first',) + else: + zlib_extra_link_args = () + exts.append( Extension('zlib', ['zlibmodule.c'], +- libraries = ['z'], ++ libraries = ['zlib'], + extra_link_args = zlib_extra_link_args)) + have_zlib = True + else: +@@ -1399,7 +1399,7 @@ + # crc32 if we have it. Otherwise binascii uses its own. + if have_zlib: + extra_compile_args = ['-DUSE_ZLIB_CRC32'] +- libraries = ['z'] ++ libraries = ['zlib'] + extra_link_args = zlib_extra_link_args + else: + extra_compile_args = [] commit 85e0dfaefea39fe671b9b9508a206dd456a0e9f5 Author: Thorsten Behrens <thorsten.behr...@cib.de> AuthorDate: Mon Jul 23 03:07:29 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:58:05 2018 +0100 Fix VS2015 build in the presence of newer SDKs This broke e.g. when installing VS2017 alongside - following commits or partial commits from master are included: - Fix include and library paths for at least me (cherry picked from commit b076e8f673d1714ee8b6f991eb2ca299b6fa8949) Change-Id: I647ec1d0924ba4c743e4c16d2fa0a05014e0b2e3 - Adapt to Windows SDK 10.0.15063 (cherry picked from commit a4d1ed6ba2a81b4284cd360f44b6723bc9bfaf85) Change-Id: Ia403e4bde7b1abf7e2c9d9f084a05af2d1311617 - Part of 'Support MSVC 15.0' (cherry picked from commit b862cbdd345ec57c2595629ded6a3969e1e65d56) Change-Id: Id5783ac6a01612475ac2b62856a793337865d709 - Lets see if basing WINDOWS_SDK_BINDIR_NO_ARCH on WINDOWS_SDK_HOME works better (cherry picked from commit e8ffe54dec568332c301f8510f3186c04421b911) Change-Id: I13a369ba34b63392ec42333dbc1e538b49a24ca1 Change-Id: I13a369ba34b63392ec42333dbc1e538b59a24ca1 (cherry picked from commit bac6421688c71a3ed4b6decdc060d7bd467432f6) diff --git a/configure.ac b/configure.ac index 984e6ed429f8..0b0050338ba5 100644 --- a/configure.ac +++ b/configure.ac @@ -3342,12 +3342,26 @@ find_ucrt() UCRTSDKDIR=$formatted_path reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v10.0/ProductVersion" UCRTVERSION=$regvalue + # Rest if not exist + if ! test -d "${UCRTSDKDIR}Include/$UCRTVERSION/ucrt"; then + UCRTSDKDIR= + AC_MSG_RESULT([UCRT: give up registry detection and retrieve from IDE env file]) + fi fi if test -z "$UCRTSDKDIR"; then if test -f "$VC_PRODUCT_DIR/../Common7/Tools/vsvars32.bat"; then PathFormat "`win_get_env_from_vsvars32bat "UniversalCRTSdkDir"`" UCRTSDKDIR=$formatted_path - UCRTVERSION=`win_get_env_from_vsvars32bat "UCRTVersion"` + UCRTVERSION=$(win_get_env_from_vsvars32bat UCRTVersion) + dnl Hack needed at least by tml: + if test "$UCRTVERSION" = 10.0.15063.0 \ + -a ! -f "${UCRTSDKDIR}Include/10.0.15063.0/um/sqlext.h" \ + -a -f "${UCRTSDKDIR}Include/10.0.14393.0/um/sqlext.h" + then + UCRTVERSION=10.0.14393.0 + fi + else + AC_MSG_ERROR([No UCRT found]) fi fi } @@ -5268,9 +5282,9 @@ find_dotnetsdk46() find_winsdk_version() { # Args: $1 : SDK version as in "6.0A", "7.0" etc - # Return values: $winsdktest, $winsdklibsubdir + # Return values: $winsdktest, $winsdkbinsubdir, $winsdklibsubdir - unset winsdktest winsdklibsubdir + unset winsdktest winsdkbinsubdir winsdklibsubdir # Why we look for them in this particular order I don't know. But OTOH I case "$1" in @@ -5303,7 +5317,21 @@ find_winsdk_version() if test -n "$regvalue"; then winsdktest=$regvalue reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v${1}/ProductVersion" + if test -n "$regvalue"; then + winsdkbinsubdir="$regvalue".0 + fi winsdklibsubdir=$regvalue + if test "$regvalue" = "10.0.14393"; then + winsdklibsubdir="10.0.14393.0" + elif test "$regvalue" = "10.0.15063"; then + winsdklibsubdir="10.0.15063.0" + dnl Hack needed at least by tml: + if test ! -f "${winsdktest}/Include/10.0.15063.0/um/sqlext.h" \ + -a -f "${winsdktest}/Include/10.0.14393.0/um/sqlext.h" + then + winsdklibsubdir="10.0.14393.0" + fi + fi return fi ;; @@ -5313,7 +5341,7 @@ find_winsdk_version() find_winsdk() { # Args: $1 (optional) : list of acceptable SDK versions - # Return value: $winsdktest + # Return value: From find_winsdk_version unset winsdktest @@ -5385,15 +5413,137 @@ find_msvc_x64_dlls() done } +dnl ========================================= +dnl Check for the Windows SDK. +dnl ========================================= +if test "$_os" = "WINNT"; then + AC_MSG_CHECKING([for Windows SDK]) + if test "$build_os" = "cygwin"; then + find_winsdk + WINDOWS_SDK_HOME=$winsdktest + + # normalize if found + if test -n "$WINDOWS_SDK_HOME"; then + WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"` + WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"` + fi + + WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir + fi + + if test -n "$WINDOWS_SDK_HOME"; then + # Remove a possible trailing backslash + WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'` + + if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \ + -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \ + -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then + have_windows_sdk_headers=yes + elif test -f "$WINDOWS_SDK_HOME/Include/um/adoint.h" \ + -a -f "$WINDOWS_SDK_HOME/Include/um/SqlUcode.h" \ + -a -f "$WINDOWS_SDK_HOME/Include/um/usp10.h"; then + have_windows_sdk_headers=yes + elif test -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/adoint.h" \ + -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/SqlUcode.h" \ + -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/usp10.h"; then + have_windows_sdk_headers=yes + else + have_windows_sdk_headers=no + fi + + if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then + have_windows_sdk_libs=yes + elif test -f "$WINDOWS_SDK_HOME/lib/$winsdklibsubdir/um/$WINDOWS_SDK_ARCH/user32.lib"; then + have_windows_sdk_libs=yes + else + have_windows_sdk_libs=no + fi + + if test $have_windows_sdk_headers = no -o $have_windows_sdk_libs = no; then + AC_MSG_ERROR([Some (all?) Windows SDK files not found, please check if all needed parts of +the Windows SDK are installed.]) + fi + fi + + if test -z "$WINDOWS_SDK_HOME"; then + AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway!?]) + elif echo $WINDOWS_SDK_HOME | grep "v7.1" >/dev/null 2>/dev/null; then + WINDOWS_SDK_VERSION=70 + AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)]) + elif echo $WINDOWS_SDK_HOME | grep "8.0" >/dev/null 2>/dev/null; then + WINDOWS_SDK_VERSION=80 + AC_MSG_RESULT([found Windows SDK 8.0 ($WINDOWS_SDK_HOME)]) + dnl compatibility warning if not explicitly choosing the 80 SDK: + if test -z "$with_windows_sdk"; then + AC_MSG_WARN([If a build should run on Windows XP,]) + AC_MSG_WARN([use --with-windows-sdk=7.1A]) + add_warning "If a build should run on Windows XP," + add_warning "use --with-windows-sdk=7.1A" + fi + elif echo $WINDOWS_SDK_HOME | grep "8.1" >/dev/null 2>/dev/null; then + WINDOWS_SDK_VERSION=81 + AC_MSG_RESULT([found Windows SDK 8.1 ($WINDOWS_SDK_HOME)]) + elif echo $WINDOWS_SDK_HOME | grep "/10" >/dev/null 2>/dev/null; then + WINDOWS_SDK_VERSION=10 + AC_MSG_RESULT([found Windows SDK 10.0 ($WINDOWS_SDK_HOME)]) + else + AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)]) + fi + PathFormat "$WINDOWS_SDK_HOME" + WINDOWS_SDK_HOME="$formatted_path" + if test "$build_os" = "cygwin"; then + SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/Include" + if test -d "$WINDOWS_SDK_HOME/include/um"; then + SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include/um -I$WINDOWS_SDK_HOME/include/shared" + elif test -d "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um"; then + SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um -I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/shared" + fi + fi + + dnl TODO: solenv/bin/modules/installer/windows/msiglobal.pm wants to use a + dnl WiLangId.vbs that is included only in some SDKs (e.g., included in v7.1 + dnl but not in v8.0), so allow this to be overridden with a + dnl WINDOWS_SDK_WILANGID for now; a full-blown --with-windows-sdk-wilangid + dnl and configuration error if no WiLangId.vbs is found would arguably be + dnl better, but I do not know under which conditions exactly it is needed by + dnl msiglobal.pm: + if test -z "$WINDOWS_SDK_WILANGID" -a -n "$WINDOWS_SDK_HOME"; then + WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/Samples/sysmgmt/msi/scripts/WiLangId.vbs + if ! test -e "$WINDOWS_SDK_WILANGID" ; then + WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs + fi + if ! test -e "$WINDOWS_SDK_WILANGID" ; then + WINDOWS_SDK_WILANGID=$(cygpath -sm "C:/Program Files (x86)/Windows Kits/8.1/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs") + fi + if ! test -e "$WINDOWS_SDK_WILANGID" ; then + AC_MSG_WARN([WiLangId.vbs not found - building translated packages will fail]) + add_warning "WiLangId.vbs not found - building translated packages will fail" + fi + fi +fi +AC_SUBST(WINDOWS_SDK_HOME) +AC_SUBST(WINDOWS_SDK_LIB_SUBDIR) +AC_SUBST(WINDOWS_SDK_VERSION) +AC_SUBST(WINDOWS_SDK_WILANGID) + if test "$build_os" = "cygwin"; then - dnl Check midl.exe + dnl Check midl.exe; this being the first check for a tool in the SDK bin + dnl dir, it also determines that dir's path w/o an arch segment if any, + dnl WINDOWS_SDK_BINDIR_NO_ARCH: AC_MSG_CHECKING([for midl.exe]) find_winsdk - if test -f "$winsdktest/Bin/midl.exe"; then - MIDL_PATH="$winsdktest/Bin" + if test -n "$winsdkbinsubdir" \ + -a -f "$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH/midl.exe" + then + MIDL_PATH=$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH + WINDOWS_SDK_BINDIR_NO_ARCH=$WINDOWS_SDK_HOME/Bin/$winsdkbinsubdir elif test -f "$winsdktest/Bin/$WINDOWS_SDK_ARCH/midl.exe"; then - MIDL_PATH="$winsdktest/Bin/$WINDOWS_SDK_ARCH" + MIDL_PATH=$winsdktest/Bin/$WINDOWS_SDK_ARCH + WINDOWS_SDK_BINDIR_NO_ARCH=$WINDOWS_SDK_HOME/Bin + elif test -f "$winsdktest/Bin/midl.exe"; then + MIDL_PATH=$winsdktest/Bin + WINDOWS_SDK_BINDIR_NO_ARCH=$WINDOWS_SDK_HOME/Bin fi if test ! -f "$MIDL_PATH/midl.exe"; then AC_MSG_ERROR([midl.exe not found in $winsdktest/Bin/$WINDOWS_SDK_ARCH, Windows SDK installation broken?]) @@ -5404,6 +5554,18 @@ if test "$build_os" = "cygwin"; then # Convert to posix path with 8.3 filename restrictions ( No spaces ) MIDL_PATH=`win_short_path_for_make "$MIDL_PATH"` + if test -f "$WINDOWS_SDK_BINDIR_NO_ARCH/msiinfo.exe" \ + -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/msidb.exe" \ + -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/uuidgen.exe" \ + -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/msitran.exe"; then : + elif test -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/msiinfo.exe" \ + -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/msidb.exe" \ + -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/uuidgen.exe" \ + -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/msitran.exe"; then : + else + AC_MSG_ERROR([Some (all?) Windows Installer tools in the Windows SDK are missing, please install.]) + fi + dnl Check csc.exe AC_MSG_CHECKING([for csc.exe]) find_csc @@ -5421,10 +5583,14 @@ if test "$build_os" = "cygwin"; then dnl Check al.exe AC_MSG_CHECKING([for al.exe]) find_winsdk - if test -f "$winsdktest/Bin/al.exe"; then - AL_PATH="$winsdktest/Bin" + if test -n "$winsdkbinsubdir" \ + -a -f "$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH/al.exe" + then + AL_PATH="$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH" elif test -f "$winsdktest/Bin/$WINDOWS_SDK_ARCH/al.exe"; then AL_PATH="$winsdktest/Bin/$WINDOWS_SDK_ARCH" + elif test -f "$winsdktest/Bin/al.exe"; then + AL_PATH="$winsdktest/Bin" fi if test -z "$AL_PATH"; then @@ -9718,133 +9884,6 @@ if test "$_os" = "Linux"; then fi dnl ========================================= -dnl Check for the Windows SDK. -dnl ========================================= -dnl FIXME: I don't know yet if the Windows SDK works with MinGW, keep it until I know better, -dnl and add "-a \( "$WITH_MINGW" != "yes" \)" then -if test "$_os" = "WINNT"; then - AC_MSG_CHECKING([for Windows SDK]) - if test "$build_os" = "cygwin"; then - find_winsdk - WINDOWS_SDK_HOME=$winsdktest - - # normalize if found - if test -n "$WINDOWS_SDK_HOME"; then - WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"` - WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"` - fi - - WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir - fi - - if test -n "$WINDOWS_SDK_HOME"; then - # Remove a possible trailing backslash - WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'` - - if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \ - -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \ - -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then - have_windows_sdk_headers=yes - elif test -f "$WINDOWS_SDK_HOME/Include/um/adoint.h" \ - -a -f "$WINDOWS_SDK_HOME/Include/um/SqlUcode.h" \ - -a -f "$WINDOWS_SDK_HOME/Include/um/usp10.h"; then - have_windows_sdk_headers=yes - elif test -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/adoint.h" \ - -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/SqlUcode.h" \ - -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/usp10.h"; then - have_windows_sdk_headers=yes - else - have_windows_sdk_headers=no - fi - - if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then - have_windows_sdk_libs=yes - elif test -f "$WINDOWS_SDK_HOME/lib/$winsdklibsubdir/um/$WINDOWS_SDK_ARCH/user32.lib"; then - have_windows_sdk_libs=yes - else - have_windows_sdk_libs=no - fi - - if test $have_windows_sdk_headers = no -o $have_windows_sdk_libs = no; then - AC_MSG_ERROR([Some (all?) Windows SDK files not found, please check if all needed parts of -the Windows SDK are installed.]) - fi - - if test ! -f "$WINDOWS_SDK_HOME/bin/msiinfo.exe" \ - -o ! -f "$WINDOWS_SDK_HOME/bin/msidb.exe" \ - -o ! -f "$WINDOWS_SDK_HOME/bin/uuidgen.exe" \ - -o ! -f "$WINDOWS_SDK_HOME/bin/msitran.exe"; then : - elif test ! -f "$WINDOWS_SDK_HOME/bin/x86/msiinfo.exe" \ - -o ! -f "$WINDOWS_SDK_HOME/bin/x86/msidb.exe" \ - -o ! -f "$WINDOWS_SDK_HOME/bin/x86/uuidgen.exe" \ - -o ! -f "$WINDOWS_SDK_HOME/bin/x86/msitran.exe"; then : - else - AC_MSG_ERROR([Some (all?) Windows Installer tools in the Windows SDK are missing, please install.]) - fi - fi - - if test -z "$WINDOWS_SDK_HOME"; then - AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway!?]) - elif echo $WINDOWS_SDK_HOME | grep "v7.1" >/dev/null 2>/dev/null; then - WINDOWS_SDK_VERSION=70 - AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)]) - elif echo $WINDOWS_SDK_HOME | grep "8.0" >/dev/null 2>/dev/null; then - WINDOWS_SDK_VERSION=80 - AC_MSG_RESULT([found Windows SDK 8.0 ($WINDOWS_SDK_HOME)]) - dnl compatibility warning if not explicitly choosing the 80 SDK: - if test -z "$with_windows_sdk"; then - AC_MSG_WARN([If a build should run on Windows XP,]) - AC_MSG_WARN([use --with-windows-sdk=7.1A]) - add_warning "If a build should run on Windows XP," - add_warning "use --with-windows-sdk=7.1A" - fi - elif echo $WINDOWS_SDK_HOME | grep "8.1" >/dev/null 2>/dev/null; then - WINDOWS_SDK_VERSION=81 - AC_MSG_RESULT([found Windows SDK 8.1 ($WINDOWS_SDK_HOME)]) - elif echo $WINDOWS_SDK_HOME | grep "/10" >/dev/null 2>/dev/null; then - WINDOWS_SDK_VERSION=10 - AC_MSG_RESULT([found Windows SDK 10.0 ($WINDOWS_SDK_HOME)]) - else - AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)]) - fi - PathFormat "$WINDOWS_SDK_HOME" - WINDOWS_SDK_HOME="$formatted_path" - if test "$build_os" = "cygwin"; then - SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/include" - if test -d "$WINDOWS_SDK_HOME/include/um"; then - SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include/um -I$WINDOWS_SDK_HOME/include/shared" - elif test -d "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um"; then - SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um -I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/shared" - fi - fi - - dnl TODO: solenv/bin/modules/installer/windows/msiglobal.pm wants to use a - dnl WiLangId.vbs that is included only in some SDKs (e.g., included in v7.1 - dnl but not in v8.0), so allow this to be overridden with a - dnl WINDOWS_SDK_WILANGID for now; a full-blown --with-windows-sdk-wilangid - dnl and configuration error if no WiLangId.vbs is found would arguably be - dnl better, but I do not know under which conditions exactly it is needed by - dnl msiglobal.pm: - if test -z "$WINDOWS_SDK_WILANGID" -a -n "$WINDOWS_SDK_HOME"; then - WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/Samples/sysmgmt/msi/scripts/WiLangId.vbs - if ! test -e "$WINDOWS_SDK_WILANGID" ; then - WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs - fi - if ! test -e "$WINDOWS_SDK_WILANGID" ; then - WINDOWS_SDK_WILANGID=$(cygpath -sm "C:/Program Files (x86)/Windows Kits/8.1/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs") - fi - if ! test -e "$WINDOWS_SDK_WILANGID" ; then - AC_MSG_WARN([WiLangId.vbs not found - building translated packages will fail]) - add_warning "WiLangId.vbs not found - building translated packages will fail" - fi - fi -fi -AC_SUBST(WINDOWS_SDK_HOME) -AC_SUBST(WINDOWS_SDK_LIB_SUBDIR) -AC_SUBST(WINDOWS_SDK_VERSION) -AC_SUBST(WINDOWS_SDK_WILANGID) - -dnl ========================================= dnl Check for uuidgen dnl ========================================= if test "$_os" = "WINNT" -a "$cross_compiling" != "yes"; then @@ -12876,7 +12915,7 @@ else fi if test "$BITNESS_OVERRIDE" = 64; then # needed for msi packaging - pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before" + pathmunge "$WINDOWS_SDK_BINDIR_NO_ARCH/x86" "before" fi # .NET 4.6 and higher don't have bin directory if test -f "$DOTNET_FRAMEWORK_HOME/bin"; then @@ -12892,16 +12931,11 @@ else pathmunge "$MSBUILD_PATH" "before" fi if test "$BITNESS_OVERRIDE" = 64; then - if test "$vcexpress" = "Express"; then - pathmunge "$COMPATH/bin/x86_amd64" "before" - pathmunge "$WINDOWS_SDK_HOME/bin/x64" "before" - else - pathmunge "$COMPATH/bin/amd64" "before" - pathmunge "$WINDOWS_SDK_HOME/bin/x64" "before" - fi + pathmunge "$COMPATH/bin/amd64" "before" + pathmunge "$WINDOWS_SDK_BINDIR_NO_ARCH/x64" "before" else pathmunge "$COMPATH/bin" "before" - pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before" + pathmunge "$WINDOWS_SDK_BINDIR_NO_ARCH/x86" "before" fi if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then if test -d "$JAVA_HOME/jre/bin/client"; then commit 87ddac199732d2422244d93c3c35b7cd3bde6f26 Author: Rene Engelhard <r...@debian.org> AuthorDate: Tue Apr 24 15:56:23 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:57:51 2018 +0100 fix build with poppler 0.64 GooString became const... Change-Id: Icc95be2e8603a4e22c6a9ac2008986bacd0bfba5 (cherry picked from commit 42cebff14f7d486c20f04863681cc5ef4602f4eb) Reviewed-on: https://gerrit.libreoffice.org/56258 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit fccd2345845bef24f400b9a4ec344d1186caad74) diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 9b9e0f2d3a61..afa60766d2ee 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -451,6 +451,9 @@ int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, GfxState* state ) FontAttributes aNewFont; int nSize = 0; +#if POPPLER_CHECK_VERSION(0, 64, 0) + const +#endif GooString* pFamily = gfxFont->getName(); if( pFamily ) { @@ -748,6 +751,9 @@ void PDFOutDev::updateFont(GfxState *state) FontAttributes aFont; int nEmbedSize=0; +#if POPPLER_CHECK_VERSION(0, 64, 0) + const +#endif Ref* pID = gfxFont->getID(); // TODO(Q3): Portability problem long long fontID = (long long)pID->gen << 32 | (long long)pID->num; @@ -931,7 +937,11 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y, printf( "\n" ); } +#if POPPLER_CHECK_VERSION(0, 64, 0) +void PDFOutDev::drawString(GfxState*, const GooString* /*s*/) +#else void PDFOutDev::drawString(GfxState*, GooString* /*s*/) +#endif { // TODO(F3): NYI } diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx index 73ea8bf1062b..8304738d9599 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx @@ -222,7 +222,11 @@ namespace pdfi double dx, double dy, double originX, double originY, CharCode code, int nBytes, Unicode *u, int uLen) override; +#if POPPLER_CHECK_VERSION(0, 64, 0) + virtual void drawString(GfxState *state, const GooString *s) override; +#else virtual void drawString(GfxState *state, GooString *s) override; +#endif virtual void endTextObject(GfxState *state) override; //----- image drawing commit 2a10cfb7526b6c3e738beaaf548acc71547699f4 Author: Dominique Leuenberger <dims...@suse.de> AuthorDate: Fri Jan 5 12:16:03 2018 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:57:40 2018 +0100 Allow building with poppler-0.62 Change-Id: Ia627f1628a67dd8ece7d9318639d9ccd06b89765 Reviewed-on: https://gerrit.libreoffice.org/47460 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit 38368be8527ca655854ee1231d9f355b8c0591ec) Reviewed-on: https://gerrit.libreoffice.org/56257 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 7e49edf9a662e6a49cf2526e921ca29190c287ae) diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 4282999db6e0..9b9e0f2d3a61 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -32,11 +32,13 @@ #pragma warning(push, 1) #endif -// sigh, UTF8.h was removed in poppler-0.21.0 and put back in 0.21.1 +// sigh, UTF8.h was removed in poppler-0.21.0 and put back in 0.21.1, then renamed to UnicodeMapFuncs.h in 0.62.0 // FIXME: we can't use #if POPPLER_CHECK_VERSION(0, 21, 0) && !POPPLER_CHECK_VERSION(0, 21, 1) // because the internal poppler does not provide poppler-version.h and the macro always returns 0 -#if POPPLER_CHECK_VERSION(0, 21, 1) -#include "UTF8.h" +#if POPPLER_CHECK_VERSION(0, 62, 0) +#include <UnicodeMapFuncs.h> +#elif POPPLER_CHECK_VERSION(0, 21, 1) +#include <UTF8.h> #elif POPPLER_CHECK_VERSION(0, 21, 0) #include "UTF.h" #else @@ -912,7 +914,11 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y, ); // silence spurious warning +#if POPPLER_CHECK_VERSION(0, 62, 0) + (void)&mapUTF16; +#else (void)&mapUCS2; +#endif char buf[9]; for( int i=0; i<uLen; ++i ) commit c4eaf1e0ee0eecfabf60362287fef30368c86505 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Thu Jun 28 18:30:28 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:57:29 2018 +0100 python3: upgrade to release 3.5.5 Fixes CVE-2017-1000158. Change-Id: I1871f031e3431253a3403f2ea2b586bcc4aa1016 Reviewed-on: https://gerrit.libreoffice.org/56609 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 744feb55a11263ae0947ab59db76b949b5863acf) Reviewed-on: https://gerrit.libreoffice.org/56684 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit e0402228e5ea0301140d47aaabd88f0820711e81) diff --git a/configure.ac b/configure.ac index 1b467375af0e..984e6ed429f8 100644 --- a/configure.ac +++ b/configure.ac @@ -8254,7 +8254,7 @@ internal) PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5 else PYTHON_VERSION_MINOR=5 - PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.4 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5 fi if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in download.lst]) diff --git a/download.lst b/download.lst index 6309c54993a5..49ed2b743f72 100644 --- a/download.lst +++ b/download.lst @@ -137,8 +137,8 @@ ifeq ($(PYTHON_VERSION_MINOR),3) export PYTHON_MD5SUM := 803a75927f8f241ca78633890c798021 export PYTHON_TARBALL := Python-3.3.5.tgz else -export PYTHON_MD5SUM := 2ed4802b7a2a7e40d2e797272bf388ec -export PYTHON_TARBALL := Python-3.5.4.tgz +export PYTHON_MD5SUM := f3763edf9824d5d3a15f5f646083b6e0 +export PYTHON_TARBALL := Python-3.5.5.tar.xz endif export RAPTOR_TARBALL := 4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz commit 39d69046bbfeeb1c562ddd1a6b5b8500979016e7 Author: Michael Stahl <mst...@redhat.com> AuthorDate: Tue Aug 22 22:26:43 2017 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:57:18 2018 +0100 configure: try to keep PYTHON_VERSION from going stale Since it was set to 3.5.0, the bundled python was upgraded twice, but the directory is still named python-core-3.5.0 :( Change-Id: I15eec4148c2436e1f289d9851ce5bd212d4a368a Reviewed-on: https://gerrit.libreoffice.org/41433 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit ac3a4fe35e873de17eefb46c3f5e792aded6b0a5) Reviewed-on: https://gerrit.libreoffice.org/56683 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit ae95578fcd87cb9d12f857bc68c88abd658bf161) diff --git a/configure.ac b/configure.ac index 9bc526c6ed1c..1b467375af0e 100644 --- a/configure.ac +++ b/configure.ac @@ -8251,10 +8251,14 @@ internal) # when MSVC 2013 support was dropped. if test "$COM" = "MSC" -a "$VCVER" = "120"; then PYTHON_VERSION_MINOR=3 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5 else PYTHON_VERSION_MINOR=5 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.4 + fi + if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then + AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in download.lst]) fi - PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.0 AC_DEFINE_UNQUOTED([PYTHON_VERSION_STRING], [L"${PYTHON_VERSION}"]) BUILD_TYPE="$BUILD_TYPE PYTHON" # Embedded Python dies without Home set commit a00db67178faac1b8920db68b04ad766a0599e60 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Mon Jun 25 11:30:09 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:57:12 2018 +0100 poppler: fix incorrect GCC_VERSION check The minor version is encoded into the last 2 digits, the micro version is not avialable. Change-Id: I4eee40511d732ec8cfc8d85943b965bb6e06d66e Reviewed-on: https://gerrit.libreoffice.org/56380 Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Tested-by: Jenkins (cherry picked from commit 16b10d9ac976d40daffee1d15456016f4a89cd2e) Reviewed-on: https://gerrit.libreoffice.org/56388 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 9c3a0c9e5f33d1a53afe76135739896dfa63fc2a) diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index da85aff3f710..fd7f5c467973 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -34,11 +34,12 @@ $(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\ endif # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864 +# can't easily check for 4.8.2 exactly so just apply to GCC 4.8.x ifeq ($(COM),GCC) ifeq ($(COM_IS_CLANG),) ifeq ($(CPUNAME),INTEL) -ifeq ($(shell expr '$(GCC_VERSION)' '<' 483),1) -ifeq ($(shell expr '$(GCC_VERSION)' '>=' 480),1) +ifeq ($(shell expr '$(GCC_VERSION)' '<' 409),1) +ifeq ($(shell expr '$(GCC_VERSION)' '>=' 408),1) $(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\ -march=i586 \ )) commit 84b11a23abfa30bac20921ab611a23214a2dac51 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Fri Jun 22 10:44:02 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:57:05 2018 +0100 poppler: try to work around GCC 4.8.2 bug As seen on Linux-rpm_deb-x86@71-TDF: poppler/Annot.cc:2491:1: internal compiler error: in connect_traces, at dwarf2cfi.c:2676 The bug report claims that -march=i586 works around the bug. Change-Id: I1d97d2df9049e058d49987424cc8e4818a9fa9c6 (cherry picked from commit 1c7921c43960a4a6717c816d646cf0f65fbaec12) Reviewed-on: https://gerrit.libreoffice.org/56292 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit dce6401f7e1f466c30996ad606699479713209e5) Reviewed-on: https://gerrit.libreoffice.org/56299 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit b3450c197e8c5349cbe452ebb9f79f291e8b8383) diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index bb5f51b571ca..da85aff3f710 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -33,6 +33,21 @@ $(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\ )) endif +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864 +ifeq ($(COM),GCC) +ifeq ($(COM_IS_CLANG),) +ifeq ($(CPUNAME),INTEL) +ifeq ($(shell expr '$(GCC_VERSION)' '<' 483),1) +ifeq ($(shell expr '$(GCC_VERSION)' '>=' 480),1) +$(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\ + -march=i586 \ +)) +endif +endif +endif +endif +endif + $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc)) $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ commit 4a1eff3bafca63ef36c67e4ab58239b2cac3f923 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Fri Jun 22 10:52:37 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:56:56 2018 +0100 poppler: poppler-snprintf.patch.1 needs rebase Presumably it's needed for MSVC 2013. Change-Id: Ibcd3bab373616faa58db4dab0f92f058d1dfafac Reviewed-on: https://gerrit.libreoffice.org/56274 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 15cbef65b217e3ca09a5624ecd82624e4ed93785) diff --git a/external/poppler/poppler-snprintf.patch.1 b/external/poppler/poppler-snprintf.patch.1 index aaced8e099c2..baf3e6926c36 100644 --- a/external/poppler/poppler-snprintf.patch.1 +++ b/external/poppler/poppler-snprintf.patch.1 @@ -28,8 +28,8 @@ +# include <systools/win32/snprintf.h> +# endif #endif + #include "goo/glibc.h" #include "goo/gmem.h" - #include "goo/GooString.h" --- poppler-0.22.5/poppler/PageLabelInfo.cc 2013-03-25 22:48:34.000000000 +0100 +++ poppler-0.22.5/poppler/PageLabelInfo.cc 2013-07-08 16:56:47.977901129 +0200 @@ -17,6 +17,14 @@ commit 7557069ee269cfe87869b18f4a0221c396031c88 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Wed Jun 20 16:10:44 2018 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Fri Nov 2 17:56:46 2018 +0100 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 (cherry picked from commit 5f8426a077ec0986a4b6cf8a58515ad5496f78e0) Reviewed-on: https://gerrit.libreoffice.org/56259 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit df46a8beb12639b0cdf6a23d2c1107ffd7f7c86c) diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 24bbab79fc27..22fd07859a54 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -2693,11 +2693,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),jpeg) diff --git a/download.lst b/download.lst index 5677ab58e433..6309c54993a5 100644 --- a/download.lst +++ b/download.lst @@ -129,8 +129,8 @@ export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 export PIXMAN_TARBALL := c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2 export PNG_MD5SUM := 897ccec1ebfb0922e83c2bfaa1be8748 export PNG_TARBALL := libpng-1.6.28.tar.gz -export POPPLER_MD5SUM := 6e44408a3b4f4a738f8a6770d0aea8a5 -export POPPLER_TARBALL := poppler-0.59.0.tar.xz +export POPPLER_MD5SUM := 6602813e52f02f85f11ba1590e0ef749 +export POPPLER_TARBALL := poppler-0.66.0.tar.xz export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2 ifeq ($(PYTHON_VERSION_MINOR),3) 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 <aa...@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 83d51b9ea9e7..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,\ - jpeg \ -)) - -$(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) $(gb_COMPILEROPTFLAGS)" CXXFLAGS="$(CXXFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_VISIBILITY_FLAGS_CXX) $(gb_COMPILEROPTFLAGS)",$(if $(filter MSC-120,$(COM)-$(VCVER)),CXXFLAGS="$(CXXFLAGS) -I$(SRCDIR)/include")) \ - 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 357bc6dd365e..9ae5ed7c8633 100644 --- a/external/poppler/Module_poppler.mk +++ b/external/poppler/Module_poppler.mk @@ -12,7 +12,7 @@ $(eval $(call gb_Module_Module,poppler)) ifeq ($(SYSTEM_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..bb5f51b571ca --- /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,jpeg)) + +$(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 94c8eb650dbc..f29933618b18 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -12,12 +12,8 @@ $(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 \ $(if $(filter MSC-120,$(COM)-$(VCVER)),external/poppler/poppler-snprintf.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 */ ++ ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits