6651397 Xorg modularization: libXmu & libXmuu [PSARC 2008/036]
authorAlan Coopersmith <Alan.Coopersmith@Sun.COM>
Wed, 16 Jan 2008 20:03:06 -0800
changeset 278 d14c4ceeb35d
parent 277 a985ad3680af
child 279 5ece0e535939
6651397 Xorg modularization: libXmu & libXmuu [PSARC 2008/036]
open-src/lib/Makefile
open-src/lib/Makefile.inc
open-src/lib/libXmu/Makefile
open-src/lib/libXmu/bitmap-path.patch
open-src/lib/libXmu/mapfile-Xmu
open-src/lib/libXmu/mapfile-Xmuu
open-src/lib/libXmu/solaris-abi.patch
open-src/lib/libXmu/sun-src/CmapEquiv.c
open-src/lib/libXmu/sun-src/VisGamma.c
open-src/lib/libXmu/sun-src/XSolarisCheckColormapEquivalence.3Xmu
open-src/lib/libXmu/sun-src/XSolarisGetVisualGamma.3Xmu
open-src/lib/libXmu/sun-src/XmuSolaris.h
packages/SUNWxwinc/prototype
packages/SUNWxwplt/prototype_com
packages/SUNWxwpmn/prototype
packages/SUNWxwrtl/prototype_com
packages/SUNWxwslb/prototype_com
packages/SUNWxwslb/prototype_sparc
--- a/open-src/lib/Makefile	Wed Jan 16 15:57:48 2008 -0800
+++ b/open-src/lib/Makefile	Wed Jan 16 20:03:06 2008 -0800
@@ -28,7 +28,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile	1.10	08/01/10
+# @(#)Makefile	1.11	08/01/16
 #
 ###############################################################################
 
@@ -39,6 +39,7 @@
 	libXau \
 	libXdmcp \
 	libfontenc \
+	libXmu \
 	libXpm \
 	libXaw \
 	libXfixes \
--- a/open-src/lib/Makefile.inc	Wed Jan 16 15:57:48 2008 -0800
+++ b/open-src/lib/Makefile.inc	Wed Jan 16 20:03:06 2008 -0800
@@ -28,7 +28,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile.inc	1.7	07/11/27
+# @(#)Makefile.inc	1.8	08/01/16
 #
 
 PWD:sh=pwd
@@ -81,6 +81,9 @@
 $(LIB_BUILT): $(SOURCE_DIR)/Makefile $(LIB_ADD_BUILD_DEPS)
 	(cd $(SOURCE_DIR) ; $(LIBPATHS) LD_OPTIONS="$(LIB_REQUIRED_LDFLAGS) $(LIB_ADD_LD_OPTIONS)" $(MAKE) $(MFLAGS) $(LIB_ADD_MAKEFLAGS) )
 
+# Use proto area for building against current library versions
+LIB_LD_OPTIONS = $(LIB_REQUIRED_LDFLAGS) \
+	-L$(PROTODIR)$(X11_DIR)/lib$(LIBSUBDIR) $(LIB_ADD_LD_OPTIONS)
 
 install_gen:: $(LIB_BUILT)
