208 lines
8.7 KiB
Diff
208 lines
8.7 KiB
Diff
diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4
|
|
--- jdk8/common/autoconf/libraries.m4
|
|
+++ jdk8/common/autoconf/libraries.m4
|
|
@@ -487,11 +487,40 @@
|
|
# Check for the jpeg library
|
|
#
|
|
|
|
-USE_EXTERNAL_LIBJPEG=true
|
|
-AC_CHECK_LIB(jpeg, main, [],
|
|
- [ USE_EXTERNAL_LIBJPEG=false
|
|
- AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
|
|
- ])
|
|
+AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
|
|
+ [use libjpeg from build system or OpenJDK sources (system, bundled) @<:@bundled@:>@])])
|
|
+
|
|
+AC_CHECK_LIB(jpeg, jpeg_destroy_compress,
|
|
+ [ LIBJPEG_FOUND=yes ],
|
|
+ [ LIBJPEG_FOUND=no ])
|
|
+
|
|
+AC_MSG_CHECKING([for which libjpeg to use])
|
|
+
|
|
+# default is bundled
|
|
+DEFAULT_LIBJPEG=bundled
|
|
+
|
|
+#
|
|
+# if user didn't specify, use DEFAULT_LIBJPEG
|
|
+#
|
|
+if test "x${with_libjpeg}" = "x"; then
|
|
+ with_libjpeg=${DEFAULT_LIBJPEG}
|
|
+fi
|
|
+
|
|
+if test "x${with_libjpeg}" = "xbundled"; then
|
|
+ USE_EXTERNAL_LIBJPEG=false
|
|
+ AC_MSG_RESULT([bundled])
|
|
+elif test "x${with_libjpeg}" = "xsystem"; then
|
|
+ if test "x${LIBJPEG_FOUND}" = "xyes"; then
|
|
+ USE_EXTERNAL_LIBJPEG=true
|
|
+ AC_MSG_RESULT([system])
|
|
+ else
|
|
+ AC_MSG_RESULT([system not found])
|
|
+ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])
|
|
+ fi
|
|
+else
|
|
+ AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
|
|
+fi
|
|
+
|
|
AC_SUBST(USE_EXTERNAL_LIBJPEG)
|
|
|
|
###############################################################################
|
|
diff --git a/makefiles/CompileNativeLibraries.gmk b/makefiles/CompileNativeLibraries.gmk
|
|
--- jdk8/jdk/makefiles/CompileNativeLibraries.gmk
|
|
+++ jdk8/jdk/makefiles/CompileNativeLibraries.gmk
|
|
@@ -1249,17 +1249,17 @@
|
|
##########################################################################################
|
|
|
|
ifdef OPENJDK
|
|
- BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
|
|
+ BUILD_LIBJAVAJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
|
|
else
|
|
- BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
|
|
- BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
|
|
- BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
|
|
+ BUILD_LIBJAVAJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
|
|
+ BUILD_LIBJAVAJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
|
|
+ BUILD_LIBJAVAJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJAVAJPEG_CLOSED_SRC)
|
|
endif
|
|
|
|
-BUILD_LIBJPEG_REORDER:=
|
|
+BUILD_LIBJAVAJPEG_REORDER:=
|
|
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
|
ifneq ($(OPENJDK_TARGET_CPU), x86_64)
|
|
- BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
|
|
+ BUILD_LIBJAVAJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
|
|
endif
|
|
endif
|
|
|
|
@@ -1274,37 +1274,37 @@
|
|
# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
|
|
# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
|
|
# ifeq ($(CC_43_OR_NEWER),1)
|
|
-# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
|
|
+# BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
|
|
# endif
|
|
#endif
|
|
|
|
-$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
|
|
- LIBRARY:=jpeg, \
|
|
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG,\
|
|
+ LIBRARY:=javajpeg, \
|
|
OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
|
|
- SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
|
|
+ SRC:=$(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
|
|
$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
|
|
LANG:=C,\
|
|
OPTIMIZATION:=HIGHEST, \
|
|
CFLAGS:=$(CFLAGS_JDKLIB) \
|
|
- $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
|
|
+ $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
|
|
-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
|
|
- MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
|
|
- LDFLAGS:=$(LDFLAGS_JDKLIB) \
|
|
+ MAPFILE:=$(BUILD_LIBJAVAJPEG_MAPFILE), \
|
|
+ LDFLAGS:=$(LDFLAGS_JDKLIB) -ljpeg \
|
|
$(call SET_SHARED_LIBRARY_ORIGIN),\
|
|
LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
|
|
LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
|
|
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
|
|
RC_FLAGS:=$(RC_FLAGS)\
|
|
- -D "JDK_FNAME=jpeg.dll" \
|
|
- -D "JDK_INTERNAL_NAME=jpeg" \
|
|
+ -D "JDK_FNAME=javajpeg.dll" \
|
|
+ -D "JDK_INTERNAL_NAME=javajpeg" \
|
|
-D "JDK_FTYPE=0x2L",\
|
|
- REORDER:=$(BUILD_LIBJPEG_REORDER),\
|
|
- OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
|
|
+ REORDER:=$(BUILD_LIBJAVAJPEG_REORDER),\
|
|
+ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavajpeg,\
|
|
DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
|
|
|
|
-$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
|
|
-
|
|
-BUILD_LIBRARIES += $(BUILD_LIBJPEG)
|
|
+$(BUILD_LIBJAVAJPEG) : $(BUILD_LIBJAVA)
|
|
+
|
|
+BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
|
|
|
|
##########################################################################################
|
|
|
|
@@ -2441,7 +2441,7 @@
|
|
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
|
-framework JavaNativeFoundation
|
|
else ifneq ($(OPENJDK_TARGET_OS), windows)
|
|
- LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
|
|
+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread -ljpeg
|
|
else # OPENJDK_TARGET_OS
|
|
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
|
|
endif # OPENJDK_TARGET_OS
|
|
@@ -2457,7 +2457,7 @@
|
|
MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
|
|
LDFLAGS:=$(LDFLAGS_JDKLIB) \
|
|
$(call SET_SHARED_LIBRARY_ORIGIN),\
|
|
- LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
|
|
+ LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS) -ljpeg,\
|
|
LDFLAGS_SUFFIX_solaris:=-lc,\
|
|
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
|
|
RC_FLAGS:=$(RC_FLAGS)\
|
|
diff --git a/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java b/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
|
|
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
|
|
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
|
|
@@ -89,7 +89,7 @@
|
|
java.security.AccessController.doPrivileged(
|
|
new java.security.PrivilegedAction<Void>() {
|
|
public Void run() {
|
|
- System.loadLibrary("jpeg");
|
|
+ System.loadLibrary("javajpeg");
|
|
return null;
|
|
}
|
|
});
|
|
diff --git a/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java b/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
|
|
--- jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
|
|
+++ jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
|
|
@@ -179,7 +179,7 @@
|
|
java.security.AccessController.doPrivileged(
|
|
new java.security.PrivilegedAction<Void>() {
|
|
public Void run() {
|
|
- System.loadLibrary("jpeg");
|
|
+ System.loadLibrary("javajpeg");
|
|
return null;
|
|
}
|
|
});
|
|
diff --git a/src/share/classes/sun/awt/image/JPEGImageDecoder.java b/src/share/classes/sun/awt/image/JPEGImageDecoder.java
|
|
--- jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
|
|
+++ jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
|
|
@@ -56,7 +56,7 @@
|
|
java.security.AccessController.doPrivileged(
|
|
new java.security.PrivilegedAction<Void>() {
|
|
public Void run() {
|
|
- System.loadLibrary("jpeg");
|
|
+ System.loadLibrary("javajpeg");
|
|
return null;
|
|
}
|
|
});
|
|
diff --git a/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c b/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
|
|
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
|
|
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
|
|
@@ -25,7 +25,6 @@
|
|
|
|
#include "splashscreen_impl.h"
|
|
|
|
-#include "jinclude.h"
|
|
#include "jpeglib.h"
|
|
#include "jerror.h"
|
|
|
|
@@ -107,11 +106,11 @@
|
|
if (cinfo->src == NULL) { /* first time for this JPEG object? */
|
|
cinfo->src = (struct jpeg_source_mgr *)
|
|
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
|
|
- JPOOL_PERMANENT, SIZEOF(stream_source_mgr));
|
|
+ JPOOL_PERMANENT, sizeof(stream_source_mgr));
|
|
src = (stream_src_ptr) cinfo->src;
|
|
src->buffer = (JOCTET *)
|
|
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
|
|
- JPOOL_PERMANENT, INPUT_BUF_SIZE * SIZEOF(JOCTET));
|
|
+ JPOOL_PERMANENT, INPUT_BUF_SIZE * sizeof(JOCTET));
|
|
}
|
|
|
|
src = (stream_src_ptr) cinfo->src;
|