fixes Visual C++ compatibility

This commit is contained in:
frsyuki 2010-03-19 13:34:53 +09:00
parent 05a7e4eb64
commit 568704ed22
8 changed files with 351 additions and 280 deletions

View File

@ -11,3 +11,8 @@ nobase_include_HEADERS = \
msgpack/unpack_template.h \ msgpack/unpack_template.h \
msgpack/sysdep.h msgpack/sysdep.h
EXTRA_DIST = \
msgpack_vc8.vcproj \
msgpack_vc8.sln \
msgpack_vc8.postbuild.bat

View File

@ -19,8 +19,6 @@
#define MSGPACK_ZONE_H__ #define MSGPACK_ZONE_H__
#include "msgpack/sysdep.h" #include "msgpack/sysdep.h"
#include <stddef.h>
#include <stdbool.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@ -52,7 +52,7 @@ static int template_execute(template_context* ctx,
static inline msgpack_object template_callback_root(unpack_user* u) static inline msgpack_object template_callback_root(unpack_user* u)
{ msgpack_object o = {0}; return o; } { msgpack_object o = {}; return o; }
static inline int template_callback_uint8(unpack_user* u, uint8_t d, msgpack_object* o) static inline int template_callback_uint8(unpack_user* u, uint8_t d, msgpack_object* o)
{ o->type = MSGPACK_OBJECT_POSITIVE_INTEGER; o->via.u64 = d; return 0; } { o->type = MSGPACK_OBJECT_POSITIVE_INTEGER; o->via.u64 = d; return 0; }

View File

