PSARC 2015/493 lcms2
authorRich Burridge <rich.burridge@oracle.com>
Wed, 06 Jan 2016 09:00:16 -0800
changeset 5234 86429078b67e
parent 5233 063413d20b5d
child 5235 067b04ef352f
PSARC 2015/493 lcms2 15753198 SUNBT7108721 integrate lcms 2.x
components/lcms2/Makefile
components/lcms2/lcms2.p5m
components/lcms2/llib-llcms2
components/lcms2/test/results-all.master
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/lcms2/Makefile	Wed Jan 06 09:00:16 2016 -0800
@@ -0,0 +1,100 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME =        lcms2
+COMPONENT_VERSION=      2.7
+COMPONENT_SRC=          $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_PROJECT_URL=  http://www.littlecms.com/
+COMPONENT_ARCHIVE=      $(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH= \
+    sha256:4524234ae7de185e6b6da5d31d6875085b2198bc63b1211f7dde6e2d197d6a53
+COMPONENT_ARCHIVE_URL=  http://sourceforge.net/projects/lcms/files/lcms/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	utility/lcms
+
+TPNO=			25712
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/configure.mk
+include $(WS_MAKE_RULES)/ips.mk
+include $(WS_MAKE_RULES)/lint-libraries.mk
+
+# In order to run the tests, we need to use cloney
+COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
+
+# Seems that we have no other way to designate that we want large file support.
+CFLAGS += $(CPP_LARGEFILES)
+
+CONFIGURE_BINDIR.64 =	$(CONFIGURE_PREFIX)/bin
+
+CONFIGURE_ENV +=	CFLAGS="$(CFLAGS)"
+CONFIGURE_ENV +=	PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
+
+CONFIGURE_OPTIONS +=	--includedir=/usr/include/lcms
+CONFIGURE_OPTIONS +=	--enable-shared
+CONFIGURE_OPTIONS +=	--disable-static
+CONFIGURE_OPTIONS +=	--with-jpeg
+CONFIGURE_OPTIONS +=	--with-tiff
+CONFIGURE_OPTIONS +=	--with-zlib
+CONFIGURE_OPTIONS +=	--with-pic
+
+COMPONENT_POST_INSTALL_ACTION += \
+	$(CP) $(SOURCE_DIR)/utils/linkicc/linkicc.1 $(PROTOUSRSHAREMAN1DIR) ;
+COMPONENT_POST_INSTALL_ACTION += \
+	$(CP) $(SOURCE_DIR)/utils/psicc/psicc.1 $(PROTOUSRSHAREMAN1DIR) ;
+COMPONENT_POST_INSTALL_ACTION += \
+	$(CP) $(SOURCE_DIR)/utils/transicc/transicc.1 $(PROTOUSRSHAREMAN1DIR) ;
+
+# Needed to get past trying to copy identical files because the top_srcdir
+# is not the same as the top_builddir.
+COMPONENT_TEST_ARGS =	-k -i
+COMPONENT_TEST_DIR =	$(@D)/testbed
+COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
+
+COMPONENT_TEST_TRANSFORMS += \
+	'-e "s|^.*test bed.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^.*MPixel.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^.*Single block hit.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^.*$(CC).*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^.*source=.*libtool=no.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^.*DEPDIR=.deps.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^make.*: Leaving directory.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "s|^make.*: Entering directory.*$$|XXX_REMOVE_XXX|g" ' \
+	'-e "/^XXX_REMOVE_XXX$$/d" '
+
+ASLR_MODE = $(ASLR_ENABLE)
+
+configure:	$(CONFIGURE_32_and_64)
+
+build:		$(BUILD_32_and_64)
+
+install:	$(INSTALL_32_and_64)
+
+test:		$(TEST_32_and_64)
+
+system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+
+REQUIRED_PACKAGES += image/library/libjpeg
+REQUIRED_PACKAGES += image/library/libtiff
+REQUIRED_PACKAGES += system/library
+REQUIRED_PACKAGES += system/library/math
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/lcms2/lcms2.p5m	Wed Jan 06 09:00:16 2016 -0800
@@ -0,0 +1,63 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability "pass-through volatile">
+set name=pkg.fmri \
+    value=pkg:/library/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Version 2 of the Little Color Management System"
+set name=pkg.description \
+    value="A small-footprint color management engine, with special focus on accuracy and performance"
+set name=com.oracle.info.description \
+    value="the Little Color Management System (Version 2)"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value=org.opensolaris.category.2008:System/Libraries
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2015/493
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/bin/jpgicc
+file path=usr/bin/linkicc
+file path=usr/bin/psicc
+file path=usr/bin/tificc
+file path=usr/bin/transicc
+file path=usr/include/lcms/lcms2.h
+file path=usr/include/lcms/lcms2_plugin.h
+link path=usr/lib/$(MACH64)/liblcms2.so target=liblcms2.so.2.0.7
+link path=usr/lib/$(MACH64)/liblcms2.so.2 target=liblcms2.so.2.0.7
+file path=usr/lib/$(MACH64)/liblcms2.so.2.0.7
+file path=usr/lib/$(MACH64)/pkgconfig/lcms2.pc
+link path=usr/lib/liblcms2.so target=liblcms2.so.2.0.7
+link path=usr/lib/liblcms2.so.2 target=liblcms2.so.2.0.7
+file path=usr/lib/liblcms2.so.2.0.7
+file path=usr/lib/llib-llcms2
+file path=usr/lib/llib-llcms2.ln
+file path=usr/lib/pkgconfig/lcms2.pc
+file path=usr/share/man/man1/jpgicc.1
+file path=usr/share/man/man1/linkicc.1
+file path=usr/share/man/man1/psicc.1
+file path=usr/share/man/man1/tificc.1
+file path=usr/share/man/man1/transicc.1
+license COPYING license=MIT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/lcms2/llib-llcms2	Wed Jan 06 09:00:16 2016 -0800
@@ -0,0 +1,36 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ */
+
+/* LINTLIBRARY */
+/* PROTOLIB1 */
+
+/*
+ * This little dance is necessary to avoid ftello/fseeko
+ * complaints vs libc. We don't use them but we do #include
+ * stdio.h and as we are large file aware they get defined
+ * differently than libc.
+ */
+#include <sys/types.h>
+#include <lcms2.h>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/lcms2/test/results-all.master	Wed Jan 06 09:00:16 2016 -0800
@@ -0,0 +1,178 @@
+/usr/gnu/bin/make  testcms
+"testcms2.c", line 1739: warning: statement not reached
+"testcms2.c", line 1755: warning: statement not reached
+"testcms2.c", line 1770: warning: statement not reached
+"testcms2.c", line 1785: warning: statement not reached
+"testcms2.c", line 1800: warning: statement not reached
+"testcms2.c", line 1815: warning: statement not reached
+if [ $(SOURCE_DIR) != .. ]; then \
+	cp $(SOURCE_DIR)/testbed/*.ic? ../testbed; \
+fi
+cp: $(SOURCE_DIR)/testbed/bad.icc and ../testbed/bad.icc are identical
+cp: $(SOURCE_DIR)/testbed/ibm-t61.icc and ../testbed/ibm-t61.icc are identical
+cp: $(SOURCE_DIR)/testbed/new.icc and ../testbed/new.icc are identical
+cp: $(SOURCE_DIR)/testbed/test1.icc and ../testbed/test1.icc are identical
+cp: $(SOURCE_DIR)/testbed/test2.icc and ../testbed/test2.icc are identical
+cp: $(SOURCE_DIR)/testbed/test3.icc and ../testbed/test3.icc are identical
+cp: $(SOURCE_DIR)/testbed/test4.icc and ../testbed/test4.icc are identical
+cp: $(SOURCE_DIR)/testbed/test5.icc and ../testbed/test5.icc are identical
+cp: $(SOURCE_DIR)/testbed/toosmall.icc and ../testbed/toosmall.icc are identical
+make[1]: [check] Error 2 (ignored)
+./testcms
+
+Installing debug memory plug-in ... done.
+Installing error logger ... done.
+Supported intents:
+	0 - Perceptual
+	1 - Relative colorimetric
+	2 - Saturation
+	3 - Absolute colorimetric
+	10 - Perceptual preserving black ink
+	11 - Relative colorimetric preserving black ink
+	12 - Saturation preserving black ink
+	13 - Perceptual preserving black plane
+	14 - Relative colorimetric preserving black plane
+	15 - Saturation preserving black plane
+
+Checking Base types ...Ok.
+Checking endianess ...Ok.
+Checking quick floor ...Ok.
+Checking quick floor word ...Ok.
+Checking Fixed point 15.16 representation ...Ok.
+Checking Fixed point 8.8 representation ...Ok.
+Checking D50 roundtrip ...Ok.
+Checking Creation of test profiles .................Ok.
+Checking 1D interpolation in 2pt tables ...Ok.
+Checking 1D interpolation in 3pt tables ...Ok.
+Checking 1D interpolation in 4pt tables ...Ok.
+Checking 1D interpolation in 6pt tables ...Ok.
+Checking 1D interpolation in 18pt tables ...Ok.
+Checking 1D interpolation in descending 2pt tables ...Ok.
+Checking 1D interpolation in descending 3pt tables ...Ok.
+Checking 1D interpolation in descending 6pt tables ...Ok.
+Checking 1D interpolation in descending 18pt tables ...Ok.
+Checking 3D interpolation Tetrahedral (float)  ...Ok.
+Checking 3D interpolation Trilinear (float)  ...Ok.
+Checking 3D interpolation Tetrahedral (16)  ...Ok.
+Checking 3D interpolation Trilinear (16)  ...Ok.
+Checking Reverse interpolation 3 -> 3 ...Ok.
+Checking Reverse interpolation 4 -> 3 ......Ok.
+Checking 3D interpolation ...Ok.
+Checking 3D interpolation with granularity ...Ok.
+Checking 4D interpolation ...Ok.
+Checking 4D interpolation with granularity ...Ok.
+Checking 5D interpolation with granularity ...Ok.
+Checking 6D interpolation with granularity ...Ok.
+Checking 7D interpolation with granularity ...Ok.
+Checking 8D interpolation with granularity ...Ok.
+Checking Lab to LCh and back (float only)  ...Ok.
+Checking Lab to XYZ and back (float only)  ...Ok.
+Checking Lab to xyY and back (float only)  ...Ok.
+Checking Lab V2 encoding ...Ok.
+Checking Lab V4 encoding ...Ok.
+Checking Blackbody radiator ...Ok.
+Checking Linear gamma curves (16 bits) ....Ok.
+Checking Linear gamma curves (float) ....Ok.
+Checking Curve 1.8 (float) ...|Err|<0.001953 .Ok.
+Checking Curve 2.2 (float) ...|Err|<0.001953 .Ok.
+Checking Curve 3.0 (float) ...|Err|<0.001953 .Ok.
+Checking Curve 1.8 (table) ...|Err|<0.053287 .Ok.
+Checking Curve 2.2 (table) ...|Err|<0.024062 .Ok.
+Checking Curve 3.0 (table) ...|Err|<0.049726 .Ok.
+Checking Curve 1.8 (word table) ...|Err|<0.990786 .Ok.
+Checking Curve 2.2 (word table) ...|Err|<0.972654 .Ok.
+Checking Curve 3.0 (word table) ...|Err|<0.986603 .Ok.
+Checking Parametric curves ...Ok.
+Checking Join curves ...Ok.
+Checking Join curves descending ...Ok.
+Checking Join curves degenerated ...Ok.
+Checking Join curves sRGB (Float) ...Ok.
+Checking Join curves sRGB (16 bits) ...Ok.
+Checking Join curves sigmoidal ...Ok.
+Checking LUT creation & dup ...Ok.
+Checking 1 Stage LUT  ...Ok.
+Checking 2 Stage LUT  ...Ok.
+Checking 2 Stage LUT (16 bits) ...Ok.
+Checking 3 Stage LUT  ...Ok.
+Checking 3 Stage LUT (16 bits) ...Ok.
+Checking 4 Stage LUT  ...Ok.
+Checking 4 Stage LUT (16 bits) ...Ok.
+Checking 5 Stage LUT  ...Ok.
+Checking 5 Stage LUT (16 bits)  ...Ok.
+Checking 6 Stage LUT  ...Ok.
+Checking 6 Stage LUT (16 bits)  ...Ok.
+Checking Lab to Lab LUT (float only)  ...Ok.
+Checking XYZ to XYZ LUT (float only)  ...Ok.
+Checking Lab to Lab MAT LUT (float only)  ...Ok.
+Checking Named Color LUT ...Ok.
+Checking Usual formatters ...Ok.
+Checking Floating point formatters ...Ok.
+Checking HALF formatters ...Ok.
+Checking ChangeBuffersFormat ...Ok.
+Checking Multilocalized Unicode ...Ok.
+Checking Named color lists ...Ok.
+Checking Profile creation .............................................Ok.
+Checking Header version ...Ok.
+Checking Error reporting on bad profiles ...Ok.
+Checking Error reporting on bad transforms ...Ok.
+Checking Curves only transforms .........Ok.
+Checking Float Lab->Lab transforms .......Ok.
+Checking Encoded Lab->Lab transforms ...Ok.
+Checking Stored identities .......Ok.
+Checking Matrix-shaper transform (float) ...Ok.
+Checking Matrix-shaper transform (16 bits) ...Ok.
+Checking Matrix-shaper transform (8 bits) ...Ok.
+Checking Primaries of sRGB ...Ok.
+Checking Known values across matrix-shaper ...Ok.
+Checking Gray input profile ...Ok.
+Checking Gray Lab input profile ...Ok.
+Checking Gray output profile ...Ok.
+Checking Gray Lab output profile ...Ok.
+Checking Matrix-shaper proofing transform (float) ...Ok.
+Checking Matrix-shaper proofing transform (16 bits) ...Ok.
+Checking Gamut check .....Ok.
+Checking CMYK roundtrip on perceptual transform ...Ok.
+Checking CMYK perceptual transform ...Ok.
+Checking Black ink only preservation ...Ok.
+Checking Black plane preservation ...Ok.
+Checking Deciding curve types ...Ok.
+Checking Black point detection ...Ok.
+Checking TAC detection ...Ok.
+Checking CGATS parser ..............Ok.
+Checking PostScript generator ...Ok.
+Checking Segment maxima GBD ........Ok.
+Checking MD5 digest ...Ok.
+Checking Linking ...Ok.
+Checking floating point tags on XYZ ...Ok.
+Checking RGB->Lab->RGB with alpha on FLT ...Ok.
+Checking Parametric curve on Rec709 ...Ok.
+Checking Floating Point sampled curve with non-zero start ...Ok.
+Checking Floating Point segmented curve with short sampled segement ...Ok.
+Checking Read RAW portions .....Ok.
+Checking Check MetaTag ...Ok.
+Checking Null transform on floats ...Ok.
+Checking Set free a tag ...Ok.
+Checking Matrix simplification ...Ok.
+Checking Context memory handling ...Ok.
+Checking Simple context functionality ...Ok.
+Checking Alarm codes context ...Ok.
+Checking Adaptation state context ...Ok.
+Checking 1D interpolation plugin ...Ok.
+Checking 3D interpolation plugin ...Ok.
+Checking Parametric curve plugin ...Ok.
+Checking Formatters plugin ...Ok.
+Checking Tag type plugin ...Ok.
+Checking MPE type plugin ...Ok.
+Checking Optimization plugin ...Ok.
+Checking Rendering intent plugin ...Ok.
+Checking Full transform plugin ...Ok.
+Checking Mutex plugin ...Ok.
+
+
+P E R F O R M A N C E   T E S T S
+=================================
+
+[Memory statistics]
+if [ $(SOURCE_DIR) != .. ]; then \
+	rm -f ../testbed/*.ic?; \
+fi