summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-11-02 14:13:54 +0100
committerMichael Stahl <mstahl@redhat.com>2016-11-02 20:04:23 +0000
commiteea709f67d91e271e3df37e6c6724b7b5870b1ee (patch)
tree170d8daf2c45e04f461556ede40699d3d6a4fc2c
parent092261ffd497f752c342f1fbdca6e7267e312a21 (diff)
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@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--RepositoryExternal.mk23
-rw-r--r--config_host.mk.in2
-rw-r--r--configure.ac12
-rw-r--r--external/poppler/ExternalProject_poppler.mk2
-rw-r--r--external/poppler/UnpackedTarball_poppler.mk1
-rw-r--r--external/poppler/poppler-libjpeg.patch.123
6 files changed, 53 insertions, 10 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 93a5459ed6dc..1f891d527058 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 260acf7787c4..7eebae67d947 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 66a11a98a00a..9c24cbb7ce20 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 eab1d9181c61..f75dddc114cd 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 a0b6595ca0c6..afad5fba13b6 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 000000000000..c8d54beb75ae
--- /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"