1 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/common/autoconf/generated-configure.sh jdk8u-jdk8u66-b02/common/autoconf/generated-configure.sh
2 --- jdk8u-jdk8u66-b02.orig/common/autoconf/generated-configure.sh 2015-07-17 09:35:23.000000000 +0200
3 +++ jdk8u-jdk8u66-b02/common/autoconf/generated-configure.sh 2015-09-18 13:13:58.000000000 +0200
13 headers under PATH/include)
14 --with-alsa-include specify directory for the alsa include files
15 --with-alsa-lib specify directory for the alsa library
16 + --with-libjpeg use libjpeg from build system or OpenJDK source
17 + (system, bundled) [bundled]
18 --with-giflib use giflib from build system or OpenJDK source
19 (system, bundled) [bundled]
20 --with-zlib use zlib from build system or OpenJDK source
21 @@ -8092,6 +8095,11 @@
22 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}minimal1 "
25 + if test "x$JVM_VARIANT_CLIENT" = xtrue; then
26 + if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
27 + as_fn_error $? "You cannot build a client JVM for a 64-bit machine." "$LINENO" 5
30 if test "x$JVM_VARIANT_KERNEL" = xtrue; then
31 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel "
33 @@ -34837,10 +34845,43 @@
34 # Check for the jpeg library
37 - USE_EXTERNAL_LIBJPEG=true
38 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5
39 -$as_echo_n "checking for main in -ljpeg... " >&6; }
40 -if ${ac_cv_lib_jpeg_main+:} false; then :
42 +# Check whether --with-libjpeg was given.
43 +if test "${with_libjpeg+set}" = set; then :
44 + withval=$with_libjpeg;
48 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for which libjpeg to use" >&5
49 +$as_echo_n "checking for which libjpeg to use... " >&6; }
51 + # default is bundled
52 + DEFAULT_LIBJPEG=bundled
55 + # if user didn't specify, use DEFAULT_LIBJPEG
57 + if test "x${with_libjpeg}" = "x"; then
58 + with_libjpeg=${DEFAULT_LIBJPEG}
61 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libjpeg}" >&5
62 +$as_echo "${with_libjpeg}" >&6; }
64 + if test "x${with_libjpeg}" = "xbundled"; then
65 + USE_EXTERNAL_LIBJPEG=false
66 + elif test "x${with_libjpeg}" = "xsystem"; then
67 + ac_fn_cxx_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default"
68 +if test "x$ac_cv_header_jpeglib_h" = xyes; then :
71 + as_fn_error $? "--with-libjpeg=system specified, but jpeglib.h not found!" "$LINENO" 5
75 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_CreateDecompress in -ljpeg" >&5
76 +$as_echo_n "checking for jpeg_CreateDecompress in -ljpeg... " >&6; }
77 +if ${ac_cv_lib_jpeg_jpeg_CreateDecompress+:} false; then :
78 $as_echo_n "(cached) " >&6
80 ac_check_lib_save_LIBS=$LIBS
81 @@ -34848,27 +34889,33 @@
82 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86 +/* Override any GCC internal prototype to avoid an error.
87 + Use char because int might match the return type of a GCC
88 + builtin and then its argument prototype would still apply. */
92 +char jpeg_CreateDecompress ();
97 +return jpeg_CreateDecompress ();
102 if ac_fn_cxx_try_link "$LINENO"; then :
103 - ac_cv_lib_jpeg_main=yes
104 + ac_cv_lib_jpeg_jpeg_CreateDecompress=yes
106 - ac_cv_lib_jpeg_main=no
107 + ac_cv_lib_jpeg_jpeg_CreateDecompress=no
109 rm -f core conftest.err conftest.$ac_objext \
110 conftest$ac_exeext conftest.$ac_ext
111 LIBS=$ac_check_lib_save_LIBS
113 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_main" >&5
114 -$as_echo "$ac_cv_lib_jpeg_main" >&6; }
115 -if test "x$ac_cv_lib_jpeg_main" = xyes; then :
116 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5
117 +$as_echo "$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6; }
118 +if test "x$ac_cv_lib_jpeg_jpeg_CreateDecompress" = xyes; then :
119 cat >>confdefs.h <<_ACEOF
120 #define HAVE_LIBJPEG 1
122 @@ -34876,13 +34923,16 @@
126 - USE_EXTERNAL_LIBJPEG=false
127 - { $as_echo "$as_me:${as_lineno-$LINENO}: Will use jpeg decoder bundled with the OpenJDK source" >&5
128 -$as_echo "$as_me: Will use jpeg decoder bundled with the OpenJDK source" >&6;}
130 + as_fn_error $? "--with-libjpeg=system specified, but no libjpeg found" "$LINENO" 5
134 + USE_EXTERNAL_LIBJPEG=true
136 + as_fn_error $? "Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'" "$LINENO" 5
141 ###############################################################################
143 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/common/autoconf/libraries.m4 jdk8u-jdk8u66-b02/common/autoconf/libraries.m4
144 --- jdk8u-jdk8u66-b02.orig/common/autoconf/libraries.m4 2015-07-17 09:35:23.000000000 +0200
145 +++ jdk8u-jdk8u66-b02/common/autoconf/libraries.m4 2015-09-18 13:13:58.000000000 +0200
146 @@ -595,11 +595,36 @@
147 # Check for the jpeg library
150 - USE_EXTERNAL_LIBJPEG=true
151 - AC_CHECK_LIB(jpeg, main, [],
152 - [ USE_EXTERNAL_LIBJPEG=false
153 - AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
155 + AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
156 + [use libjpeg from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
158 + AC_MSG_CHECKING([for which libjpeg to use])
160 + # default is bundled
161 + DEFAULT_LIBJPEG=bundled
164 + # if user didn't specify, use DEFAULT_LIBJPEG
166 + if test "x${with_libjpeg}" = "x"; then
167 + with_libjpeg=${DEFAULT_LIBJPEG}
170 + AC_MSG_RESULT(${with_libjpeg})
172 + if test "x${with_libjpeg}" = "xbundled"; then
173 + USE_EXTERNAL_LIBJPEG=false
174 + elif test "x${with_libjpeg}" = "xsystem"; then
175 + AC_CHECK_HEADER(jpeglib.h, [],
176 + [ AC_MSG_ERROR([--with-libjpeg=system specified, but jpeglib.h not found!])])
177 + AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [],
178 + [ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])])
180 + USE_EXTERNAL_LIBJPEG=true
182 + AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
185 AC_SUBST(USE_EXTERNAL_LIBJPEG)
187 ###############################################################################
188 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/jdk/make/lib/Awt2dLibraries.gmk jdk8u-jdk8u66-b02/jdk/make/lib/Awt2dLibraries.gmk
189 --- jdk8u-jdk8u66-b02.orig/jdk/make/lib/Awt2dLibraries.gmk 2015-07-23 16:17:35.000000000 +0200
190 +++ jdk8u-jdk8u66-b02/jdk/make/lib/Awt2dLibraries.gmk 2015-09-18 13:13:58.000000000 +0200
191 @@ -702,21 +702,24 @@
193 ##########################################################################################
195 +BUILD_LIBJAVAJPEG_DIR := $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
198 - BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
199 + BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
201 - BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
202 - BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
203 - BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
204 + BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
205 + BUILD_LIBJAVAJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
206 + BUILD_LIBJAVAJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJAVAJPEG_CLOSED_SRC)
209 -BUILD_LIBJPEG_REORDER :=
210 +BUILD_LIBJAVAJPEG_REORDER :=
211 ifeq ($(OPENJDK_TARGET_OS), solaris)
212 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
213 - BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
214 + BUILD_LIBJAVAJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
219 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
220 # or 'vfork'": this warning indicates that some variable is placed to
221 # a register by optimized compiler and it's value might be lost on longjmp().
222 @@ -728,37 +731,50 @@
223 # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
224 # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
225 # ifeq ($(CC_43_OR_NEWER), 1)
226 -# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
227 +# BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
231 -$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
233 +ifeq ($(USE_EXTERNAL_LIBJPEG), true)
234 + LIBJPEG_LIBS := -ljpeg
235 + BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
238 + BUILD_LIBJAVAJPEG_HEADERS :=
241 + BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
242 + BUILD_LIBJAVAJPEG_HEADERS := -I$(BUILD_LIBJAVAJPEG_DIR)
245 +$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
246 + LIBRARY := javajpeg, \
247 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
248 - SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
249 - $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
250 + SRC := $(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
251 + $(BUILD_LIBJAVAJPEG_DIR), \
252 + INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
254 OPTIMIZATION := HIGHEST, \
255 CFLAGS := $(CFLAGS_JDKLIB) \
256 - $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
257 - -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
258 - MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
259 + $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
260 + $(BUILD_LIBJAVAJPEG_HEADERS), \
261 + MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
262 LDFLAGS := $(LDFLAGS_JDKLIB) \
263 $(call SET_SHARED_LIBRARY_ORIGIN), \
264 LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
265 - LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
266 + LDFLAGS_SUFFIX := $(LIBJPEG_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
267 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
268 RC_FLAGS := $(RC_FLAGS) \
269 - -D "JDK_FNAME=jpeg.dll" \
270 - -D "JDK_INTERNAL_NAME=jpeg" \
271 + -D "JDK_FNAME=javajpeg.dll" \
272 + -D "JDK_INTERNAL_NAME=javajpeg" \
273 -D "JDK_FTYPE=0x2L", \
274 - REORDER := $(BUILD_LIBJPEG_REORDER), \
275 + REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
276 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
277 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
279 -$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
280 +$(BUILD_LIBJAVAJPEG): $(BUILD_LIBJAVA)
282 -BUILD_LIBRARIES += $(BUILD_LIBJPEG)
283 +BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
285 ##########################################################################################
287 @@ -1198,6 +1214,13 @@
288 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
291 + ifeq ($(USE_EXTERNAL_LIBJPEG), true)
292 + LIBJPEG_LDFLAGS := -ljpeg
294 + LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
295 + LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
298 ifneq ($(OPENJDK_TARGET_OS), macosx)
299 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
301 @@ -1258,11 +1281,13 @@
302 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
304 OPTIMIZATION := LOW, \
305 - CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
306 + CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
307 + $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
308 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
309 LDFLAGS := $(LDFLAGS_JDKLIB) \
310 $(call SET_SHARED_LIBRARY_ORIGIN), \
311 - LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
312 + LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
313 + $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
314 LDFLAGS_SUFFIX_solaris := -lc, \
315 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
316 RC_FLAGS := $(RC_FLAGS) \
317 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java jdk8u-jdk8u66-b02/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
318 --- jdk8u-jdk8u66-b02.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2015-07-23 16:17:35.000000000 +0200
319 +++ jdk8u-jdk8u66-b02/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2015-09-18 13:13:58.000000000 +0200
321 java.security.AccessController.doPrivileged(
322 new java.security.PrivilegedAction<Void>() {
324 - System.loadLibrary("jpeg");
325 + System.loadLibrary("javajpeg");
329 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java jdk8u-jdk8u66-b02/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
330 --- jdk8u-jdk8u66-b02.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2015-07-23 16:17:35.000000000 +0200
331 +++ jdk8u-jdk8u66-b02/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2015-09-18 13:13:58.000000000 +0200
333 java.security.AccessController.doPrivileged(
334 new java.security.PrivilegedAction<Void>() {
336 - System.loadLibrary("jpeg");
337 + System.loadLibrary("javajpeg");
341 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java jdk8u-jdk8u66-b02/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
342 --- jdk8u-jdk8u66-b02.orig/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java 2015-07-23 16:17:35.000000000 +0200
343 +++ jdk8u-jdk8u66-b02/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java 2015-09-18 13:13:58.000000000 +0200
345 java.security.AccessController.doPrivileged(
346 new java.security.PrivilegedAction<Void>() {
348 - System.loadLibrary("jpeg");
349 + System.loadLibrary("javajpeg");
353 diff -durN -x '*.orig' jdk8u-jdk8u66-b02.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c jdk8u-jdk8u66-b02/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
354 --- jdk8u-jdk8u66-b02.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2015-07-23 16:17:35.000000000 +0200
355 +++ jdk8u-jdk8u66-b02/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2015-09-18 13:13:58.000000000 +0200
358 /* headers from the JPEG library */
364 #define MAX(a,b) ((a) > (b) ? (a) : (b))