Hello community,

here is the log from the commit of package java-1_8_0-openj9 for 
openSUSE:Factory checked in at 2020-01-30 22:35:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_8_0-openj9 (Old)
 and      /work/SRC/openSUSE:Factory/.java-1_8_0-openj9.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "java-1_8_0-openj9"

Thu Jan 30 22:35:59 2020 rev:1 rq:768316 version:1.8.0.242

Changes:
--------
New Changes file:

--- /dev/null   2019-12-19 10:12:34.003146842 +0100
+++ 
/work/SRC/openSUSE:Factory/.java-1_8_0-openj9.new.26092/java-1_8_0-openj9.changes
   2020-01-30 22:36:11.512545616 +0100
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Mon Jan 27 11:50:27 UTC 2020 - Fridrich Strba <fst...@suse.com>
+
+- Initial packaging of OpenJDK 1.8.0_242-b08 with OpenJ9 0.18.1

New:
----
  51a5857d24eca5e220ccd932bc98e9f1d0438e71.zip
  7a1b0239a91f9d8819cb541812b4d774edd5bba4.zip
  8cf8a305812fe1f710d79d215f17bff241a6c4d6.zip
  TestCryptoLevel.java
  _constraints
  alternative-path-to-tzdb_dat.patch
  disable-doclint-by-default.patch
  freemarker-2.3.29-sources.jar
  freemarker-2.3.29.jar
  icedtea-sound-1.0.1.tar.xz
  java-1_8_0-openj9.changes
  java-1_8_0-openj9.spec
  java-atk-wrapper-security.patch
  jconsole.desktop.in
  jdk-gcc-warnings.patch
  link-with-as-needed.patch
  multiple-pkcs11-library-init.patch
  nss.cfg
  openj9-nogit.patch.in
  policytool.desktop.in
  system-lcms.patch
  system-libjpeg.patch
  system-libpng.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ java-1_8_0-openj9.spec ++++++
++++ 999 lines (skipped)

++++++ TestCryptoLevel.java ++++++
/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
   Copyright (C) 2012 Red Hat, Inc.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;

import java.security.Permission;
import java.security.PermissionCollection;

public class TestCryptoLevel
{
  public static void main(String[] args)
    throws NoSuchFieldException, ClassNotFoundException,
           IllegalAccessException, InvocationTargetException
  {
    Class<?> cls = null;
    Method def = null, exempt = null;

    try
      {
        cls = Class.forName("javax.crypto.JceSecurity");
      }
    catch (ClassNotFoundException ex)
      {
        System.err.println("Running a non-Sun JDK.");
        System.exit(0);
      }
    try
      {
        def = cls.getDeclaredMethod("getDefaultPolicy");
        exempt = cls.getDeclaredMethod("getExemptPolicy");
      }
    catch (NoSuchMethodException ex)
      {
        System.err.println("Running IcedTea with the original crypto patch.");
        System.exit(0);
      }
    def.setAccessible(true);
    exempt.setAccessible(true);
    PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
    PermissionCollection exemptPerms = (PermissionCollection) 
exempt.invoke(null);
    Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
    Field apField = apCls.getDeclaredField("INSTANCE");
    apField.setAccessible(true);
    Permission allPerms = (Permission) apField.get(null);
    if (defPerms.implies(allPerms) && (exemptPerms == null || 
exemptPerms.implies(allPerms)))
      {
        System.err.println("Running with the unlimited policy.");
        System.exit(0);
      }
    else
      {
        System.err.println("WARNING: Running with a restricted crypto policy.");
        System.exit(-1);
      }
  }
}
++++++ _constraints ++++++
<constraints>
  <hardware>
    <physicalmemory>
      <size unit="M">4096</size>
    </physicalmemory>
    <disk>
      <size unit="G">20</size>
    </disk>
  </hardware>
</constraints> 
++++++ alternative-path-to-tzdb_dat.patch ++++++
--- a/jdk/src/share/classes/sun/util/calendar/ZoneInfoFile.java 2020-01-22 
11:12:33.000000000 +0100
+++ b/jdk/src/share/classes/sun/util/calendar/ZoneInfoFile.java 2020-01-29 
09:40:23.558260593 +0100
@@ -31,6 +31,7 @@
 import java.io.DataInputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.InputStream;
 import java.io.IOException;
 import java.io.StreamCorruptedException;
 import java.security.AccessController;
