Merge branch 'cursey-no-winsock2-header'
diff --git a/readme.md b/readme.md
index 2559c83..f9e657a 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,6 @@
 [![Build Status](https://travis-ci.org/herumi/xbyak.png)](https://travis-ci.org/herumi/xbyak)
 
-# Xbyak 5.93 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.94 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 
 ## Abstract
 
@@ -16,6 +16,7 @@
 If you want to use them, then specify `-fno-operator-names` option to gcc/clang.
 
 ### News
+- (Windows) `#include <winsock2.h>` has been removed from xbyak.h, so add it explicitly if you need it.
 - support exception-less mode see. [Exception-less mode](#exception-less-mode)
 - `XBYAK_USE_MMAP_ALLOCATOR` will be defined on Linux/macOS unless `XBYAK_DONT_USE_MMAP_ALLOCATOR` is defined.
 
@@ -435,6 +436,7 @@
 http://opensource.org/licenses/BSD-3-Clause
 
 ## History
+* 2020/Jul/28 ver 5.94 remove #include <winsock2.h> (only windows)
 * 2020/Jul/21 ver 5.93 support exception-less mode
 * 2020/Jun/30 ver 5.92 support Intel AMX instruction set (Thanks to nshustrov)
 * 2020/Jun/22 ver 5.913 fix mov(r64, imm64) on 32-bit env with XBYAK64
diff --git a/readme.txt b/readme.txt
index 9b3b034..c193ade 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 

-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.93

+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.94

 

 -----------------------------------------------------------------------------

 ◎概要

@@ -34,6 +34,7 @@
 Linuxではmake installで/usr/local/include/xbyakにコピーされます。

 -----------------------------------------------------------------------------

 ◎下位互換性の破れ

+* (Windows) `<winsock2.h>`をincludeしなくなったので必要なら明示的にincludeしてください。

 * XBYAK_USE_MMAP_ALLOCATORがデフォルトで有効になりました。従来の方式にする場合はXBYAK_DONT_USE_MMAP_ALLOCATORを定義してください。

 * Xbyak::Errorの型をenumからclassに変更

 ** 従来のenumの値をとるにはintにキャストしてください。

@@ -376,6 +377,7 @@
 -----------------------------------------------------------------------------

 ◎履歴

 

+2020/07/28 ver 5.94 #include <winsock2.h>の削除 (only windows)

 2020/07/21 ver 5.93 例外なしモード追加

 2020/06/30 ver 5.92 Intel AMX命令サポート (Thanks to nshustrov)

 2020/06/19 ver 5.913 32ビット環境でXBYAK64を定義したときのmov(r64, imm64)を修正

diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 1573b25..2cf2acf 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -72,7 +72,9 @@
 	#define XBYAK_STD_UNORDERED_MULTIMAP std::multimap
 #endif
 #ifdef _WIN32
-	#include <winsock2.h>
+	#ifndef WIN32_LEAN_AND_MEAN
+		#define WIN32_LEAN_AND_MEAN
+	#endif
 	#include <windows.h>
 	#include <malloc.h>
 	#define XBYAK_TLS __declspec(thread)
@@ -122,7 +124,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x5930 /* 0xABCD = A.BC(D) */
+	VERSION = 0x5940 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 9e15300..00dbf5e 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.93"; }
+const char *getVersionString() const { return "5.94"; }
 void adc(const Operand& op, uint32 imm) { opRM_I(op, imm, 0x10, 2); }
 void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); }
 void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); }