From 05b8c00ee78b5806814f133f6ccd33148d1e13a0 Mon Sep 17 00:00:00 2001
From: frsyuki <frsyuki@users.sourceforge.jp>
Date: Sun, 18 Apr 2010 00:39:45 +0900
Subject: [PATCH] cpp: fixes windows compatibility

---
 cpp/Makefile.am               |  6 +++---
 cpp/bootstrap                 |  2 +-
 cpp/msgpack_test.cpp          |  4 ++--
 cpp/msgpack_vc8.postbuild.bat | 20 +++++++-------------
 cpp/msgpack_vc8.vcproj        | 18 +++++++++---------
 cpp/preprocess                |  1 +
 cpp/unpack.c                  |  2 +-
 7 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/cpp/Makefile.am b/cpp/Makefile.am
index aba7e280..a297ba71 100644
--- a/cpp/Makefile.am
+++ b/cpp/Makefile.am
@@ -68,21 +68,21 @@ libmsgpack_la_CXXFLAGS = $(AM_CXXFLAGS)
 
 
 EXTRA_DIST = \
+		README.md \
+		LICENSE \
+		NOTICE \
 		msgpack_vc8.vcproj \
 		msgpack_vc8.sln \
 		msgpack_vc8.postbuild.bat
 
-
 check_PROGRAMS = \
 		msgpackc_test \
 		msgpack_test
 
 msgpackc_test_SOURCES = msgpackc_test.cpp
-msgpackc_test_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/c
 msgpackc_test_LDADD = libmsgpackc.la -lgtest_main
 
 msgpack_test_SOURCES = msgpack_test.cpp
-msgpack_test_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/c -I$(top_srcdir)/cpp
 msgpack_test_LDADD = libmsgpack.la -lgtest_main
 
 TESTS = $(check_PROGRAMS)
diff --git a/cpp/bootstrap b/cpp/bootstrap
index 4a04e0a4..a95c3044 100755
--- a/cpp/bootstrap
+++ b/cpp/bootstrap
@@ -36,7 +36,7 @@ test -f AUTHORS   || touch AUTHORS
 test -f COPYING   || touch COPYING
 test -f ChangeLog || touch ChangeLog
 test -f NEWS      || touch NEWS
-test -f README    || touch README
+test -f README    || cp -f README.md README
 
 if ! ./preprocess; then
 	exit 1
diff --git a/cpp/msgpack_test.cpp b/cpp/msgpack_test.cpp
index 113914ab..0dd0ffc6 100644
--- a/cpp/msgpack_test.cpp
+++ b/cpp/msgpack_test.cpp
@@ -438,7 +438,7 @@ TEST(MSGPACK_STL, simple_buffer_multiset)
 
 #ifdef HAVE_TR1_UNORDERED_MAP
 #include <tr1/unordered_map>
