Win32: Open Watcom C compatibility fixes.

Precompiled headers are disabled as they lead to internal compiler errors
with long configure lines.  Couple of false positive warnings silenced.
Various win32 typedefs are adjusted to work with Open Watcom C 1.9 headers.

With this patch, it's now again possible to compile nginx using owc386,
with options we normally compile on win32 minus ipv6 and ssl.
diff --git a/auto/cc/owc b/auto/cc/owc
index 22eb4c1..a063aa3 100644
--- a/auto/cc/owc
+++ b/auto/cc/owc
@@ -65,10 +65,10 @@
 
 
 # the precompiled headers
-CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
-NGX_PCH="$NGX_OBJS/ngx_config.pch"
-NGX_BUILD_PCH="-fhq=$NGX_OBJS/ngx_config.pch"
-NGX_USE_PCH="-fh=$NGX_OBJS/ngx_config.pch"
+#CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
+#NGX_PCH="$NGX_OBJS/ngx_config.pch"
+#NGX_BUILD_PCH="-fhq=$NGX_OBJS/ngx_config.pch"
+#NGX_USE_PCH="-fh=$NGX_OBJS/ngx_config.pch"
 
 
 # the link flags, built target is NT GUI mode application
diff --git a/auto/lib/pcre/makefile.owc b/auto/lib/pcre/makefile.owc
index 78f5257..122fd5b 100644
--- a/auto/lib/pcre/makefile.owc
+++ b/auto/lib/pcre/makefile.owc
@@ -4,7 +4,7 @@
 
 
 CFLAGS =	-c -zq -bt=nt -ot -op -oi -oe -s -bm $(CPU_OPT)
-PCREFLAGS =	-DHAVE_CONFIG_H -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10 \
+PCREFLAGS =	-DHAVE_CONFIG_H -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10 &
 		-DSUPPORT_PCRE8 -DHAVE_MEMMOVE
 
 
diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c
index 3b392f7..d3ff368 100644
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -486,7 +486,7 @@
 
     if (hexadecimal == 0) {
 
-        if (ui64 <= NGX_MAX_UINT32_VALUE) {
+        if (ui64 <= (uint64_t) NGX_MAX_UINT32_VALUE) {
 
             /*
              * To divide 64-bit numbers and to find remainders
diff --git a/src/http/modules/ngx_http_mp4_module.c b/src/http/modules/ngx_http_mp4_module.c
index f9281a3..680b658 100644
--- a/src/http/modules/ngx_http_mp4_module.c
+++ b/src/http/modules/ngx_http_mp4_module.c
@@ -1129,7 +1129,7 @@
 
     atom_header = mp4->mdat_atom_header;
 
-    if ((uint64_t) atom_data_size > 0xffffffff) {
+    if ((uint64_t) atom_data_size > (uint64_t) 0xffffffff) {
         atom_size = 1;
         atom_header_size = sizeof(ngx_mp4_atom_header64_t);
         ngx_mp4_set_64value(atom_header + sizeof(ngx_mp4_atom_header_t),
diff --git a/src/os/win32/ngx_win32_config.h b/src/os/win32/ngx_win32_config.h
index 6235698..7face95 100644
--- a/src/os/win32/ngx_win32_config.h
+++ b/src/os/win32/ngx_win32_config.h
@@ -128,13 +128,27 @@
 
 typedef __int64             int64_t;
 typedef unsigned __int64    uint64_t;
+
+#ifndef __WATCOMC__
 typedef int                 intptr_t;
 typedef u_int               uintptr_t;
+#endif
+
 
 /* Windows defines off_t as long, which is 32-bit */
 typedef __int64             off_t;
 #define _OFF_T_DEFINED
 
+#ifdef __WATCOMC__
+
+/* off_t is redefined by sys/types.h used by zlib.h */
+#define __TYPES_H_INCLUDED
+typedef int                 dev_t;
+typedef unsigned int        ino_t;
+
+#endif
+
+
 typedef int                 ssize_t;
 typedef uint32_t            in_addr_t;
 typedef u_short             in_port_t;