-	(cd $(SOURCE_DIR) ; $(LIBPATHS) LD_OPTIONS="$(LIB_REQUIRED_LDFLAGS) $(LIB_ADD_LD_OPTIONS)" $(MAKE) $(MFLAGS) -e DESTDIR=$(PROTODIR) libdir=$(LIB_PREFIX)/lib$(LIB_ADD_SUBDIR)$(ARCHLIBSUBDIR) install pkgconfigdir=/usr/lib$(ARCHLIBSUBDIR)/pkgconfig $(LIB_ADD_MAKEFLAGS))
+	(cd $(SOURCE_DIR) ; $(LIBPATHS) LD_OPTIONS="$(LIB_LD_OPTIONS)" $(MAKE) $(MFLAGS) -e DESTDIR=$(PROTODIR) libdir=$(LIB_PREFIX)/lib$(LIB_ADD_SUBDIR)$(ARCHLIBSUBDIR) install pkgconfigdir=/usr/lib$(ARCHLIBSUBDIR)/pkgconfig $(LIB_ADD_MAKEFLAGS))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/Makefile	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,91 @@
+###############################################################################
+#
+# Xmu 1.x Makefile
+#
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+#
+# @(#)Makefile	1.1	08/01/16
+#
+
+# Package name used in tarballs
+LIB_MODULE=libXmu
+
+# Version number (used in path names)
+LIB_VERS=1.0.4
+
+# Patches to apply to source after unpacking, in order
+SOURCE_PATCHES = \
+	bitmap-path.patch \
+	solaris-abi.patch
+
+# Library name (used for specfiles/mapfiles)
+LIBNAME=Xmu
+
+# Man pages to apply Sun footer to & attributes to list
+#SUNTOUCHED_MANPAGES= no man pages in upstream package
+SUN_PACKAGE=SUNWxwplt
+LIB_STABILITY=Committed
+LIB_MAN_SUFFIX=3Xmu
+
+# Library built in tree
+LIB_BUILT=$(SOURCE_DIR)/src/libXmu.so.4
+
+# pkg-config files that need to have -R added
+FIX_PC_FILES=xmu.pc.in xmuu.pc.in
+
+# Command line options to GNU autoconf configure script
+LIB_ADD_CONFIG_OPTS = --with-lint --enable-lint-library
+
+# Work around libtool brokenness that adds -R `pwd` to libXmu build
+LIB_ADD_BUILD_DEPS=delibtoolize
+
+delibtoolize:
+	$(TOP)/common/delibtoolize.pl $(SOURCE_DIR)
+
+include ../Makefile.inc
+
+# Regenerate Makefile.in's from Makefile.am's after patching them
+$(SOURCE_DIR)/Makefile: $(UNPACK_TARGET) autoreconf
+
+# Add-in Sun-added source files
+source_gen::
+	mkdir -p $(SOURCE_DIR)/src $(SOURCE_DIR)/include/X11/Xmu/
+	(cd $(SOURCE_DIR)/src ; ln -s ../../../sun-src/*.c .)
+	(cd $(SOURCE_DIR)/include/X11/Xmu ; ln -s ../../../../../sun-src/*.h .)
+
+# Additional files we need to install
+CP = cp -pf
+MANDIR = $(PROTODIR)/usr/X11/share/man/man3Xmu
+
+install_gen::
+	mkdir -p $(PROTODIR)/usr/X11/include/X11/Xmu $(MANDIR)
+	$(CP) $(SOURCE_DIR)/include/X11/Xmu/XmuSolaris.h \
+	       $(SOURCE_DIR)/include/X11/Xmu/WhitePoint.h \
+		$(PROTODIR)/usr/X11/include/X11/Xmu
+	$(CP) sun-src/*.3Xmu $(MANDIR)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/bitmap-path.patch	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,72 @@
+###############################################################################
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+#
+
+Search /usr/include/X11/bitmaps, then /usr/X11/include/X11/bitmaps, for
+bitmaps in XmuLocatePixmapFile(), as specified in PSARC/2005/192.
+
+diff -urp -x '*~' -x '*.orig' src/LocBitmap.c src/LocBitmap.c
+--- src/LocBitmap.c	2006-11-08 09:51:59.000000000 -0800
++++ src/LocBitmap.c	2008-01-11 20:50:30.995077000 -0800
+@@ -99,10 +99,15 @@ XmuLocatePixmapFile(Screen *screen, _Xco
+ 			    int *widthp, int *heightp, int *xhotp, int *yhotp)
+ {
+ 
++#undef BITMAPDIR
+ #ifndef BITMAPDIR
+ #define BITMAPDIR "/usr/include/X11/bitmaps"
+ #endif
+ 
++#ifndef BITMAPX11DIR
++#define BITMAPX11DIR "/usr/X11/include/X11/bitmaps"
++#endif
++
+     Display *dpy = DisplayOfScreen (screen);
+     Window root = RootWindowOfScreen (screen);
+     Bool try_plain_name = True;
+@@ -149,7 +154,8 @@ XmuLocatePixmapFile(Screen *screen, _Xco
+      *    1.  name if it begins with / or ./
+      *    2.  "each prefix in file_paths"/name
+      *    3.  BITMAPDIR/name
+-     *    4.  name if didn't begin with / or .
++     *    4.  BITMAPX11DIR/name
++     *    5.  name if didn't begin with / or .
+      */
+ 
+     for (i = 1; i <= 4; i++) {
+@@ -182,6 +188,9 @@ XmuLocatePixmapFile(Screen *screen, _Xco
+ 	    XmuSnprintf(filename, sizeof(filename), "%s/%s", BITMAPDIR, name);
+ 	    break;
+ 	  case 4:
++	    XmuSnprintf(filename, sizeof(filename), "%s/%s", BITMAPX11DIR, name);
++	    break;
++	  case 5:
+ 	    if (!try_plain_name) continue;
+ 	    fn = (char *) name;
+ 	    break;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/mapfile-Xmu	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,203 @@
+###############################################################################
+#
+# libXmu mapfile
+#
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+#
+
+SUNW_1.2 {
+    global:
+	XmuAppendSegment;
+	XmuAreaAnd;
+	XmuAreaCopy;
+	XmuAreaDup;
+	XmuAreaNot;
+	XmuAreaOrXor;
+	XmuCvtBackingStoreToString;
+	XmuCvtGravityToString;
+	XmuCvtJustifyToString;
+	XmuCvtOrientationToString;
+	XmuCvtShapeStyleToString;
+	XmuCvtWidgetToString;
+	XmuDestroyScanlineList;
+	XmuDestroySegmentList;
+	XmuNewArea;
+	XmuNewScanline;
+	XmuNewSegment;
+	XmuOptimizeArea;
+	XmuOptimizeScanline;
+	XmuScanlineAnd;
+	XmuScanlineAndSegment;
+	XmuScanlineCopy;
+	XmuScanlineEqu;
+	XmuScanlineNot;
+	XmuScanlineOr;
+	XmuScanlineOrSegment;
+	XmuScanlineXor;
+	XmuValidArea;
+	XmuValidScanline;
+
+# Moved to libXmuu.so.1:
+	XmuNCopyISOLatin1Lowered	= FUNCTION FILTER libXmuu.so.1;
+	XmuNCopyISOLatin1Uppered	= FUNCTION FILTER libXmuu.so.1;
+	XmuSnprintf			= FUNCTION FILTER libXmuu.so.1;
+    local:
+	*;
+} SUNW_1.1;
+
+SUNW_1.1 {
+    global:
+	XSolarisCheckColormapEquivalence;
+	XSolarisGetVisualGamma;
+	XctCreate;
+	XctFree;
+	XctNextItem;
+	XctReset;
+	XmuAddCloseDisplayHook;
+	XmuAddInitializer;
+	XmuAllStandardColormaps;
+	XmuCallInitializers;
+	XmuConvertStandardSelection;
+	XmuCreateColormap;
+	XmuCreatePixmapFromBitmap;
+	XmuCreateStippledPixmap;
+	XmuCvtFunctionToCallback;
+	XmuCvtStringToBackingStore;
+	XmuCvtStringToBitmap;
+	XmuCvtStringToColorCursor;
+	XmuCvtStringToCursor;
+	XmuCvtStringToGravity;
+	XmuCvtStringToJustify;
+	XmuCvtStringToLong;
+	XmuCvtStringToOrientation;
+	XmuCvtStringToShapeStyle;
+	XmuCvtStringToWidget;
+	XmuDQAddDisplay;
+	XmuDQCreate;
+	XmuDQDestroy;
+	XmuDQLookupDisplay;
+	XmuDQRemoveDisplay;
+	XmuDeleteStandardColormap;
+	XmuDrawLogo;
+	XmuDrawRoundedRectangle;
+	XmuFillRoundedRectangle;
+	XmuGetAtomName;
+	XmuGetColormapAllocation;
+	XmuInternAtom;
+	XmuInternStrings;
+	XmuLocateBitmapFile;
+	XmuLocatePixmapFile;
+	XmuLookupCloseDisplayHook;
+	XmuLookupStandardColormap;
+	XmuMakeAtom;
+	XmuNameOfAtom;
+	XmuNewCvtStringToWidget;
+	XmuReadBitmapData;
+	XmuReadBitmapDataFromFile;
+	XmuReleaseStippledPixmap;
+	XmuRemoveCloseDisplayHook;
+	XmuReshapeWidget;
+	XmuScreenOfWindow;
+	XmuStandardColormap;
+	XmuUpdateMapHints;
+	XmuVisualStandardColormaps;
+	XmuWnCountOwnedResources;
+	XmuWnFetchResources;
+	XmuWnInitializeNodes;
+	XmuWnNameToNode;
+
+# Moved to libXmuu.so.1:
+	XmuClientWindow			= FUNCTION FILTER libXmuu.so.1;
+	XmuCopyISOLatin1Lowered		= FUNCTION FILTER libXmuu.so.1;
+	XmuCopyISOLatin1Uppered		= FUNCTION FILTER libXmuu.so.1;
+	XmuCursorNameToIndex		= FUNCTION FILTER libXmuu.so.1;
+	XmuGetHostname			= FUNCTION FILTER libXmuu.so.1;
+	XmuPrintDefaultErrorMessage	= FUNCTION FILTER libXmuu.so.1;
+	XmuSimpleErrorHandler		= FUNCTION FILTER libXmuu.so.1;
+};
+
+SUNWprivate {
+    global:
+	XSolarisGetVisualGammaCalled;
+	XmuDistinguishableColors;
+	XmuDistinguishablePixels;
+	XmuLookupAPL;
+	XmuLookupArabic;
+	XmuLookupCyrillic;
+	XmuLookupGreek;
+	XmuLookupHebrew;
+	XmuLookupJISX0201;
+	XmuLookupKana;
+	XmuLookupLatin1;
+	XmuLookupLatin2;
+	XmuLookupLatin3;
+	XmuLookupLatin4;
+	XmuLookupString;
+	XmuRegisterExternalAgent;
+	_XA_ATOM_PAIR;
+	_XA_CHARACTER_POSITION;
+	_XA_CLASS;
+	_XA_CLIENT_WINDOW;
+	_XA_CLIPBOARD;
+	_XA_COMPOUND_TEXT;
+	_XA_DECNET_ADDRESS;
+	_XA_DELETE;
+	_XA_FILENAME;
+	_XA_HOSTNAME;
+	_XA_IP_ADDRESS;
+	_XA_LENGTH;
+	_XA_LIST_LENGTH;
+	_XA_NAME;
+	_XA_NET_ADDRESS;
+	_XA_NULL;
+	_XA_OWNER_OS;
+	_XA_SPAN;
+	_XA_TARGETS;
+	_XA_TEXT;
+	_XA_TIMESTAMP;
+	_XA_USER;
+	_XA_UTF8_STRING;
+	_XEditResCheckMessages;
+	_XEditResGet16;
+	_XEditResGet32;
+	_XEditResGet8;
+	_XEditResGetSigned16;
+	_XEditResGetString8;
+	_XEditResGetWidgetInfo;
+	_XEditResPut16;
+	_XEditResPut32;
+	_XEditResPut8;
+	_XEditResPutString8;
+	_XEditResPutWidgetInfo;
+	_XEditResResetStream;
+	_XmuCCLookupDisplay;
+	_XmuStringToBitmapFreeCache;
+	_XmuStringToBitmapInitCache;
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/mapfile-Xmuu	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,51 @@
+###############################################################################
+#
+# libXmuu mapfile
+#
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+#
+
+
+SUNW_1.1 {
+    global:
+	XmuClientWindow;
+	XmuCompareISOLatin1;
+	XmuCopyISOLatin1Lowered;
+	XmuCopyISOLatin1Uppered;
+	XmuCursorNameToIndex;
+	XmuGetHostname;
+	XmuNCopyISOLatin1Lowered;
+	XmuNCopyISOLatin1Uppered;
+	XmuPrintDefaultErrorMessage;
+	XmuSimpleErrorHandler;
+	XmuSnprintf;
+    local:
+	*;
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/solaris-abi.patch	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,70 @@
+###############################################################################
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+#
+
+diff -urp -x '*~' -x '*.orig' src/Makefile.am src/Makefile.am
+--- src/Makefile.am	2008-01-11 20:50:30.986475000 -0800
++++ src/Makefile.am	2008-01-11 20:50:31.465732000 -0800
+@@ -9,11 +9,13 @@ AM_CPPFLAGS = \
+ 
+ AM_CFLAGS = $(XMU_CFLAGS)
+ 
+-libXmu_la_LDFLAGS = -version-number 6:2:0 -no-undefined
+-libXmuu_la_LDFLAGS = -version-number 1:0:0 -no-undefined
++libXmu_la_LDFLAGS = -version-number 4:0:0 -no-undefined -M ../../../mapfile-Xmu
++libXmuu_la_LDFLAGS = -version-number 1:0:0 -no-undefined -M ../../../mapfile-Xmuu
+ 
+-libXmu_la_LIBADD = $(XMU_LIBS)
+-libXmuu_la_LIBADD = $(XMUU_LIBS)
++libXmu_la_DEPENDENCIES = libXmuu.so.1
++
++libXmu_la_LIBADD = $(XMU_LIBS) libXmuu.so.1 -lc
++libXmuu_la_LIBADD = $(XMUU_LIBS) -lc
+ 
+ libXmuu_la_SOURCES = \
+ 	ClientWin.c \
+@@ -23,7 +25,8 @@ libXmuu_la_SOURCES = \
+ 	Lower.c
+ 
+ libXmu_la_SOURCES = \
+-	$(libXmuu_la_SOURCES) \
++	CmapEquiv.c \
++	VisGamma.c \
+ 	AllCmap.c \
+ 	Atoms.c \
+ 	Clip.c \
+@@ -79,7 +82,7 @@ lintlibdir = $(libdir)
+ 
+ lintlib_DATA = $(LINTLIB) $(LINTLIBUU)
+ 
+-$(LINTLIB): $(libXmu_la_SOURCES)
++$(LINTLIB): $(libXmu_la_SOURCES) $(libXmuu_la_SOURCES)
+ 	$(LINT) -y -oXmu -x $(ALL_LINT_FLAGS) $(libXmu_la_SOURCES) 
+ 
+ $(LINTLIBUU): $(libXmuu_la_SOURCES)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/sun-src/CmapEquiv.c	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,193 @@
+/*
+ * Copyright 1996 Sun Microsystems, Inc.  All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+ * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * 
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ */
+
+#pragma ident "@(#)CmapEquiv.c	1.2 08/01/16   SMI" 
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/Xmu/XmuSolaris.h>
+
+#if defined(DEBUG)
+#include <stdio.h>
+#endif
+
+#define INIT_LIST_SIZE 100
+
+/*
+ * Get's next pair of integers from a string
+ */
+static VisualID
+getNextEntry(char **pp)
+{
+    char  *newP;
+    VisualID	  entry;
+
+    entry = strtoul(*pp, &newP, 0);
+    if (newP == *pp) {
+	return 0;
+    }
+    *pp = newP;
+
+    return entry;
+}
+
+/*
+ * Build a list of VisualIds that are equivalant to vidIn
+ *
+ * The format of the property string is a sequence of lists of
+ * integers separated by a newline.
+ * The first entry in each is the number of elements in the list.
+ * The list of ids follows.
+ */
+static VisualID *
+buildList(char *string, VisualID vidIn, VisualID *pOriginalList)
+{
+    VisualID  	*pList;
+    char 	*p = string;
+    int	 	num;
+
+#ifdef DEBUG
+    (void) memset(pOriginalList, 0, sizeof(VisualID)*INIT_LIST_SIZE);
+#endif
+
+    while (num = strtoul(p, &p, 0)) {
+	int foundIt = 0;
+	int i;
+	if ((num + 1) > INIT_LIST_SIZE) {
+	    pList = (VisualID *) malloc((num + 1) * sizeof(VisualID));
+	    if (pList == NULL)
+		return NULL;
+	} else {
+	    pList = pOriginalList;
+	}
+	for (i=0; i < num; i++) {
+	    /* Build the list of VisualIDs equivalent to v */
+	    VisualID vid;
+	    if (vid = getNextEntry(&p)) {
+		pList[i] = vid;
+		if (vid == vidIn)
+		    foundIt = 1;
+	    } else {
+	        /* string is formatted wrong */
+#ifdef DEBUG
+		fprintf(stderr, "property string is formatted wrong: %s\n",
+			string);
+#endif
+	        break;
+	    }
+	}
+#ifdef DEBUG
+	if (*p != '\n')
+	    fprintf(stderr, "property string is missing a newline: %s\n",
+			string);
+#endif
+	if (foundIt) {
+	    /* terminate the list */
+	    pList[num] = 0;
+	    break;
+	}
+	if (pList != pOriginalList)
+	    free(pList);
+	pList = NULL;
+    }
+
+    return pList;
+}
+
+
+static int
+searchList(VisualID *pList, VisualID v)
+{
+	int i;
+	for (i=0; pList[i] != 0; i++) {
+	    if (pList[i] == v)
+		return 1;
+	}
+	return 0;
+}
+
+static Bool
+areEquiv(char *pPropString, VisualID v1, VisualID v2)
+{
+	VisualID list[INIT_LIST_SIZE];
+	VisualID *pList;
+	Bool foundMatch = False;
+
+	/*
+	 * Build a list of VisualIDS which are equivalent to v1
+	 * using the array list if it fits.
+	 */
+	pList = buildList(pPropString, v1, list);
+	if (pList == NULL)
+	    return False;
+
+	/* now see if v2 is in the list */
+	if (searchList(pList, v2)) {
+	    foundMatch  = True;
+	}
+
+	if (pList != list)
+	    free(pList);
+
+	return foundMatch;
+}
+
+#define SUN_CMAP_EQUIV_ATOM_NAME "_SUN_CMAP_EQUIV"
+
+Bool
+XSolarisCheckColormapEquivalence(Display *dpy,  int screen_number, 
+				Visual *pVis1, Visual* pVis2)
+{
+	Atom theAtom;
+	Atom actualType;
+	int  actualFormat;
+	unsigned long  nitems;
+	unsigned long  bytesAfter;
+	char  *prop;
+
+	theAtom = XInternAtom(dpy, SUN_CMAP_EQUIV_ATOM_NAME, True);
+	if (theAtom == None)
+	    return False;
+
+	if (!XGetWindowProperty(dpy, XRootWindow(dpy, screen_number), theAtom,
+			    0, 8192, False, XA_STRING, &actualType,
+			    &actualFormat, &nitems, &bytesAfter, 
+			    (unsigned char **)&prop)) {
+	     if (prop != NULL) {
+		 Bool ret = areEquiv(prop, pVis1->visualid, pVis2->visualid);
+		 XFree(prop);
+		 return ret;
+	     }
+	}
+	
+	return False;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/sun-src/VisGamma.c	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,600 @@
+/*
+ * Copyright 1999 Sun Microsystems, Inc.  All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+ * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * 
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ */
+#pragma ident	"@(#)VisGamma.c	1.5	08/01/16 SMI"
+
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/Xcms.h>
+#include <X11/Xmu/XmuSolaris.h>
+
+/* from X11/Xcmsint.h */
+#define XDCCC_CORRECT_ATOM_NAME            "XDCCC_LINEAR_RGB_CORRECTION"
+
+#define XSOLARIS_STD_GAMMA	2.22
+
+#define MAX_SAMPLES            	16
+
+
+/*
+** The following two routines are taken from libX11/XcmsProp.c.
+*/
+
+/*
+ *	NAME
+ *		getElement -- get an element value from the property passed
+ *
+ *	SYNOPSIS
+ */
+static unsigned long
+getElement (int format, char **pValue, unsigned long *pCount) 
+/*
+ *	DESCRIPTION
+ *	    Get the next element from the property and return it.
+ *	    Also increment the pointer the amount needed.
+ *
+ *	Returns
+ *	    unsigned long
+ */
+{
+    unsigned long value;
+
+    switch (format) {
+      case 32:
+	value = *((unsigned long *)(*pValue));
+	*pValue += 4;
+	*pCount -= 1;
+	break;
+      case 16:
+	value = *((unsigned short *)(*pValue));
+	*pValue += 2;
+	*pCount -= 1;
+	break;
+      case 8:
+	value = *((unsigned char *) (*pValue));
+	*pValue += 1;
+	*pCount -= 1;
+	break;
+      default:
+	value = 0;
+	break;
+    }
+    return(value);
+}
+
+
+/*
+ *	NAME
+ *		getProperty -- Determine the existance of a property
+ *
+ *	SYNOPSIS
+ */
+static int
+getProperty (Display *pDpy, Window w, Atom property, int *pFormat, unsigned long *pNItems, 
+	     unsigned long *pNBytes, char **pValue) 
+/*
+ *	DESCRIPTION
+ *
+ *	Returns
+ *	    0 if property does not exist.
+ *	    1 if property exists.
+ */
+{
+    char *prop_ret;
+    int format_ret;
+    long len = 6516;
+    unsigned long nitems_ret, after_ret;
+    Atom atom_ret;
+    
+    while (XGetWindowProperty (pDpy, w, property, 0, len, False, 
+			       XA_INTEGER, &atom_ret, &format_ret, 
+			       &nitems_ret, &after_ret, 
+			       (unsigned char **)&prop_ret)) {
+	if (after_ret > 0) {
+	    len += nitems_ret * (format_ret >> 3);
+	    XFree (prop_ret);
+	} else {
+	    break;
+	}
+    }
+    if (format_ret == 0 || nitems_ret == 0) { 
+	/* the property does not exist or is of an unexpected type */
+	return(XcmsFailure);
+    }
+
+    *pFormat = format_ret;
+    *pNItems = nitems_ret;
+    *pNBytes = nitems_ret * (format_ret >> 3);
+    *pValue = prop_ret;
+    return(XcmsSuccess);
+}
+
+/*
+** The following three routines are derived from code in bin/xcmsdb/xcmsdb.c.
+*/
+
+static int
+QueryTableType0 (unsigned int maxcolor, int format, char **pChar, unsigned long *pCount, 
+		 unsigned int *nelem, unsigned short **pph, unsigned int **ppf)
+{
+    unsigned int nElements;
+    unsigned short *ph = NULL;
+    unsigned int   *pf = NULL;
+
+    nElements = getElement(format, pChar, pCount) + 1;
+    *nelem = nElements;
+    if (!(ph = (unsigned short *) malloc(nElements * sizeof(unsigned short))) ||
+        !(pf = (unsigned int *) malloc(nElements * sizeof(unsigned int)))) {
+	goto Bad;
+    }
+    *ppf = pf;
+    *pph = ph;
+
+    switch (format) {
+
+      case 8:
+	while (nElements--) {
+	    /* 0xFFFF/0xFF = 0x101 */
+	    *ph++ = getElement (format, pChar, pCount) * 0x101;
+	    *pf++ = (getElement (format, pChar, pCount)
+		    / (XcmsFloat)255.0) * maxcolor;
+	}
+	break;
+
+      case 16:
+	while (nElements--) {
+	    *ph++ = (unsigned short)getElement (format, pChar, pCount);
+	    *pf++ = (getElement (format, pChar, pCount)
+		    / (XcmsFloat)65535.0) * maxcolor;
+	}
+	break;
+
+      case 32:
+	while (nElements--) {
+	    *ph++ = (unsigned short)getElement (format, pChar, pCount);
+	    *pf++ = (getElement (format, pChar, pCount)
+	            / (XcmsFloat)4294967295.0) * maxcolor;
+	}
+	break;
+
+      default:
+	goto Bad;
+    }
+
+    return (1);
+
+Bad:
+    if (ph) { 
+	free(ph);
+    }
+    if (pf) {
+	free(pf);
+    }
+    *pph = NULL;
+    *ppf = NULL;
+    return (0);
+}
+
+static int
+QueryTableType1 (unsigned int maxcolor, int format, char **pChar, unsigned long *pCount, 
+		 unsigned int *nelem, unsigned short **pph, unsigned int **ppf)
+{
+    int count;
+    unsigned int max_index;
+    unsigned int nElements;
+    unsigned short *ph = NULL;
+    unsigned int   *pf = NULL;
+
+    max_index = getElement(format, pChar, pCount);
+    nElements = max_index + 1;
+    *nelem = nElements;
+
+    if (!(ph = (unsigned short *) malloc(nElements * sizeof(unsigned short))) ||
+        !(pf = (unsigned int *) malloc(nElements * sizeof(unsigned int)))) {
+	goto Bad;
+    }
+    *ppf = pf;
+    *pph = ph;
+
+    switch (format) {
+
+      case 8:
+	for (count = 0; count < nElements; count++) {
+	    *ph++ = count;
+	    *pf++ = ((XcmsFloat) getElement(format, pChar, pCount) / (XcmsFloat)255.0) * 
+		     (XcmsFloat)maxcolor;
+	}
+	break;
+
+      case 16:
+	for (count = 0; count < nElements; count++) {
+	    *ph++ = count;
+	    *pf++ = ((XcmsFloat) getElement(format, pChar, pCount) / (XcmsFloat)65535.0) * 
+	            (XcmsFloat)maxcolor;
+	}
+	break;
+
+      case 32:
+	for (count = 0; count < nElements; count++) {
+	    *ph++ = count;
+	    *pf++ = ((XcmsFloat) getElement (format, pChar, pCount) / (XcmsFloat)4294967295.0) 
+	            * (XcmsFloat)maxcolor;
+	}
+	break;
+
+      default:
+	goto Bad;
+    }
+
+    return (1);
+
+Bad:
+    if (ph) { 
+	free(ph);
+    }
+    if (pf) {
+	free(pf);
+    }
+    *pph = NULL;
+    *ppf = NULL;
+    return (0);
+}
+
+
+/*
+** If the given n pairs (hi, fi) approximate a power function with the
+** relation h = f**exp, the exponent exp is returned.
+*/
+
+static double
+exponentOfPowerFunc (unsigned int maxh, unsigned int maxf, int n, unsigned short *ph, 
+		     unsigned int *pf)
+{
+    unsigned short h;
+    unsigned int   f;
+    double logh, logf;
+    int    i, nsamples, incr;
+    double sum, logmaxh, logmaxf, denom;
+
+    incr = n / MAX_SAMPLES;
+    if (incr < 1) {
+	incr = 1;
+    }
+    logmaxh = log((double)maxh);
+    logmaxf = log((double)maxf);
+    sum = 0;
+    nsamples = 0;
+    
+    for (i = (incr>>1); i < n; i += incr) {
+	h = ph[i];
+	f = pf[i];
+	if (h == 0 || f == 0) {
+	    continue;
+	}
+	logh = log((double) h);
+	logf = log((double) f);
+	denom = logh - logmaxh;
+	if (denom) {
+	    sum += (logf - logmaxf) / denom;
+	    nsamples++;
+	}
+    }
+
+    if (nsamples == 0) {
+	/* Note: as good as anything else */
+	return(XSOLARIS_STD_GAMMA);
+    } else {
+	return(sum/nsamples);
+    }
+}
+
+
+/* 
+** Updates the current prop element pointer to point beyond the current channel.
+** Upon entry, pChar should point to the length element of the channel.
+**
+** Returns 0 if the property contents are invalid, 1 otherwise.
+*/
+
+static int
+skipChannel (int cType, int format, char **pChar, unsigned long *pCount)
+{
+    unsigned int nElements, length;
+
+    if ((long)*pCount <= 0) {
+	return (0);
+    }
+    length = getElement(format, pChar, pCount) + 1;
+    
+    nElements = ((cType == 0) ? 2 : 1) * length;
+    if ((long)nElements > *pCount) {
+	return (0);
+    }
+
+    while (nElements--) {
+	(void) getElement (format, pChar, pCount);
+    }
+
+    return (1);
+}
+
+/* 
+** Updates the current prop element pointer to point beyond the current visual.
+** Upon entry, pChar should point to the type element immediately following
+** the visualID elemnt.
+**
+** Returns 0 if the property contents are invalid, 1 otherwise.
+*/
+
+static int
+skipVisual (int format, char **pChar, unsigned long *pCount)
+{
+    int cType, nTables;
+
+    /* Get table type */
+    if ((long)*pCount <= 0) {
+	return (0);
+    }
+    cType = (int)getElement(format, pChar, pCount);
+    if (cType != 0 && cType != 1) {
+	return (0);
+    }
+
+    /* Get number of channels */
+    if ((long)*pCount <= 0) {
+	return (0);
+    }
+    nTables = (int)getElement(format, pChar, pCount);
+    if (nTables != 1 && nTables != 3) {
+	return (0);
+    }
+
+    /* Skip red channel */
+    if (!skipChannel(cType, format, pChar, pCount)) {
+	return (0);
+    }
+
+    if (nTables > 1) {
+
+	/* Skip green channel */
+	if (!skipChannel(cType, format, pChar, pCount)) {
+	    return (0);
+	}
+
+	/* Skip blue channel */
+	if (!skipChannel(cType, format, pChar, pCount)) {
+	    return (0);
+	}
+    }
+
+    return (1);
+}
+
+
+static int XSolarisGetVisualGammaCalledFlag = 0;
+
+int
+XSolarisGetVisualGammaCalled ()
+{
+    return (XSolarisGetVisualGammaCalledFlag);
+}
+
+/*
+** Note: this function ignores the green and blue intensity correction
+** data; it assumes that these are the same as the red channel.
+*/
+
+Status
+XSolarisGetVisualGamma (Display *dpy, int screen_number, Visual *visual,
+			double *gamma)
+{
+    char *property_return = NULL, *pChar;
+    int  count, format, cType, nTables;
+    unsigned long nitems = 0;
+    unsigned long nbytes_return;
+    Atom CorrectAtom;
+    VisualID visualID;
+    unsigned int maxcolor, nelem;
+    unsigned short *ph;
+    unsigned int   *pf;
+
+    XSolarisGetVisualGammaCalledFlag = 1;
+
+    /*
+     * Get Intensity Tables
+     */
+    CorrectAtom = XInternAtom (dpy, XDCCC_CORRECT_ATOM_NAME, False);
+    if (CorrectAtom != None) {
+	if (getProperty (dpy, XRootWindow(dpy, screen_number), CorrectAtom, 
+			      &format, &nitems, &nbytes_return, 
+			      &property_return) == XcmsFailure) {
+
+	    *gamma = XSOLARIS_STD_GAMMA;
+	    return (Success);
+
+	} else if ((long)nitems <= 0) {
+
+	    /* use standard gamma */
+	    if (property_return) {
+		XFree (property_return);
+	    }
+
+	    *gamma = XSOLARIS_STD_GAMMA;
+	    return (Success);
+	}
+    }
+
+    pChar = property_return;
+
+    /* Note: nitems is decremented as a side-effect of calling getElement */
+    while (nitems) {
+	
+	switch (format) {
+
+	case 8:
+
+	    /*
+	     * Must have at least:
+	     *		VisualID0
+	     *		VisualID1
+	     *		VisualID2
+	     *		VisualID3
+	     *		type
+	     *		count
+	     *		length
+	     *		intensity1
+	     *		intensity2
+	     */
+	    if (nitems < 9) {
+		XFree (property_return);
+		return (BadMatch);
+	    }
+	    count = 3;
+	    break;
+
+	      case 16:
+	    /*
+	     * Must have at least:
+	     *		VisualID0
+	     *		VisualID3
+	     *		type
+	     *		count
+	     *		length
+	     *		intensity1
+	     *		intensity2
+	     */
+	    if (nitems < 7) {
+		XFree (property_return);
+		return (BadMatch);
+	    }
+	    count = 1;
+	    break;
+
+	case 32:
+	    /*
+	     * Must have at least:
+	     *		VisualID0
+	     *		type
+	     *		count
+	     *		length
+	     *		intensity1
+	     *		intensity2
+	     */
+	    if (nitems < 6) {
+		XFree (property_return);
+		return (BadMatch);
+	    }
+	    count = 0;
+	    break;
+	    
+	default:
+	    XFree (property_return);
+	    return (BadMatch);
+	}
+	
+	/* Get VisualID */
+	visualID = getElement(format, &pChar, &nitems);
+	while (count--) {
+	    visualID = visualID << format;
+	    visualID |= getElement(format, &pChar, &nitems);
+	}
+	if (visual->visualid != visualID) {
+	    if (!skipVisual(format, &pChar, &nitems)) {
+		XFree (property_return);
+		return (BadMatch);
+	    }
+	    continue;
+	}
+
+	/* Found the visual */
+	maxcolor = 0xffff;
+
+	/* Get table type and number of channels */
+	cType = (int)getElement(format, &pChar, &nitems);
+	nTables = (int)getElement(format, &pChar, &nitems);
+
+	/* 
+	** Note: it is assumed that the per-channel maps in the table all have
+	** the same length.  This is a safe bet for most hardware, as it depends
+	** not on the visual masks but on the visual bits_per_rgb.  Thus, we
+	** extract the information from the red channel map and ignore the rest.
+	*/
+
+	switch (cType) {
+
+	case 0:
+	    if (!QueryTableType0(maxcolor, format, &pChar, &nitems, &nelem, &ph, &pf)) {
+		XFree (property_return);
+		return (BadMatch);
+	    }
+            if (nelem == 2 && 
+		*ph == 0 && *pf == 0 &&
+		*(ph+1) == maxcolor && *(pf+1) == maxcolor) {
+		/* exactly linear */
+		*gamma = 1.0;
+	    } else {
+		*gamma = exponentOfPowerFunc(maxcolor, maxcolor, (int)nelem, ph, pf);
+	    }
+	    break;
+
+	case 1:
+	    if (!QueryTableType1(maxcolor, format, &pChar, &nitems, &nelem, &ph, &pf)) {
+		XFree (property_return);
+		return (BadMatch);
+	    }
+	    *gamma = exponentOfPowerFunc((1<<visual->bits_per_rgb)-1, maxcolor, (int)nelem, ph, pf);
+	    break;
+
+	default:
+	    XFree (property_return);
+	    return (BadMatch);
+	}
+
+	XFree (property_return);
+
+	/* These were allocated in the QueryTableType<n> routines and 
+	   must be freed now */
+	if (ph) {
+	    free(ph);
+	}
+	if (pf) {
+	    free(pf);
+	}
+
+	return (Success);
+    }    
+    /* bug fix for 4248958: OPENGL program shows mem leak in libdga*/
+    if(property_return) XFree (property_return);
+
+    *gamma = XSOLARIS_STD_GAMMA;
+    return (Success);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/sun-src/XSolarisCheckColormapEquivalence.3Xmu	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,106 @@
+.\"
+.\" Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+.\" Use subject to license terms.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\" 
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\" 
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XSolarisCheckColormapEquivalence 3Xmu "11 Jan 2008" "X Version 11" "XLIB FUNCTIONS"
+.SH NAME
+XSolarisCheckColormapEquivalence \- determines if two visuals are colormap
+equivalent
+.SH SYNOPSIS
+.LP
+cc [ flag ... ] file ... -lXmu  [ library ... ]
+.br
+#include <X11/Xmu/XmuSolaris.h>
+.LP
+Bool XSolarisCheckColormapEquivalence\^(
+.br
+      Display *\fIdisplay\f1\^,
+.br
+      int \fIscreen\f1\^,
+.br
+      Visual *\fIvisual1\f1\^,
+.br
+      Visual *\fIvisual2\f1\^);
+.LP
+.SH ARGUMENTS
+.IP \fIdisplay\f1 1i
+Specifies the connection to the X server. 
+.IP \fIscreen\f1 1i
+An integer specifying the screen on which the visuals are to be searched. 
+.IP \fIvisual1\f1 1i
+Specifies the first visual type supported on the screen.
+If the visual type is not one supported by the screen, 
+a
+.B BadMatch
+error results. 
+.IP \fIvisual2\f1 1i
+Specifies the second visual type supported on the screen.
+If the visual type is not one supported by the screen, 
+a
+.B BadMatch
+error results. 
+.SH DESCRIPTION
+This function returns True if the two Visuals are Colormap Equivalent,
+otherwise it returns False.
+.LP
+Colormap Equivalence is a minor relaxation of the X protocol supported by the Solaris X server
+.BR Xsun (1).
+Two Visuals are Colormap Equivalent if it is possible
+to use a Colormap created with one of the Visuals as the Colormap of a Window 
+in the other Visual. This is useful on a system that supports Visuals that
+differ only in their OpenGL (GLX) Attributes.
+.LP
+For example, to avoid colormap flashing, when creating a window with
+a Visual that is in the same depth as the RootWindow, use the Default Colormap.
+In standard X, this is only possible if the Visual is the DefaultVisual. 
+With Colormap Equivalence the requirement is relaxed.
+.LP
+To use this function, an application should link with libXmu.
+.SH EXAMPLES
+.nh
+You may be able to avoid creating a new colormap by using the following code:
+.LP
+.RS
+.ft B
+.nf
+        if (!XSolarisCheckColormapEquivalence(dpy, screen, 
+	                      vi->visual, DefaultVisual(dpy, screen)) {
+            attributes.colormap = XCreateColormap(dpy, root,
+                                vi->visual, AllocNone);
+            valuemask = CWColormap;
+        }
+        window = XCreateWindow(dpy, root, 0, 0, 500, 500, 0,
+                        vi->depth, CopyFromParent, vi->visual,
+                        valuemask, &attributes);
+.fi
+.ft
+.RE
+.SH SEE ALSO
+.BR XCreateWindow (3X11),
+.BR glXGetConfig (3gl).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/sun-src/XSolarisGetVisualGamma.3Xmu	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,118 @@
+.\"
+.\" Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+.\" Use subject to license terms.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\" 
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\" 
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XSolarisGetVisualGamma 3Xmu "11 Jan 2008" "X Version 11" "XLIB FUNCTIONS"
+.SH NAME
+XSolarisGetVisualGamma \- obtain gamma information for a visual
+.SH SYNOPSIS
+.LP
+cc [ flag ... ] file ... -lXmu  [ library ... ]
+.br
+#include <X11/Xmu/XmuSolaris.h>
+.LP
+Status
+.br
+XSolarisGetVisualGamma\^(\^Display *\fIdisplay\f1, int \fIscreen_number\f1, 
+.br
+.in +1.75i
+Visual *\fIvisual\f1, double *\fIgamma\f1\^);
+.in -1.75i
+.SH ARGUMENTS
+.IP \fIdisplay\f1 1i
+Specifies the connection to the X server.
+.IP \fIscreen_number\f1 1i
+Specifies the number of the screen.
+.IP \fIvisual\f1 1i
+Specifies the visual.
+.IP \fIgamma\f1 1i
+Returns the gamma value for the specified visual.
+.SH DESCRIPTION
+The
+.B XSolarisGetVisualGamma
+function returns the gamma value of a specified visual.  This value is
+the exponent of the power function describing the intensity response
+of colors displayed using that visual.  This is the intensity response
+of the entire path from the frame buffer pixel store through the
+monitor.  The equation of the intensity response is:
+.PP
+.in +0.5i
+\fIIntensityOut\f1 = (\fIFramebufferColor\f1)**\fIgamma\f1
+.in -0.5i
+.PP
+(i.e. the color in the frame buffer raised to the power of gamma).
+.LP
+\fIFramebufferColor\f1 refers to the the RGB values stored in the frame buffer
+pixel store and processed by any color mapping LUTs that are in the output path.
+.LP
+Gamma correction is necessary because of the way color intensities are
+perceived by the human eye.  Without gamma correction, the eye
+interprets changes to the color intensity incorrectly.  Small changes
+to low intensity light appear to have more effect than the equivalent
+change to higher intensity light.  This distorts the appearance of
+graphical entities which depend on accurate color, such as images,
+anti-aliased lines and transparent polygons.
+.LP
+Gamma correction results in a linear mapping between color values and
+percieved intensity.  Gamma corrected visuals are also called linear
+visuals for this reason.  Linear visuals have a gamma value of 1.0.
+.LP
+Note: the term "gamma" used here refers the mapping applied along the entire
+path (that is, the value percieved by the end user), not merely the exponent
+of the gamma correction function.
+.LP
+The gamma value returned defines the color-to-intensity mapping for all
+three channels: red, green, and blue.
+.LP
+A status of \f3Success\f1
+is returned if the function was able to determine the gamma successfully.
+If a request failure occured while calling the function, a \f3BadAccess \f1
+error code is returned.  If there is an internal inconsistency (e.g. the gamma 
+value for one of the color channels is different from the others) a 
+\f3BadMatch\f1 error code is returned.  Whenever an error code is returned, 
+the argument \fIgamma\f1 is left untouched.
+.LP
+The gamma value returned represents the best information available on the
+intensity response of the visual.  Depending on the device, it may or may
+not include the actual monitor characteristics (some devices have no way
+of determining the type of monitor so they may assume a default monitor
+gamma).  As such, it represents the system's "best guess" about the intensity
+response.  Since this function gets its information from the same property
+used by Solaris color managment systems, if more accurate information on the 
+monitor response is configured or calibrated through these systems,
+this function will return a more accurate value for gamma.
+.LP
+If the intensity mapping is not a power function, the returned gamma value
+may only be approximate.  This should usually happen only when the device
+gamma correction has been incorrectly configured.
+.LP
+To use this function, an application should link with \f3libXmu\f1.
+.SH SEE ALSO
+.TZ OWPG
+.br
+(Visuals and Display Devices chapter)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libXmu/sun-src/XmuSolaris.h	Wed Jan 16 20:03:06 2008 -0800
@@ -0,0 +1,49 @@
+/* Copyright 1996 Sun Microsystems, Inc.  All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+ * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ */
+
+#ifndef __XMUSOLARIS_H__
+#define __XMUSOLARIS_H__
+#pragma ident "@(#)XmuSolaris.h	1.3 08/01/16   SMI" 
+
+#include <X11/Xlib.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+Status XSolarisGetVisualGamma (Display *dpy, int screen_number, Visual *visual,
+			double *gamma);
+
+Bool XSolarisCheckColormapEquivalence(Display *dpy,  int screen_number,
+				Visual *pVis1, Visual* pVis2);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __XMUSOLARIS_H__ */
--- a/packages/SUNWxwinc/prototype	Wed Jan 16 15:57:48 2008 -0800
+++ b/packages/SUNWxwinc/prototype	Wed Jan 16 20:03:06 2008 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -27,7 +27,7 @@
 # of the copyright holder.
 # 
 #
-# ident	"@(#)prototype	35.74	07/12/07 SMI"
+# ident	"@(#)prototype	35.75	08/01/16 SMI"
 #
 #  X Window System include files
 
@@ -247,32 +247,34 @@
 f none openwin/share/include/X11/Xaw/VendorEP.h  0644 root bin
 f none openwin/share/include/X11/Xaw/XawImP.h  0644 root bin
 
+# open-src/lib/libXmu
+d none X11/include/X11/Xmu 			0755 root bin
+s none openwin/share/include/X11/Xmu=../../../../X11/include/X11/Xmu
 
-d none openwin/share/include/X11/Xmu 0755 root bin
-!search                $HOME/openwin/include/X11/Xmu
-f none openwin/share/include/X11/Xmu/Atoms.h 0644 root bin
-f none openwin/share/include/X11/Xmu/CharSet.h 0644 root bin
-f none openwin/share/include/X11/Xmu/CloseHook.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Converters.h 0644 root bin
-f none openwin/share/include/X11/Xmu/CurUtil.h 0644 root bin
-f none openwin/share/include/X11/Xmu/CvtCache.h 0644 root bin
-f none openwin/share/include/X11/Xmu/DisplayQue.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Drawing.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Editres.h 0644 root bin
-f none openwin/share/include/X11/Xmu/EditresP.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Error.h 0644 root bin
-f none openwin/share/include/X11/Xmu/ExtAgent.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Initer.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Misc.h 0644 root bin
-f none openwin/share/include/X11/Xmu/StdCmap.h 0644 root bin
-f none openwin/share/include/X11/Xmu/StdSel.h 0644 root bin
-f none openwin/share/include/X11/Xmu/SysUtil.h 0644 root bin
-f none openwin/share/include/X11/Xmu/WhitePoint.h 0644 root bin
-f none openwin/share/include/X11/Xmu/WidgetNode.h 0644 root bin
-f none openwin/share/include/X11/Xmu/WinUtil.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Xct.h 0644 root bin
-f none openwin/share/include/X11/Xmu/Xmu.h 0644 root bin
-f none openwin/share/include/X11/Xmu/XmuSolaris.h 0644 root bin
+!search                $HOME/X11/include/X11/Xmu
+f none X11/include/X11/Xmu/Atoms.h		0444 root bin
+f none X11/include/X11/Xmu/CharSet.h		0444 root bin
+f none X11/include/X11/Xmu/CloseHook.h		0444 root bin
+f none X11/include/X11/Xmu/Converters.h		0444 root bin
+f none X11/include/X11/Xmu/CurUtil.h		0444 root bin
+f none X11/include/X11/Xmu/CvtCache.h		0444 root bin
+f none X11/include/X11/Xmu/DisplayQue.h		0444 root bin
+f none X11/include/X11/Xmu/Drawing.h		0444 root bin
+f none X11/include/X11/Xmu/Editres.h		0444 root bin
+f none X11/include/X11/Xmu/EditresP.h		0444 root bin
+f none X11/include/X11/Xmu/Error.h		0444 root bin
+f none X11/include/X11/Xmu/ExtAgent.h		0444 root bin
+f none X11/include/X11/Xmu/Initer.h		0444 root bin
+f none X11/include/X11/Xmu/Misc.h		0444 root bin
+f none X11/include/X11/Xmu/StdCmap.h		0444 root bin
+f none X11/include/X11/Xmu/StdSel.h		0444 root bin
+f none X11/include/X11/Xmu/SysUtil.h		0444 root bin
+f none X11/include/X11/Xmu/WhitePoint.h		0444 root bin
+f none X11/include/X11/Xmu/WidgetNode.h		0444 root bin
+f none X11/include/X11/Xmu/WinUtil.h		0444 root bin
+f none X11/include/X11/Xmu/Xct.h		0444 root bin
+f none X11/include/X11/Xmu/Xmu.h		0444 root bin
+f none X11/include/X11/Xmu/XmuSolaris.h		0444 root bin
 
 # extension headers from old source tree
 d none openwin/share/include/X11/extensions 0755 root bin
@@ -620,6 +622,8 @@
 f none lib/pkgconfig/xfixes.pc			0444 root bin
 f none lib/pkgconfig/xinerama.pc		0444 root bin
 f none lib/pkgconfig/xlg3d.pc			0444 root bin
+f none lib/pkgconfig/xmu.pc			0444 root bin
+f none lib/pkgconfig/xmuu.pc			0444 root bin
 f none lib/pkgconfig/xpm.pc			0444 root bin
 f none lib/pkgconfig/xrender.pc			0444 root bin
 f none lib/pkgconfig/xtst.pc			0444 root bin
@@ -667,6 +671,8 @@
 f none lib/$plat_64/pkgconfig/xinerama.pc		0444 root bin
 f none lib/$plat_64/pkgconfig/xlg3d.pc			0444 root bin
 f none lib/$plat_64/pkgconfig/xpm.pc			0444 root bin
+f none lib/$plat_64/pkgconfig/xmu.pc			0444 root bin
+f none lib/$plat_64/pkgconfig/xmuu.pc			0444 root bin
 f none lib/$plat_64/pkgconfig/xrender.pc		0444 root bin
 f none lib/$plat_64/pkgconfig/xtst.pc			0444 root bin
 
--- a/packages/SUNWxwplt/prototype_com	Wed Jan 16 15:57:48 2008 -0800
+++ b/packages/SUNWxwplt/prototype_com	Wed Jan 16 20:03:06 2008 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -26,7 +26,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 # 
-#	"@(#)prototype_com	35.136	08/01/10   Sun Microsystems" 
+#	"@(#)prototype_com	35.137	08/01/16   Sun Microsystems" 
 #
 # X Window System required core package
 
@@ -149,8 +149,6 @@
 s none openwin/lib/libXaw.so=./libXaw.so.5
 f none openwin/lib/libXaw.so.5 		0755 root bin
 f none openwin/lib/libXaw.so.4 		0755 root bin
-s none openwin/lib/libXmu.so=./libXmu.so.4
-f none openwin/lib/libXmu.so.4 		0755 root bin
 s none openwin/lib/libXt.so=./libXt.so.4
 f none openwin/lib/libXt.so.4 		0755 root bin
 # Symlink removed to prevent compiling new programs - library is left
@@ -228,6 +226,14 @@
 s none X11/lib/libXlg3d.so=./libXlg3d.so.1
 f none X11/lib/libXlg3d.so.1 			0555 root bin
 
+# opensrc/lib/libXmu (only libXmu, not libXmuu was delivered into /usr/openwin/lib)
+s none openwin/lib/libXmu.so=./libXmu.so.4
+s none openwin/lib/libXmu.so.4=../../X11/lib/libXmu.so.4
+s none X11/lib/libXmu.so=./libXmu.so.4
+f none X11/lib/libXmu.so.4			0755 root bin
+s none X11/lib/libXmuu.so=./libXmuu.so.1
+f none X11/lib/libXmuu.so.1			0755 root bin
+
 # opensrc/lib/libXpm
 s none openwin/lib/libXpm.so=./libXpm.so.4
 s none openwin/lib/libXpm.so.4=../../X11/lib/libXpm.so.4
@@ -275,7 +281,9 @@
 s none X11/lib/$plat_64/libXfixes.so=./libXfixes.so.1
 f none X11/lib/$plat_64/libXfixes.so.1 		0555 root bin
 
-# open-src/lib/libXi - never delivered into openwin in 64-bit version
+# open-src/lib/libXi
+s none openwin/lib/$plat_64/libXi.so=./libXi.so.5
+s none openwin/lib/$plat_64/libXi.so.5=../../../X11/lib/64/libXi.so.5
 s none X11/lib/$plat_64/libXi.so=./libXi.so.5
 f none X11/lib/$plat_64/libXi.so.5		0555 root bin
 
@@ -287,6 +295,14 @@
 s none X11/lib/$plat_64/libXlg3d.so=./libXlg3d.so.1
 f none X11/lib/$plat_64/libXlg3d.so.1 		0555 root bin
 
+# opensrc/lib/libXmu (only libXmu, not libXmuu was delivered into /usr/openwin/lib)
+s none openwin/lib/$plat_64/libXmu.so=./libXmu.so.4
+s none openwin/lib/$plat_64/libXmu.so.4=../../../X11/lib/64/libXmu.so.4
+s none X11/lib/$plat_64/libXmu.so=./libXmu.so.4
+f none X11/lib/$plat_64/libXmu.so.4		0755 root bin
+s none X11/lib/$plat_64/libXmuu.so=./libXmuu.so.1
+f none X11/lib/$plat_64/libXmuu.so.1		0755 root bin
+
 # opensrc/lib/libXpm
 s none openwin/lib/$plat_64/libXpm.so=./libXpm.so.4
 s none openwin/lib/$plat_64/libXpm.so.4=../../../X11/lib/64/libXpm.so.4
@@ -601,8 +617,6 @@
 s none openwin/lib/$plat_64/libXext.so=./libXext.so.0
 s none openwin/lib/$plat_64/libXaw.so=./libXaw.so.5
 f none openwin/lib/$plat_64/libXaw.so.5 		0755 root bin
-s none openwin/lib/$plat_64/libXmu.so=./libXmu.so.4
-f none openwin/lib/$plat_64/libXmu.so.4 		0755 root bin
 s none openwin/lib/$plat_64/libXt.so=./libXt.so.4
 f none openwin/lib/$plat_64/libXt.so.4 		0755 root bin
 s none openwin/lib/$plat_64/libSM.so=./libSM.so.6
--- a/packages/SUNWxwpmn/prototype	Wed Jan 16 15:57:48 2008 -0800
+++ b/packages/SUNWxwpmn/prototype	Wed Jan 16 20:03:06 2008 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -1116,10 +1116,11 @@
 f none X11/share/man/man3Xi/XUngrabDeviceButton.3Xi  0444 root bin
 f none X11/share/man/man3Xi/XUngrabDeviceKey.3Xi  0444 root bin
 
-!search            $HOME/openwin/share/man/man3Xmu
-d none openwin/share/man/man3Xmu  0755 root bin
-f none openwin/share/man/man3Xmu/XSolarisCheckColormapEquivalence.3Xmu  0444 root bin
-f none openwin/share/man/man3Xmu/XSolarisGetVisualGamma.3Xmu  0444 root bin
+# open-src/lib/libXmu
+!search            $HOME/X11/share/man/man3Xmu
+d none X11/share/man/man3Xmu  0755 root bin
+f none X11/share/man/man3Xmu/XSolarisCheckColormapEquivalence.3Xmu  0444 root bin
+f none X11/share/man/man3Xmu/XSolarisGetVisualGamma.3Xmu  0444 root bin
 
 !search            $HOME/openwin/share/man/man3Xp
 d none openwin/share/man/man3Xp   0755 root bin
--- a/packages/SUNWxwrtl/prototype_com	Wed Jan 16 15:57:48 2008 -0800
+++ b/packages/SUNWxwrtl/prototype_com	Wed Jan 16 20:03:06 2008 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -26,7 +26,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# ident "@(#)prototype_com 1.42     08/01/10 SMI"
+# ident "@(#)prototype_com 1.43     08/01/16 SMI"
 #
 #  X Window System Runtime Compatability Package
 #
@@ -71,8 +71,10 @@
 s none lib/libXi.so=libXi.so.5
 s none lib/libXi.so.5=../X11/lib/libXi.so.5
 
-s none lib/libXmu.so=./libXmu.so.4
-s none lib/libXmu.so.4=../openwin/lib/libXmu.so.4
+s none lib/libXmu.so=libXmu.so.4
+s none lib/libXmu.so.4=../X11/lib/libXmu.so.4
+s none lib/libXmuu.so=libXmuu.so.1
+s none lib/libXmuu.so.1=../X11/lib/libXmuu.so.1
 
 s none lib/libICE.so=./libICE.so.6
 s none lib/libICE.so.6=../openwin/lib/libICE.so.6
@@ -196,8 +198,10 @@
 s none lib/$plat_64/libXi.so=libXi.so.5
 s none lib/$plat_64/libXi.so.5=../../X11/lib/64/libXi.so.5
 
-s none lib/$plat_64/libXmu.so=./libXmu.so.4
-s none lib/$plat_64/libXmu.so.4=../../openwin/lib/64/libXmu.so.4
+s none lib/$plat_64/libXmu.so=libXmu.so.4
+s none lib/$plat_64/libXmu.so.4=../../X11/lib/64/libXmu.so.4
+s none lib/$plat_64/libXmuu.so=libXmuu.so.1
+s none lib/$plat_64/libXmuu.so.1=../../X11/lib/64/libXmuu.so.1
 
 s none lib/$plat_64/libICE.so=./libICE.so.6
 s none lib/$plat_64/libICE.so.6=../../openwin/lib/64/libICE.so.6
--- a/packages/SUNWxwslb/prototype_com	Wed Jan 16 15:57:48 2008 -0800
+++ b/packages/SUNWxwslb/prototype_com	Wed Jan 16 20:03:06 2008 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -27,7 +27,7 @@
 # of the copyright holder.
 # 
 #
-# ident	"@(#)prototype_com	35.15	06/07/28 SMI"
+# ident	"@(#)prototype_com	35.16	08/01/16 SMI"
 #
 #  X Window System lint libraries
 
@@ -45,14 +45,17 @@
 s none openwin/lib/llib-lXau.ln=../../X11/lib/llib-lXau.ln
 f none openwin/lib/llib-lXaw.ln			0755 root bin
 f none openwin/lib/llib-lXext.ln		0755 root bin
-f none openwin/lib/llib-lXmu.ln			0755 root bin
 f none openwin/lib/llib-lXt.ln			0755 root bin
 
 !search $HOME/X11/lib
 d none X11/lib					0755 root bin
 f none X11/lib/llib-lXau.ln			0555 root bin
+f none X11/lib/llib-lXmu.ln			0755 root bin
+f none X11/lib/llib-lXmuu.ln			0755 root bin
 
 !search $HOME/X11/lib/$plat_64
 d none X11/lib/$plat_64				0755 root bin
 f none X11/lib/$plat_64/llib-lXau.ln		0555 root bin
+f none X11/lib/$plat_64/llib-lXmu.ln		0555 root bin
+f none X11/lib/$plat_64/llib-lXmuu.ln		0555 root bin
 
--- a/packages/SUNWxwslb/prototype_sparc	Wed Jan 16 15:57:48 2008 -0800
+++ b/packages/SUNWxwslb/prototype_sparc	Wed Jan 16 20:03:06 2008 -0800
@@ -1,6 +1,6 @@
 ###########################################################################
 #
-# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the
@@ -30,7 +30,7 @@
 ###########################################################################
 
 #
-# @(#)prototype_sparc	1.7	07/11/05 SMI
+# @(#)prototype_sparc	1.8	08/01/16 SMI
 #
 #  X Window System 64-bit lint libraries
 
@@ -42,5 +42,4 @@
 f none openwin/lib/sparcv9/llib-lX11.ln		0755 root bin
 f none openwin/lib/sparcv9/llib-lXaw.ln		0755 root bin
 f none openwin/lib/sparcv9/llib-lXext.ln	0755 root bin
-f none openwin/lib/sparcv9/llib-lXmu.ln		0755 root bin
 f none openwin/lib/sparcv9/llib-lXt.ln		0755 root bin