-#include "cpp/msgpack/type/tr1/unordered_map.hpp"
+#include "msgpack/type/tr1/unordered_map.hpp"
 TEST(MSGPACK_TR1, simple_buffer_unordered_map)
 {
   for (unsigned int k = 0; k < kLoop; k++) {
@@ -499,7 +499,7 @@ TEST(MSGPACK_TR1, simple_buffer_unordered_multimap)
 
 #ifdef HAVE_TR1_UNORDERED_SET
 #include <tr1/unordered_set>
-#include "cpp/msgpack/type/tr1/unordered_set.hpp"
+#include "msgpack/type/tr1/unordered_set.hpp"
 TEST(MSGPACK_TR1, simple_buffer_unordered_set)
 {
   for (unsigned int k = 0; k < kLoop; k++) {
diff --git a/cpp/msgpack_vc8.postbuild.bat b/cpp/msgpack_vc8.postbuild.bat
index 1bdfabe7..bae13f37 100644
--- a/cpp/msgpack_vc8.postbuild.bat
+++ b/cpp/msgpack_vc8.postbuild.bat
@@ -2,22 +2,15 @@ IF NOT EXIST include                  MKDIR include
 IF NOT EXIST include\msgpack          MKDIR include\msgpack
 IF NOT EXIST include\msgpack\type     MKDIR include\msgpack\type
 IF NOT EXIST include\msgpack\type\tr1 MKDIR include\msgpack\type\tr1
-IF EXIST bootstrap (
-	copy ..\msgpack\pack_define.h      include\msgpack\
-	copy ..\msgpack\pack_template.h    include\msgpack\
-	copy ..\msgpack\unpack_define.h    include\msgpack\
-	copy ..\msgpack\unpack_template.h  include\msgpack\
-	copy ..\msgpack\sysdep.h           include\msgpack\
-) ELSE (
-	copy msgpack\pack_define.h      include\msgpack\
-	copy msgpack\pack_template.h    include\msgpack\
-	copy msgpack\unpack_define.h    include\msgpack\
-	copy msgpack\unpack_template.h  include\msgpack\
-	copy msgpack\sysdep.h           include\msgpack\
-)
+copy msgpack\pack_define.h      include\msgpack\
+copy msgpack\pack_template.h    include\msgpack\
+copy msgpack\unpack_define.h    include\msgpack\
+copy msgpack\unpack_template.h  include\msgpack\
+copy msgpack\sysdep.h           include\msgpack\
 copy msgpack.h                     include\
 copy msgpack\sbuffer.h             include\msgpack\
 copy msgpack\vrefbuffer.h          include\msgpack\
+copy msgpack\zbuffer.h             include\msgpack\
 copy msgpack\pack.h                include\msgpack\
 copy msgpack\unpack.h              include\msgpack\
 copy msgpack\object.h              include\msgpack\
@@ -25,6 +18,7 @@ copy msgpack\zone.h                include\msgpack\
 copy msgpack.hpp                   include\
 copy msgpack\sbuffer.hpp           include\msgpack\
 copy msgpack\vrefbuffer.hpp        include\msgpack\
+copy msgpack\zbuffer.hpp           include\msgpack\
 copy msgpack\pack.hpp              include\msgpack\
 copy msgpack\unpack.hpp            include\msgpack\
 copy msgpack\object.hpp            include\msgpack\
diff --git a/cpp/msgpack_vc8.vcproj b/cpp/msgpack_vc8.vcproj
index a3fa28fb..2a0eebe8 100644
--- a/cpp/msgpack_vc8.vcproj
+++ b/cpp/msgpack_vc8.vcproj
@@ -43,7 +43,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="cpp;c;."
+				AdditionalIncludeDirectories="."
 				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="1"
@@ -64,7 +64,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="lib\$(ProjectName)d.lib"
+				OutputFile="lib\msgpackd.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -110,7 +110,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="cpp;c;."
+				AdditionalIncludeDirectories="."
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="0"
@@ -129,7 +129,7 @@
 			/>
 			<Tool
 				Name="VCLibrarianTool"
-				OutputFile="lib\$(ProjectName).lib"
+				OutputFile="lib\msgpack.lib"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -157,7 +157,7 @@
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
 			>
 			<File
-				RelativePath=".\c\object.c"
+				RelativePath=".\object.c"
 				>
 				<FileConfiguration
 					Name="Debug|Win32"
@@ -181,11 +181,11 @@
 				</FileConfiguration>
 			</File>
 			<File
-				RelativePath=".\cpp\object.cpp"
+				RelativePath=".\object.cpp"
 				>
 			</File>
 			<File
-				RelativePath=".\c\unpack.c"
+				RelativePath=".\unpack.c"
 				>
 				<FileConfiguration
 					Name="Debug|Win32"
@@ -205,7 +205,7 @@
 				</FileConfiguration>
 			</File>
 			<File
-				RelativePath=".\c\vrefbuffer.c"
+				RelativePath=".\vrefbuffer.c"
 				>
 				<FileConfiguration
 					Name="Debug|Win32"
@@ -225,7 +225,7 @@
 				</FileConfiguration>
 			</File>
 			<File
-				RelativePath=".\c\zone.c"
+				RelativePath=".\zone.c"
 				>
 				<FileConfiguration
 					Name="Debug|Win32"
diff --git a/cpp/preprocess b/cpp/preprocess
index 63af4c6b..80a8357a 100755
--- a/cpp/preprocess
+++ b/cpp/preprocess
@@ -14,6 +14,7 @@ preprocess() {
 preprocess msgpack/type/tuple.hpp
 preprocess msgpack/type/define.hpp
 preprocess msgpack/zone.hpp
+cp -f ../msgpack/sysdep.h          msgpack/
 cp -f ../msgpack/pack_define.h     msgpack/
 cp -f ../msgpack/pack_template.h   msgpack/
 cp -f ../msgpack/unpack_define.h   msgpack/
diff --git a/cpp/unpack.c b/cpp/unpack.c
index 43349743..98c86536 100644
--- a/cpp/unpack.c
+++ b/cpp/unpack.c
@@ -216,7 +216,7 @@ bool msgpack_unpacker_init(msgpack_unpacker* mpac, size_t initial_buffer_size)
 void msgpack_unpacker_destroy(msgpack_unpacker* mpac)
 {
 	msgpack_zone_free(mpac->z);
-	template_destroy(mpac->ctx);
+	template_destroy(CTX_CAST(mpac->ctx));
 	free(mpac->ctx);
 	decl_count(mpac->buffer);
 }