[Libreoffice-commits] core.git: config_host.mk.in configure.ac external/poppler RepositoryExternal.mk

Michael Stahl mstahl at redhat.com
Wed Nov 2 20:04:49 UTC 2016


 RepositoryExternal.mk                       |   23 +++++++++++++++++------
 config_host.mk.in                           |    2 ++
 configure.ac                                |   12 +++++++++---
 external/poppler/ExternalProject_poppler.mk |    2 +-
 external/poppler/UnpackedTarball_poppler.mk |    1 +
 external/poppler/poppler-libjpeg.patch.1    |   23 +++++++++++++++++++++++
 6 files changed, 53 insertions(+), 10 deletions(-)

New commits:
commit eea709f67d91e271e3df37e6c6724b7b5870b1ee
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Nov 2 14:13:54 2016 +0100

    poppler: build against libjpeg
    
    Albert Astals Cid points out that --disable-libjpeg causes poppler to
    use internal JPEG code instead, which is not actively maintained.
    
    Add LIBJPEG_CFLAGS / LIBJPEG_LIBS to config_host.mk and patch poppler to
    respect LIBJPEG_LIBS.
    
    Change-Id: Id19a62a9bd9dc41fee5e8e43e2798e515aacc299
    Reviewed-on: https://gerrit.libreoffice.org/30496
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 93a5459..1f891d5 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -425,32 +425,37 @@ endif # SYSTEM_ZLIB
 ifneq ($(SYSTEM_JPEG),)
 
 define gb_LinkTarget__use_jpeg
-$(call gb_LinkTarget_add_libs,$(1),-ljpeg)
+$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
 $(call gb_LinkTarget_set_ldflags,$(1),\
 	$$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
 )
 
 endef
 
+gb_ExternalProject__use_jpeg :=
+
 else ifneq ($(filter JPEG_TURBO,$(BUILD_TYPE)),)
 
 define gb_LinkTarget__use_jpeg
 $(call gb_LinkTarget_set_include,$(1),\
-	-I$(call gb_UnpackedTarball_get_dir,jpeg-turbo) \
+	$(LIBJPEG_CFLAGS) \
 	$$(INCLUDE) \
 )
-$(call gb_LinkTarget_add_libs,$(1),\
-	$(call gb_UnpackedTarball_get_dir,jpeg-turbo)/.libs/libjpeg$(gb_StaticLibrary_PLAINEXT) \
-)
+$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
 $(call gb_LinkTarget_use_external_project,$(1),jpeg-turbo,full)
 
 endef
 
+define gb_ExternalProject__use_jpeg
+$(call gb_ExternalProject_use_external_project,$(1),jpeg-turbo)
+
+endef
+
 else # !SYSTEM_JPEG
 
 define gb_LinkTarget__use_jpeg
 $(call gb_LinkTarget_set_include,$(1),\
-	-I$(call gb_UnpackedTarball_get_dir,jpeg) \
+	$(LIBJPEG_CFLAGS) \
 	$$(INCLUDE) \
 )
 
@@ -458,6 +463,11 @@ $(call gb_LinkTarget_use_static_libraries,$(1),\
 	jpeg \
 )
 
+define gb_ExternalProject__use_jpeg
+$(call gb_ExternalProject_use_static_libraries,$(1),jpeg)
+
+endef
+
 endef
 
 endif # SYSTEM_JPEG
@@ -2752,6 +2762,7 @@ endef
 else # !SYSTEM_POPPLER
 
 define gb_LinkTarget__use_poppler
