Index: /trunk/env.cmd
===================================================================
--- /trunk/env.cmd	(revision 442)
+++ /trunk/env.cmd	(revision 443)
@@ -144,10 +144,4 @@
 
 /*
- * add SVN tools to PATH
- */
-call EnvAddFront 'PATH', ScriptDir'tools\bin'
-call EnvAddFront 'BEGINLIBPATH', ScriptDir'tools\bin'
-
-/*
  * add boot JDK tools to BEGINLIBPATH
  */
@@ -155,7 +149,12 @@
 
 /*
- * bash is required for the build
- */
-call EnvSet 'MAKESHELL', 'bash.exe'
+ * POSIX shell is required for the build (dash is recommended).
+ */
+call EnvSet 'MAKESHELL', 'sh.exe'
+
+/*
+ * Force English messages.
+ */
+call EnvSet 'LANG', 'en_US'
 
 /*
@@ -272,5 +271,5 @@
     end
     ExtraArgs = 'xcopy' build_path'\hotspot\import\jre\bin\client\*' build_path'\bin\client\'
-    aArgs = aArgs '&&' ExtraArgs 
+    aArgs = aArgs '&&' ExtraArgs
 end
 
Index: /trunk/openjdk/corba/make/common/shared/Defs-os2.gmk
===================================================================
--- /trunk/openjdk/corba/make/common/shared/Defs-os2.gmk	(revision 442)
+++ /trunk/openjdk/corba/make/common/shared/Defs-os2.gmk	(revision 443)
@@ -84,8 +84,30 @@
   UNIXCOMMAND_PATH       :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
 else
-  # assume commands are in PATH
-  UNIXCOMMAND_PATH :=
+  ifdef UNIXROOT
+    # assume UNIXROOT is properly set (note: /bin is not used on OS/2)
+    UNIXCOMMAND_PATH := $(subst \,/,$(UNIXROOT)/usr/bin/)
+  else
+    # assume commands are in PATH
+    UNIXCOMMAND_PATH :=
+  endif
 endif
 UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
+
+# USRBIN_PATH: path to where the most common Unix commands are.
+#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
+ifdef ALT_USRBIN_PATH
+  xALT_USRBIN_PATH  :="$(subst \,/,$(ALT_USRBIN_PATH))"
+  fxALT_USRBIN_PATH :=$(call FullPath,$(xALT_USRBIN_PATH))
+  USRBIN_PATH       :=$(call PrefixPath,$(fxALT_USRBIN_PATH))
+else
+  ifdef UNIXROOT
+    # assume UNIXROOT is properly set
+    USRBIN_PATH := $(subst \,/,$(UNIXROOT)/usr/bin/)
+  else
+    # assume commands are in PATH
+    USRBIN_PATH :=
+  endif
+endif
+USRBIN_PATH:=$(call AltCheckSpaces,USRBIN_PATH)
 
 # SLASH_JAVA: location of all network accessable files
Index: /trunk/openjdk/corba/make/common/shared/Defs-utils.gmk
===================================================================
--- /trunk/openjdk/corba/make/common/shared/Defs-utils.gmk	(revision 442)
+++ /trunk/openjdk/corba/make/common/shared/Defs-utils.gmk	(revision 443)
@@ -61,8 +61,15 @@
 endif
 
-ifeq ($(filter-out windows os2,$(PLATFORM)),)
+ifeq ($(PLATFORM),windows)
   UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
   UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
   UTILS_CCS_BIN_PATH=$(UNIXCOMMAND_PATH)
+  UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
+endif
+
+ifeq ($(PLATFORM),os2)
+  UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
+  UTILS_USR_BIN_PATH=$(USRBIN_PATH)
+  UTILS_CCS_BIN_PATH=$(USRBIN_PATH)
   UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
 endif
@@ -160,6 +167,6 @@
 # OS/2 specific
 ifeq ($(PLATFORM),os2)
-  ECHO   = $(UNIXCOMMAND_PATH)echo -e
-  NAWK   = $(UNIXCOMMAND_PATH)awk
+  ECHO   = $(UTILS_COMMAND_PATH)echo -e
+  NAWK   = $(UTILS_COMMAND_PATH)awk
 endif
 
Index: /trunk/openjdk/jdk/make/common/shared/Defs-os2.gmk
===================================================================
--- /trunk/openjdk/jdk/make/common/shared/Defs-os2.gmk	(revision 442)
+++ /trunk/openjdk/jdk/make/common/shared/Defs-os2.gmk	(revision 443)
@@ -84,8 +84,30 @@
   UNIXCOMMAND_PATH       :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
 else
-  # assume commands are in PATH
-  UNIXCOMMAND_PATH :=
+  ifdef UNIXROOT
+    # assume UNIXROOT is properly set (note: /bin is not used on OS/2)
+    UNIXCOMMAND_PATH := $(subst \,/,$(UNIXROOT)/usr/bin/)
+  else
+    # assume commands are in PATH
+    UNIXCOMMAND_PATH :=
+  endif
 endif
 UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
+
+# USRBIN_PATH: path to where the most common Unix commands are.
+#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
+ifdef ALT_USRBIN_PATH
+  xALT_USRBIN_PATH  :="$(subst \,/,$(ALT_USRBIN_PATH))"
+  fxALT_USRBIN_PATH :=$(call FullPath,$(xALT_USRBIN_PATH))
+  USRBIN_PATH       :=$(call PrefixPath,$(fxALT_USRBIN_PATH))
+else
+  ifdef UNIXROOT
+    # assume UNIXROOT is properly set
+    USRBIN_PATH := $(subst \,/,$(UNIXROOT)/usr/bin/)
+  else
+    # assume commands are in PATH
+    USRBIN_PATH :=
+  endif
+endif
+USRBIN_PATH:=$(call AltCheckSpaces,USRBIN_PATH)
 
 # SLASH_JAVA: location of all network accessable files
Index: /trunk/openjdk/jdk/make/common/shared/Defs-utils.gmk
===================================================================
--- /trunk/openjdk/jdk/make/common/shared/Defs-utils.gmk	(revision 442)
+++ /trunk/openjdk/jdk/make/common/shared/Defs-utils.gmk	(revision 443)
@@ -61,8 +61,15 @@
 endif
 
-ifeq ($(filter-out windows os2,$(PLATFORM)),)
+ifeq ($(PLATFORM),windows)
   UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
   UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
   UTILS_CCS_BIN_PATH=$(UNIXCOMMAND_PATH)
+  UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
+endif
+
+ifeq ($(PLATFORM),os2)
+  UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
+  UTILS_USR_BIN_PATH=$(USRBIN_PATH)
+  UTILS_CCS_BIN_PATH=$(USRBIN_PATH)
   UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
 endif
@@ -182,6 +189,6 @@
 # OS/2 specific
 ifeq ($(PLATFORM),os2)
-  ECHO   = $(UNIXCOMMAND_PATH)echo -e
-  NAWK   = $(UNIXCOMMAND_PATH)awk
+  ECHO   = $(UTILS_COMMAND_PATH)echo -e
+  NAWK   = $(UTILS_COMMAND_PATH)awk
 endif
 