@@ -47,6 +48,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
+import java.util.Properties;
 import java.util.Set;
 import java.util.SimpleTimeZone;
 import java.util.concurrent.ConcurrentHashMap;
@@ -251,7 +253,15 @@
         AccessController.doPrivileged(new PrivilegedAction<Object>() {
             public Object run() {
                 try {
-                    String libDir = System.getProperty("java.home") + 
File.separator + "lib";
+                    final String homeDir = System.getProperty("java.home");
+                    if (homeDir == null) {
+                        throw new Error("java.home is not set");
+                    }
+                    String libDir = homeDir + File.separator + "lib";
+                    String otherDir = getZoneInfoDir(libDir);
+                    if (otherDir != null)
+                        libDir = otherDir;
+
                     try (DataInputStream dis = new DataInputStream(
                              new BufferedInputStream(new FileInputStream(
                                  new File(libDir, "tzdb.dat"))))) {
@@ -264,6 +274,27 @@
             }
         });
     }
+
+    private static String getZoneInfoDir(final String libDir) {
+        return AccessController.doPrivileged (new PrivilegedAction<String>() {
+            public String run() {
+                File f = new File(libDir + File.separator + "tz.properties");
+                try (BufferedInputStream bin = new BufferedInputStream(new 
FileInputStream(f))) {
+                    Properties props = new Properties();
+                    props.load(bin);
+                    String dir = props.getProperty("sun.zoneinfo.dir");
+                    if (dir == null)
+                        return null;
+                    File tzdbdat = new File(dir, "tzdb.dat");
+                    if (tzdbdat.exists())
+                        return dir;
+                    return null;
+                } catch (Exception x) {
+                    return null;
+                }
+            }
+        });
+    }
 
     private static void addOldMapping() {
         for (String[] alias : oldMappings) {
++++++ disable-doclint-by-default.patch ++++++
Disable doclint by default

OpenJDK 8 adds and enables doclint by default. This catches issues in
javadoc comments. It is too strict, breaks javadoc compilation and, in
general, breaks the build for old code known to build with previous
versions of OpenJDK.

See: http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html
See: 
https://lists.fedoraproject.org/pipermail/java-devel/2014-February/005150.html

Author: Andrew John Hughes <ahug...@redhat.com>
Author: Emmanuel Bourg <ebo...@apache.org>
--- jdk8/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java
+++ jdk8/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java
@@ -811,10 +811,9 @@
             doclintOpts.add(opt == null ? DocLint.XMSGS_OPTION : 
DocLint.XMSGS_CUSTOM_PREFIX + opt);
         }
 
-        if (doclintOpts.isEmpty()) {
-            doclintOpts.add(DocLint.XMSGS_OPTION);
-        } else if (doclintOpts.size() == 1
-                && doclintOpts.get(0).equals(DocLint.XMSGS_CUSTOM_PREFIX + 
"none")) {
+        if (doclintOpts.isEmpty() ||
+           (doclintOpts.size() == 1
+            && doclintOpts.get(0).equals(DocLint.XMSGS_CUSTOM_PREFIX + 
"none"))) {
             return;
         }
 
--- jdk8/langtools/test/tools/javadoc/doclint/DocLintTest.java
+++ jdk8/langtools/test/tools/javadoc/doclint/DocLintTest.java
@@ -130,12 +130,12 @@
         };
 
         test(Collections.<String>emptyList(),
-                Main.Result.ERROR,
-                EnumSet.of(Message.DL_ERR9A, Message.DL_WRN12A));
+                Main.Result.OK,
+                EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
 
         test(Arrays.asList(rawDiags),
-                Main.Result.ERROR,
-                EnumSet.of(Message.DL_ERR9, Message.DL_WRN12));
+                Main.Result.OK,
+                EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
 
         test(Arrays.asList("-Xdoclint:none"),
                 Main.Result.OK,
@@ -158,8 +158,8 @@
                 EnumSet.of(Message.DL_WRN12));
 
         test(Arrays.asList(rawDiags, "-private"),
-                Main.Result.ERROR,
-                EnumSet.of(Message.DL_ERR6, Message.DL_ERR9, 
Message.DL_WRN12));
+                Main.Result.OK,
+                EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
 
         test(Arrays.asList(rawDiags, "-Xdoclint:syntax", "-private"),
                 Main.Result.ERROR,
++++++ java-atk-wrapper-security.patch ++++++
--- jdk8/jdk/src/share/lib/security/java.security-linux 2014-07-15 
23:08:27.000000000 +0200
+++ jdk8/jdk/src/share/lib/security/java.security-linux 2014-07-18 
09:04:45.127566697 +0200
@@ -224,7 +224,9 @@
                com.ibm.oti.,\
                openj9.internal.,\
                jdk.xml.internal.,\
-               com.sun.activation.registries.
+               com.sun.activation.registries.,\
+               org.GNOME.Accessibility.,\
+               org.GNOME.Bonobo.
 
 #
 # List of comma-separated packages that start with or equal this string
@@ -274,7 +276,9 @@
                    jdk.nashorn.internal.,\
                    jdk.nashorn.tools.,\
                    jdk.xml.internal.,\
-                   com.sun.activation.registries.
+                   com.sun.activation.registries.,\
+                   org.GNOME.Accessibility.,\
+                   org.GNOME.Bonobo.
 
 #
 # Determines whether this properties file can be appended to
++++++ jconsole.desktop.in ++++++
[Desktop Entry]
Name=OpenJDK 8 Monitoring & Management Console
GenericName=OpenJDK Monitoring & Management Console
Comment=Monitor and manage OpenJDK applications for @VERSION@
Exec=@JAVA_HOME@/bin/jconsole
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-tools-jconsole-JConsole
Categories=Development;Profiling;
Version=1.0
++++++ jdk-gcc-warnings.patch ++++++
--- a/jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp 2020-01-22 
11:12:33.000000000 +0100
+++ b/jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp 2020-01-27 
17:06:13.010809355 +0100
@@ -288,7 +288,7 @@
   { e_##name,  #name, /*debug only*/ \
     cspec, ix }
 
-const band_init all_band_inits[] = {
+const band_init all_band_inits[BAND_LIMIT+1] = {
 //BAND_INIT(archive_magic, BYTE1_spec, 0),
 //BAND_INIT(archive_header, UNSIGNED5_spec, 0),
 //BAND_INIT(band_headers, BYTE1_spec, 0),
@@ -448,14 +448,8 @@
   BAND_INIT(file_modtime, DELTA5_spec, 0),
   BAND_INIT(file_options, UNSIGNED5_spec, 0),
 //BAND_INIT(file_bits, BYTE1_spec, 0),
-#ifndef PRODUCT
-  { 0, 0, 0, 0 }
-#else
-  { 0, 0 }
-#endif
+  { 0, NULL, 0, 0 }
 };
-#define NUM_BAND_INITS \
-        (sizeof(all_band_inits)/sizeof(all_band_inits[0]))
 
 band* band::makeBands(unpacker* u) {
   band* tmp_all_bands = U_NEW(band, BAND_LIMIT);
--- a/jdk/src/share/native/sun/java2d/opengl/OGLContext.c       2020-01-22 
11:12:33.000000000 +0100
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLContext.c       2020-01-27 
17:06:13.010809355 +0100
@@ -38,6 +38,8 @@
 #include "GraphicsPrimitiveMgr.h"
 #include "Region.h"
 
+#include "jvm.h"
+
 /**
  * The following methods are implemented in the windowing system (i.e. GLX
  * and WGL) source files.
--- a/jdk/src/solaris/native/sun/awt/awt_Font.c 2020-01-22 11:12:33.000000000 
+0100
+++ b/jdk/src/solaris/native/sun/awt/awt_Font.c 2020-01-27 17:06:13.010809355 
+0100
@@ -454,6 +454,7 @@
         int32_t i, size;
         char *fontsetname = NULL;
         char *nativename = NULL;
+        Boolean doFree = FALSE;
         jobjectArray componentFonts = NULL;
         jobject peer = NULL;
         jobject fontDescriptor = NULL;
@@ -493,8 +494,10 @@
 
             if (!JNU_IsNull(env, fontDescriptorName)) {
                 nativename = (char *) JNU_GetStringPlatformChars(env, 
fontDescriptorName, NULL);
+                doFree = TRUE;
             } else {
                 nativename = "";
+                doFree = FALSE;
             }
 
             fdata->flist[i].xlfd = malloc(strlen(nativename)
@@ -502,7 +505,7 @@
             jio_snprintf(fdata->flist[i].xlfd, strlen(nativename) + 10,
                          nativename, size * 10);
 
-            if (nativename != NULL && nativename != "")
+            if (nativename != NULL && doFree)
                 JNU_ReleaseStringPlatformChars(env, fontDescriptorName, (const 
char *) nativename);
 
             /*
--- a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c    2020-01-22 
11:12:33.000000000 +0100
+++ b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c    2020-01-27 
17:06:13.010809355 +0100
@@ -545,7 +545,7 @@
     xsdo->cData = xsdo->configData->color_data;
 
     XShared_initSurface(env, xsdo, depth, width, height, drawable);
-    xsdo->xrPic = NULL;
+    xsdo->xrPic = None;
 #endif /* !HEADLESS */
 }
 
--- a/jdk/src/solaris/native/sun/xawt/XToolkit.c        2020-01-22 
11:12:33.000000000 +0100
+++ b/jdk/src/solaris/native/sun/xawt/XToolkit.c        2020-01-27 
17:06:13.010809355 +0100
@@ -723,7 +723,7 @@
     if (pollFds[0].revents) {
         // Events in X pipe
         update_poll_timeout(TIMEOUT_EVENTS);
-        PRINT2("performPoll(): TIMEOUT_EVENTS curPollTimeout = %ld \n", 
curPollTimeout);
+        PRINT2("performPoll(): TIMEOUT_EVENTS curPollTimeout = %d \n", 
curPollTimeout);
     }
     return TRUE;
 
++++++ link-with-as-needed.patch ++++++
--- jdk8/jdk/make/CompileLaunchers.gmk  2014-09-26 08:53:47.340118668 +0200
+++ jdk8/jdk/make/CompileLaunchers.gmk  2014-09-26 08:54:18.702392301 +0200
@@ -504,7 +504,7 @@
 # binary (at least on linux) which causes the size to differ between old and 
new build.
 ifeq ($(USE_EXTERNAL_LIBZ), true)
   UNPACKEXE_CFLAGS := -DSYSTEM_ZLIB
-  UNPACKEXE_ZIPOBJS := -lz
+  UNPACKEXE_LIBS := -lz
 else
   UNPACKEXE_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib
   UNPACKEXE_ZIPOBJS := $(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
@@ -560,9 +560,9 @@
     LDFLAGS_posix := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
         $(call 
SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
-    LDFLAGS_linux := -lc, \
+    LDFLAGS_linux := , \
     LDFLAGS_solaris := $(UNPACKEXE_LDFLAGS_solaris) -lc, \
-    LDFLAGS_SUFFIX := $(LIBCXX), \
+    LDFLAGS_SUFFIX := $(UNPACKEXE_LIBS) $(LIBCXX), \
     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \
     OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \
     PROGRAM := unpack200, \
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-09-26 08:53:47.341118645 
+0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-09-26 08:54:22.383307050 
+0200
@@ -760,10 +760,10 @@
         $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
         $(BUILD_LIBJAVAJPEG_HEADERS), \
     MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
-    LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
+    LDFLAGS := $(LDFLAGS_JDKLIB) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
-    LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
+    LDFLAGS_SUFFIX := $(LIBJPEG_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
     RC_FLAGS := $(RC_FLAGS) \
         -D "JDK_FNAME=javajpeg.dll" \
++++++ multiple-pkcs11-library-init.patch ++++++
# HG changeset patch
# User andrew
# Date 1352129932 0
# Node ID e9c857dcb964dbfa5eef3a3590244cb4d999cf7a
# Parent  1406789608b76d0906881979335d685855f44190
Allow multiple PKCS11 library initialisation to be a non-critical error.

diff -r 1406789608b7 -r e9c857dcb964 
src/share/classes/sun/security/pkcs11/Config.java
--- jdk8/jdk/src/share/classes/sun/security/pkcs11/Config.java Tue Oct 30 
13:05:14 2012 +0000
+++ jdk8/jdk/src/share/classes/sun/security/pkcs11/Config.java Mon Nov 05 
15:38:52 2012 +0000
@@ -52,6 +52,7 @@
     static final int ERR_HALT       = 1;
     static final int ERR_IGNORE_ALL = 2;
     static final int ERR_IGNORE_LIB = 3;
+    static final int ERR_IGNORE_MULTI_INIT = 4;
 
     // same as allowSingleThreadedModules but controlled via a system property
     // and applied to all providers. if set to false, no SunPKCS11 instances
@@ -980,6 +981,8 @@
             handleStartupErrors = ERR_IGNORE_LIB;
         } else if (val.equals("halt")) {
             handleStartupErrors = ERR_HALT;
+        } else if (val.equals("ignoreMultipleInitialisation")) {
+            handleStartupErrors = ERR_IGNORE_MULTI_INIT;
         } else {
             throw excToken("Invalid value for handleStartupErrors:");
         }
diff -r 1406789608b7 -r e9c857dcb964 
src/share/classes/sun/security/pkcs11/SunPKCS11.java
--- jdk8/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java  Tue Oct 30 
13:05:14 2012 +0000
+++ jdk8/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java  Mon Nov 05 
15:38:52 2012 +0000
@@ -168,26 +168,37 @@
                 String nssLibraryDirectory = config.getNssLibraryDirectory();
                 String nssSecmodDirectory = config.getNssSecmodDirectory();
                 boolean nssOptimizeSpace = config.getNssOptimizeSpace();
+                int errorHandling = config.getHandleStartupErrors();
 
                 if (secmod.isInitialized()) {
                     if (nssSecmodDirectory != null) {
                         String s = secmod.getConfigDir();
                         if ((s != null) &&
                                 (s.equals(nssSecmodDirectory) == false)) {
-                            throw new ProviderException("Secmod directory "
-                                + nssSecmodDirectory
-                                + " invalid, NSS already initialized with "
-                                + s);
+                            String msg = "Secmod directory " + 
nssSecmodDirectory
+                                + " invalid, NSS already initialized with " + 
s;
+                            if (errorHandling == Config.ERR_IGNORE_MULTI_INIT 
||
+                                errorHandling == Config.ERR_IGNORE_ALL) {
+                                throw new UnsupportedOperationException(msg);
+                            } else {
+                                throw new ProviderException(msg);
+                            }
                         }
                     }
                     if (nssLibraryDirectory != null) {
                         String s = secmod.getLibDir();
                         if ((s != null) &&
                                 (s.equals(nssLibraryDirectory) == false)) {
-                            throw new ProviderException("NSS library directory 
"
+                            String msg = "NSS library directory "
                                 + nssLibraryDirectory
                                 + " invalid, NSS already initialized with "
-                                + s);
+                                + s;
+                            if (errorHandling == Config.ERR_IGNORE_MULTI_INIT 
||
+                                errorHandling == Config.ERR_IGNORE_ALL) {
+                                throw new UnsupportedOperationException(msg);
+                            } else {
+                                throw new ProviderException(msg);
+                            }
                         }
                     }
                 } else {
++++++ nss.cfg ++++++
name = NSS
nssLibraryDirectory = 
nssDbMode = noDb
attributes = compatibility
++++++ openj9-nogit.patch.in ++++++
--- a/closed/OpenJ9.gmk 2020-01-23 11:32:56.700658325 +0100
+++ b/closed/OpenJ9.gmk 2020-01-23 23:25:54.764578248 +0100
@@ -29,15 +29,15 @@
   BUILD_ID := 000000
 endif
 
-OPENJ9_SHA := $(shell git -C $(OPENJ9_TOPDIR) rev-parse --short HEAD)
+OPENJ9_SHA := @OPENJ9_SHA@
 ifeq (,$(OPENJ9_SHA))
   $(error Could not determine OpenJ9 SHA)
 endif
 
 # Find OpenJ9 tag associated with current commit (suppressing stderr in case 
there is no such tag).
-OPENJ9_TAG := $(shell git -C $(OPENJ9_TOPDIR) describe --exact-match HEAD 
2>/dev/null)
+OPENJ9_TAG := @OPENJ9_TAG@
 ifeq (,$(OPENJ9_TAG))
-  OPENJ9_BRANCH := $(shell git -C $(OPENJ9_TOPDIR) rev-parse --abbrev-ref HEAD)
+  OPENJ9_BRANCH := @OPENJ9_BRANCH@
   ifeq (,$(OPENJ9_BRANCH))
     $(error Could not determine OpenJ9 branch)
   endif
@@ -46,7 +46,7 @@
   OPENJ9_VERSION_STRING := $(OPENJ9_TAG)
 endif
 
-OPENJ9OMR_SHA := $(shell git -C $(OPENJ9OMR_TOPDIR) rev-parse --short HEAD)
+OPENJ9OMR_SHA := @OPENJ9OMR_SHA@
 ifeq (,$(OPENJ9OMR_SHA))
   $(error Could not determine OMR SHA)
 endif
--- a/jdk/make/closed/autoconf/custom-hook.m4   2020-01-23 11:32:57.428662256 
+0100
+++ b/jdk/make/closed/autoconf/custom-hook.m4   2020-01-23 23:30:36.802221424 
+0100
@@ -368,7 +368,7 @@
   AC_SUBST(JDK_MOD_VERSION)
   AC_SUBST(JDK_FIX_VERSION)
 
-  OPENJDK_SHA=`git -C $SRC_ROOT rev-parse --short HEAD`
+  OPENJDK_SHA=@OPENJDK_SHA@
 
   AC_SUBST(OPENJDK_SHA)
 
++++++ policytool.desktop.in ++++++
[Desktop Entry]
Name=OpenJDK 8 Policy Tool
GenericName=OpenJDK Policy Tool
Comment=Manage OpenJDK policy files (@VERSION@)
Exec=@JAVA_HOME@/bin/policytool
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-security-tools-PolicyTool
Categories=Settings;DesktopSettings;Security;
Version=1.0
++++++ system-lcms.patch ++++++
--- jdk8/common/autoconf/libraries.m4   2014-09-26 08:49:01.572737814 +0200
+++ jdk8/common/autoconf/libraries.m4   2014-09-26 08:50:22.896853996 +0200
@@ -679,6 +679,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 png library
   #
 
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-09-26 08:49:00.981751504 
+0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-09-26 08:50:22.897853978 
+0200
@@ -669,8 +669,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, \
@@ -688,19 +688,19 @@
     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, \
     LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\
     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=javalcms" \
         -D "JDK_FTYPE=0x2L", \
-    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
+    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavalcms, \
     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 
-BUILD_LIBRARIES += $(BUILD_LIBLCMS)
+BUILD_LIBRARIES += $(BUILD_LIBJAVALCMS)
 
-$(BUILD_LIBLCMS): $(BUILD_LIBAWT)
+$(BUILD_LIBJAVALCMS): $(BUILD_LIBAWT)
 
 
##########################################################################################
 
--- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java    2014-09-26 
08:49:00.646759264 +0200
+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java    2014-09-26 
08:50:22.897853978 +0200
@@ -207,7 +207,7 @@
                          * disposer frameworks
                          */
                         System.loadLibrary("awt");
-                        System.loadLibrary("lcms");
+                        System.loadLibrary("javalcms");
                         return null;
                     }
                 });
++++++ system-libjpeg.patch ++++++
--- jdk8/common/autoconf/libraries.m4   2015-02-17 13:27:11.468829365 +0100
+++ jdk8/common/autoconf/libraries.m4   2015-02-17 13:27:49.143980484 +0100
@@ -608,11 +608,36 @@
   # Check for the jpeg library
   #
 
+  AC_ARG_WITH(libjpeg, [AS_HELP_STRING([--with-libjpeg],
+      [use libjpeg from build system or OpenJDK source (system, bundled) 
@<:@bundled@:>@])])
+
+  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
+
+  AC_MSG_RESULT(${with_libjpeg})
+
+  if test "x${with_libjpeg}" = "xbundled"; then
+    USE_EXTERNAL_LIBJPEG=false
+  elif test "x${with_libjpeg}" = "xsystem"; then
+    AC_CHECK_HEADER(jpeglib.h, [],
+        [ AC_MSG_ERROR([--with-libjpeg=system specified, but jpeglib.h not 
found!])])
+    AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [],
+        [ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg 
found])])
+
   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])