+$(call gb_LinkTarget_use_external,$(1),jpeg)
 $(call gb_LinkTarget_use_external_project,$(1),poppler,full)
 
 $(call gb_LinkTarget_set_include,$(1),\
diff --git a/config_host.mk.in b/config_host.mk.in
index 260acf7..7eebae6 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -320,6 +320,8 @@ export LIBFONTS_JAR=@LIBFONTS_JAR@
 export LIBFORMULA_JAR=@LIBFORMULA_JAR@
 export LIBGCRYPT_CFLAGS=@LIBGCRYPT_CFLAGS@
 export LIBGCRYPT_LIBS=@LIBGCRYPT_LIBS@
+export LIBJPEG_CFLAGS=$(gb_SPACE)@LIBJPEG_CFLAGS@
+export LIBJPEG_LIBS=$(gb_SPACE)@LIBJPEG_LIBS@
 export LIBLANGTAG_CFLAGS=$(gb_SPACE)@LIBLANGTAG_CFLAGS@
 export LIBLANGTAG_LIBS=$(gb_SPACE)@LIBLANGTAG_LIBS@
 export LIBLAYOUT_JAR=@LIBLAYOUT_JAR@
diff --git a/configure.ac b/configure.ac
index 66a11a9..9c24cbb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7716,10 +7716,10 @@ fi
 if test "$with_system_jpeg" = "yes"; then
     AC_MSG_RESULT([external])
     SYSTEM_JPEG=TRUE
-    AC_CHECK_HEADER(jpeglib.h, [],
+    AC_CHECK_HEADER(jpeglib.h, [ LIBJPEG_CFLAGS= ],
         [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], [])
-    AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ],
-    [AC_MSG_CHECKING(jpeg library not found or fuctional)], [])
+    AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ LIBJPEG_LIBS="-ljpeg" ],
+        [AC_MSG_ERROR(jpeg library not found or fuctional)], [])
     libo_MINGW_CHECK_DLL([libjpeg])
 else
     SYSTEM_JPEG=
@@ -7768,12 +7768,18 @@ Alternatively, you can install the 'new' nasm where ever you want and make sure
 _EOS
         AC_MSG_ERROR([no nasm (Netwide Assembler) found])
         fi
+        LIBJPEG_CFLAGS="-I${WORKDIR}/UnpackedTarball/jpeg-turbo"
+        LIBJPEG_LIBS="${WORKDIR}/UnpackedTarball/jpeg-turbo/.libs/libjpeg.lib"
     else
         AC_MSG_RESULT([internal, jpeg])
         BUILD_TYPE="$BUILD_TYPE JPEG"
+        LIBJPEG_CFLAGS="-I${WORKDIR}/UnpackedTarball/jpeg"
+        LIBJPEG_LIBS="-L${WORKDIR}/LinkTarget/StaticLibrary -ljpeg"
     fi
 fi
 AC_SUBST(NASM)
+AC_SUBST(LIBJPEG_CFLAGS)
+AC_SUBST(LIBJPEG_LIBS)
 AC_SUBST(SYSTEM_JPEG)
 
 dnl ===================================================================
diff --git a/external/poppler/ExternalProject_poppler.mk b/external/poppler/ExternalProject_poppler.mk
index eab1d91..f75dddc 100644
--- a/external/poppler/ExternalProject_poppler.mk
+++ b/external/poppler/ExternalProject_poppler.mk
@@ -26,7 +26,7 @@ $(call gb_ExternalProject_get_state_target,poppler,build) :
 			--disable-poppler-cpp \
 			--disable-libopenjpeg \
 			--disable-libtiff \
-			--disable-libjpeg \
+			--enable-libjpeg \
 			--disable-libpng \
 			--disable-zlib \
 			--disable-libcurl \
diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk
index a0b6595..afad5fb 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -18,6 +18,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
 	external/poppler/poppler-vs2013.patch.1 \
 	external/poppler/poppler-0.46.0-std-max.patch.1 \
 	external/poppler/ubsan.patch.0 \
+	external/poppler/poppler-libjpeg.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/poppler/poppler-libjpeg.patch.1 b/external/poppler/poppler-libjpeg.patch.1
new file mode 100644
index 0000000..c8d54be
--- /dev/null
+++ b/external/poppler/poppler-libjpeg.patch.1
@@ -0,0 +1,23 @@
+do not override user supplied LIBJPEG_LIBS so we can use the one in WORKDIR
+
+--- poppler/configure.orig	2016-11-02 13:58:32.530617038 +0100
++++ poppler/configure	2016-11-02 13:58:06.233617689 +0100
+@@ -21377,8 +21377,9 @@
+           ac_save_USER_INCLUDES="$USER_INCLUDES"
+   ac_save_USER_LDFLAGS="$USER_LDFLAGS"
+   USER_INCLUDES="$USER_INCLUDES $LIBJPEG_CFLAGS"
+-  USER_LDFLAGS="$USER_LDFLAGS $LIBJPEG_CFLAGS"
++  USER_LDFLAGS="$USER_LDFLAGS $LIBJPEG_LIBS"
+ 
++if test -z "$LIBJPEG_LIBS"; then
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libjpeg6b" >&5
+ $as_echo_n "checking for libjpeg6b... " >&6; }
+@@ -21489,6 +21490,7 @@
+ 
+ 
+ fi
++fi
+ 
+ 
+ ac_save_CPPFLAGS="$CPPFLAGS"


More information about the Libreoffice-commits mailing list