config_host.mk.in | 6 ++++ configure.ac | 46 ++++++++++++++++++++++++++++++++++++++ external/pdfium/Library_pdfium.mk | 25 +++++++++++++++++++- 3 files changed, 76 insertions(+), 1 deletion(-)
New commits: commit 214fa233338c09156c67f85818b6a2ea6b3235bd Author: Rene Engelhard <r...@rene-engelhard.de> AuthorDate: Fri Nov 19 16:36:22 2021 +0100 Commit: René Engelhard <r...@debian.org> CommitDate: Fri Nov 19 22:23:42 2021 +0100 add with-system-abseil/with-system-openjpeg for pdfium Change-Id: I270cbb75cde2a44416b61978b8eefdf267720031 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125559 Tested-by: Jenkins Reviewed-by: René Engelhard <r...@debian.org> diff --git a/config_host.mk.in b/config_host.mk.in index a03ac19747bc..e17d3f73cf57 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -576,6 +576,9 @@ export STAROFFICE_LIBS=$(gb_SPACE)@STAROFFICE_LIBS@ export STRIP=@STRIP@ export STRIP_COMPONENTS=@STRIP_COMPONENTS@ export SYSBASE=@SYSBASE@ +export SYSTEM_ABSEIL=@SYSTEM_ABSEIL@ +export ABSEIL_CFLAGS=@ABSEIL_CFLAGS@ +export ABSEIL_LIBS=@ABSEIL_LIBS@ export SYSTEM_ABW=@SYSTEM_ABW@ export SYSTEM_APR=@SYSTEM_APR@ export SYSTEM_BLUEZ=@SYSTEM_BLUEZ@ @@ -638,6 +641,9 @@ export SYSTEM_NEON=@SYSTEM_NEON@ export SYSTEM_NSS=@SYSTEM_NSS@ export SYSTEM_ODBC_HEADERS=@SYSTEM_ODBC_HEADERS@ export SYSTEM_ODFGEN=@SYSTEM_ODFGEN@ +export SYSTEM_OPENJPEG2=@SYSTEM_OPENJPEG2@ +export OPENJPEG2_CFLAGS=@OPENJPEG2_CFLAGS@ +export OPENJPEG2_LIBS=@OPENJPEG2_LIBS@ export SYSTEM_OPENLDAP=@SYSTEM_OPENLDAP@ export SYSTEM_OPENSSL=@SYSTEM_OPENSSL@ export SYSTEM_PAGEMAKER=@SYSTEM_PAGEMAKER@ diff --git a/configure.ac b/configure.ac index 0ee46bed9c74..d2104fab57f3 100644 --- a/configure.ac +++ b/configure.ac @@ -2175,6 +2175,16 @@ AC_ARG_WITH(system-poppler, [Use system poppler (only needed for PDF import).]),, [with_system_poppler="$with_system_libs"]) +AC_ARG_WITH(system-abseil, + AS_HELP_STRING([--with-system-abseil], + [Use the abseil libraries already on system.]),, + [with_system_abseil="$with_system_libs"]) + +AC_ARG_WITH(system-openjpeg, + AS_HELP_STRING([--with-system-openjpeg], + [Use the OpenJPEG library already on system.]),, + [with_system_openjpeg="$with_system_libs"]) + libo_FUZZ_ARG_ENABLE(gpgmepp, AS_HELP_STRING([--disable-gpgmepp], [Disable building gpgmepp. Do not use in normal cases unless you want to fix potential problems it causes.]) @@ -11944,6 +11954,42 @@ else fi AC_SUBST(ENABLE_PDFIUM) +if test "$ENABLE_PDFIUM" = "TRUE"; then + AC_MSG_CHECKING([which OpenJPEG library to use]) + if test "$with_system_openjpeg" = "yes"; then + SYSTEM_OPENJPEG2=TRUE + AC_MSG_RESULT([external]) + PKG_CHECK_MODULES( OPENJPEG2, libopenjp2 ) + OPENJPEG2_CFLAGS=$(printf '%s' "$OPENJPEG2_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") + FilterLibs "${OPENJPEG2_LIBS}" + OPENJPEG2_LIBS="${filteredlibs}" + else + SYSTEM_OPENJPEG2=FALSE + AC_MSG_RESULT([internal]) + fi + AC_MSG_CHECKING([which Abseil library to use]) + if test "$with_system_abseil" = "yes"; then + AC_MSG_RESULT([external]) + SYSTEM_ABSEIL=TRUE + AC_LANG_PUSH([C++]) + AC_CHECK_HEADER(absl/types/bad_optional_access.h, [], + [AC_MSG_ERROR(abseil headers not found.)], []) + #ABSEIL_CFLAGS=-I/usr/include + AC_CHECK_LIB([absl_bad_optional_access], [main], [ABSEIL_LIBS=-labsl_bad_optional_access], + [ AC_MSG_ERROR([libabsl_bad_optional_access library not found.]) ]) + AC_LANG_POP([C++]) + ABSEIL_CFLAGS=$(printf '%s' "$ABSEIL_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") + FilterLibs "${ABSEIL_LIBS}" + ABSEIL_LIBS="${filteredlibs}" + else + AC_MSG_RESULT([internal]) + fi +fi +AC_SUBST(SYSTEM_OPENJPEG2) +AC_SUBST(SYSTEM_ABSEIL) +AC_SUBST(ABSEIL_CFLAGS) +AC_SUBST(ABSEIL_LIBS) + dnl =================================================================== dnl Check for poppler dnl =================================================================== diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index ee2917fbfd5d..fd355a026b5a 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -19,7 +19,8 @@ $(eval $(call gb_Library_set_include,pdfium,\ -I$(call gb_UnpackedTarball_get_dir,pdfium) \ -I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party \ -I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party/agg23 \ - -I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party/abseil-cpp \ + $(if $(filter TRUE,$(SYSTEM_ABSEIL)),$(ABSEIL_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party/abseil-cpp) \ + $(if $(filter TRUE,$(SYSTEM_OPENJPEG2)),$(OPENJPEG2_CFLAGS)) \ $$(INCLUDE) \ )) @@ -34,6 +35,12 @@ $(eval $(call gb_Library_add_defs,pdfium,\ -DWIN32_LEAN_AND_MEAN \ -DCOMPONENT_BUILD \ )) +ifeq ($(SYSTEM_OPENJPEG2),TRUE) +$(eval $(call gb_Library_add_defs,pdfium,\ + -DUSE_SYSTEM_LIBOPENJPEG2 \ +)) +endif + $(eval $(call gb_Library_set_generated_cxx_suffix,pdfium,cpp)) @@ -518,11 +525,14 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/third_party/agg23/agg_vcgen_stroke \ )) +ifneq ($(SYSTEM_ABSEIL),TRUE) # third_party/abseil-cpp $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/third_party/abseil-cpp/absl/types/bad_optional_access \ )) +endif +ifneq ($(SYSTEM_OPENJPEG2),TRUE) # third_party/fx_libopenjpeg $(eval $(call gb_Library_add_generated_cobjects,pdfium,\ UnpackedTarball/pdfium/third_party/libopenjpeg20/bio \ @@ -550,6 +560,7 @@ $(eval $(call gb_Library_add_generated_cobjects,pdfium,\ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/third_party/libopenjpeg20/opj_malloc \ )) +endif # pdfium_base $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ @@ -586,6 +597,18 @@ $(eval $(call gb_Library_add_libs,pdfium,\ -lrt \ )) +ifeq ($(SYSTEM_OPENJPEG2),TRUE) +$(eval $(call gb_Library_add_libs,pdfium,\ + $(OPENJPEG2_LIBS) \ +)) +endif + +ifeq ($(SYSTEM_ABSEIL),TRUE) +$(eval $(call gb_Library_add_libs,pdfium,\ + $(ABSEIL_LIBS) \ +)) +endif + $(eval $(call gb_Library_use_external,pdfium,freetype)) $(eval $(call gb_Library_add_defs,pdfium,\ -DDEFINE_PS_TABLES_DATA \