-  ])
+  else
+    AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' 
or 'bundled'])
+  fi
+
   AC_SUBST(USE_EXTERNAL_LIBJPEG)
 
   
###############################################################################
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk        2015-02-17 13:25:22.125292473 
+0100
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk        2015-02-17 13:28:30.812041352 
+0100
@@ -704,18 +704,20 @@
 
 
##########################################################################################
 
+BUILD_LIBJAVAJPEG_DIR := $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+
 ifdef OPENJDK
-  BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
+  BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
 else
-  BUILD_LIBJPEG_MAPFILE := 
$(JDK_TOPDIR)/make/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)/make/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)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
+    BUILD_LIBJAVAJPEG_REORDER := 
$(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
   endif
 endif
 
@@ -730,37 +733,50 @@
 #      $(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, \
+ifeq ($(USE_EXTERNAL_LIBJPEG), true)
+  LIBJPEG_LIBS := -ljpeg
+  BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
+      imageioJPEG.c \
+      jpegdecoder.c
+  BUILD_LIBJAVAJPEG_HEADERS :=
+else
+  LIBJPEG_LIBS :=
+  BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
+  BUILD_LIBJAVAJPEG_HEADERS := -I$(BUILD_LIBJAVAJPEG_DIR)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
+    LIBRARY := javajpeg, \
     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
-    SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
-        $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
+    SRC := $(BUILD_LIBJAVAJPEG_CLOSED_SRC) \
+        $(BUILD_LIBJAVAJPEG_DIR), \
+    INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
     LANG := C, \
     OPTIMIZATION := HIGHEST, \
     CFLAGS := $(CFLAGS_JDKLIB) \
-        $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
-        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
-    MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
-    LDFLAGS := $(LDFLAGS_JDKLIB) \
+        $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
+        $(BUILD_LIBJAVAJPEG_HEADERS), \
+    MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
+    LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
         $(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), \
+    REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 
-$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
+$(BUILD_LIBJAVAJPEG): $(BUILD_LIBJAVA)
 
-BUILD_LIBRARIES += $(BUILD_LIBJPEG)
+BUILD_LIBRARIES += $(BUILD_LIBJAVAJPEG)
 
 
##########################################################################################
 
@@ -1206,6 +1222,13 @@
     GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
   endif
 
+  ifeq ($(USE_EXTERNAL_LIBJPEG), true)
+    LIBJPEG_LDFLAGS := -ljpeg
+  else
+    LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+    LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
+  endif
+
   ifneq ($(OPENJDK_TARGET_OS), macosx)
     LIBSPLASHSCREEN_DIRS += 
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
   else
@@ -1268,11 +1291,13 @@
       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
       LANG := C, \
       OPTIMIZATION := LOW, \
-      CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
+      CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
+                $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
       MAPFILE := $(JDK_TOPDIR)/make/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) $(LIBJPEG_LDFLAGS), \
       LDFLAGS_SUFFIX_solaris := -lc, \
       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       RC_FLAGS := $(RC_FLAGS) \
