Index: trunk/openjdk/jdk/make/sun/cmm/kcms/Makefile
===================================================================
--- trunk/openjdk/jdk/make/sun/cmm/kcms/Makefile	(revision 207)
+++ trunk/openjdk/jdk/make/sun/cmm/kcms/Makefile	(revision 208)
@@ -85,5 +85,5 @@
 vpath %.c   $(CLOSED_SRC)/share/native/$(PKGDIR)
 
-ifeq ($(filter-out windows os2, $(PLATFORM)),)
+ifeq ($(PLATFORM), windows)
 
 OTHER_LDLIBS = user32.lib version.lib
@@ -97,4 +97,9 @@
 
 else # PLATFORM
+ifeq ($(PLATFORM), os2)
+
+OTHER_LDLIBS = -luser32.lib -lversion.lib
+
+else # PLATFORM
 OTHER_LDLIBS = $(LIBM)
 
@@ -105,4 +110,5 @@
 
 endif # PLATFORM
+endif # PLATFORM
 
 #CFLAGS += -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST
Index: trunk/openjdk/jdk/make/sun/cmm/lcms/Makefile
===================================================================
--- trunk/openjdk/jdk/make/sun/cmm/lcms/Makefile	(revision 207)
+++ trunk/openjdk/jdk/make/sun/cmm/lcms/Makefile	(revision 208)
@@ -34,5 +34,5 @@
 # Files
 #
-ifeq ($(PLATFORM), windows)
+ifeq ($(filter-out windows os2,$(PLATFORM)),)
 include FILES_c_windows.gmk
 else # PLATFORM
@@ -93,7 +93,14 @@
 
 else
+ifeq ($(PLATFORM), os2)
+
+OTHER_LDLIBS = -luser32.lib -lversion.lib -l$(OBJDIR)/../../../sun.awt/awt/$(OBJDIRNAME)/awt.lib
+OTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/java2d \
+                  -I$(SHARE_SRC)/native/sun/awt/debug
+
+else
 OTHER_LDLIBS = $(LIBM) -lawt -L$(LIBDIR)/$(LIBARCH)/xawt 
 CPPFLAGS += -I$(SHARE_SRC)/native/sun/java2d \
             -I$(SHARE_SRC)/native/sun/awt/debug
 endif
-
+endif
Index: trunk/openjdk/jdk/make/sun/splashscreen/Makefile
===================================================================
--- trunk/openjdk/jdk/make/sun/splashscreen/Makefile	(revision 207)
+++ trunk/openjdk/jdk/make/sun/splashscreen/Makefile	(revision 208)
@@ -29,4 +29,6 @@
 PRODUCT = sun
 include $(BUILDDIR)/common/Defs.gmk
+
+LIBRARY_SHORT = splshscr
 
 #
@@ -67,7 +69,12 @@
   OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread
 else # PLATFORM
+ifeq ($(PLATFORM), windows)
   CFLAGS += -DWITH_WIN32
   OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib 
 #$(JVMLIB) $(OBJDIR)/../../jpeg/$(OBJDIRNAME)/jpeg$(SUFFIX).lib
+else # PLATFORM = os2
+  CFLAGS += -DWITH_WIN32
+  OTHER_LDLIBS += -lkernel32.lib -luser32.lib -lgdi32.lib 
+endif # PLATFORM
 endif # PLATFORM
 
