1 # DP: taken from http://icedtea.classpath.org/wiki/IcedTea_Patches_for_OpenJDK_8
3 --- a/common/autoconf/libraries.m4
4 +++ b/common/autoconf/libraries.m4
5 @@ -845,6 +845,47 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
7 ###############################################################################
9 + # Check for the png library
12 + AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng],
13 + [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
15 + AC_CHECK_LIB(png, png_sig_cmp,
16 + [ LIBPNG_FOUND=yes ],
17 + [ LIBPNG_FOUND=no ])
19 + AC_MSG_CHECKING([for which libpng to use])
21 + # default is bundled
22 + DEFAULT_LIBPNG=bundled
25 + # if user didn't specify, use DEFAULT_LIBPNG
27 + if test "x${with_libpng}" = "x"; then
28 + with_libpng=${DEFAULT_libpng}
32 + if test "x${with_libpng}" = "xbundled"; then
33 + USE_EXTERNAL_LIBPNG=false
34 + AC_MSG_RESULT([bundled])
35 + elif test "x${with_libpng}" = "xsystem"; then
36 + if test "x${LIBPNG_FOUND}" = "xyes"; then
37 + USE_EXTERNAL_LIBPNG=true
38 + AC_MSG_RESULT([system])
40 + AC_MSG_RESULT([system not found])
41 + AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!])
44 + AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled'])
46 + AC_SUBST(USE_EXTERNAL_LIBPNG)
48 + ###############################################################################
50 # Check for the zlib library
53 --- a/common/autoconf/spec.gmk.in
54 +++ b/common/autoconf/spec.gmk.in
55 @@ -603,6 +603,7 @@ endif
56 ENABLE_JFR=@ENABLE_JFR@
57 ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
58 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
59 +USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
60 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
61 USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
62 LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
63 --- a/jdk/make/lib/Awt2dLibraries.gmk
64 +++ b/jdk/make/lib/Awt2dLibraries.gmk
65 @@ -1155,7 +1155,6 @@ endif
66 ifndef BUILD_HEADLESS_ONLY
67 LIBSPLASHSCREEN_DIRS := \
68 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
69 - $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
70 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
72 ifeq ($(USE_EXTERNAL_LIBGIF), true)
73 @@ -1172,6 +1171,13 @@ ifndef BUILD_HEADLESS_ONLY
74 LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
77 + ifeq ($(USE_EXTERNAL_LIBPNG), true)
78 + LIBPNG_LDFLAGS := -lpng
80 + LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/libpng
81 + LIBPNG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/libpng
84 ifneq ($(OPENJDK_TARGET_OS), macosx)
85 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
87 @@ -1229,12 +1235,12 @@ ifndef BUILD_HEADLESS_ONLY
89 OPTIMIZATION := LOW, \
90 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
91 - $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
92 + $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS), \
93 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
94 LDFLAGS := $(LDFLAGS_JDKLIB) \
95 $(call SET_SHARED_LIBRARY_ORIGIN), \
96 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
97 - $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
98 + $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(LIBPNG_LDFLAGS), \
99 LDFLAGS_SUFFIX_solaris := -lc, \
100 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
101 RC_FLAGS := $(RC_FLAGS) \
102 --- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
103 +++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
106 #include "splashscreen_impl.h"
108 -#include "../libpng/png.h"