--- 
jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java    
    2015-02-17 13:25:22.295288644 +0100
+++ 
jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java    
    2015-02-17 13:27:49.145980439 +0100
@@ -89,7 +89,7 @@
         java.security.AccessController.doPrivileged(
             new java.security.PrivilegedAction<Void>() {
                 public Void run() {
-                    System.loadLibrary("jpeg");
+                    System.loadLibrary("javajpeg");
                     return null;
                 }
             });
--- 
jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java    
    2015-02-17 13:25:22.295288644 +0100
+++ 
jdk8/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java    
    2015-02-17 13:27:49.145980439 +0100
@@ -179,7 +179,7 @@
         java.security.AccessController.doPrivileged(
             new java.security.PrivilegedAction<Void>() {
                 public Void run() {
-                    System.loadLibrary("jpeg");
+                    System.loadLibrary("javajpeg");
                     return null;
                 }
             });
--- jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java      
2015-02-17 13:25:22.170291459 +0100
+++ jdk8/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java      
2015-02-17 13:27:49.146980416 +0100
@@ -56,7 +56,7 @@
         java.security.AccessController.doPrivileged(
             new java.security.PrivilegedAction<Void>() {
                 public Void run() {
-                    System.loadLibrary("jpeg");
+                    System.loadLibrary("javajpeg");
                     return null;
                 }
             });
