From 612fae5c248e95d4f0985c51ebf05e3b0c278289 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 6 Mar 2018 18:14:25 +0100 Subject: external: update pdfium to 3358 pdfium now has a build_config.h which is something between a generated file (it's not part of git) and a normal header (works in a way, so the same header works for all platforms), handle it the same way as clucene. Change-Id: I674eca0c52fb8681c3a20501e39f95a8f9d8724e Reviewed-on: https://gerrit.libreoffice.org/50840 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- external/pdfium/Library_pdfium.mk | 10 ++- external/pdfium/UnpackedTarball_pdfium.mk | 4 + external/pdfium/configs/build_config.h | 132 ++++++++++++++++++++++++++++++ external/pdfium/ubsan.patch | 11 --- 4 files changed, 143 insertions(+), 14 deletions(-) create mode 100644 external/pdfium/configs/build_config.h (limited to 'external/pdfium') diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index e3e802d8053c..46f1edeb6f42 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -67,7 +67,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/fpdfeditpath \ UnpackedTarball/pdfium/fpdfsdk/fpdfedittext \ UnpackedTarball/pdfium/fpdfsdk/fpdfformfill \ - UnpackedTarball/pdfium/fpdfsdk/fpdfppo \ UnpackedTarball/pdfium/fpdfsdk/fpdfsave \ UnpackedTarball/pdfium/fpdfsdk/fpdftext \ UnpackedTarball/pdfium/fpdfsdk/fpdfview \ @@ -348,7 +347,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_Segment \ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict \ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_TrdProc \ - UnpackedTarball/pdfium/core/fxcodec/lbmp/fx_bmp \ + UnpackedTarball/pdfium/core/fxcodec/bmp/fx_bmp \ UnpackedTarball/pdfium/core/fxcodec/codec/ccodec_scanlinedecoder \ UnpackedTarball/pdfium/core/fxcodec/gif/cfx_gif \ UnpackedTarball/pdfium/core/fxcodec/gif/cfx_gifcontext \ @@ -378,7 +377,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscolorvalue \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscomputedstyle \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscustomproperty \ - UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssdatatable \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssdeclaration \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssenumvalue \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssexttextbuf \ @@ -407,6 +405,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/fx_string \ UnpackedTarball/pdfium/core/fxcrt/widestring \ UnpackedTarball/pdfium/core/fxcrt/cfx_seekablemultistream \ + UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssdata \ )) # fxge @@ -538,6 +537,11 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/partition_alloc \ )) +# skia_shared +$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ + UnpackedTarball/pdfium/third_party/skia_shared/SkFloatToDecimal \ +)) + $(eval $(call gb_Library_use_externals,pdfium,\ libjpeg \ lcms2 \ diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk index 47c38d70291c..333d06bb8e35 100644 --- a/external/pdfium/UnpackedTarball_pdfium.mk +++ b/external/pdfium/UnpackedTarball_pdfium.mk @@ -24,6 +24,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,pdfium,\ $(foreach patch,$(pdfium_patches),external/pdfium/$(patch)) \ )) +# Upstream build system generates this, but it's not really a generated file. +# Stripped down version from . +$(eval $(call gb_UnpackedTarball_add_file,pdfium,build/build_config.h,external/pdfium/configs/build_config.h)) + $(eval $(call gb_UnpackedTarball_set_post_action,pdfium,\ mv third_party/bigint/BigInteger.cc third_party/bigint/BigInteger.cpp && \ mv third_party/bigint/BigIntegerUtils.cc third_party/bigint/BigIntegerUtils.cpp && \ diff --git a/external/pdfium/configs/build_config.h b/external/pdfium/configs/build_config.h new file mode 100644 index 000000000000..edd70af53034 --- /dev/null +++ b/external/pdfium/configs/build_config.h @@ -0,0 +1,132 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file adds defines about the platform we're currently building on. +// Operating System: +// OS_WIN / OS_MACOSX / OS_LINUX / OS_POSIX (MACOSX or LINUX) +// Compiler: +// COMPILER_MSVC / COMPILER_GCC +// Processor: +// ARCH_CPU_X86 / ARCH_CPU_X86_64 / ARCH_CPU_X86_FAMILY (X86 or X86_64) +// ARCH_CPU_32_BITS / ARCH_CPU_64_BITS + +#ifndef BUILD_BUILD_CONFIG_H_ +#define BUILD_BUILD_CONFIG_H_ + +// A set of macros to use for platform detection. +#if defined(ANDROID) +#define OS_ANDROID 1 +#define OS_LINUX 1 +#elif defined(__APPLE__) +#define OS_MACOSX 1 +#elif defined(__linux__) +#define OS_LINUX 1 +#elif defined(__DragonFly__) +#define OS_DRAGONFLY 1 +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#define OS_FREEBSD 1 +#elif defined(__NetBSD__) +#define OS_NETBSD 1 +#elif defined(__OpenBSD__) +#define OS_OPENBSD 1 +#elif defined(__sun__) +#define OS_SOLARIS 1 +#elif defined(_WIN32) +#define OS_WIN 1 +#else +#error Please add support for your platform in build/build_config.h +#endif + +// For access to standard BSD features, use OS_BSD instead of a +// more specific macro. +#if defined(OS_DRAGONFLY) || defined(OS_FREEBSD) || defined(OS_NETBSD) || defined(OS_OPENBSD) +#define OS_BSD 1 +#endif + +// For access to standard POSIX features, use OS_POSIX instead of a more +// specific macro. +#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS) +#define OS_POSIX 1 +#endif + +// Compiler detection. +#if defined(__GNUC__) +#define COMPILER_GCC 1 +#elif defined(_MSC_VER) +#define COMPILER_MSVC 1 +#else +#error Please add support for your compiler in build/build_config.h +#endif + +// Processor architecture detection. For more info on what's defined, see: +// http://msdn.microsoft.com/en-us/library/b0084kay.aspx +// http://www.agner.org/optimize/calling_conventions.pdf +// or with gcc, run: "echo | gcc -E -dM -" +#if defined(_M_X64) || defined(__x86_64__) +#define ARCH_CPU_X86_FAMILY 1 +#define ARCH_CPU_X86_64 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(_M_IX86) || defined(__i386__) +#define ARCH_CPU_X86_FAMILY 1 +#define ARCH_CPU_X86 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__ARMEL__) +#define ARCH_CPU_ARM_FAMILY 1 +#define ARCH_CPU_ARMEL 1 +#define ARCH_CPU_32_BITS 1 +#define WCHAR_T_IS_UNSIGNED 1 +#elif defined(__powerpc64__) +#define ARCH_CPU_PPC64 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(__ppc__) || defined(__powerpc__) +#define ARCH_CPU_PPC 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__sparc__) && defined(__arch64__) +#define ARCH_CPU_SPARC 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(__sparc__) +#define ARCH_CPU_SPARC 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__mips64) && defined(__LP64__) +#define ARCH_CPU_MIPS 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(__mips__) +#define ARCH_CPU_MIPS 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__hppa__) +#define ARCH_CPU_HPPA 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__ia64__) +#define ARCH_CPU_IA64 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(__s390x__) +#define ARCH_CPU_S390X 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(__s390__) +#define ARCH_CPU_S390 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__sh__) +#define ARCH_CPU_SH 1 +#define ARCH_CPU_32_BITS 1 +#elif defined(__alpha__) +#define ARCH_CPU_ALPHA 1 +#define ARCH_CPU_64_BITS 1 +#elif defined(__aarch64__) +#define ARCH_CPU_ARM_FAMILY 1 +#define ARCH_CPU_ARM64 1 +#define ARCH_CPU_64_BITS 1 +#else +#error Please add support for your architecture in build/build_config.h +#endif + +// Type detection for wchar_t. +#if defined(OS_WIN) +#define WCHAR_T_IS_UTF16 +#else +#define WCHAR_T_IS_UTF32 +#endif + +#endif // BUILD_BUILD_CONFIG_H_ diff --git a/external/pdfium/ubsan.patch b/external/pdfium/ubsan.patch index 56f47840ae88..af39e3d95db3 100644 --- a/external/pdfium/ubsan.patch +++ b/external/pdfium/ubsan.patch @@ -1,14 +1,3 @@ ---- core/fxcodec/lbmp/fx_bmp.h -+++ core/fxcodec/lbmp/fx_bmp.h -@@ -126,7 +126,7 @@ class BMPDecompressor { - class CBmpContext : public CCodec_BmpModule::Context { - public: - CBmpContext(CCodec_BmpModule* pModule, CCodec_BmpModule::Delegate* pDelegate); -- ~CBmpContext() override; -+ ~CBmpContext() override {} - - BMPDecompressor m_Bmp; - UnownedPtr const m_pModule; --- core/fxcrt/string_data_template.h +++ core/fxcrt/string_data_template.h @@ -78,7 +78,8 @@ -- cgit v1.2.3