]>
Commit | Line | Data |
---|---|---|
0fa4da98 JP |
1 | # DP: taken from http://icedtea.classpath.org/wiki/IcedTea_Patches_for_OpenJDK_8 |
2 | ||
3 | --- a/common/autoconf/libraries.m4 | |
4 | +++ b/common/autoconf/libraries.m4 | |
5 | @@ -845,6 +845,47 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS], | |
991454fa JK |
6 | |
7 | ############################################################################### | |
8 | # | |
9 | + # Check for the png library | |
10 | + # | |
11 | + | |
12 | + AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng], | |
13 | + [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) | |
14 | + | |
15 | + AC_CHECK_LIB(png, png_sig_cmp, | |
16 | + [ LIBPNG_FOUND=yes ], | |
17 | + [ LIBPNG_FOUND=no ]) | |
18 | + | |
19 | + AC_MSG_CHECKING([for which libpng to use]) | |
20 | + | |
21 | + # default is bundled | |
22 | + DEFAULT_LIBPNG=bundled | |
23 | + | |
24 | + # | |
25 | + # if user didn't specify, use DEFAULT_LIBPNG | |
26 | + # | |
27 | + if test "x${with_libpng}" = "x"; then | |
28 | + with_libpng=${DEFAULT_libpng} | |
29 | + fi | |
30 | + | |
31 | + | |
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]) | |
39 | + else | |
40 | + AC_MSG_RESULT([system not found]) | |
41 | + AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!]) | |
42 | + fi | |
43 | + else | |
44 | + AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled']) | |
45 | + fi | |
46 | + AC_SUBST(USE_EXTERNAL_LIBPNG) | |
47 | + | |
48 | + ############################################################################### | |
49 | + # | |
50 | # Check for the zlib library | |
51 | # | |
52 | ||
0fa4da98 JP |
53 | --- a/common/autoconf/spec.gmk.in |
54 | +++ b/common/autoconf/spec.gmk.in | |
55 | @@ -603,6 +603,7 @@ endif | |
991454fa JK |
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@ | |
0fa4da98 JP |
63 | --- a/jdk/make/lib/Awt2dLibraries.gmk |
64 | +++ b/jdk/make/lib/Awt2dLibraries.gmk | |
65 | @@ -1155,7 +1155,6 @@ endif | |
991454fa JK |
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 | |
71 | ||
72 | ifeq ($(USE_EXTERNAL_LIBGIF), true) | |
0fa4da98 | 73 | @@ -1172,6 +1171,13 @@ ifndef BUILD_HEADLESS_ONLY |
991454fa JK |
74 | LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg |
75 | endif | |
76 | ||
77 | + ifeq ($(USE_EXTERNAL_LIBPNG), true) | |
78 | + LIBPNG_LDFLAGS := -lpng | |
79 | + else | |
80 | + LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/libpng | |
81 | + LIBPNG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/libpng | |
82 | + endif | |
83 | + | |
84 | ifneq ($(OPENJDK_TARGET_OS), macosx) | |
85 | LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen | |
86 | else | |
0fa4da98 | 87 | @@ -1229,12 +1235,12 @@ ifndef BUILD_HEADLESS_ONLY |
991454fa JK |
88 | LANG := C, \ |
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) \ | |
0fa4da98 JP |
102 | --- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c |
103 | +++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c | |
991454fa JK |
104 | @@ -25,8 +25,7 @@ |
105 | ||
106 | #include "splashscreen_impl.h" | |
107 | ||
108 | -#include "../libpng/png.h" | |
109 | - | |
110 | +#include <png.h> | |
111 | #include <setjmp.h> | |
112 | ||
113 | #define SIG_BYTES 8 |