summaryrefslogtreecommitdiff
path: root/debian/patches/system-libpng.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/system-libpng.diff')
-rw-r--r--debian/patches/system-libpng.diff113
1 files changed, 113 insertions, 0 deletions
diff --git a/debian/patches/system-libpng.diff b/debian/patches/system-libpng.diff
new file mode 100644
index 0000000..1c3c8cb
--- /dev/null
+++ b/debian/patches/system-libpng.diff
@@ -0,0 +1,113 @@
+# DP: taken from http://icedtea.classpath.org/wiki/IcedTea_Patches_for_OpenJDK_8
+
+--- a/common/autoconf/libraries.m4
++++ b/common/autoconf/libraries.m4
+@@ -666,6 +666,47 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
+
+ ###############################################################################
+ #
++ # Check for the png library
++ #
++
++ AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng],
++ [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
++
++ AC_CHECK_LIB(png, png_sig_cmp,
++ [ LIBPNG_FOUND=yes ],
++ [ LIBPNG_FOUND=no ])
++
++ AC_MSG_CHECKING([for which libpng to use])
++
++ # default is bundled
++ DEFAULT_LIBPNG=bundled
++
++ #
++ # if user didn't specify, use DEFAULT_LIBPNG
++ #
++ if test "x${with_libpng}" = "x"; then
++ with_libpng=${DEFAULT_libpng}
++ fi
++
++
++ if test "x${with_libpng}" = "xbundled"; then
++ USE_EXTERNAL_LIBPNG=false
++ AC_MSG_RESULT([bundled])
++ elif test "x${with_libpng}" = "xsystem"; then
++ if test "x${LIBPNG_FOUND}" = "xyes"; then
++ USE_EXTERNAL_LIBPNG=true
++ AC_MSG_RESULT([system])
++ else
++ AC_MSG_RESULT([system not found])
++ AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!])
++ fi
++ else
++ AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled'])
++ fi
++ AC_SUBST(USE_EXTERNAL_LIBPNG)
++
++ ###############################################################################
++ #
+ # Check for the zlib library
+ #
+
+--- a/common/autoconf/spec.gmk.in
++++ b/common/autoconf/spec.gmk.in
+@@ -567,6 +567,7 @@ endif
+ ENABLE_JFR=@ENABLE_JFR@
+ ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
+ USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
++USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
+ USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
+ USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
+ LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
+--- a/jdk/make/lib/Awt2dLibraries.gmk
++++ b/jdk/make/lib/Awt2dLibraries.gmk
+@@ -1205,7 +1205,6 @@ endif
+ ifndef BUILD_HEADLESS_ONLY
+ LIBSPLASHSCREEN_DIRS := \
+ $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
+- $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
+ $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
+
+ ifeq ($(USE_EXTERNAL_LIBGIF), true)
+@@ -1222,6 +1221,13 @@ ifndef BUILD_HEADLESS_ONLY
+ LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+ endif
+
++ ifeq ($(USE_EXTERNAL_LIBPNG), true)
++ LIBPNG_LDFLAGS := -lpng
++ else
++ LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/libpng
++ LIBPNG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/libpng
++ endif
++
+ ifneq ($(OPENJDK_TARGET_OS), macosx)
+ LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
+ else
+@@ -1283,12 +1289,12 @@ ifndef BUILD_HEADLESS_ONLY
+ LANG := C, \
+ OPTIMIZATION := LOW, \
+ CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
+- $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
++ $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS), \
+ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
+ LDFLAGS := $(LDFLAGS_JDKLIB) \
+ $(call SET_SHARED_LIBRARY_ORIGIN), \
+ LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
+- $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
++ $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(LIBPNG_LDFLAGS), \
+ LDFLAGS_SUFFIX_solaris := -lc, \
+ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
+ RC_FLAGS := $(RC_FLAGS) \
+--- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
++++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
+@@ -25,8 +25,7 @@
+
+ #include "splashscreen_impl.h"
+
+-#include "../libpng/png.h"
+-
++#include <png.h>
+ #include <setjmp.h>
+
+ #define SIG_BYTES 8