Add support for building native win32 tools

Add support for compiling the host tools in the tools directory using
the MinGW toolchain.  This produces executables which can be used on
standard Windows computers without requiring cygwin.

One must specify the MinGW compiler and strip utilities as if they
were the host toolchain in order to build win32 executables, eg:

make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
diff --git a/include/libfdt_env.h b/include/libfdt_env.h
index ea474a5..1c67015 100644
--- a/include/libfdt_env.h
+++ b/include/libfdt_env.h
@@ -24,8 +24,13 @@
 #ifdef USE_HOSTCC
 #include <stdint.h>
 #include <string.h>
+#ifdef __MINGW32__
+#include <linux/types.h>
+#include <linux/byteorder/swab.h>
+#else
 #include <endian.h>
 #include <byteswap.h>
+#endif /* __MINGW32__ */
 #else
 #include <linux/string.h>
 #include <linux/types.h>
@@ -36,10 +41,17 @@
 extern struct fdt_header *working_fdt;  /* Pointer to the working fdt */
 
 #if __BYTE_ORDER == __LITTLE_ENDIAN
+#ifdef __MINGW32__
+#define fdt32_to_cpu(x)		___swab32(x)
+#define cpu_to_fdt32(x)		___swab32(x)
+#define fdt64_to_cpu(x)		___swab64(x)
+#define cpu_to_fdt64(x)		___swab64(x)
+#else
 #define fdt32_to_cpu(x)		bswap_32(x)
 #define cpu_to_fdt32(x)		bswap_32(x)
 #define fdt64_to_cpu(x)		bswap_64(x)
 #define cpu_to_fdt64(x)		bswap_64(x)
+#endif
 #else
 #define fdt32_to_cpu(x)		(x)
 #define cpu_to_fdt32(x)		(x)