Index: trunk/openjdk/jdk/src/share/classes/java/awt/SplashScreen.java
===================================================================
--- trunk/openjdk/jdk/src/share/classes/java/awt/SplashScreen.java	(revision 207)
+++ trunk/openjdk/jdk/src/share/classes/java/awt/SplashScreen.java	(revision 208)
@@ -109,6 +109,11 @@
             // SplashScreen class is now a singleton
             if (!wasClosed && theInstance == null) {
-                java.security.AccessController.doPrivileged(
+                if (System.getProperty("os.name").startsWith("OS/2")) {
+                    java.security.AccessController.doPrivileged(
+                        new sun.security.action.LoadLibraryAction("splshscr"));
+                } else {
+                    java.security.AccessController.doPrivileged(
                         new sun.security.action.LoadLibraryAction("splashscreen"));
+                }
                 long ptr = _getInstance();
                 if (ptr != 0 && _isVisible(ptr)) {
Index: trunk/openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h
===================================================================
--- trunk/openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h	(revision 207)
+++ trunk/openjdk/jdk/src/share/native/sun/awt/image/jpeg/jmorecfg.h	(revision 208)
@@ -127,4 +127,6 @@
 
 
+#if !defined(__WIN32OS2__) || !defined(__WINE_BASETSD_H)
+
 /* These typedefs are used for various table entries and so forth.
  * They must be at least as wide as specified; but making them too big
@@ -169,4 +171,6 @@
 #endif
 #endif
+
+#endif /* !defined(__WIN32OS2__) || !defined(__WINE_BASETSD_H) */
 
 /* Datatype used for image dimensions.  The JPEG standard only supports
Index: trunk/openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c
===================================================================
--- trunk/openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c	(revision 207)
+++ trunk/openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c	(revision 208)
@@ -120,5 +120,5 @@
 }
 
-JNIEXPORT int JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) {
+JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) {
     javaVM = jvm;
 
@@ -457,5 +457,6 @@
 {
     storeID_t sTrans;
-    int size, inFmt, outFmt, srcDType, dstDType, outSize, renderType;
+    int size, inFmt, outFmt, outSize, renderType;
+    jint srcDType, dstDType;
     int srcOffset, srcNextRowOffset, dstOffset, dstNextRowOffset;
     int width, height, i;
Index: trunk/openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/lcms.h
===================================================================
--- trunk/openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/lcms.h	(revision 207)
+++ trunk/openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/lcms.h	(revision 208)
@@ -117,4 +117,8 @@
 #endif
 
+#ifdef __WIN32OS2__
+#    undef NON_WINDOWS
+#endif
+
 // Borland C
 
@@ -263,5 +267,9 @@
 #include <windows.h>
 
-#ifdef _WIN64
+#if defined(__WIN32OS2__)
+#   include <string.h>
+#endif
+
+#if defined(_WIN64) || defined(__WIN32OS2__)
 # ifdef USE_ASSEMBLER
 #    undef  USE_ASSEMBLER
@@ -277,6 +285,10 @@
 #endif
 
+#ifndef __GNUC__
 // This works for both VC & BorlandC
 #define LCMS_INLINE __inline
+#else
+#define LCMS_INLINE static inline
+#endif
 
 #ifdef USE_PTHREADS
Index: trunk/openjdk/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_config.h
===================================================================
--- trunk/openjdk/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_config.h	(revision 207)
+++ trunk/openjdk/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_config.h	(revision 208)
@@ -53,5 +53,7 @@
 #define RECT_INC_HEIGHT(r) (r).bottom++;
 
+#ifndef INLINE
 #define INLINE __inline
+#endif
 
 #define SPLASHEXPORT __declspec(dllexport)
Index: trunk/openjdk/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c
===================================================================
--- trunk/openjdk/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c	(revision 207)
+++ trunk/openjdk/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c	(revision 208)
@@ -29,4 +29,8 @@
 #include <winuser.h>
 
+#ifdef __EMX__
+#include <alloca.h>
+#endif
+
 /* layered windows api prototypes. wouldn't be needed if we could use an updated version of the MS PSDK. */
 
@@ -68,6 +72,8 @@
 #define GWLP_USERDATA GWL_USERDATA
 #define GWLP_WNDPROC  GWL_WNDPROC
+#if !defined(__WIN32OS2__)
 typedef __int32 LONG_PTR;
 typedef unsigned __int32 ULONG_PTR;
+#endif
 #endif // __int3264
 
