summaryrefslogtreecommitdiff
path: root/pjlib-util
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2014-01-16 05:30:46 +0000
committerLiong Sauw Ming <ming@teluu.com>2014-01-16 05:30:46 +0000
commite56ea14ab8531ee3cec375460577d1b89bf62e26 (patch)
treedf77c3acb961514b2022ee9e030071b691145920 /pjlib-util
parentbd1c47e995a3a844868f1d4dcc8f77f163ae721b (diff)
Closed #1723: Merging pjsua2 branch into trunk
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4704 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib-util')
-rw-r--r--pjlib-util/build/Makefile4
-rw-r--r--pjlib-util/build/pjlib_util.vcproj754
-rw-r--r--pjlib-util/build/pjlib_util_test.vcproj706
-rw-r--r--pjlib-util/include/pjlib-util.h3
-rw-r--r--pjlib-util/include/pjlib-util/errno.h9
-rw-r--r--pjlib-util/include/pjlib-util/json.h228
-rw-r--r--pjlib-util/src/pjlib-util-test/json_test.c106
-rw-r--r--pjlib-util/src/pjlib-util-test/test.c4
-rw-r--r--pjlib-util/src/pjlib-util-test/test.h2
-rw-r--r--pjlib-util/src/pjlib-util/errno.c3
-rw-r--r--pjlib-util/src/pjlib-util/json.c621
11 files changed, 1714 insertions, 726 deletions
diff --git a/pjlib-util/build/Makefile b/pjlib-util/build/Makefile
index 33c82879..7dc1a82b 100644
--- a/pjlib-util/build/Makefile
+++ b/pjlib-util/build/Makefile
@@ -38,7 +38,7 @@ export PJLIB_UTIL_SRCDIR = ../src/pjlib-util
export PJLIB_UTIL_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
base64.o cli.o cli_console.o cli_telnet.o crc32.o errno.o dns.o \
dns_dump.o dns_server.o getopt.o hmac_md5.o hmac_sha1.o \
- http_client.o md5.o pcap.o resolver.o scanner.o sha1.o \
+ http_client.o json.o md5.o pcap.o resolver.o scanner.o sha1.o \
srv_resolver.o string.o stun_simple.o \
stun_simple_client.o xml.o
export PJLIB_UTIL_CFLAGS += $(_CFLAGS)
@@ -50,7 +50,7 @@ export PJLIB_UTIL_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS)
#
export UTIL_TEST_SRCDIR = ../src/pjlib-util-test
export UTIL_TEST_OBJS += xml.o encryption.o stun.o resolver_test.o test.o \
- http_client.o
+ json_test.o http_client.o
export UTIL_TEST_CFLAGS += $(_CFLAGS)
export UTIL_TEST_CXXFLAGS += $(_CXXFLAGS)
export UTIL_TEST_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS)
diff --git a/pjlib-util/build/pjlib_util.vcproj b/pjlib-util/build/pjlib_util.vcproj
index 6872cabc..a00959d2 100644
--- a/pjlib-util/build/pjlib_util.vcproj
+++ b/pjlib-util/build/pjlib_util.vcproj
@@ -285,12 +285,11 @@
/>
</Configuration>
<Configuration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -309,6 +308,7 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -324,7 +324,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -336,16 +336,24 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -382,7 +390,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -409,11 +417,12 @@
/>
</Configuration>
<Configuration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Debug|Win32"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
+ UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -432,7 +441,6 @@
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -448,7 +456,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -460,27 +468,18 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Debug|x64"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -496,14 +495,13 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
- DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -516,7 +514,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -528,19 +526,26 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Debug-Static|Win32"
+ Name="Debug|Smartphone 2003 (ARMV4)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -559,6 +564,7 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -574,7 +580,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -586,18 +592,27 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Debug-Static|Pocket PC 2003 (ARMV4)"
+ Name="Debug|x64"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
+ UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -613,13 +628,14 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
+ DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -632,7 +648,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -644,24 +660,16 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Debug-Static|Smartphone 2003 (ARMV4)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -698,7 +706,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -725,12 +733,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Static|x64"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -746,14 +753,13 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
- DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -766,7 +772,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -778,16 +784,24 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Release-Dynamic|Win32"
+ Name="Debug-Static|Win32"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@@ -843,9 +857,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Pocket PC 2003 (ARMV4)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -909,9 +923,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Debug-Static|Smartphone 2003 (ARMV4)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -975,9 +989,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|x64"
+ Name="Debug-Static|x64"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@@ -1003,6 +1017,7 @@
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
+ DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -1034,12 +1049,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Win32"
+ Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1058,6 +1072,7 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -1073,7 +1088,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1085,16 +1100,24 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1131,7 +1154,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1158,11 +1181,12 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Win32"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1181,7 +1205,6 @@
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -1197,7 +1220,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1209,27 +1232,18 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Debug-Dynamic|x64"
+ Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1245,14 +1259,13 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
- DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -1265,7 +1278,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1277,19 +1290,26 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Release-Static|Win32"
+ Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1308,6 +1328,7 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -1323,7 +1344,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1335,18 +1356,27 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Release-Static|Pocket PC 2003 (ARMV4)"
+ Name="Release-Dynamic|x64"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
+ UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1362,10 +1392,10 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -1381,7 +1411,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1393,24 +1423,16 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Release-Static|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1447,7 +1469,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1474,12 +1496,11 @@
/>
</Configuration>
<Configuration
- Name="Release-Static|x64"
+ Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="4"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1495,10 +1516,10 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
@@ -1514,7 +1535,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1526,18 +1547,27 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
+ />
+ <DebuggerTool
+ />
</Configuration>
<Configuration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Debug-Dynamic|Win32"
ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1556,9 +1586,8 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1572,7 +1601,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1584,26 +1613,18 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
+ Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1622,9 +1643,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1638,7 +1659,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1665,11 +1686,11 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
+ ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1688,9 +1709,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1704,7 +1725,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1731,11 +1752,12 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Debug-Dynamic|x64"
ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1751,13 +1773,14 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
+ DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -1770,7 +1793,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1782,26 +1805,18 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1820,9 +1835,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1863,11 +1878,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1886,9 +1901,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1929,11 +1944,12 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Release-Static|Win32"
ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1952,9 +1968,8 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1968,7 +1983,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -1980,26 +1995,18 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
+ Name="Release-Static|Pocket PC 2003 (ARMV4)"
+ ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2018,9 +2025,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -2034,7 +2041,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -2061,11 +2068,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Release-Static|Smartphone 2003 (ARMV4)"
+ ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2084,9 +2091,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -2100,7 +2107,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -2127,11 +2134,12 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Release-Static|x64"
ConfigurationType="4"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2147,12 +2155,12 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -2166,7 +2174,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib"
+ OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
/>
<Tool
Name="VCALinkTool"
@@ -2178,26 +2186,18 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ConfigurationType="4"
InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2216,9 +2216,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -2260,10 +2260,10 @@
</Configuration>
<Configuration
Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ConfigurationType="4"
InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2282,9 +2282,9 @@
/>
<Tool
Name="VCCLCompilerTool"
- PreprocessorDefinitions="_LIB;"
ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_LIB;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -3933,6 +3933,10 @@
>
</File>
<File
+ RelativePath="..\src\pjlib-util\json.c"
+ >
+ </File>
+ <File
RelativePath="..\src\pjlib-util\md5.c"
>
<FileConfiguration
@@ -4312,17 +4316,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4330,43 +4332,43 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Win32"
+ Name="Debug|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Pocket PC 2003 (ARMV4)"
+ Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Smartphone 2003 (ARMV4)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4374,17 +4376,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|x64"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Win32"
+ Name="Debug-Static|Win32"
ExcludedFromBuild="true"
>
<Tool
@@ -4394,7 +4394,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4402,7 +4402,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Debug-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4410,7 +4410,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|x64"
+ Name="Debug-Static|x64"
ExcludedFromBuild="true"
>
<Tool
@@ -4420,17 +4420,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Win32"
+ Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4438,43 +4436,43 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|x64"
+ Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Win32"
+ Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Pocket PC 2003 (ARMV4)"
+ Name="Release-Dynamic|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4482,25 +4480,25 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|x64"
+ Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4508,7 +4506,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4516,15 +4514,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4532,7 +4532,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4540,15 +4540,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release-Static|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Release-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4556,7 +4558,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4564,11 +4566,13 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Release-Static|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
@@ -4724,17 +4728,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4742,43 +4744,43 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Win32"
+ Name="Debug|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Pocket PC 2003 (ARMV4)"
+ Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Smartphone 2003 (ARMV4)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4786,17 +4788,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|x64"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Win32"
+ Name="Debug-Static|Win32"
ExcludedFromBuild="true"
>
<Tool
@@ -4806,7 +4806,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4814,7 +4814,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Debug-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4822,7 +4822,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|x64"
+ Name="Debug-Static|x64"
ExcludedFromBuild="true"
>
<Tool
@@ -4832,17 +4832,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Win32"
+ Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4850,43 +4848,43 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|x64"
+ Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Win32"
+ Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Pocket PC 2003 (ARMV4)"
+ Name="Release-Dynamic|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4894,25 +4892,25 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|x64"
+ Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4920,7 +4918,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4928,15 +4926,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4944,7 +4944,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -4952,15 +4952,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release-Static|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Release-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4968,7 +4970,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -4976,11 +4978,13 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Release-Static|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
@@ -5586,16 +5590,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -5603,41 +5606,41 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Win32"
+ Name="Debug|Smartphone 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Pocket PC 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Smartphone 2003 (ARMV4)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -5645,16 +5648,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|x64"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Win32"
+ Name="Debug-Static|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -5663,7 +5665,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -5671,7 +5673,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Debug-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -5679,7 +5681,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|x64"
+ Name="Debug-Static|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -5688,16 +5690,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Win32"
+ Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -5705,41 +5706,41 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Release-Dynamic|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|x64"
+ Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Win32"
+ Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Pocket PC 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Release-Dynamic|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -5747,24 +5748,24 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|x64"
+ Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Debug-Dynamic|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -5772,7 +5773,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -5780,15 +5781,16 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Debug-Dynamic|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -5796,7 +5798,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -5804,15 +5806,16 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Release-Static|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Release-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -5820,7 +5823,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -5828,11 +5831,12 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Release-Static|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
@@ -6122,6 +6126,10 @@
>
</File>
<File
+ RelativePath="..\include\pjlib-util\json.h"
+ >
+ </File>
+ <File
RelativePath="..\include\pjlib-util\md5.h"
>
</File>
diff --git a/pjlib-util/build/pjlib_util_test.vcproj b/pjlib-util/build/pjlib_util_test.vcproj
index e810251e..ff871ca8 100644
--- a/pjlib-util/build/pjlib_util_test.vcproj
+++ b/pjlib-util/build/pjlib_util_test.vcproj
@@ -306,12 +306,11 @@
/>
</Configuration>
<Configuration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -330,8 +329,8 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
- PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -345,38 +344,37 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="ws2.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCManifestTool"
- />
- <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCAppVerifierTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCWebDeploymentTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -413,7 +411,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -440,11 +438,12 @@
/>
</Configuration>
<Configuration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Debug|Win32"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
+ UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -463,8 +462,8 @@
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -478,40 +477,40 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
+ Name="VCManifestTool"
+ />
+ <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
+ Name="VCAppVerifierTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
+ <Tool
+ Name="VCWebDeploymentTool"
/>
- <DebuggerTool
+ <Tool
+ Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
- Name="Debug|x64"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -527,14 +526,12 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
- PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
- DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -547,42 +544,39 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
- TargetMachine="17"
+ AdditionalDependencies="ws2.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCManifestTool"
- />
- <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCAppVerifierTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCWebDeploymentTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Debug-Static|Win32"
+ Name="Debug|Smartphone 2003 (ARMV4)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -601,8 +595,8 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
- PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -616,40 +610,40 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="ws2.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCManifestTool"
- />
- <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCAppVerifierTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCWebDeploymentTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Debug-Static|Pocket PC 2003 (ARMV4)"
+ Name="Debug|x64"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
+ UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -665,12 +659,14 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
+ DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -683,37 +679,39 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
+ Name="VCManifestTool"
+ />
+ <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
+ Name="VCAppVerifierTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
+ <Tool
+ Name="VCWebDeploymentTool"
/>
- <DebuggerTool
+ <Tool
+ Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
- Name="Debug-Static|Smartphone 2003 (ARMV4)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -750,7 +748,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -777,12 +775,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Static|x64"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -798,14 +795,12 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
- PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
- DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -818,39 +813,37 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
- TargetMachine="17"
+ AdditionalDependencies="ws2.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCManifestTool"
- />
- <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCAppVerifierTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCWebDeploymentTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Win32"
+ Name="Debug-Static|Win32"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@@ -916,9 +909,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Pocket PC 2003 (ARMV4)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -982,9 +975,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Debug-Static|Smartphone 2003 (ARMV4)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1048,9 +1041,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|x64"
+ Name="Debug-Static|x64"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@@ -1076,6 +1069,7 @@
AdditionalIncludeDirectories="../include,../../pjlib/include"
PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
+ DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -1118,12 +1112,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Win32"
+ Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1142,8 +1135,8 @@
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
- PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -1157,38 +1150,37 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="ws2.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCManifestTool"
- />
- <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCAppVerifierTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCWebDeploymentTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1225,7 +1217,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -1252,9 +1244,77 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Win32"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_CONSOLE;"
+ PrecompiledHeaderFile=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1291,7 +1351,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -1318,12 +1378,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|x64"
+ Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
- UseOfMFC="0"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
+ CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1339,14 +1398,12 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
- PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
- DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -1359,39 +1416,37 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
- TargetMachine="17"
+ AdditionalDependencies="ws2.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCManifestTool"
- />
- <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCFxCopTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCAppVerifierTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCWebDeploymentTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Release-Static|Win32"
+ Name="Release-Dynamic|x64"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@@ -1410,6 +1465,7 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
@@ -1430,6 +1486,7 @@
Name="VCLinkerTool"
AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -1457,9 +1514,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Static|Pocket PC 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1496,7 +1553,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -1523,9 +1580,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Static|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
@@ -1562,7 +1619,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -1589,9 +1646,9 @@
/>
</Configuration>
<Configuration
- Name="Release-Static|x64"
+ Name="Debug-Dynamic|Win32"
ConfigurationType="1"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@@ -1610,7 +1667,6 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
@@ -1631,7 +1687,6 @@
Name="VCLinkerTool"
AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
- TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -1659,11 +1714,11 @@
/>
</Configuration>
<Configuration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
+ Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1698,7 +1753,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -1725,11 +1780,11 @@
/>
</Configuration>
<Configuration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
+ Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1764,7 +1819,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -1791,11 +1846,12 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Debug-Dynamic|x64"
ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1811,12 +1867,14 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
+ DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -1829,105 +1887,41 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCCodeSignTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
- </Configuration>
- <Configuration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- ExecutionBucket="7"
- AdditionalIncludeDirectories="../include,../../pjlib/include"
- PrecompiledHeaderFile=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
+ Name="VCManifestTool"
/>
<Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
+ Name="VCXDCMakeTool"
/>
<Tool
- Name="VCALinkTool"
+ Name="VCBscMakeTool"
/>
<Tool
- Name="VCXDCMakeTool"
+ Name="VCFxCopTool"
/>
<Tool
- Name="VCBscMakeTool"
+ Name="VCAppVerifierTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -1989,11 +1983,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2055,11 +2049,12 @@
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Release-Static|Win32"
ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2078,8 +2073,8 @@
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -2093,39 +2088,40 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
+ Name="VCManifestTool"
+ />
+ <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
+ Name="VCAppVerifierTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
+ <Tool
+ Name="VCWebDeploymentTool"
/>
- <DebuggerTool
+ <Tool
+ Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
- Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
+ Name="Release-Static|Pocket PC 2003 (ARMV4)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2160,7 +2156,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -2187,11 +2183,11 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
+ Name="Release-Static|Smartphone 2003 (ARMV4)"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2226,7 +2222,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe"
/>
<Tool
Name="VCALinkTool"
@@ -2253,11 +2249,12 @@
/>
</Configuration>
<Configuration
- Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
- InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
+ Name="Release-Static|x64"
ConfigurationType="1"
+ InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2273,11 +2270,12 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
AdditionalIncludeDirectories="../include,../../pjlib/include"
+ PreprocessorDefinitions="_CONSOLE;"
PrecompiledHeaderFile=""
/>
<Tool
@@ -2291,39 +2289,41 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="ws2.lib"
- OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe"
+ AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib"
+ OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
+ Name="VCManifestTool"
+ />
+ <Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
+ Name="VCAppVerifierTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
+ <Tool
+ Name="VCWebDeploymentTool"
/>
- <DebuggerTool
+ <Tool
+ Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ConfigurationType="1"
InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -2386,10 +2386,10 @@
</Configuration>
<Configuration
Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ConfigurationType="1"
InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
- ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -3259,6 +3259,10 @@
>
</File>
<File
+ RelativePath="..\src\pjlib-util-test\json_test.c"
+ >
+ </File>
+ <File
RelativePath="..\src\pjlib-util-test\main.c"
>
<FileConfiguration
@@ -3296,16 +3300,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -3313,41 +3316,41 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|x64"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Win32"
+ Name="Debug|Smartphone 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Pocket PC 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Smartphone 2003 (ARMV4)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -3355,16 +3358,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|x64"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Win32"
+ Name="Debug-Static|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -3373,7 +3375,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -3381,7 +3383,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ Name="Debug-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -3389,7 +3391,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|x64"
+ Name="Debug-Static|x64"
>
<Tool
Name="VCCLCompilerTool"
@@ -3398,16 +3400,15 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Win32"
+ Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
+ Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -3415,41 +3416,41 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Release-Dynamic|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|x64"
+ Name="Release-Dynamic|Pocket PC 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Win32"
+ Name="Release-Dynamic|Smartphone 2003 (ARMV4)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Pocket PC 2003 (ARMV4)"
- ExcludedFromBuild="true"
+ Name="Release-Dynamic|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|Smartphone 2003 (ARMV4)"
+ Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -3457,24 +3458,24 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Static|x64"
+ Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Debug-Dynamic|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -3482,7 +3483,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -3490,15 +3491,16 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Debug-Dynamic|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -3506,7 +3508,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
ExcludedFromBuild="true"
>
<Tool
@@ -3514,15 +3516,16 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Release-Static|Win32"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Release-Static|Pocket PC 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -3530,7 +3533,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release-Static|Smartphone 2003 (ARMV4)"
ExcludedFromBuild="true"
>
<Tool
@@ -3538,11 +3541,12 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)"
- ExcludedFromBuild="true"
+ Name="Release-Static|x64"
>
<Tool
Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
diff --git a/pjlib-util/include/pjlib-util.h b/pjlib-util/include/pjlib-util.h
index e020d5b0..334e73c9 100644
--- a/pjlib-util/include/pjlib-util.h
+++ b/pjlib-util/include/pjlib-util.h
@@ -55,6 +55,9 @@
/* XML */
#include <pjlib-util/xml.h>
+/* JSON */
+#include <pjlib-util/json.h>
+
/* Old STUN */
#include <pjlib-util/stun_simple.h>
diff --git a/pjlib-util/include/pjlib-util/errno.h b/pjlib-util/include/pjlib-util/errno.h
index e224c6a9..8fa99b1b 100644
--- a/pjlib-util/include/pjlib-util/errno.h
+++ b/pjlib-util/include/pjlib-util/errno.h
@@ -117,6 +117,15 @@
#define PJLIB_UTIL_EINXML (PJLIB_UTIL_ERRNO_START+20) /* 320020 */
+/************************************************************
+ * JSON ERROR
+ ***********************************************************/
+/**
+ * @hideinitializer
+ * General invalid JSON message.
+ */
+#define PJLIB_UTIL_EINJSON (PJLIB_UTIL_ERRNO_START+30) /* 320030 */
+
/************************************************************
* DNS ERROR
diff --git a/pjlib-util/include/pjlib-util/json.h b/pjlib-util/include/pjlib-util/json.h
new file mode 100644
index 00000000..56d55b46
--- /dev/null
+++ b/pjlib-util/include/pjlib-util/json.h
@@ -0,0 +1,228 @@
+/* $Id$ */
+/*
+ * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#ifndef __PJLIB_UTIL_JSON_H__
+#define __PJLIB_UTIL_JSON_H__
+
+
+/**
+ * @file json.h
+ * @brief PJLIB JSON Implementation
+ */
+
+#include <pj/types.h>
+#include <pj/list.h>
+#include <pj/pool.h>
+
+PJ_BEGIN_DECL
+
+/**
+ * @defgroup PJ_JSON JSON Writer and Loader
+ * @ingroup PJ_FILE_FMT
+ * @{
+ * This API implements JSON file format according to RFC 4627. It can be used
+ * to parse, write, and manipulate JSON documents.
+ */
+
+/**
+ * Type of JSON value.
+ */
+typedef enum pj_json_val_type
+{
+ PJ_JSON_VAL_NULL, /**< Null value (null) */
+ PJ_JSON_VAL_BOOL, /**< Boolean value (true, false) */
+ PJ_JSON_VAL_NUMBER, /**< Numeric (float or fixed point) */
+ PJ_JSON_VAL_STRING, /**< Literal string value. */
+ PJ_JSON_VAL_ARRAY, /**< Array */
+ PJ_JSON_VAL_OBJ /**< Object. */
+} pj_json_val_type;
+
+/* Forward declaration for JSON element */
+typedef struct pj_json_elem pj_json_elem;
+
+/**
+ * JSON list to store child elements.
+ */
+typedef struct pj_json_list
+{
+ PJ_DECL_LIST_MEMBER(pj_json_elem);
+} pj_json_list;
+
+/**
+ * This represents JSON element. A JSON element is basically a name/value
+ * pair, where the name is a string and the value can be one of null, boolean
+ * (true and false constants), number, string, array (containing zero or more
+ * elements), or object. An object can be viewed as C struct, that is a
+ * compound element containing other elements, each having name/value pair.
+ */
+struct pj_json_elem
+{
+ PJ_DECL_LIST_MEMBER(pj_json_elem);
+ pj_str_t name; /**< ELement name. */
+ pj_json_val_type type; /**< Element type. */
+ union
+ {
+ pj_bool_t is_true; /**< Boolean value. */
+ float num; /**< Number value. */
+ pj_str_t str; /**< String value. */
+ pj_json_list children; /**< Object and array children */
+ } value; /**< Element value. */
+};
+
+/**
+ * Structure to be specified to pj_json_parse() to be filled with additional
+ * info when parsing failed.
+ */
+typedef struct pj_json_err_info
+{
+ unsigned line; /**< Line location of the error */
+ unsigned col; /**< Column location of the error */
+ int err_char; /**< The offending character. */
+} pj_json_err_info;
+
+/**
+ * Type of function callback to write JSON document in pj_json_writef().
+ *
+ * @param s The string to be written to the document.
+ * @param size The length of the string
+ * @param user_data User data that was specified to pj_json_writef()
+ *
+ * @return If the callback returns non-PJ_SUCCESS, it will
+ * stop the pj_json_writef() function and this error
+ * will be returned to caller.
+ */
+typedef pj_status_t (*pj_json_writer)(const char *s,
+ unsigned size,
+ void *user_data);
+
+/**
+ * Initialize null element.
+ *
+ * @param el The element.
+ * @param name Name to be given to the element, or NULL.
+ */
+PJ_DECL(void) pj_json_elem_null(pj_json_elem *el, pj_str_t *name);
+
+/**
+ * Initialize boolean element with the specified value.
+ *
+ * @param el The element.
+ * @param name Name to be given to the element, or NULL.
+ * @param val The value.
+ */
+PJ_DECL(void) pj_json_elem_bool(pj_json_elem *el, pj_str_t *name,
+ pj_bool_t val);
+
+/**
+ * Initialize number element with the specified value.
+ *
+ * @param el The element.
+ * @param name Name to be given to the element, or NULL.
+ * @param val The value.
+ */
+PJ_DECL(void) pj_json_elem_number(pj_json_elem *el, pj_str_t *name,
+ float val);
+
+/**
+ * Initialize string element with the specified value.
+ *
+ * @param el The element.
+ * @param name Name to be given to the element, or NULL.
+ * @param val The value.
+ */
+PJ_DECL(void) pj_json_elem_string(pj_json_elem *el, pj_str_t *name,
+ pj_str_t *val);
+
+/**
+ * Initialize element as an empty array
+ *
+ * @param el The element.
+ * @param name Name to be given to the element, or NULL.
+ */
+PJ_DECL(void) pj_json_elem_array(pj_json_elem *el, pj_str_t *name);
+
+/**
+ * Initialize element as an empty object
+ *
+ * @param el The element.
+ * @param name Name to be given to the element, or NULL.
+ */
+PJ_DECL(void) pj_json_elem_obj(pj_json_elem *el, pj_str_t *name);
+
+/**
+ * Add an element to an object or array.
+ *
+ * @param el The object or array element.
+ * @param child Element to be added to the object or array.
+ */
+PJ_DECL(void) pj_json_elem_add(pj_json_elem *el, pj_json_elem *child);
+
+/**
+ * Parse a JSON document in the buffer. The buffer MUST be NULL terminated,
+ * or if not then it must have enough size to put the NULL character.
+ *
+ * @param pool The pool to allocate memory for creating elements.
+ * @param buffer String buffer containing JSON document.
+ * @param size Size of the document.
+ * @param err_info Optional structure to be filled with info when
+ * parsing failed.
+ *
+ * @return The root element from the document.
+ */
+PJ_DECL(pj_json_elem*) pj_json_parse(pj_pool_t *pool,
+ char *buffer,
+ unsigned *size,
+ pj_json_err_info *err_info);
+
+/**
+ * Write the specified element to the string buffer.
+ *
+ * @param elem The element to be written.
+ * @param buffer Output buffer.
+ * @param size On input, it must be set to the size of the buffer.
+ * Upon successful return, this will be set to
+ * the length of the written string.
+ *
+ * @return PJ_SUCCESS on success or the appropriate error.
+ */
+PJ_DECL(pj_status_t) pj_json_write(const pj_json_elem *elem,
+ char *buffer, unsigned *size);
+
+/**
+ * Incrementally write the element to arbitrary medium using the specified
+ * callback to write the document chunks.
+ *
+ * @param elem The element to be written.
+ * @param writer Callback function which will be called to write
+ * text chunks.
+ * @param user_data Arbitrary user data which will be given back when
+ * calling the callback.
+ *
+ * @return PJ_SUCCESS on success or the appropriate error.
+ */
+PJ_DECL(pj_status_t) pj_json_writef(const pj_json_elem *elem,
+ pj_json_writer writer,
+ void *user_data);
+
+/**
+ * @}
+ */
+
+PJ_END_DECL
+
+#endif /* __PJLIB_UTIL_JSON_H__ */
diff --git a/pjlib-util/src/pjlib-util-test/json_test.c b/pjlib-util/src/pjlib-util-test/json_test.c
new file mode 100644
index 00000000..cd9a8138
--- /dev/null
+++ b/pjlib-util/src/pjlib-util-test/json_test.c
@@ -0,0 +1,106 @@
+/* $Id$ */
+/*
+ * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#include "test.h"
+
+#define THIS_FILE "json_test.c"
+
+#if INCLUDE_JSON_TEST
+
+#include <pjlib-util/json.h>
+#include <pj/log.h>
+#include <pj/string.h>
+
+static char json_doc1[] =
+"{\
+ \"Object\": {\
+ \"Integer\": 800,\
+ \"Negative\": -12,\
+ \"Float\": -7.2,\
+ \"String\": \"A\\tString with tab\",\
+ \"Object2\": {\
+ \"True\": true,\
+ \"False\": false,\
+ \"Null\": null\
+ },\
+ \"Array1\": [116, false, \"string\", {}],\
+ \"Array2\": [\
+ {\
+ \"Float\": 123.,\
+ },\
+ {\
+ \"Float\": 123.,\
+ }\
+ ]\
+ },\
+ \"Integer\": 800,\
+ \"Array1\": [116, false, \"string\"]\
+}\
+";
+
+static int json_verify_1()
+{
+ pj_pool_t *pool;
+ pj_json_elem *elem;
+ char *out_buf;
+ unsigned size;
+ pj_json_err_info err;
+
+ pool = pj_pool_create(mem, "json", 1000, 1000, NULL);
+
+ size = strlen(json_doc1);
+ elem = pj_json_parse(pool, json_doc1, &size, &err);
+ if (!elem) {
+ PJ_LOG(1, (THIS_FILE, " Error: json_verify_1() parse error"));
+ goto on_error;
+ }
+
+ size = strlen(json_doc1) * 2;
+ out_buf = pj_pool_alloc(pool, size);
+
+ if (pj_json_write(elem, out_buf, &size)) {
+ PJ_LOG(1, (THIS_FILE, " Error: json_verify_1() write error"));
+ goto on_error;
+ }
+
+ PJ_LOG(3,(THIS_FILE, "Json document:\n%s", out_buf));
+ pj_pool_release(pool);
+ return 0;
+
+on_error:
+ pj_pool_release(pool);
+ return 10;
+}
+
+
+int json_test(void)
+{
+ int rc;
+
+ rc = json_verify_1();
+ if (rc)
+ return rc;
+
+ return 0;
+}
+
+
+
+#else
+int json_dummy;
+#endif
diff --git a/pjlib-util/src/pjlib-util-test/test.c b/pjlib-util/src/pjlib-util-test/test.c
index feb2c011..223d57d8 100644
--- a/pjlib-util/src/pjlib-util-test/test.c
+++ b/pjlib-util/src/pjlib-util-test/test.c
@@ -72,6 +72,10 @@ static int test_inner(void)
DO_TEST(xml_test());
#endif
+#if INCLUDE_JSON_TEST
+ DO_TEST(json_test());
+#endif
+
#if INCLUDE_ENCRYPTION_TEST
DO_TEST(encryption_test());
DO_TEST(encryption_benchmark());
diff --git a/pjlib-util/src/pjlib-util-test/test.h b/pjlib-util/src/pjlib-util-test/test.h
index 37b1d909..b0e77c78 100644
--- a/pjlib-util/src/pjlib-util-test/test.h
+++ b/pjlib-util/src/pjlib-util-test/test.h
@@ -20,12 +20,14 @@
#include <pj/types.h>
#define INCLUDE_XML_TEST 1
+#define INCLUDE_JSON_TEST 1
#define INCLUDE_ENCRYPTION_TEST 1
#define INCLUDE_STUN_TEST 1
#define INCLUDE_RESOLVER_TEST 1
#define INCLUDE_HTTP_CLIENT_TEST 1
extern int xml_test(void);
+extern int json_test(void);
extern int encryption_test();
extern int encryption_benchmark();
extern int stun_test();
diff --git a/pjlib-util/src/pjlib-util/errno.c b/pjlib-util/src/pjlib-util/errno.c
index 29bd765b..ee1061ed 100644
--- a/pjlib-util/src/pjlib-util/errno.c
+++ b/pjlib-util/src/pjlib-util/errno.c
@@ -51,6 +51,9 @@ static const struct
/* XML errors */
PJ_BUILD_ERR( PJLIB_UTIL_EINXML, "Invalid XML message" ),
+ /* JSON errors */
+ PJ_BUILD_ERR( PJLIB_UTIL_EINJSON, "Invalid JSON document" ),
+
/* DNS errors */
PJ_BUILD_ERR( PJLIB_UTIL_EDNSQRYTOOSMALL, "DNS query packet buffer is too small"),
PJ_BUILD_ERR( PJLIB_UTIL_EDNSINSIZE, "Invalid DNS packet length"),
diff --git a/pjlib-util/src/pjlib-util/json.c b/pjlib-util/src/pjlib-util/json.c
new file mode 100644
index 00000000..7224d3ed
--- /dev/null
+++ b/pjlib-util/src/pjlib-util/json.c
@@ -0,0 +1,621 @@
+/* $Id$ */
+/*
+ * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#include <pjlib-util/json.h>
+#include <pjlib-util/errno.h>
+#include <pjlib-util/scanner.h>
+#include <pj/assert.h>
+#include <pj/ctype.h>
+#include <pj/except.h>
+#include <pj/string.h>
+
+#define EL_INIT(p_el, nm, typ) do { \
+ if (nm) { \
+ p_el->name = *nm; \
+ } else { \
+ p_el->name.ptr = (char*)""; \
+ p_el->name.slen = 0; \
+ } \
+ p_el->type = typ; \
+ } while (0)
+
+struct write_state;
+struct parse_state;
+
+#define NO_NAME 1
+
+static pj_status_t elem_write(const pj_json_elem *elem,
+ struct write_state *st,
+ unsigned flags);
+static pj_json_elem* parse_elem_throw(struct parse_state *st,
+ pj_json_elem *elem);
+
+
+PJ_DEF(void) pj_json_elem_null(pj_json_elem *el, pj_str_t *name)
+{
+ EL_INIT(el, name, PJ_JSON_VAL_NULL);
+}
+
+PJ_DEF(void) pj_json_elem_bool(pj_json_elem *el, pj_str_t *name,
+ pj_bool_t val)
+{
+ EL_INIT(el, name, PJ_JSON_VAL_BOOL);
+ el->value.is_true = val;
+}
+
+PJ_DEF(void) pj_json_elem_number(pj_json_elem *el, pj_str_t *name,
+ float val)
+{
+ EL_INIT(el, name, PJ_JSON_VAL_NUMBER);
+ el->value.num = val;
+}
+
+PJ_DEF(void) pj_json_elem_string( pj_json_elem *el, pj_str_t *name,
+ pj_str_t *value)
+{
+ EL_INIT(el, name, PJ_JSON_VAL_STRING);
+ el->value.str = *value;
+}
+
+PJ_DEF(void) pj_json_elem_array(pj_json_elem *el, pj_str_t *name)
+{
+ EL_INIT(el, name, PJ_JSON_VAL_ARRAY);
+ pj_list_init(&el->value.children);
+}
+
+PJ_DEF(void) pj_json_elem_obj(pj_json_elem *el, pj_str_t *name)
+{
+ EL_INIT(el, name, PJ_JSON_VAL_OBJ);
+ pj_list_init(&el->value.children);
+}
+
+PJ_DEF(void) pj_json_elem_add(pj_json_elem *el, pj_json_elem *child)
+{
+ pj_assert(el->type == PJ_JSON_VAL_OBJ || el->type == PJ_JSON_VAL_ARRAY);
+ pj_list_push_back(&el->value.children, child);
+}
+
+struct parse_state
+{
+ pj_pool_t *pool;
+ pj_scanner scanner;
+ pj_json_err_info *err_info;
+ pj_cis_t float_spec; /* numbers with dot! */
+};
+
+static pj_status_t parse_children(struct parse_state *st,
+ pj_json_elem *parent)
+{
+ char end_quote = (parent->type == PJ_JSON_VAL_ARRAY)? ']' : '}';
+
+ pj_scan_get_char(&st->scanner);
+
+ while (*st->scanner.curptr != end_quote) {
+ pj_json_elem *child;
+
+ while (*st->scanner.curptr == ',')
+ pj_scan_get_char(&st->scanner);
+
+ if (*st->scanner.curptr == end_quote)
+ break;
+
+ child = parse_elem_throw(st, NULL);
+ if (!child)
+ return PJLIB_UTIL_EINJSON;
+
+ pj_json_elem_add(parent, child);
+ }
+
+ pj_scan_get_char(&st->scanner);
+ return PJ_SUCCESS;
+}
+
+/* Return 0 if success or the index of the invalid char in the string */
+static unsigned parse_quoted_string(struct parse_state *st,
+ pj_str_t *output)
+{
+ pj_str_t token;
+ char *op, *ip, *iend;
+
+ pj_scan_get_quote(&st->scanner, '"', '"', &token);
+
+ /* Remove the quote characters */
+ token.ptr++;
+ token.slen-=2;
+
+ if (pj_strchr(&token, '\\') == NULL) {
+ *output = token;
+ return 0;
+ }
+
+ output->ptr = op = pj_pool_alloc(st->pool, token.slen);
+
+ ip = token.ptr;
+ iend = token.ptr + token.slen;
+
+ while (ip != iend) {
+ if (*ip == '\\') {
+ ++ip;
+ if (ip==iend) {
+ goto on_error;
+ }
+ if (*ip == 'u') {
+ ip++;
+ if (iend - ip < 4) {
+ ip = iend -1;
+ goto on_error;
+ }
+ /* Only use the last two hext digits because we're on
+ * ASCII */
+ *op++ = (char)(pj_hex_digit_to_val(ip[2]) * 16 +
+ pj_hex_digit_to_val(ip[3]));
+ ip += 4;
+ } else if (*ip=='"' || *ip=='\\' || *ip=='/') {
+ *op++ = *ip++;
+ } else if (*ip=='b') {
+ *op++ = '\b';
+ ip++;
+ } else if (*ip=='f') {
+ *op++ = '\f';
+ ip++;
+ } else if (*ip=='n') {
+ *op++ = '\n';
+ ip++;
+ } else if (*ip=='r') {
+ *op++ = '\r';
+ ip++;
+ } else if (*ip=='t') {
+ *op++ = '\t';
+ ip++;
+ } else {
+ goto on_error;
+ }
+ } else {
+ *op++ = *ip++;
+ }
+ }
+
+ output->slen = op - output->ptr;
+ return 0;
+
+on_error:
+ output->slen = op - output->ptr;
+ return ip - token.ptr;
+}
+
+static pj_json_elem* parse_elem_throw(struct parse_state *st,
+ pj_json_elem *elem)
+{
+ pj_str_t name = {NULL, 0}, value = {NULL, 0};
+ pj_str_t token;
+
+ if (!elem)
+ elem = pj_pool_alloc(st->pool, sizeof(*elem));
+
+ /* Parse name */
+ if (*st->scanner.curptr == '"') {
+ pj_scan_get_char(&st->scanner);
+ pj_scan_get_until_ch(&st->scanner, '"', &token);
+ pj_scan_get_char(&st->scanner);
+
+ if (*st->scanner.curptr == ':') {
+ pj_scan_get_char(&st->scanner);
+ name = token;
+ } else {
+ value = token;
+ }
+ }
+
+ if (value.slen) {
+ /* Element with string value and no name */
+ pj_json_elem_string(elem, &name, &value);
+ return elem;
+ }
+
+ /* Parse value */
+ if (pj_cis_match(&st->float_spec, *st->scanner.curptr) ||
+ *st->scanner.curptr == '-')
+ {
+ float val;
+ pj_bool_t neg = PJ_FALSE;
+
+ if (*st->scanner.curptr == '-') {
+ pj_scan_get_char(&st->scanner);
+ neg = PJ_TRUE;
+ }
+
+ pj_scan_get(&st->scanner, &st->float_spec, &token);
+ val = pj_strtof(&token);
+ if (neg) val = -val;
+
+ pj_json_elem_number(elem, &name, val);
+
+ } else if (*st->scanner.curptr == '"') {
+ unsigned err;
+ char *start = st->scanner.curptr;
+
+ err = parse_quoted_string(st, &token);
+ if (err) {
+ st->scanner.curptr = start + err;
+ return NULL;
+ }
+
+ pj_json_elem_string(elem, &name, &token);
+
+ } else if (pj_isalpha(*st->scanner.curptr)) {
+
+ if (pj_scan_strcmp(&st->scanner, "false", 5)==0) {
+ pj_json_elem_bool(elem, &name, PJ_FALSE);
+ pj_scan_advance_n(&st->scanner, 5, PJ_TRUE);
+ } else if (pj_scan_strcmp(&st->scanner, "true", 4)==0) {
+ pj_json_elem_bool(elem, &name, PJ_TRUE);
+ pj_scan_advance_n(&st->scanner, 4, PJ_TRUE);
+ } else if (pj_scan_strcmp(&st->scanner, "null", 4)==0) {
+ pj_json_elem_null(elem, &name);
+ pj_scan_advance_n(&st->scanner, 4, PJ_TRUE);
+ } else {
+ return NULL;
+ }
+
+ } else if (*st->scanner.curptr == '[') {
+ pj_json_elem_array(elem, &name);
+ if (parse_children(st, elem) != PJ_SUCCESS)
+ return NULL;
+
+ } else if (*st->scanner.curptr == '{') {
+ pj_json_elem_obj(elem, &name);
+ if (parse_children(st, elem) != PJ_SUCCESS)
+ return NULL;
+
+ } else {
+ return NULL;
+ }
+
+ return elem;
+}
+
+static void on_syntax_error(pj_scanner *scanner)
+{
+ PJ_UNUSED_ARG(scanner);
+ PJ_THROW(11);
+}
+
+PJ_DEF(pj_json_elem*) pj_json_parse(pj_pool_t *pool,
+ char *buffer,
+ unsigned *size,
+ pj_json_err_info *err_info)
+{
+ pj_cis_buf_t cis_buf;
+ struct parse_state st;
+ pj_json_elem *root;
+ PJ_USE_EXCEPTION;
+
+ PJ_ASSERT_RETURN(pool && buffer && size, NULL);
+
+ if (!*size)
+ return NULL;
+
+ pj_bzero(&st, sizeof(st));
+ st.pool = pool;
+ st.err_info = err_info;
+ pj_scan_init(&st.scanner, buffer, *size,
+ PJ_SCAN_AUTOSKIP_WS | PJ_SCAN_AUTOSKIP_NEWLINE,
+ &on_syntax_error);
+ pj_cis_buf_init(&cis_buf);
+ pj_cis_init(&cis_buf, &st.float_spec);
+ pj_cis_add_str(&st.float_spec, ".0123456789");
+
+ PJ_TRY {
+ root = parse_elem_throw(&st, NULL);
+ }
+ PJ_CATCH_ANY {
+ root = NULL;
+ }
+ PJ_END
+
+ if (!root && err_info) {
+ err_info->line = st.scanner.line;
+ err_info->col = pj_scan_get_col(&st.scanner) + 1;
+ err_info->err_char = *st.scanner.curptr;
+ }
+
+ *size = (buffer + *size) - st.scanner.curptr;
+
+ pj_scan_fini(&st.scanner);
+
+ return root;
+}
+
+struct buf_writer_data
+{
+ char *pos;
+ unsigned size;
+};
+
+static pj_status_t buf_writer(const char *s,
+ unsigned size,
+ void *user_data)
+{
+ struct buf_writer_data *buf_data = (struct buf_writer_data*)user_data;
+ if (size+1 >= buf_data->size)
+ return PJ_ETOOBIG;
+
+ pj_memcpy(buf_data->pos, s, size);
+ buf_data->pos += size;
+ buf_data->size -= size;
+
+ return PJ_SUCCESS;
+}
+
+PJ_DEF(pj_status_t) pj_json_write(const pj_json_elem *elem,
+ char *buffer, unsigned *size)
+{
+ struct buf_writer_data buf_data;
+ pj_status_t status;
+
+ PJ_ASSERT_RETURN(elem && buffer && size, PJ_EINVAL);
+
+ buf_data.pos = buffer;
+ buf_data.size = *size;
+
+ status = pj_json_writef(elem, &buf_writer, &buf_data);
+ if (status != PJ_SUCCESS)
+ return status;
+
+ *buf_data.pos = '\0';
+ *size = (unsigned)(buf_data.pos - buffer);
+ return PJ_SUCCESS;
+}
+
+#define MAX_INDENT 100
+#ifndef PJ_JSON_NAME_MIN_LEN
+# define PJ_JSON_NAME_MIN_LEN 20
+#endif
+#define ESC_BUF_LEN 64
+#ifndef PJ_JSON_INDENT_SIZE
+# define PJ_JSON_INDENT_SIZE 3
+#endif
+
+struct write_state
+{
+ pj_json_writer writer;
+ void *user_data;
+ char indent_buf[MAX_INDENT];
+ int indent;
+ char space[PJ_JSON_NAME_MIN_LEN];
+};
+
+#define CHECK(expr) do { \
+ status=expr; if (status!=PJ_SUCCESS) return status; } \
+ while (0)
+
+static pj_status_t write_string_escaped(const pj_str_t *value,
+ struct write_state *st)
+{
+ const char *ip = value->ptr;
+ const char *iend = value->ptr + value->slen;
+ char buf[ESC_BUF_LEN];
+ char *op = buf;
+ char *oend = buf + ESC_BUF_LEN;
+ pj_status_t status;
+
+ while (ip != iend) {
+ /* Write to buffer to speedup writing instead of calling
+ * the callback one by one for each character.
+ */
+ while (ip != iend && op != oend) {
+ if (oend - op < 2)
+ break;
+
+ if (*ip == '"') {
+ *op++ = '\\';
+ *op++ = '"';
+ ip++;
+ } else if (*ip == '\\') {
+ *op++ = '\\';
+ *op++ = '\\';
+ ip++;
+ } else if (*ip == '/') {
+ *op++ = '\\';
+ *op++ = '/';
+ ip++;
+ } else if (*ip == '\b') {
+ *op++ = '\\';
+ *op++ = 'b';
+ ip++;
+ } else if (*ip == '\f') {
+ *op++ = '\\';
+ *op++ = 'f';
+ ip++;
+ } else if (*ip == '\n') {
+ *op++ = '\\';
+ *op++ = 'n';
+ ip++;
+ } else if (*ip == '\r') {
+ *op++ = '\\';
+ *op++ = 'r';
+ ip++;
+ } else if (*ip == '\t') {
+ *op++ = '\\';
+ *op++ = 't';
+ ip++;
+ } else if ((*ip >= 32 && *ip < 127)) {
+ /* unescaped */
+ *op++ = *ip++;
+ } else {
+ /* escaped */
+ if (oend - op < 6)
+ break;
+ *op++ = '\\';
+ *op++ = 'u';
+ *op++ = '0';
+ *op++ = '0';
+ pj_val_to_hex_digit(*ip, op);
+ op+=2;
+ ip++;
+ }
+ }
+
+ CHECK( st->writer( buf, op-buf, st->user_data) );
+ op = buf;
+ }
+
+ return PJ_SUCCESS;
+}
+
+static pj_status_t write_children(const pj_json_list *list,
+ const char quotes[2],
+ struct write_state *st)
+{
+ unsigned flags = (quotes[0]=='[') ? NO_NAME : 0;
+ pj_status_t status;
+
+ //CHECK( st->writer( st->indent_buf, st->indent, st->user_data) );
+ CHECK( st->writer( &quotes[0], 1, st->user_data) );
+ CHECK( st->writer( " ", 1, st->user_data) );
+
+ if (!pj_list_empty(list)) {
+ pj_bool_t indent_added = PJ_FALSE;
+ pj_json_elem *child = list->next;
+
+ if (child->name.slen == 0) {
+ /* Simple list */
+ while (child != (pj_json_elem*)list) {
+ status = elem_write(child, st, flags);
+ if (status != PJ_SUCCESS)
+ return status;
+
+ if (child->next != (pj_json_elem*)list)
+ CHECK( st->writer( ", ", 2, st->user_data) );
+ child = child->next;
+ }
+ } else {
+ if (st->indent < sizeof(st->indent_buf)) {
+ st->indent += PJ_JSON_INDENT_SIZE;
+ indent_added = PJ_TRUE;
+ }
+ CHECK( st->writer( "\n", 1, st->user_data) );
+ while (child != (pj_json_elem*)list) {
+ status = elem_write(child, st, flags);
+ if (status != PJ_SUCCESS)
+ return status;
+
+ if (child->next != (pj_json_elem*)list)
+ CHECK( st->writer( ",\n", 2, st->user_data) );
+ else
+ CHECK( st->writer( "\n", 1, st->user_data) );
+ child = child->next;
+ }
+ if (indent_added) {
+ st->indent -= PJ_JSON_INDENT_SIZE;
+ }
+ CHECK( st->writer( st->indent_buf, st->indent, st->user_data) );
+ }
+ }
+ CHECK( st->writer( &quotes[1], 1, st->user_data) );
+
+ return PJ_SUCCESS;
+}
+
+static pj_status_t elem_write(const pj_json_elem *elem,
+ struct write_state *st,
+ unsigned flags)
+{
+ pj_status_t status;
+
+ if (elem->name.slen) {
+ CHECK( st->writer( st->indent_buf, st->indent, st->user_data) );
+ if ((flags & NO_NAME)==0) {
+ CHECK( st->writer( "\"", 1, st->user_data) );
+ CHECK( write_string_escaped(&elem->name, st) );
+ CHECK( st->writer( "\": ", 3, st->user_data) );
+ if (elem->name.slen < PJ_JSON_NAME_MIN_LEN /*&&
+ elem->type != PJ_JSON_VAL_OBJ &&
+ elem->type != PJ_JSON_VAL_ARRAY*/)
+ {
+ CHECK( st->writer( st->space,
+ PJ_JSON_NAME_MIN_LEN - elem->name.slen,
+ st->user_data) );
+ }
+ }
+ }
+
+ switch (elem->type) {
+ case PJ_JSON_VAL_NULL:
+ CHECK( st->writer( "null", 4, st->user_data) );
+ break;
+ case PJ_JSON_VAL_BOOL:
+ if (elem->value.is_true)
+ CHECK( st->writer( "true", 4, st->user_data) );
+ else
+ CHECK( st->writer( "false", 5, st->user_data) );
+ break;
+ case PJ_JSON_VAL_NUMBER:
+ {
+ char num_buf[65];
+ int len;
+
+ if (elem->value.num == (int)elem->value.num)
+ len = pj_ansi_snprintf(num_buf, sizeof(num_buf), "%d",
+ (int)elem->value.num);
+ else
+ len = pj_ansi_snprintf(num_buf, sizeof(num_buf), "%f",
+ elem->value.num);
+
+ if (len < 0 || len >= sizeof(num_buf))
+ return PJ_ETOOBIG;
+ CHECK( st->writer( num_buf, len, st->user_data) );
+ }
+ break;
+ case PJ_JSON_VAL_STRING:
+ CHECK( st->writer( "\"", 1, st->user_data) );
+ CHECK( write_string_escaped( &elem->value.str, st) );
+ CHECK( st->writer( "\"", 1, st->user_data) );
+ break;
+ case PJ_JSON_VAL_ARRAY:
+ CHECK( write_children(&elem->value.children, "[]", st) );
+ break;
+ case PJ_JSON_VAL_OBJ:
+ CHECK( write_children(&elem->value.children, "{}", st) );
+ break;
+ default:
+ pj_assert(!"Unhandled value type");
+ }
+
+ return PJ_SUCCESS;
+}
+
+#undef CHECK
+
+PJ_DEF(pj_status_t) pj_json_writef( const pj_json_elem *elem,
+ pj_json_writer writer,
+ void *user_data)
+{
+ struct write_state st;
+
+ PJ_ASSERT_RETURN(elem && writer, PJ_EINVAL);
+
+ st.writer = writer;
+ st.user_data = user_data,
+ st.indent = 0;
+ pj_memset(st.indent_buf, ' ', MAX_INDENT);
+ pj_memset(st.space, ' ', PJ_JSON_NAME_MIN_LEN);
+
+ return elem_write(elem, &st, 0);
+}
+