Index: trunk/openjdk/hotspot/make/os2/makefiles/adlc.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/adlc.make	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/makefiles/adlc.make	(revision 43)
@@ -0,0 +1,87 @@
+#
+# Copyright 1999-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+include $(WorkSpace)/make/os2/makefiles/compile.make
+
+# Rules for building adlc.exe
+
+ifdef ALT_ADLC_PATH
+ADLC=$(ALT_ADLC_PATH)/adlc.exe
+else
+ADLC=adlc
+endif
+
+CXX_INCLUDE_DIRS=\
+  -I "../generated"                          \
+  -I "$(WorkSpace)/src/share/vm/compiler"    \
+  -I "$(WorkSpace)/src/share/vm/code"        \
+  -I "$(WorkSpace)/src/share/vm/interpreter" \
+  -I "$(WorkSpace)/src/share/vm/classfile"   \
+  -I "$(WorkSpace)/src/share/vm/asm"         \
+  -I "$(WorkSpace)/src/share/vm/memory"      \
+  -I "$(WorkSpace)/src/share/vm/oops"        \
+  -I "$(WorkSpace)/src/share/vm/prims"       \
+  -I "$(WorkSpace)/src/share/vm/runtime"     \
+  -I "$(WorkSpace)/src/share/vm/utilities"   \
+  -I "$(WorkSpace)/src/share/vm/libadt"      \
+  -I "$(WorkSpace)/src/share/vm/opto"        \
+  -I "$(WorkSpace)/src/os/windows/vm"          \
+  -I "$(WorkSpace)/src/cpu/$(Platform_arch)/vm"
+
+# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_INCL
+# and MakeDepsIDEOptions in makedeps.make.
+GENERATED_NAMES=\
+  ad_$(Platform_arch_model).cpp \
+  ad_$(Platform_arch_model).hpp \
+  ad_$(Platform_arch_model)_clone.cpp \
+  ad_$(Platform_arch_model)_expand.cpp \
+  ad_$(Platform_arch_model)_format.cpp \
+  ad_$(Platform_arch_model)_gen.cpp \
+  ad_$(Platform_arch_model)_misc.cpp \
+  ad_$(Platform_arch_model)_peephole.cpp \
+  ad_$(Platform_arch_model)_pipeline.cpp \
+  adGlobals_$(Platform_arch_model).hpp \
+  dfa_$(Platform_arch_model).cpp
+
+# NOTE! This must be kept in sync with GENERATED_NAMES
+GENERATED_NAMES_IN_INCL=$(GENERATED_NAMES:%=incls/%)
+
+VPATH += $(WorkSpace)/src/share/vm/adlc;$(WorkSpace)/src/share/vm/opto
+
+%.obj: %.cpp
+	$(CXX) $(CXX_FLAGS) $(CXX_INCLUDE_DIRS) -c $< -o $@
+
+adlc.exe: main.obj adlparse.obj archDesc.obj arena.obj dfa.obj dict2.obj filebuff.obj \
+          forms.obj formsopt.obj formssel.obj opcodes.obj output_c.obj output_h.obj
+	$(LINK) $(LINK_FLAGS) -o $@ $^
+
+$(GENERATED_NAMES_IN_INCL): $(Platform_arch_model).ad adlc.exe includeDB.current
+	rm -f $(GENERATED_NAMES)
+	$(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad
+	mv $(GENERATED_NAMES) incls/
+
+$(Platform_arch_model).ad: $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
+	rm -f $(Platform_arch_model).ad
+	cat $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad  \
+	    $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad >$(Platform_arch_model).ad
Index: trunk/openjdk/hotspot/make/os2/makefiles/compile.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/compile.make	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/makefiles/compile.make	(revision 43)
@@ -0,0 +1,60 @@
+#
+# Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+# Generic compiler settings
+CXX = g++
+
+CXX_FLAGS = -Zomf -march=i486 -mtune=generic
+
+# Based on BUILDARCH we add some flags and select the default compiler name
+ifeq ($(BUILDARCH),i486)
+CXX_FLAGS += -DIA32
+endif
+
+# Compile for space above time.
+ifeq ($(Variant),kernel)
+PRODUCT_OPT_OPTION   = -s -Os
+FASTDEBUG_OPT_OPTION = -s -Os
+DEBUG_OPT_OPTION     = -g
+ese
+PRODUCT_OPT_OPTION   = -s -O3
+FASTDEBUG_OPT_OPTION = -s -O3
+DEBUG_OPT_OPTION     = -g
+endif
+
+# If NO_OPTIMIZATIONS is defined in the environment, turn everything off
+ifdef NO_OPTIMIZATIONS
+PRODUCT_OPT_OPTION   = $(DEBUG_OPT_OPTION)
+FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION)
+endif
+
+# Generic linker settings
+LINK = g++
+LINK_FLAGS = \
+ -Zomf -Zmap -Zstack 0x2000 -Zlinker "DISABLE 1121" -Zhigh-mem \
+
+ # @todo
+ #kernel32.lib user32.lib gdi32.lib winspool.lib \
+ #comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
+ #uuid.lib Wsock32.lib winmm.lib
Index: trunk/openjdk/hotspot/make/os2/makefiles/generated.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/generated.make	(revision 42)
+++ trunk/openjdk/hotspot/make/os2/makefiles/generated.make	(revision 43)
@@ -81,12 +81,12 @@
 includeDB.current Dependencies: classes/MakeDeps.class $(IncludeDBs)
 	cat $(IncludeDBs) > includeDB
