diff options
author | Tor Lillqvist <tml@collabora.com> | 2021-03-16 12:21:44 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2021-03-16 13:44:31 +0100 |
commit | f1073838d24d418c14afd0cf5cc4cfd547f5d213 (patch) | |
tree | a59b38ec69cfc97daec7630b7c2e3178530d0ac5 | |
parent | 8570a945f2c77ea0231acd0d110016a336dbf9c7 (diff) |
Do build Pdfium for iOS, too
For it to compile, the inclusion of <Carbon/Carbon.h> had to be
replaced with <CoreGraphics/CoreGraphics.h>. That doesn't harm the
macOS build either.
This fixes the crash in
https://github.com/CollaboraOnline/online/issues/1710 . I am not
entirely sure yet whether the actual PDF import functionality now then
works in the iOS app, though.
Change-Id: Ie25e7c58632c0fdddb569d58217f23b26d1e5937
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112571
Tested-by: Jenkins
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | distro-configs/LibreOfficeiOS.conf | 2 | ||||
-rw-r--r-- | external/pdfium/Library_pdfium.mk | 14 | ||||
-rw-r--r-- | external/pdfium/UnpackedTarball_pdfium.mk | 2 | ||||
-rw-r--r-- | external/pdfium/cg-instead-of-carbon.patch.1 | 13 |
5 files changed, 31 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index fe84f7b4e922..887db854e7d5 100644 --- a/configure.ac +++ b/configure.ac @@ -11609,7 +11609,7 @@ AC_SUBST([ENABLE_DCONF]) # pdf import? AC_MSG_CHECKING([whether to build the PDF import feature]) ENABLE_PDFIMPORT= -if test $_os != iOS -a \( -z "$enable_pdfimport" -o "$enable_pdfimport" = yes \); then +if test -z "$enable_pdfimport" -o "$enable_pdfimport" = yes; then AC_MSG_RESULT([yes]) ENABLE_PDFIMPORT=TRUE AC_DEFINE(HAVE_FEATURE_PDFIMPORT) diff --git a/distro-configs/LibreOfficeiOS.conf b/distro-configs/LibreOfficeiOS.conf index 2fc9b2ddf1d8..2f54e1ada54e 100644 --- a/distro-configs/LibreOfficeiOS.conf +++ b/distro-configs/LibreOfficeiOS.conf @@ -22,7 +22,7 @@ --disable-kf5 --disable-odk --disable-openssl ---disable-pdfium +--disable-poppler --disable-python --without-tls diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 81cdbe859ba2..0e6b110f9a0e 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -662,6 +662,20 @@ $(eval $(call gb_Library_use_system_darwin_frameworks,pdfium,\ )) endif +ifeq ($(OS),iOS) +# fxge +$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ + UnpackedTarball/pdfium/core/fxge/apple/fx_apple_platform \ + UnpackedTarball/pdfium/core/fxge/apple/fx_mac_impl \ + UnpackedTarball/pdfium/core/fxge/apple/fx_quartz_device \ +)) + +$(eval $(call gb_Library_use_system_darwin_frameworks,pdfium,\ + CoreGraphics \ + CoreFoundation \ +)) +endif + ifeq ($(OS),ANDROID) # fxge $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk index 11cd2193bb47..97da4dc71caa 100644 --- a/external/pdfium/UnpackedTarball_pdfium.mk +++ b/external/pdfium/UnpackedTarball_pdfium.mk @@ -14,6 +14,8 @@ pdfium_patches += build.patch.1 # Avoids Windows 8 build dependency. pdfium_patches += windows7.patch.1 pdfium_patches += c++20-comparison.patch +# Use CoreGraphics.h instead of Carbon.h +pdfium_patches += cg-instead-of-carbon.patch.1 # Work around <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94141> "c++20 rewritten operator== # recursive call mixing friend and external operators for template class" in GCC with diff --git a/external/pdfium/cg-instead-of-carbon.patch.1 b/external/pdfium/cg-instead-of-carbon.patch.1 new file mode 100644 index 000000000000..bd29af1b95c2 --- /dev/null +++ b/external/pdfium/cg-instead-of-carbon.patch.1 @@ -0,0 +1,13 @@ +-*- Mode: Diff -*- +--- a/core/fxge/apple/fx_quartz_device.h ++++ b/core/fxge/apple/fx_quartz_device.h +@@ -7,7 +7,7 @@ + #ifndef CORE_FXGE_APPLE_FX_QUARTZ_DEVICE_H_ + #define CORE_FXGE_APPLE_FX_QUARTZ_DEVICE_H_ + +-#include <Carbon/Carbon.h> ++#include <CoreGraphics/CoreGraphics.h> + + #include "core/fxcrt/fx_system.h" + #include "core/fxge/cfx_gemodule.h" + |