--- jdk8/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c  2015-02-17 
13:25:22.531283329 +0100
+++ jdk8/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c  2015-02-17 
13:27:49.146980416 +0100
@@ -51,7 +51,7 @@
 
 /* headers from the JPEG library */
 #include <jpeglib.h>
-#include "jerror.h"
+#include <jerror.h>
 
 #undef MAX
 #define MAX(a,b)        ((a) > (b) ? (a) : (b))
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c  
2015-02-17 13:25:22.539283148 +0100
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c  
2015-02-17 13:27:49.147980394 +0100
@@ -25,9 +25,9 @@
 
 #include "splashscreen_impl.h"
 
-#include "jinclude.h"
-#include "jpeglib.h"
-#include "jerror.h"
+#include <jpeglib.h>
+#include <jerror.h>
+#include <jmorecfg.h>
 
 #include <setjmp.h>
 
@@ -113,11 +113,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;
++++++ system-libpng.patch ++++++
--- jdk8/common/autoconf/libraries.m4   2014-09-26 08:45:01.057310067 +0200
+++ jdk8/common/autoconf/libraries.m4   2014-09-26 08:46:38.602049970 +0200
@@ -679,6 +679,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
   #
 
--- jdk8/common/autoconf/spec.gmk.in    2014-09-26 08:45:01.057310067 +0200
+++ jdk8/common/autoconf/spec.gmk.in    2014-09-26 08:46:38.603049945 +0200
@@ -555,6 +555,7 @@
 ENABLE_JFR=@ENABLE_JFR@
 ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
 USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
+USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
 USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
 USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
 LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-09-26 08:45:00.475323552 
+0200
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk        2014-09-26 08:46:38.603049945 
+0200
@@ -1211,7 +1211,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)
@@ -1228,6 +1227,13 @@
     LIBJPEG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg
   endif
 
+  ifeq ($(USE_EXTERNAL_LIBPNG), true)
+    LIBPNG_LDFLAGS := -lpng
+  else
+    LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/image/libpng
+    LIBPNG_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/libpng
+  endif
+
   ifneq ($(OPENJDK_TARGET_OS), macosx)
     LIBSPLASHSCREEN_DIRS += 
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
   else
@@ -1291,12 +1297,12 @@
       LANG := C, \
       OPTIMIZATION := LOW, \
       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
-                $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS), \
+                $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS), \
       MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
       LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
-                        $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS), \
+                        $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) 
$(LIBPNG_LDFLAGS), \
       LDFLAGS_SUFFIX_solaris := -lc, \
       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       RC_FLAGS := $(RC_FLAGS) \
--- jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c   
2014-09-26 08:45:00.414324966 +0200
+++ jdk8/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c   
2014-09-26 08:46:38.603049945 +0200
@@ -25,8 +25,7 @@
 
 #include "splashscreen_impl.h"
 
-#include "../libpng/png.h"
-
+#include <png.h>
 #include <setjmp.h>
 
 #define SIG_BYTES 8

Reply via email to