Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 75334)
+++ /trunk/Config.kmk	(revision 75335)
@@ -4532,4 +4532,5 @@
 
 ifeq ($(KBUILD_TARGET),os2)
+ ifndef VBOX_USE_WATCOM_FOR_OS2
 TEMPLATE_VBOXR0DRV_TOOL                = GXX3OMF
 TEMPLATE_VBOXR0DRV_CXXFLAGS            = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti
@@ -4538,4 +4539,26 @@
 # wlink thinks physdevice doesn't need fixups and should have a stack - stupid!
 TEMPLATE_VBOXR0DRV_LDFLAGS             = -Zlinker Option -Zlinker internalrelocs, -Zlinker togglerelocs
+  else
+TEMPLATE_VBOXR0DRV_TOOL     = OPENWATCOM
+TEMPLATE_VBOXR0DRV_CTOOL    = OPENWATCOM
+TEMPLATE_VBOXR0DRV_CXXTOOL  = OPENWATCOM
+TEMPLATE_VBOXR0DRV_LDTOOL   = OPENWATCOM-WL
+TEMPLATE_VBOXR0DRV_ARTOOL   = OPENWATCOM
+TEMPLATE_VBOXR0DRV_ASTOOL   = NASM
+TEMPLATE_VBOXR0DRV_ASFLAGS  = -fobj -DASM_FORMAT_OMF -D__NASM__ -w+orphan-labels #-g -F borland
+TEMPLATE_VBOXR0DRV_DEFS.os2 = #_OS2EMX_H
+TEMPLATE_VBOXR0DRV_INCS     = \
+	$(PATH_TOOL_OPENWATCOM)/h \
+	$(PATH_TOOL_OPENWATCOM)/h/os2 \
+	$(PATH_ROOT)/include \
+	$(PATH_KLIBC_TRUNK)/libc/include # for os2ddk
+TEMPLATE_VBOXR0DRV_CFLAGS   = -s -ze -w4 -hd -d1+ -nt=TEXT32 -nc=CODE -4 -of+
+TEMPLATE_VBOXR0DRV_CXXFLAGS = -s -ze -w4 -hd -d2t -nt=TEXT32 -nc=CODE -4 -of+
+TEMPLATE_VBOXR0DRV_LDFLAGS  = \
+	form os2 lx physdevice \
+	option NODefaultlibs, internalrelocs, togglerelocs \
+	debug dwarf all #option symfile
+#	debug codeview all option symfile - wlink generates bad info, overwritten mod dir header.
+ endif
 endif
 
@@ -7080,4 +7103,5 @@
 endif
 
+
 #
 # Template for building R0 libraries for the guest additions.
