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>