582db12
diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4
582db12
--- jdk8/common/autoconf/libraries.m4	2013-11-14 22:04:38.039440136 -0500
582db12
+++ jdk8/common/autoconf/libraries.m4	2013-11-14 22:05:11.474356424 -0500
582db12
@@ -676,6 +676,46 @@
Jiri Vanek 8c391a6
 
582db12
   ###############################################################################
582db12
   #
582db12
+  # Check for the lcms2 library
582db12
+  #
Jiri Vanek 8c391a6
+
582db12
+  AC_ARG_WITH(lcms, [AS_HELP_STRING([--with-lcms],
582db12
+  	[use lcms2 from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
Jiri Vanek 8c391a6
+
582db12
+  AC_CHECK_LIB(lcms2, cmsOpenProfileFromFile,
582db12
+               [ LCMS_FOUND=yes ],
582db12
+               [ LCMS_FOUND=no ])
Jiri Vanek 8c391a6
+
582db12
+  AC_MSG_CHECKING([for which lcms to use])
Jiri Vanek 8c391a6
+
582db12
+  DEFAULT_LCMS=bundled
Jiri Vanek 8c391a6
+
582db12
+  #
582db12
+  # If user didn't specify, use DEFAULT_LCMS
582db12
+  #
582db12
+  if test "x${with_lcms}" = "x"; then
582db12
+      with_lcms=${DEFAULT_LCMS}
582db12
+  fi
Jiri Vanek 8c391a6
+
582db12
+  if test "x${with_lcms}" = "xbundled"; then
582db12
+      USE_EXTERNAL_LCMS=false
582db12
+      AC_MSG_RESULT([bundled])
582db12
+  elif test "x${with_lcms}" = "xsystem"; then
582db12
+      if test "x${LCMS_FOUND}" = "xyes"; then
582db12
+          USE_EXTERNAL_LCMS=true
582db12
+          AC_MSG_RESULT([system])
582db12
+      else
582db12
+          AC_MSG_RESULT([system not found])
582db12
+          AC_MSG_ERROR([--with-lcms=system specified, but no lcms found!])
582db12
+      fi
582db12
+  else
582db12
+      AC_MSG_ERROR([Invalid value for --with-lcms: ${with_lcms}, use 'system' or 'bundled'])
582db12
+  fi
Jiri Vanek 8c391a6
+
582db12
+  AC_SUBST(USE_EXTERNAL_LCMS)
Jiri Vanek 8c391a6
+
582db12
+  ###############################################################################
582db12
+  #
582db12
   # Check for the png library
582db12
   #
Jiri Vanek 8c391a6
 
3bdbf7e
diff -ruN jdk8/jdk/make/lib/Awt2dLibraries.gmk jdk8/jdk/make/lib/Awt2dLibraries.gmk
3bdbf7e
--- jdk8/jdk/make/lib/Awt2dLibraries.gmk	2013-11-14 22:04:38.040440133 -0500
3bdbf7e
+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk	2013-11-14 22:05:11.475356411 -0500
582db12
@@ -661,8 +661,8 @@
Jiri Vanek 8c391a6
 ##########################################################################################
Jiri Vanek 8c391a6
 
582db12
 # TODO: Update awt lib path when awt is converted
582db12
-$(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
582db12
-    LIBRARY := lcms, \
582db12
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVALCMS, \
582db12
+    LIBRARY := javalcms, \
582db12
     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
582db12
     SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
582db12
     LANG := C, \
ff38705
@@ -680,19 +680,19 @@
582db12
     LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
582db12
     LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \
582db12
     LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
582db12
-    LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
582db12
+    LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm -llcms2, \
ff38705
     LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\
582db12
     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
582db12
     RC_FLAGS := $(RC_FLAGS) \
582db12
-        -D "JDK_FNAME=lcms.dll" \
582db12
-        -D "JDK_INTERNAL_NAME=lcms" \
582db12
+        -D "JDK_FNAME=javalcms.dll" \
582db12
+        -D "JDK_INTERNAL_NAME=javalcms" \
582db12
         -D "JDK_FTYPE=0x2L", \
582db12
-    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
582db12
+    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavalcms, \
582db12
     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
Jiri Vanek 8c391a6
 
582db12
-BUILD_LIBRARIES += $(BUILD_LIBLCMS)
582db12
+BUILD_LIBRARIES += $(BUILD_LIBJAVALCMS)
582db12
 
582db12
-$(BUILD_LIBLCMS): $(BUILD_LIBAWT)
582db12
+$(BUILD_LIBJAVALCMS): $(BUILD_LIBAWT)
Jiri Vanek 8c391a6
 
Jiri Vanek 8c391a6
 ##########################################################################################
Jiri Vanek 8c391a6
 
582db12
diff -ruN jdk8/jdk/src/share/classes/sun/cmm/lcms/LCMS.java jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
582db12
--- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java	2013-10-31 19:44:18.000000000 -0400
582db12
+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java	2013-11-14 22:05:11.476356403 -0500
582db12
@@ -207,7 +207,7 @@
Jiri Vanek 8c391a6
                          * disposer frameworks
Jiri Vanek 8c391a6
                          */
Jiri Vanek 8c391a6
                         System.loadLibrary("awt");
Jiri Vanek 8c391a6
-                        System.loadLibrary("lcms");
Jiri Vanek 8c391a6
+                        System.loadLibrary("javalcms");
Jiri Vanek 8c391a6
                         return null;
Jiri Vanek 8c391a6
                     }
Jiri Vanek 8c391a6
                 });