The Watcom compiler defines __LINUX__ and not __linux__ for cross compilation.
diff --git a/expat/xmlwf/readfilemap.c b/expat/xmlwf/readfilemap.c
index 170031e..088dda5 100755
--- a/expat/xmlwf/readfilemap.c
+++ b/expat/xmlwf/readfilemap.c
@@ -9,7 +9,7 @@
 #include <stdio.h>
 
 #ifdef __WATCOMC__
-#ifndef __linux__
+#ifndef __LINUX__
 #include <io.h>
 #else
 #include <unistd.h>
diff --git a/expat/xmlwf/xmlfile.c b/expat/xmlwf/xmlfile.c
index 5429491..6c75446 100755
--- a/expat/xmlwf/xmlfile.c
+++ b/expat/xmlwf/xmlfile.c
@@ -25,11 +25,9 @@
 #include "xmltchar.h"
 #include "filemap.h"
 
-#if (defined(_MSC_VER) || defined(__WATCOMC__))
-#ifndef __linux__
+#if (defined(_MSC_VER) || (defined(__WATCOMC__) && !defined(__LINUX__)))
 #include <io.h>
 #endif
-#endif
 
 #ifdef AMIGA_SHARED_LIB
 #include <proto/expat.h>