1 |
diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4 |
2 |
--- jdk8/common/autoconf/libraries.m4 2013-11-14 20:08:01.845065585 -0500 |
3 |
+++ jdk8/common/autoconf/libraries.m4 2013-11-14 20:10:56.186553066 -0500 |
4 |
@@ -676,6 +676,47 @@ |
5 |
|
6 |
############################################################################### |
7 |
# |
8 |
+ # Check for the png library |
9 |
+ # |
10 |
+ |
11 |
+ AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng], |
12 |
+ [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) |
13 |
+ |
14 |
+ AC_CHECK_LIB(png, png_sig_cmp, |
15 |
+ [ LIBPNG_FOUND=yes ], |
16 |
+ [ LIBPNG_FOUND=no ]) |
17 |
+ |
18 |
+ AC_MSG_CHECKING([for which libpng to use]) |
19 |
+ |
20 |
+ # default is bundled |
21 |
+ DEFAULT_LIBPNG=bundled |
22 |
+ |
23 |
+ # |
24 |
+ # if user didn't specify, use DEFAULT_LIBPNG |
25 |
+ # |
26 |
+ if test "x${with_libpng}" = "x"; then |
27 |
+ with_libpng=${DEFAULT_libpng} |
28 |
+ fi |
29 |
+ |
30 |
+ |
31 |
+ if test "x${with_libpng}" = "xbundled"; then |
32 |
+ USE_EXTERNAL_LIBPNG=false |
33 |
+ AC_MSG_RESULT([bundled]) |
34 |
+ elif test "x${with_libpng}" = "xsystem"; then |
35 |
+ if test "x${LIBPNG_FOUND}" = "xyes"; then |
36 |
+ USE_EXTERNAL_LIBPNG=true |
37 |
+ AC_MSG_RESULT([system]) |
38 |
+ else |
39 |
+ AC_MSG_RESULT([system not found]) |
40 |
+ AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!]) |
41 |
+ fi |
42 |
+ else |
43 |
+ AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled']) |
44 |
+ fi |
45 |
+ AC_SUBST(USE_EXTERNAL_LIBPNG) |
46 |
+ |
47 |
+ ############################################################################### |
48 |
+ # |
49 |
# Check for the zlib library |
50 |
# |
51 |
|
52 |
diff -ruN jdk8/common/autoconf/spec.gmk.in jdk8/common/autoconf/spec.gmk.in |
53 |
--- jdk8/common/autoconf/spec.gmk.in 2013-10-31 19:24:33.000000000 -0400 |
54 |
+++ jdk8/common/autoconf/spec.gmk.in 2013-11-14 21:10:56.365976518 -0500 |
55 |
@@ -548,6 +548,7 @@ |
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 |
diff -ruN jdk8/jdk/make/lib/Awt2dLibraries.gmk jdk8/jdk/make/lib/Awt2dLibraries.gmk |
64 |
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 20:08:01.845065585 -0500 |
65 |
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 20:14:10.791982343 -0500 |
66 |
@@ -1183,7 +1183,6 @@ |
67 |
|
68 |
ifndef BUILD_HEADLESS_ONLY |
69 |
LIBSPLASHSCREEN_DIRS := \ |
70 |
- $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ |
71 |
$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen |
72 |
|
73 |
ifeq ($(USE_EXTERNAL_LIBGIF), true) |
74 |
@@ -1200,6 +1199,13 @@ |
75 |
LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/jpeg |
76 |
endif |
77 |
|
78 |
+ ifeq ($(USE_EXTERNAL_LIBPNG), true) |
79 |
+ LIBPNG_LDFLAGS := -lpng |
80 |
+ else |
81 |
+ LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/libpng |
82 |
+ LIBPNG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/libpng |
83 |
+ endif |
84 |
+ |
85 |
ifneq ($(OPENJDK_TARGET_OS), macosx) |
86 |
LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen |
87 |
else |
88 |
@@ -1263,12 +1269,12 @@ |
89 |
LANG := C, \ |
90 |
OPTIMIZATION := LOW, \ |
91 |
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \ |
92 |
- $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \ |
93 |
+ $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS), \ |
94 |
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \ |
95 |
LDFLAGS := $(LDFLAGS_JDKLIB) \ |
96 |
$(call SET_SHARED_LIBRARY_ORIGIN), \ |
97 |
LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) \ |
98 |
- $(LIBZ) $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \ |
99 |
+ $(LIBZ) $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(LIBPNG_LDFLAGS), \ |
100 |
LDFLAGS_SUFFIX_solaris := -lc, \ |
101 |
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ |
102 |
RC_FLAGS := $(RC_FLAGS) \ |
103 |
diff -ruN jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c |
104 |
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2013-10-31 19:44:18.000000000 -0400 |
105 |
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2013-11-14 20:14:41.363892797 -0500 |
106 |
@@ -25,8 +25,7 @@ |
107 |
|
108 |
#include "splashscreen_impl.h" |
109 |
|
110 |
-#include "../libpng/png.h" |
111 |
- |
112 |
+#include <png.h> |
113 |
#include <setjmp.h> |
114 |
|
115 |
#define SIG_BYTES 8 |