@ -30,7 +30,6 @@ bool msgpack_vrefbuffer_init(msgpack_vrefbuffer* vbuf,
vbuf->chunk_size = chunk_size; vbuf->chunk_size = chunk_size;
vbuf->ref_size = ref_size; vbuf->ref_size = ref_size;
// glibcは72バイト以下のmallocが高速
size_t nfirst = (sizeof(struct iovec) < 72/2) ? size_t nfirst = (sizeof(struct iovec) < 72/2) ?
72 / sizeof(struct iovec) : 8; 72 / sizeof(struct iovec) : 8;

View File

@ -1,6 +1,6 @@
AC_INIT(msgpack/unpack_template.h) AC_INIT(msgpack/unpack_template.h)
AC_CONFIG_AUX_DIR(ac) AC_CONFIG_AUX_DIR(ac)
AM_INIT_AUTOMAKE(msgpack, 0.4.2) AM_INIT_AUTOMAKE(msgpack, 0.4.3)
AC_CONFIG_HEADER(config.h) AC_CONFIG_HEADER(config.h)
AC_SUBST(CFLAGS) AC_SUBST(CFLAGS)

41
msgpack_vc8.postbuild.bat Normal file
View File

@ -0,0 +1,41 @@
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
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 c\msgpack.h include\
copy c\msgpack\sbuffer.h include\msgpack\
copy c\msgpack\vrefbuffer.h include\msgpack\
copy c\msgpack\pack.h include\msgpack\
copy c\msgpack\unpack.h include\msgpack\
copy c\msgpack\object.h include\msgpack\
copy c\msgpack\zone.h include\msgpack\
copy cpp\msgpack.hpp include\
copy cpp\msgpack\sbuffer.hpp include\msgpack\
copy cpp\msgpack\vrefbuffer.hpp include\msgpack\
copy cpp\msgpack\pack.hpp include\msgpack\
copy cpp\msgpack\unpack.hpp include\msgpack\
copy cpp\msgpack\object.hpp include\msgpack\
copy cpp\msgpack\zone.hpp include\msgpack\
copy cpp\msgpack\type.hpp include\msgpack\type\
copy cpp\msgpack\type\bool.hpp include\msgpack\type\
copy cpp\msgpack\type\float.hpp include\msgpack\type\
copy cpp\msgpack\type\int.hpp include\msgpack\type\
copy cpp\msgpack\type\list.hpp include\msgpack\type\
copy cpp\msgpack\type\deque.hpp include\msgpack\type\
copy cpp\msgpack\type\map.hpp include\msgpack\type\
copy cpp\msgpack\type\nil.hpp include\msgpack\type\
copy cpp\msgpack\type\pair.hpp include\msgpack\type\
copy cpp\msgpack\type\raw.hpp include\msgpack\type\
copy cpp\msgpack\type\set.hpp include\msgpack\type\
copy cpp\msgpack\type\string.hpp include\msgpack\type\
copy cpp\msgpack\type\vector.hpp include\msgpack\type\
copy cpp\msgpack\type\tuple.hpp include\msgpack\type\
copy cpp\msgpack\type\define.hpp include\msgpack\type\
copy cpp\msgpack\type\tr1\unordered_map.hpp include\msgpack\type\
copy cpp\msgpack\type\tr1\unordered_set.hpp include\msgpack\type\

20
msgpack_vc8.sln Normal file
View File

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessagePack", "msgpack_vc8.vcproj", "{122A2EA4-B283-4241-9655-786DE78283B2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{122A2EA4-B283-4241-9655-786DE78283B2}.Debug|Win32.ActiveCfg = Debug|Win32
{122A2EA4-B283-4241-9655-786DE78283B2}.Debug|Win32.Build.0 = Debug|Win32
{122A2EA4-B283-4241-9655-786DE78283B2}.Release|Win32.ActiveCfg = Release|Win32
{122A2EA4-B283-4241-9655-786DE78283B2}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

558
msgpack_vc8.vcproj Normal file → Executable file
View File

@ -1,275 +1,283 @@
<?xml version="1.0" encoding="shift_jis"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="8.00" Version="8.00"
Name="MessagePack" Name="MessagePack"
ProjectGUID="{122A2EA4-B283-4241-9655-786DE78283B2}" ProjectGUID="{122A2EA4-B283-4241-9655-786DE78283B2}"
RootNamespace="MessagePack" RootNamespace="MessagePack"
Keyword="Win32Proj" Keyword="Win32Proj"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> Description="Gathering header files"
<Tool CommandLine="msgpack_vc8.postbuild.bat"
Name="VCXMLDataGeneratorTool" Outputs="include"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCMIDLTool"
Optimization="0" />
AdditionalIncludeDirectories="cpp;c;." <Tool
PreprocessorDefinitions="WIN32;_DEBUG;_LIB" Name="VCCLCompilerTool"
MinimalRebuild="true" Optimization="0"
BasicRuntimeChecks="1" AdditionalIncludeDirectories="cpp;c;."
RuntimeLibrary="3" PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
UsePrecompiledHeader="0" MinimalRebuild="true"
WarningLevel="3" BasicRuntimeChecks="1"
Detect64BitPortabilityProblems="true" RuntimeLibrary="3"
DebugInformationFormat="4" UsePrecompiledHeader="0"
/> WarningLevel="3"
<Tool Detect64BitPortabilityProblems="true"
Name="VCManagedResourceCompilerTool" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCLibrarianTool"
/> OutputFile="lib\$(ProjectName)d.lib"
<Tool />
Name="VCXDCMakeTool" <Tool
/> Name="VCALinkTool"
<Tool />
Name="VCBscMakeTool" <Tool
/> Name="VCXDCMakeTool"
<Tool />
Name="VCFxCopTool" <Tool
/> Name="VCBscMakeTool"
<Tool />
Name="VCPostBuildEventTool" <Tool
/> Name="VCFxCopTool"
</Configuration> />
<Configuration <Tool
Name="Release|Win32" Name="VCPostBuildEventTool"
OutputDirectory="$(SolutionDir)$(ConfigurationName)" />
IntermediateDirectory="$(ConfigurationName)" </Configuration>
ConfigurationType="4" <Configuration
CharacterSet="1" Name="Release|Win32"
WholeProgramOptimization="1" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
> IntermediateDirectory="$(ConfigurationName)"
<Tool ConfigurationType="4"
Name="VCPreBuildEventTool" CharacterSet="1"
/> WholeProgramOptimization="1"
<Tool >
Name="VCCustomBuildTool" <Tool
/> Name="VCPreBuildEventTool"
<Tool />
Name="VCXMLDataGeneratorTool" <Tool
/> Name="VCCustomBuildTool"
<Tool Description="Gathering header files"
Name="VCWebServiceProxyGeneratorTool" CommandLine="msgpack_vc8.postbuild.bat"
/> Outputs="include"
<Tool />
Name="VCMIDLTool" <Tool
/> Name="VCXMLDataGeneratorTool"
<Tool />
Name="VCCLCompilerTool" <Tool
AdditionalIncludeDirectories="cpp;c;." Name="VCWebServiceProxyGeneratorTool"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB" />
RuntimeLibrary="2" <Tool
UsePrecompiledHeader="0" Name="VCMIDLTool"
WarningLevel="3" />
Detect64BitPortabilityProblems="true" <Tool
DebugInformationFormat="3" Name="VCCLCompilerTool"
/> AdditionalIncludeDirectories="cpp;c;."
<Tool PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
Name="VCManagedResourceCompilerTool" RuntimeLibrary="2"
/> UsePrecompiledHeader="0"
<Tool WarningLevel="3"
Name="VCResourceCompilerTool" Detect64BitPortabilityProblems="true"
/> DebugInformationFormat="3"
<Tool />
Name="VCPreLinkEventTool" <Tool
/> Name="VCManagedResourceCompilerTool"
<Tool />
Name="VCLibrarianTool" <Tool
/> Name="VCResourceCompilerTool"
<Tool />
Name="VCALinkTool" <Tool
/> Name="VCPreLinkEventTool"
<Tool />
Name="VCXDCMakeTool" <Tool
/> Name="VCLibrarianTool"
<Tool OutputFile="lib\$(ProjectName).lib"
Name="VCBscMakeTool" />
/> <Tool
<Tool Name="VCALinkTool"
Name="VCFxCopTool" />
/> <Tool
<Tool Name="VCXDCMakeTool"
Name="VCPostBuildEventTool" />
/> <Tool
</Configuration> Name="VCBscMakeTool"
</Configurations> />
<References> <Tool
</References> Name="VCFxCopTool"
<Files> />
<Filter <Tool
Name="ソース ファイル" Name="VCPostBuildEventTool"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" />
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" </Configuration>
> </Configurations>
<File <References>
RelativePath=".\c\object.c" </References>
> <Files>
<FileConfiguration <Filter
Name="Debug|Win32" Name="Source Files"
> Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
<Tool UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
Name="VCCLCompilerTool" >
ObjectFile="$(IntDir)\$(InputName)1.obj" <File
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" RelativePath=".\c\object.c"
CompileAs="2" >
/> <FileConfiguration
</FileConfiguration> Name="Debug|Win32"
<FileConfiguration >
Name="Release|Win32" <Tool
> Name="VCCLCompilerTool"
<Tool ObjectFile="$(IntDir)\$(InputName)1.obj"
Name="VCCLCompilerTool" XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
ObjectFile="$(IntDir)\$(InputName)1.obj" CompileAs="2"
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" />
CompileAs="2" </FileConfiguration>
/> <FileConfiguration
</FileConfiguration> Name="Release|Win32"
</File> >
<File <Tool
RelativePath=".\cpp\object.cpp" Name="VCCLCompilerTool"
> ObjectFile="$(IntDir)\$(InputName)1.obj"
</File> XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
<File CompileAs="2"
RelativePath=".\c\unpack.c" />
> </FileConfiguration>
<FileConfiguration </File>
Name="Debug|Win32" <File
> RelativePath=".\cpp\object.cpp"
<Tool >
Name="VCCLCompilerTool" </File>
CompileAs="2" <File
/> RelativePath=".\c\unpack.c"
</FileConfiguration> >
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Debug|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
CompileAs="2" CompileAs="2"
/> />
</FileConfiguration> </FileConfiguration>
</File> <FileConfiguration
<File Name="Release|Win32"
RelativePath=".\c\vrefbuffer.c" >
> <Tool
<FileConfiguration Name="VCCLCompilerTool"
Name="Debug|Win32" CompileAs="2"
> />
<Tool </FileConfiguration>
Name="VCCLCompilerTool" </File>
CompileAs="2" <File
/> RelativePath=".\c\vrefbuffer.c"
</FileConfiguration> >
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Debug|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
CompileAs="2" CompileAs="2"
/> />
</FileConfiguration> </FileConfiguration>
</File> <FileConfiguration
<File Name="Release|Win32"
RelativePath=".\c\zone.c" >
> <Tool
<FileConfiguration Name="VCCLCompilerTool"
Name="Debug|Win32" CompileAs="2"
> />
<Tool </FileConfiguration>
Name="VCCLCompilerTool" </File>
CompileAs="2" <File
/> RelativePath=".\c\zone.c"
</FileConfiguration> >
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Debug|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
CompileAs="2" CompileAs="2"
/> />
</FileConfiguration> </FileConfiguration>
</File> <FileConfiguration
</Filter> Name="Release|Win32"
<Filter >
Name="ヘッダー ファイル" <Tool
Filter="h;hpp;hxx;hm;inl;inc;xsd" Name="VCCLCompilerTool"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" CompileAs="2"
> />
<File </FileConfiguration>
RelativePath=".\msgpack\pack_define.h" </File>
> </Filter>
</File> <Filter
<File Name="Header Files"
RelativePath=".\msgpack\pack_template.h" Filter="h;hpp;hxx;hm;inl;inc;xsd"
> UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
</File> >
<File <File
RelativePath=".\msgpack\sysdep.h" RelativePath=".\msgpack\pack_define.h"
> >
</File> </File>
<File <File
RelativePath=".\msgpack\unpack_define.h" RelativePath=".\msgpack\pack_template.h"
> >
</File> </File>
<File <File
RelativePath=".\msgpack\unpack_template.h" RelativePath=".\msgpack\sysdep.h"
> >
</File> </File>
</Filter> <File
<Filter RelativePath=".\msgpack\unpack_define.h"
Name="リソース ファイル" >
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" </File>
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" <File
> RelativePath=".\msgpack\unpack_template.h"
</Filter> >
</Files> </File>
<Globals> </Filter>
</Globals> <Filter
</VisualStudioProject> Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>