diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh index 7d10cc7..66df0b7 100755 --- a/generate_source_tarball.sh +++ b/generate_source_tarball.sh @@ -26,7 +26,7 @@ do fi pushd jdk8 - for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn + for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn common do if [[ "$REPO_NAME" == "aarch64-port" ]] ; then # aarch64-port does not tag trees diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 2b93a83..6786798 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -203,6 +203,10 @@ Patch102: %{name}-size_t.patch # Patch for PPC/PPC64 Patch103: %{name}-ppc-zero-hotspot.patch +Patch201: system-libjpeg.patch +Patch202: system-libpng.patch +Patch203: system-lcms.patch + BuildRequires: autoconf BuildRequires: automake BuildRequires: alsa-lib-devel @@ -356,6 +360,10 @@ cp %{SOURCE2} . # disabled until 8 has all system library fixes upstream sh %{SOURCE12} +%patch201 +%patch202 +%patch203 + %patch1 # Type fixes for s390 @@ -905,13 +913,6 @@ exit 0 %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE %changelog -* Tue Jul 23 2013 Jiri Vanek - 1:1.8.0.0-0.10.b89 -- removed upstreamed : - - patch201 system-libjpeg.patch - - patch202 system-libpng.patch - - patch203 system-lcms.patch - - * Tue Jul 23 2013 Omair Majid - 1:1.8.0.0-0.10.b89 - Moved to hg clone for generating sources. diff --git a/system-lcms.patch b/system-lcms.patch new file mode 100644 index 0000000..3509903 --- /dev/null +++ b/system-lcms.patch @@ -0,0 +1,101 @@ +diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4 +--- jdk8/common/autoconf/libraries.m4 ++++ jdk8/common/autoconf/libraries.m4 +@@ -607,6 +607,46 @@ + + ############################################################################### + # ++# Check for the lcms2 library ++# ++ ++AC_ARG_WITH(lcms, [AS_HELP_STRING([--with-lcms], ++ [use lcms2 from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) ++ ++AC_CHECK_LIB(lcms2, cmsOpenProfileFromFile, ++ [ LCMS_FOUND=yes ], ++ [ LCMS_FOUND=no ]) ++ ++AC_MSG_CHECKING([for which lcms to use]) ++ ++DEFAULT_LCMS=bundled ++ ++# ++# If user didn't specify, use DEFAULT_LCMS ++# ++if test "x${with_lcms}" = "x"; then ++ with_lcms=${DEFAULT_LCMS} ++fi ++ ++if test "x${with_lcms}" = "xbundled"; then ++ USE_EXTERNAL_LCMS=false ++ AC_MSG_RESULT([bundled]) ++elif test "x${with_lcms}" = "xsystem"; then ++ if test "x${LCMS_FOUND}" = "xyes"; then ++ USE_EXTERNAL_LCMS=true ++ AC_MSG_RESULT([system]) ++ else ++ AC_MSG_RESULT([system not found]) ++ AC_MSG_ERROR([--with-lcms=system specified, but no lcms found!]) ++ fi ++else ++ AC_MSG_ERROR([Invalid value for --with-lcms: ${with_lcms}, use 'system' or 'bundled']) ++fi ++ ++AC_SUBST(USE_EXTERNAL_LCMS) ++ ++############################################################################### ++# + # Check for the zlib library + # + +diff --git jdk8/jdk/makefiles/CompileNativeLibraries.gmk jdk8/jdk/makefiles/CompileNativeLibraries.gmk +--- jdk8/jdk/makefiles/CompileNativeLibraries.gmk ++++ jdk8/jdk/makefiles/CompileNativeLibraries.gmk +@@ -1214,8 +1214,8 @@ + ########################################################################################## + + # TODO: Update awt lib path when awt is converted +- $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\ +- LIBRARY:=lcms,\ ++ $(eval $(call SetupNativeCompilation,BUILD_LIBJAVALCMS,\ ++ LIBRARY:=javalcms,\ + OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ + SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\ + LANG:=C,\ +@@ -1233,18 +1233,18 @@ + LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\ + LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\ + LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\ +- LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\ ++ LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm -llcms2,\ + VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ + RC_FLAGS:=$(RC_FLAGS)\ +- -D "JDK_FNAME=lcms.dll" \ +- -D "JDK_INTERNAL_NAME=lcms" \ ++ -D "JDK_FNAME=javalcms.dll" \ ++ -D "JDK_INTERNAL_NAME=libjavalcms" \ + -D "JDK_FTYPE=0x2L",\ + OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\ + DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) + +- BUILD_LIBRARIES += $(BUILD_LIBLCMS) +- +- $(BUILD_LIBLCMS) : $(BUILD_LIBAWT) ++ BUILD_LIBRARIES += $(BUILD_LIBJAVALCMS) ++ ++ $(BUILD_LIBJAVALCMS) : $(BUILD_LIBAWT) + + ########################################################################################## + +diff --git jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java +--- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java ++++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java +@@ -164,7 +164,7 @@ + * disposer frameworks + */ + System.loadLibrary("awt"); +- System.loadLibrary("lcms"); ++ System.loadLibrary("javalcms"); + return null; + } + }); diff --git a/system-libjpeg.patch b/system-libjpeg.patch new file mode 100644 index 0000000..f44d891 --- /dev/null +++ b/system-libjpeg.patch @@ -0,0 +1,207 @@ +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:=$(DEBUG_ALL_BINARIES))) + +-$(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() { + 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() { + 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() { + 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; diff --git a/system-libpng.patch b/system-libpng.patch new file mode 100644 index 0000000..0fceb6b --- /dev/null +++ b/system-libpng.patch @@ -0,0 +1,83 @@ +diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4 +--- jdk8/common/autoconf/libraries.m4 ++++ jdk8/common/autoconf/libraries.m4 +@@ -566,6 +566,47 @@ + + ############################################################################### + # ++# Check for the png library ++# ++ ++AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng], ++ [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) ++ ++AC_CHECK_LIB(png, png_sig_cmp, ++ [ LIBPNG_FOUND=yes ], ++ [ LIBPNG_FOUND=no ]) ++ ++AC_MSG_CHECKING([for which libpng to use]) ++ ++# default is bundled ++DEFAULT_LIBPNG=bundled ++ ++# ++# if user didn't specify, use DEFAULT_LIBPNG ++# ++if test "x${with_libpng}" = "x"; then ++ with_libpng=${DEFAULT_libpng} ++fi ++ ++ ++if test "x${with_libpng}" = "xbundled"; then ++ USE_EXTERNAL_LIBPNG=false ++ AC_MSG_RESULT([bundled]) ++elif test "x${with_libpng}" = "xsystem"; then ++ if test "x${LIBPNG_FOUND}" = "xyes"; then ++ USE_EXTERNAL_LIBPNG=true ++ AC_MSG_RESULT([system]) ++ else ++ AC_MSG_RESULT([system not found]) ++ AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!]) ++ fi ++else ++ AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled']) ++fi ++AC_SUBST(USE_EXTERNAL_LIBPNG) ++ ++############################################################################### ++# + # Check for the zlib library + # + +diff --git a/makefiles/CompileNativeLibraries.gmk b/makefiles/CompileNativeLibraries.gmk +--- jdk8/jdk/makefiles/CompileNativeLibraries.gmk ++++ jdk8/jdk/makefiles/CompileNativeLibraries.gmk +@@ -2386,7 +2386,6 @@ + ifndef BUILD_HEADLESS_ONLY + LIBSPLASHSCREEN_DIRS:=\ + $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \ +- $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ + $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen + + ifeq ($(USE_EXTERNAL_LIBGIF),true) +@@ -2457,7 +2456,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) -ljpeg,\ ++ LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS) -ljpeg -lpng,\ + LDFLAGS_SUFFIX_solaris:=-lc,\ + VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ + RC_FLAGS:=$(RC_FLAGS)\ +diff --git a/src/share/native/sun/awt/splashscreen/splashscreen_png.c b/src/share/native/sun/awt/splashscreen/splashscreen_png.c +--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c ++++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c +@@ -25,7 +25,7 @@ + + #include "splashscreen_impl.h" + +-#include "../libpng/png.h" ++#include + + #include +