configure.ac | 6 ++++-- download.lst | 4 ++-- external/pdfium/Library_pdfium.mk | 15 ++++++++++----- external/pdfium/build.patch.1 | 12 ++++++++++++ vcl/opengl/x11/X11DeviceInfo.cxx | 1 + 5 files changed, 29 insertions(+), 9 deletions(-)
New commits: commit de932e299e658087c3bbafbf613741bc730f9bae Author: Michael Stahl <[email protected]> AuthorDate: Thu Nov 13 19:36:05 2025 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Fri Nov 14 14:12:15 2025 +0100 vcl: another stdint.h for GCC 15 Change-Id: Idbe16cb0b2bf379c6ca1f83423d2cf0d284199cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193989 Reviewed-by: Michael Stahl <[email protected]> Tested-by: allotropia jenkins <[email protected]> diff --git a/vcl/opengl/x11/X11DeviceInfo.cxx b/vcl/opengl/x11/X11DeviceInfo.cxx index 7f671952f0fe..3a06bc951f4b 100644 --- a/vcl/opengl/x11/X11DeviceInfo.cxx +++ b/vcl/opengl/x11/X11DeviceInfo.cxx @@ -16,6 +16,7 @@ #include <sal/log.hxx> #include <unistd.h> +#include <stdint.h> #include <sys/types.h> #include <sys/wait.h> #include <errno.h> commit 4cceb65d2021787e6485f814e9eb51cda6ec75a8 Author: Miklos Vajna <[email protected]> AuthorDate: Thu Feb 13 13:45:38 2025 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Fri Nov 14 14:12:11 2025 +0100 Update pdfium to 7012 Windows has to switch to clang-cl, see <https://groups.google.com/g/pdfium/c/d7KZi_wePHs/m/7eZyhYhVDAAJ> "Does anyone still use MSVC?", similar to what skia does already. This also allows reverting the CppunitTest_vcl_pdfexport and CppunitTest_vcl_pdfexport2 test tweaks from commit 59c5a7d5c7502770896491a59c73de3c627afcc5 (Update pdfium to 6764, 2024-10-14). (cherry picked from commit 6007fbef5c2e4a0b80a4c0031ff36117aa41e63f) Change-Id: I14052c74c551c4412a13a77eac6284455365d888 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182915 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (cherry picked from commit 1118df298a3541e9b86aee2cbfb520cc85f4d583) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193769 (cherry picked from commit 96aed26163a408368a34d26f928698886aa787a8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193903 Tested-by: allotropia jenkins <[email protected]> Reviewed-by: Michael Stahl <[email protected]> diff --git a/download.lst b/download.lst index 4b780c5cbb87..b1dc06c99cc4 100644 --- a/download.lst +++ b/download.lst @@ -455,8 +455,8 @@ PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -PDFIUM_SHA256SUM := 03aabafd8bed319f87aa96871264dc599879e482a0923450070dac987c8a671e -PDFIUM_TARBALL := pdfium-6887.tar.bz2 +PDFIUM_SHA256SUM := e647ca4fcc2c91d9dca717452e1b1be1ab6155ac4977dca716041652c7b10bdd +PDFIUM_TARBALL := pdfium-7012.tar.bz2 # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 190777085093..f982a397b07a 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -13,14 +13,19 @@ $(eval $(call gb_Library_use_unpacked,pdfium,pdfium)) $(eval $(call gb_Library_set_warnings_disabled,pdfium)) -$(eval $(call gb_Library_set_precompiled_header,pdfium,external/pdfium/inc/pch/precompiled_pdfium)) - -# force C++20 with MSVC -ifneq ($(filter -std:c++17,$(CXXFLAGS_CXX11)),) +ifeq ($(COM),MSC) +$(eval $(call gb_Library_use_clang,pdfium)) +endif +#This currently results in all sorts of compile complaints +#$(eval $(call gb_Library_set_precompiled_header,pdfium,external/pdfium/inc/pch/precompiled_pdfium)) +# The clang-cl provided with at least VS 2019 16.11.28 is known-broken with -std:c++20: +ifneq ($(filter -std:c++20,$(CXXFLAGS_CXX11)),) +ifeq ($(LO_CLANG_VERSION),120000) $(eval $(call gb_Library_add_cxxflags,pdfium, \ - -std:c++20 \ + -std:c++17 \ )) endif +endif $(eval $(call gb_Library_set_include,pdfium,\ -I$(call gb_UnpackedTarball_get_dir,pdfium) \ diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 99115f64ea9f..48189fc1f278 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -147,3 +147,15 @@ index 8026a75d5..34c20d62f 100644 static_assert(kModeKeyForMode.size() == FPDF_ANNOT_APPEARANCEMODE_COUNT, "length of kModeKeyForMode should be equal to " "FPDF_ANNOT_APPEARANCEMODE_COUNT"); +--- a/core/fxcrt/fx_memory_wrappers.h 2025-02-13 13:38:35.761778900 +0100 ++++ b/core/fxcrt/fx_memory_wrappers.h 2025-02-13 13:38:48.136654800 +0100 +@@ -33,9 +33,6 @@ + template <class T, void* Alloc(size_t, size_t), void Free(void*)> + struct FxPartitionAllocAllocator { + public: +- static_assert(std::is_arithmetic<T>::value || std::is_enum<T>::value || +- IsFXDataPartitionException<T>::value, +- "Only numeric types allowed in this partition"); + + using value_type = T; + using pointer = T*; commit 8a34c4478de3d5b43dea261b75e833b04b194eaf Author: Luboš Luňák <[email protected]> AuthorDate: Mon Apr 20 16:28:23 2020 +0200 Commit: Michael Stahl <[email protected]> CommitDate: Fri Nov 14 14:12:05 2025 +0100 fix --enable-64-bit Windows build with Clang for Skia Change-Id: Ia55e0b6ab6b970cbafe2c8283b255eae0ad66567 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92577 Reviewed-by: Mike Kaganski <[email protected]> Reviewed-by: Luboš Luňák <[email protected]> Tested-by: Jenkins (cherry picked from commit 4e61f3844982965dad4e206a8bf4dfec4174c805) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194015 Reviewed-by: Michael Stahl <[email protected]> Tested-by: allotropia jenkins <[email protected]> diff --git a/configure.ac b/configure.ac index e149b8efd232..689e8c8928b2 100644 --- a/configure.ac +++ b/configure.ac @@ -10944,9 +10944,11 @@ if test "$ENABLE_PDFIUM" = TRUE -a "$COM_IS_CLANG" != TRUE; then AC_MSG_CHECKING([for clang-cl]) if test -x "$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"; then CLANG_C=`win_short_path_for_make "$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"` + dnl match our MSVC default, also explicitly set -m32/-m64 if test "$BITNESS_OVERRIDE" = ""; then - dnl match our MSVC default - CLANG_C="$CLANG_C -arch:SSE" + CLANG_C="$CLANG_C -m32 -arch:SSE" + else + CLANG_C="$CLANG_C -m64" fi CLANG_CXX="$CLANG_C" AC_MSG_RESULT([$CLANG_C])