-	if [ -d incls ]; then rmdir -fr incls; fi
+	if [ -d incls ]; then rm -rf incls; fi
 	mkdir -p incls
-	$(RUN_JAVA) -Djava.class.path=classes MakeDeps WinGammaPlatform$(VcVersion) $(WorkSpace)/make/windows/platform_$(BUILDARCH) includeDB $(MakeDepsOptions)
+	$(RUN_JAVA) -Djava.class.path=classes MakeDeps OS2Platform $(WorkSpace)/make/os2/platform_$(BUILDARCH) includeDB $(MakeDepsOptions)
 	rm -f includeDB.current
 	cp includeDB includeDB.current
 
 classes/MakeDeps.class: $(MakeDepsSources)
-	if [ -d classes ]; then rmdir -fr classes; fi
+	if [ -d classes ]; then rm -rf classes; fi
 	mkdir -p classes
 	$(COMPILE_JAVAC) -classpath $(WorkSpace)/src/share/tools/MakeDeps -d classes $(MakeDepsSources)
Index: trunk/openjdk/hotspot/make/os2/makefiles/jvmti.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/jvmti.make	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/makefiles/jvmti.make	(revision 43)
@@ -0,0 +1,111 @@
+#
+# Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+# This makefile (jvmti.make) is included from the jvmti.make in the
+# build directories.
+#
+# It knows how to build and run the tools to generate jvmti.
+
+include $(WorkSpace)/make/os2/makefiles/rules.make
+
+# #########################################################################
+
+JvmtiSrcDir = $(WorkSpace)/src/share/vm/prims
+InterpreterSrcDir = $(WorkSpace)/src/share/vm/interpreter
+Src_Dirs += $(JvmtiSrcDir)
+
+# set VPATH so make knows where to look for source files
+Src_Dirs_V = ${Src_Dirs}
+VPATH    += $(Src_Dirs_V:%=%;)
+
+JvmtiGeneratedNames = \
+        jvmtiEnv.hpp \
+        jvmtiEnter.cpp \
+        jvmtiEnterTrace.cpp \
+        jvmtiEnvRecommended.cpp \
+        bytecodeInterpreterWithChecks.cpp \
+        jvmti.h \
+
+JvmtiEnvFillSource = $(JvmtiSrcDir)/jvmtiEnvFill.java
+JvmtiEnvFillClass = $(JvmtiOutDir)/jvmtiEnvFill.class
+
+JvmtiGenSource = $(JvmtiSrcDir)/jvmtiGen.java
+JvmtiGenClass = $(JvmtiOutDir)/jvmtiGen.class
+
+JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
+
+XSLT = $(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiGen
+
+# #########################################################################
+
+both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl
+
+default::
+	@if [ ! -d $(JvmtiOutDir) ]; then mkdir -p $(JvmtiOutDir); fi
+
+$(JvmtiGenClass): $(JvmtiGenSource)
+	$(COMPILE_JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource)
+
+$(JvmtiEnvFillClass): $(JvmtiEnvFillSource)
+	@$(COMPILE_JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
+
+$(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
+	@echo Generating $@
+	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
+
+$(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
+	@echo Generating $@
+	@$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp
+
+$(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
+	@echo Generating $@
+	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
+
+$(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
+	@echo Generating $@
+	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
+	@$(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
+
+$(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
+	@echo Generating $@
+	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
+
+$(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
+	@echo Generating $@
+	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
+
+jvmtidocs:  $(JvmtiOutDir)/jvmti.html
+
+$(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
+	@echo Generating $@
+	@$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
+
+# #########################################################################
+
+cleanall :
+	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
+
+# #########################################################################
+
+.PHONY: jvmtidocs cleanall
Index: trunk/openjdk/hotspot/make/os2/makefiles/makedeps.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/makedeps.make	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/makefiles/makedeps.make	(revision 43)
@@ -0,0 +1,46 @@
+#
+# Copyright 1999-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+include $(WorkSpace)/make/os2/makefiles/rules.make
+
+# NOTE: unfortunately the MakeDepsSources list must be kept
+# synchronized between this and the Solaris version
+# (make/solaris/makefiles/makedeps.make).
+
+MakeDepsSources=\
+        $(WorkSpace)\src\share\tools\MakeDeps\Database.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTree.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTreeNode.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\FileFormatException.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\FileList.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\FileName.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\Macro.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\MacroDefinitions.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\MakeDeps.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\MetroWerksMacPlatform.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\Platform.java \
+        $(WorkSpace)\src\share\tools\MakeDeps\OS2Platform.java
+
+MakeDepsOptions=
Index: trunk/openjdk/hotspot/make/os2/makefiles/rules.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/rules.make	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/makefiles/rules.make	(revision 43)
@@ -0,0 +1,50 @@
+#
+# Copyright 2003-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+# These are the commands used externally to compile and run.
+
+ifdef BootStrapDir
+RUN_JAVA=$(BootStrapDir)/bin/java
+RUN_JAVAP=$(BootStrapDir)/bin/javap
+RUN_JAVAH=$(BootStrapDir)/bin/javah
+RUN_JAR=$(BootStrapDir)/bin/jar
+COMPILE_JAVAC=$(BootStrapDir)/bin/javac $(BOOTSTRAP_JAVAC_FLAGS)
+COMPILE_RMIC=$(BootStrapDir)/bin/rmic
+BOOT_JAVA_HOME=$(BootStrapDir)
+else
+RUN_JAVA=java
+RUN_JAVAP=javap
+RUN_JAVAH=javah
+RUN_JAR=jar
+COMPILE_JAVAC=javac $(BOOTSTRAP_JAVAC_FLAGS)
+COMPILE_RMIC=rmic
+BOOT_JAVA_HOME=
+endif
+
+# Settings for javac
+BOOT_SOURCE_LANGUAGE_VERSION=5
+BOOT_TARGET_CLASS_VERSION=5
+JAVAC_FLAGS=-g -encoding ascii
+BOOTSTRAP_JAVAC_FLAGS=$(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
+
Index: trunk/openjdk/hotspot/make/os2/makefiles/sa.make
===================================================================
--- trunk/openjdk/hotspot/make/os2/makefiles/sa.make	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/makefiles/sa.make	(revision 43)
@@ -0,0 +1,97 @@
+#
+# Copyright 2003-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+# This makefile is used to build Serviceability Agent code
+# and generate JNI header file for native methods.
+
+AGENT_DIR = $(WorkSpace)/agent
+checkAndBuildSA::
+
+ifneq ($(BUILD_OS2_SA),1)
+# Already warned about this in build.make
+else
+
+# This first part is used to build sa-jdi.jar
+include $(WorkSpace)/make/os2/makefiles/rules.make
+include $(WorkSpace)/make/sa.files
+
+GENERATED = ../generated
+
+# tools.jar is needed by the JDI - SA binding
+SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
+
+# turn wildcards to individual files
+AGENT_FILES1 := $(wildcard $(AGENT_FILES1))
+AGENT_FILES2 := $(wildcard $(AGENT_FILES2))
+
+SA_CLASSDIR = $(GENERATED)/saclasses
+
+SA_BUILD_VERSION_PROP = sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)
+
+SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
+
+default::  $(GENERATED)/sa-jdi.jar
+
+# Remove the space between $(SA_BUILD_VERSION_PROP) and > below as it adds a white space
+# at the end of SA version string and causes a version mismatch with the target VM version.
+
+$(GENERATED)\sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
+	@if [ ! -d $(SA_CLASSDIR) ]; then mkdir -p $(SA_CLASSDIR); fi
+	@echo ...Building sa-jdi.jar
+	@echo ...$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) ....
+	@$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1:/=\)
+	@$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2:/=\)
+	$(COMPILE_RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
+	$(QUIETLY) echo $(SA_BUILD_VERSION_PROP)> $(SA_PROPERTIES)
+	$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
+	$(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql
+	$(QUIETLY) rm -rf $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
+	$(QUIETLY) mkdir $(SA_CLASSDIR)\sun\jvm\hotspot\ui\resources
+	$(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
+	$(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)
+	$(RUN_JAR) cf $@ -C saclasses .
+	$(RUN_JAR) uf $@ -C $(AGENT_SRC_DIR:/=\) META-INF\services\com.sun.jdi.connect.Connector
+	$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal
+	$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
+	$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.ia64.IA64ThreadContext
+	$(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
+
+
+
+# This second part is used to build saos2dbg.dll
+# We currently build it the same way for product, debug, and fastdebug.
+
+SAOSDBG=saos2dbg.dll
+
+checkAndBuildSA:: $(SAOS2DBG)
+
+# @todo look at windows/makefiles/sa.make for details on how to build the SA
+# debug DLL
+
+
+cleanall :
+	rm -rf $(GENERATED:\=/)/saclasses
+	rm -rf $(GENERATED:\=/)/sa-jdi.jar
+
+endif # ifneq ($(BUILD_OS2_SA),1)
Index: trunk/openjdk/hotspot/make/os2/platform_i486
===================================================================
--- trunk/openjdk/hotspot/make/os2/platform_i486	(revision 43)
+++ trunk/openjdk/hotspot/make/os2/platform_i486	(revision 43)
@@ -0,0 +1,15 @@
+// Platform file for windows platform
+
+os_family = os2
+
+arch = x86
+
+arch_model = x86_32
+
+os_arch = os2_x86
+
+os_arch_model = os2_x86_32
+
+lib_arch = i386
+
+compiler = gcc
