[packages/xmlrpc-c] - updated to 1.32.05 (svn rev 2451; note: new sonames of C++ libs) - updated patches from Fedora - u
qboosh
qboosh at pld-linux.org
Sun Mar 3 18:11:29 CET 2013
commit 91f353187f4ecb82c41507a68c2da571aca67f21
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Mar 3 18:11:26 2013 +0100
- updated to 1.32.05 (svn rev 2451; note: new sonames of C++ libs)
- updated patches from Fedora
- updated soname patch
- added cmake-fix patch (fix for Fedora cmake patch)
xmlrpc-c-30x-redirect.patch | 16 +-
xmlrpc-c-cmake-fix.patch | 11 ++
xmlrpc-c-cmake.patch | 425 ++++++++++++++++++++++++++++---------------
xmlrpc-c-printf-size_t.patch | 34 ++--
xmlrpc-c-soname.patch | 104 ++++++-----
xmlrpc-c.spec | 27 +--
6 files changed, 381 insertions(+), 236 deletions(-)
---
diff --git a/xmlrpc-c.spec b/xmlrpc-c.spec
index 91c24a1..4a6f0f0 100644
--- a/xmlrpc-c.spec
+++ b/xmlrpc-c.spec
@@ -1,19 +1,20 @@
Summary: XML-RPC C library - an implementation of the xmlrpc protocol
Summary(pl.UTF-8): Biblioteka XML-RPC C - implementacja protokołu xmlrpc
Name: xmlrpc-c
-Version: 1.28.10
-Release: 2
+Version: 1.32.05
+Release: 1
License: XML-RPC for C License (BSD-like)
Group: Libraries
# svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
# Unfortunately, upstream does not tag versions so we must fetch from the branch
# and check which version was used for it
-# 1.28.10 is svn r2181
+# 1.32.05 is svn r2451
Source0: %{name}-%{version}.tar.xz
-# Source0-md5: b1d7d851bbd50169be668ef16817bc6b
+# Source0-md5: c80cfb54a6e26247369de042474e08e0
Patch0: %{name}-fastdep.patch
Patch1: %{name}-soname.patch
Patch2: %{name}-cflags.patch
+Patch3: %{name}-cmake-fix.patch
# patches 10+ come from Fedora
Patch10: %{name}-cmake.patch
Patch11: %{name}-printf-size_t.patch
@@ -281,6 +282,7 @@ XML-RPC.
%patch15 -p1
%patch16 -p1
%patch1 -p1
+%patch3 -p1
%build
mkdir -p build
@@ -400,11 +402,11 @@ rm -rf $RPM_BUILD_ROOT
%files c++
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libxmlrpc++.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc++.so.8
%attr(755,root,root) %{_libdir}/libxmlrpc_cpp.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_cpp.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_cpp.so.8
%attr(755,root,root) %{_libdir}/libxmlrpc_packetsocket.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_packetsocket.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_packetsocket.so.8
%files c++-devel
%defattr(644,root,root,755)
@@ -427,7 +429,7 @@ rm -rf $RPM_BUILD_ROOT
%files client++
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libxmlrpc_client++.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_client++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_client++.so.8
%files client++-devel
%defattr(644,root,root,755)
@@ -438,13 +440,13 @@ rm -rf $RPM_BUILD_ROOT
%files server++
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libxmlrpc_server++.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server++.so.8
%attr(755,root,root) %{_libdir}/libxmlrpc_server_abyss++.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server_abyss++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server_abyss++.so.8
%attr(755,root,root) %{_libdir}/libxmlrpc_server_cgi++.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server_cgi++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server_cgi++.so.8
%attr(755,root,root) %{_libdir}/libxmlrpc_server_pstream++.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server_pstream++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_server_pstream++.so.8
%files server++-devel
%defattr(644,root,root,755)
@@ -463,6 +465,7 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc tools/xmlrpc/xmlrpc.html tools/xmlrpc_transport/xmlrpc_transport.html
%attr(755,root,root) %{_bindir}/xmlrpc
+%attr(755,root,root) %{_bindir}/xmlrpc_parsecall
%attr(755,root,root) %{_bindir}/xmlrpc_transport
%attr(755,root,root) %{_bindir}/xml-rpc-api2cpp
%attr(755,root,root) %{_bindir}/xml-rpc-api2txt
diff --git a/xmlrpc-c-30x-redirect.patch b/xmlrpc-c-30x-redirect.patch
index 1d3df7a..a2d4446 100644
--- a/xmlrpc-c-30x-redirect.patch
+++ b/xmlrpc-c-30x-redirect.patch
@@ -1,27 +1,27 @@
-From 07f7798d0b6c9b187dd6bfa567be74a224baf1fb Mon Sep 17 00:00:00 2001
+From 255ebf4b1204124123971a3bb27741cccbb51692 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date: Thu, 29 Jul 2010 19:25:32 +0200
-Subject: [PATCH 5/5] allow 30x redirections
+Subject: [PATCH 5/8] allow 30x redirections
---
lib/curl_transport/curltransaction.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
+ 1 file changed, 4 insertions(+)
diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
-index 3c75010..e1cfc64 100644
+index 0f76fc2..6292aee 100644
--- a/lib/curl_transport/curltransaction.c
+++ b/lib/curl_transport/curltransaction.c
-@@ -495,6 +495,10 @@ setupCurlSession(xmlrpc_env * const envP,
+@@ -600,6 +600,10 @@ setupCurlSession(xmlrpc_env * const envP,
curl_easy_setopt(curlSessionP, CURLOPT_POST, 1);
- curl_easy_setopt(curlSessionP, CURLOPT_URL, curlTransactionP->serverUrl);
+ curl_easy_setopt(curlSessionP, CURLOPT_URL, transP->serverUrl);
+ curl_easy_setopt(curlSessionP, CURLOPT_FOLLOWLOCATION, 1);
+ curl_easy_setopt(curlSessionP, CURLOPT_MAXREDIRS, (long)10);
+ curl_easy_setopt(curlSessionP, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
+
- XMLRPC_MEMBLOCK_APPEND(char, envP, callXmlP, "\0", 1);
+ XMLRPC_MEMBLOCK_APPEND(char, envP, transP->postDataP, "\0", 1);
if (!envP->fault_occurred) {
curl_easy_setopt(curlSessionP, CURLOPT_POSTFIELDS,
--
-1.7.1.1
+1.7.10.4
diff --git a/xmlrpc-c-cmake-fix.patch b/xmlrpc-c-cmake-fix.patch
new file mode 100644
index 0000000..4e93ec9
--- /dev/null
+++ b/xmlrpc-c-cmake-fix.patch
@@ -0,0 +1,11 @@
+--- xmlrpc-c/src/CMakeLists.txt.orig 2013-03-03 17:47:58.712094469 +0100
++++ xmlrpc-c/src/CMakeLists.txt 2013-03-03 17:50:33.195421319 +0100
+@@ -22,7 +22,7 @@
+ if(MUST_BUILD_LIBWWW_CLIENT)
+ set(client_libwww_CFLAGS "${LIBWWW_CFLAGS}")
+ set(client_libwww_LIBS "${LIBWWW_LIBS}")
+- list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c ${libwww_srcdir}/xmlrpc_libwww_transport.h)
++ list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c)
+ endif(MUST_BUILD_LIBWWW_CLIENT)
+
+ if(MUST_BUILD_CURL_CLIENT)
diff --git a/xmlrpc-c-cmake.patch b/xmlrpc-c-cmake.patch
index 69efb96..6d544fb 100644
--- a/xmlrpc-c-cmake.patch
+++ b/xmlrpc-c-cmake.patch
@@ -1,22 +1,22 @@
-From 8410940833027653f6b58866e1468f5dc42dae0e Mon Sep 17 00:00:00 2001
+From 26a4d5168bb69474c3cc304f90592d37bf0be8fe Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date: Sat, 5 Apr 2008 10:55:02 +0200
Subject: [PATCH 1/8] make -> cmake transition
cmake: updated
---
- CMakeLists.txt | 284 +++++++++++++++++++++++++++
+ CMakeLists.txt | 290 +++++++++++++++++++++++++++
cmake/try-attr.cc | 3 +
cmake/va-list-is-array.c | 9 +
- examples/CMakeLists.txt | 62 ++++++
+ examples/CMakeLists.txt | 68 +++++++
examples/config.h | 1 +
examples/cpp/CMakeLists.txt | 34 ++++
include/CMakeLists.txt | 3 +
include/xmlrpc-c/CMakeLists.txt | 74 +++++++
- include/xmlrpc-c/config.h.cmake | 32 +++
+ include/xmlrpc-c/config.h.cmake | 34 ++++
lib/CMakeLists.txt | 12 ++
lib/abyss/CMakeLists.txt | 3 +
- lib/abyss/src/CMakeLists.txt | 66 ++++++
+ lib/abyss/src/CMakeLists.txt | 70 +++++++
lib/abyss/src/xmlrpc_abyss.pc.cmake | 12 ++
lib/curl_transport/CMakeLists.txt | 20 ++
lib/expat/CMakeLists.txt | 9 +
@@ -30,7 +30,7 @@ cmake: updated
lib/libwww_transport/CMakeLists.txt | 7 +
lib/util/CMakeLists.txt | 17 ++
lib/wininet_transport/CMakeLists.txt | 7 +
- src/CMakeLists.txt | 122 ++++++++++++
+ src/CMakeLists.txt | 121 +++++++++++
src/cpp/CMakeLists.txt | 70 +++++++
src/cpp/test/CMakeLists.txt | 18 ++
src/cpp/xmlrpc++.pc.cmake | 12 ++
@@ -41,18 +41,20 @@ cmake: updated
src/cpp/xmlrpc_server_abyss++.pc.cmake | 12 ++
src/cpp/xmlrpc_server_cgi++.pc.cmake | 12 ++
src/cpp/xmlrpc_server_pstream++.pc.cmake | 12 ++
- src/test/CMakeLists.txt | 39 ++++
src/xmlrpc.pc.cmake | 12 ++
src/xmlrpc_client.pc.cmake | 12 ++
src/xmlrpc_server.pc.cmake | 12 ++
src/xmlrpc_server_abyss.pc.cmake | 12 ++
src/xmlrpc_server_cgi.pc.cmake | 12 ++
- tools/CMakeLists.txt | 21 ++
+ test/CMakeLists.txt | 41 ++++
+ test/cpp/CMakeLists.txt | 34 ++++
+ tools/CMakeLists.txt | 22 ++
tools/binmode-rpc-kit/CMakeLists.txt | 1 +
tools/lib/CMakeLists.txt | 1 +
tools/turbocharger/CMakeLists.txt | 1 +
tools/xml-rpc-api2cpp/CMakeLists.txt | 15 ++
tools/xml-rpc-api2txt/CMakeLists.txt | 7 +
+ tools/xml/CMakeLists.txt | 16 ++
tools/xmlrpc/CMakeLists.txt | 17 ++
tools/xmlrpc/config.h | 1 +
tools/xmlrpc_cpp_proxy/CMakeLists.txt | 17 ++
@@ -62,8 +64,8 @@ cmake: updated
transport_config.h.cmake | 16 ++
version.h.cmake | 5 +
xmlrpc-c-config | 105 ++++++++++
- xmlrpc_config.h.cmake | 147 ++++++++++++++
- 58 files changed, 1530 insertions(+), 0 deletions(-)
+ xmlrpc_config.h.cmake | 183 +++++++++++++++++
+ 60 files changed, 1636 insertions(+)
create mode 100644 CMakeLists.txt
create mode 100644 cmake/try-attr.cc
create mode 100644 cmake/va-list-is-array.c
@@ -100,18 +102,20 @@ cmake: updated
create mode 100644 src/cpp/xmlrpc_server_abyss++.pc.cmake
create mode 100644 src/cpp/xmlrpc_server_cgi++.pc.cmake
create mode 100644 src/cpp/xmlrpc_server_pstream++.pc.cmake
- create mode 100644 src/test/CMakeLists.txt
create mode 100644 src/xmlrpc.pc.cmake
create mode 100644 src/xmlrpc_client.pc.cmake
create mode 100644 src/xmlrpc_server.pc.cmake
create mode 100644 src/xmlrpc_server_abyss.pc.cmake
create mode 100644 src/xmlrpc_server_cgi.pc.cmake
+ create mode 100644 test/CMakeLists.txt
+ create mode 100644 test/cpp/CMakeLists.txt
create mode 100644 tools/CMakeLists.txt
create mode 100644 tools/binmode-rpc-kit/CMakeLists.txt
create mode 100644 tools/lib/CMakeLists.txt
create mode 100644 tools/turbocharger/CMakeLists.txt
create mode 100644 tools/xml-rpc-api2cpp/CMakeLists.txt
create mode 100644 tools/xml-rpc-api2txt/CMakeLists.txt
+ create mode 100644 tools/xml/CMakeLists.txt
create mode 100644 tools/xmlrpc/CMakeLists.txt
create mode 100644 tools/xmlrpc/config.h
create mode 100644 tools/xmlrpc_cpp_proxy/CMakeLists.txt
@@ -125,10 +129,10 @@ cmake: updated
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
-index 0000000..3bb9e03
+index 0000000..2876dea
--- /dev/null
+++ b/CMakeLists.txt
-@@ -0,0 +1,284 @@
+@@ -0,0 +1,290 @@
+## -*- cmake -*-
+project(xmlrpc-c)
+include(FindPkgConfig)
@@ -143,8 +147,8 @@ index 0000000..3bb9e03
+
+
+set(XMLRPC_C_VERSION_MAJOR "1" CACHE STRING "Version (major) of xmlrpc-c")
-+set(XMLRPC_C_VERSION_MINOR "26" CACHE STRING "Version (minor) of xmlrpc-c")
-+set(XMLRPC_C_VERSION_POINT "2" CACHE STRING "Version (point) of xmlrpc-c")
++set(XMLRPC_C_VERSION_MINOR "32" CACHE STRING "Version (minor) of xmlrpc-c")
++set(XMLRPC_C_VERSION_POINT "5" CACHE STRING "Version (point) of xmlrpc-c")
+
+set(XMLRPC_C_VERSION
+ "${XMLRPC_C_VERSION_MAJOR}.${XMLRPC_C_VERSION_MINOR}.${XMLRPC_C_VERSION_POINT}"
@@ -153,8 +157,8 @@ index 0000000..3bb9e03
+set(XMLRPC_C_LIBVERSION "3.${XMLRPC_C_VERSION_MINOR}")
+set(XMLRPC_C_SOVERSION "3")
+
-+set(XMLRPC_CXX_LIBVERSION "7.${XMLRPC_C_VERSION_MINOR}")
-+set(XMLRPC_CXX_SOVERSION "7")
++set(XMLRPC_CXX_LIBVERSION "8.${XMLRPC_C_VERSION_MINOR}")
++set(XMLRPC_CXX_SOVERSION "8")
+
+string(REGEX REPLACE "^0+" "" XMLRPC_C_VERSION_MAJOR_NUM "${XMLRPC_C_VERSION_MAJOR}")
+string(REGEX REPLACE "^0+" "" XMLRPC_C_VERSION_MINOR_NUM "${XMLRPC_C_VERSION_MINOR}")
@@ -207,6 +211,8 @@ index 0000000..3bb9e03
+ set(tmp 0)
+ endif(WININET_CONFIG_EXECUTABLE)
+ endif(DEFINED MUST_BUILD_WININET_CLIENT)
++
++ set(MSVCRT yes)
+else(WIN32)
+ set(tmp 0)
+endif(WIN32)
@@ -279,19 +285,19 @@ index 0000000..3bb9e03
+
+###########
+
-+set(ENABLE_TOOLS 0 CACHE BOOL "Build the tools")
+pkg_check_modules(NCURSES ncurses)
+find_library(READLINE readline)
+
-+if (ENABLE_TOOLS)
-+ message(STATUS "Building tools")
-+ if (MUST_BUILD_LIBWWW_CLIENT OR MUST_BUILD_WININET_CLIENT OR MUST_BUILD_CURL_CLIENT)
-+ if (NCURSES_FOUND AND READLINE)
-+ set(BUILD_XMLRPC_PSTREAM 1)
-+ message(STATUS "Building xmlrpc_pstream tool")
-+ endif()
-+ set(BUILD_TOOLS 1)
++if (MUST_BUILD_LIBWWW_CLIENT OR MUST_BUILD_WININET_CLIENT OR MUST_BUILD_CURL_CLIENT)
++ if (NCURSES_FOUND AND READLINE)
++ set(BUILD_XMLRPC_PSTREAM 1)
++ message(STATUS "Building xmlrpc_pstream tool")
+ endif()
++ message(STATUS "Tools will be built")
++ set(BUILD_TOOLS 1)
++else()
++ message(STATUS "Tools will not be built")
++ set(BUILD_TOOLS 0)
+endif()
+
+#### <wchar.h> tests
@@ -336,8 +342,11 @@ index 0000000..3bb9e03
+
+if(WIN32)
+ set(DIRECTORY_SEPARATOR "\\")
++ set(THREAD_LIBS "")
+else(WIN32)
+ set(DIRECTORY_SEPARATOR "/")
++ set(THREAD_LIBS "pthread")
++ set(THREAD_LIBS_PKGCONFIG "-lpthread")
+endif(WIN32)
+
+check_include_file(sys/filio.h HAVE_SYS_FILIO_H)
@@ -405,11 +414,12 @@ index 0000000..3bb9e03
+
+enable_testing()
+
++add_subdirectory(test)
+add_subdirectory(lib)
+add_subdirectory(examples)
+add_subdirectory(include)
+add_subdirectory(src)
-+add_subdirectory(test)
++
+if (BUILD_TOOLS)
+ add_subdirectory(tools)
+endif()
@@ -439,10 +449,10 @@ index 0000000..1ad0bab
+int main() {}
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
-index 0000000..30d0db5
+index 0000000..1535adf
--- /dev/null
+++ b/examples/CMakeLists.txt
-@@ -0,0 +1,62 @@
+@@ -0,0 +1,68 @@
+# -*- cmake -*-
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -469,6 +479,7 @@ index 0000000..30d0db5
+set(base_LIBS xmlrpc)
+ensc_add_example(json c base)
+ensc_add_example(gen_sample_add_xml c base)
++ensc_add_example(parse_xml c base)
+
+if(MUST_BUILD_CLIENT)
+ set(client_LIBS xmlrpc_client)
@@ -483,7 +494,9 @@ index 0000000..30d0db5
+if(MUST_BUILD_CURL_CLIENT)
+ set(client_LIBS xmlrpc_client)
+
-+ ensc_add_example(interrupted_client c client)
++ if(NOT DEFINED MSVCRT)
++ ensc_add_example(interrupted_client c client)
++ endif(NOT DEFINED MSVCRT)
+endif(MUST_BUILD_CURL_CLIENT)
+
+if(ENABLE_CGI_SERVER)
@@ -496,12 +509,15 @@ index 0000000..30d0db5
+ set(abyss_server_LIBS xmlrpc_server_abyss)
+
+ ensc_add_example(compound_value_server c abyss_server)
-+ ensc_add_example(interrupted_server c abyss_server)
+ ensc_add_example(xmlrpc_inetd_server c abyss_server)
+ ensc_add_example(xmlrpc_socket_server c abyss_server)
+ ensc_add_example(xmlrpc_loop_server c abyss_server)
+ ensc_add_example(xmlrpc_sample_add_server c abyss_server)
+ ensc_add_example(xmlrpc_server_validatee c abyss_server)
++
++ if(NOT DEFINED MSVCRT)
++ ensc_add_example(interrupted_server c abyss_server)
++ endif(NOT DEFINED MSVCRT)
+endif(ENABLE_ABYSS_SERVER)
+
+ensc_set_link_exe_flags(${example_TARGETS})
@@ -643,10 +659,10 @@ index 0000000..b9386b8
+endforeach(ln)
diff --git a/include/xmlrpc-c/config.h.cmake b/include/xmlrpc-c/config.h.cmake
new file mode 100644
-index 0000000..80892e5
+index 0000000..48f64be
--- /dev/null
+++ b/include/xmlrpc-c/config.h.cmake
-@@ -0,0 +1,32 @@
+@@ -0,0 +1,34 @@
+/* --*- c -*-- */
+#ifndef XMLRPC_C_CONFIG_H_INCLUDED
+#define XMLRPC_C_CONFIG_H_INCLUDED
@@ -662,7 +678,7 @@ index 0000000..80892e5
+ This file was created by a make rule.
+*/
+#define XMLRPC_HAVE_WCHAR @HAVE_WCHAR_H@
-+#ifdef WIN32
++#ifdef _WIN32
+ /* SOCKET is a type defined by <winsock.h>. Anyone who
+ uses XMLRPC_SOCKET on a WIN32 system must #include
+ <winsock.h>
@@ -671,11 +687,13 @@ index 0000000..80892e5
+ #define XMLRPC_HAVE_TIMEVAL 0
+ #define XMLRPC_HAVE_TIMESPEC 0
+ #define XMLRPC_HAVE_PTHREAD 0
++ #define XMLRPC_HAVE_WINTHREAD 1
+#else
+ #define XMLRPC_SOCKET int
+ #define XMLRPC_HAVE_TIMEVAL 1
+ #define XMLRPC_HAVE_TIMESPEC 1
+ #define XMLRPC_HAVE_PTHREAD 1
++ #define XMLRPC_HAVE_WINTHREAD 0
+#endif
+
+#endif
@@ -708,10 +726,10 @@ index 0000000..2358061
+SUBDIRS(src)
diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt
new file mode 100644
-index 0000000..e7f89bf
+index 0000000..b1813bb
--- /dev/null
+++ b/lib/abyss/src/CMakeLists.txt
-@@ -0,0 +1,66 @@
+@@ -0,0 +1,70 @@
+## -*- cmake -*-
+
+set(xmlrpc_abyss_SOURCES
@@ -741,8 +759,6 @@ index 0000000..e7f89bf
+ session.h
+ socket.c
+ socket.h
-+ socket_unix.c
-+ socket_unix.h
+ thread.h
+ token.c
+ token.h
@@ -751,19 +767,25 @@ index 0000000..e7f89bf
+
+add_definitions(-D_UNIX)
+
-+if(ENABLE_ABYSS_THREADS)
-+ list(APPEND xmlrpc_abyss_SOURCES thread_pthread.c)
-+else(ENABLE_ABYSS_THREADS)
-+ list(APPEND xmlrpc_abyss_SOURCES thread_fork.c)
-+endif(ENABLE_ABYSS_THREADS)
++if(WIN32)
++ list(APPEND xmlrpc_abyss_SOURCES thread_windows.c)
++else(WIN32)
++ list(APPEND xmlrpc_abyss_SOURCES socket_unix.c socket_unix.h)
++
++ if(ENABLE_ABYSS_THREADS)
++ list(APPEND xmlrpc_abyss_SOURCES thread_pthread.c)
++ else(ENABLE_ABYSS_THREADS)
++ list(APPEND xmlrpc_abyss_SOURCES thread_fork.c)
++ endif(ENABLE_ABYSS_THREADS)
++endif(WIN32)
+
+add_library(xmlrpc_abyss SHARED ${xmlrpc_abyss_SOURCES})
+target_link_libraries(xmlrpc_abyss xmlrpc_util)
+
+if(ENABLE_ABYSS_THREADS)
+ set_target_properties(xmlrpc_abyss PROPERTIES DEFINE_SYMBOL _THREAD)
-+ target_link_libraries(xmlrpc_abyss pthread)
-+ ensc_pkgconfig_lib(xmlrpc_abyss "-lpthread")
++ target_link_libraries(xmlrpc_abyss ${THREAD_LIBS})
++ ensc_pkgconfig_lib(xmlrpc_abyss "${THREAD_LIBS_PKGCONFIG}")
+endif(ENABLE_ABYSS_THREADS)
+
+install(TARGETS xmlrpc_abyss
@@ -780,7 +802,7 @@ index 0000000..e7f89bf
+ensc_pkgconfig(xmlrpc_abyss)
diff --git a/lib/abyss/src/xmlrpc_abyss.pc.cmake b/lib/abyss/src/xmlrpc_abyss.pc.cmake
new file mode 100644
-index 0000000..fae7af3
+index 0000000..b0dbcc9
--- /dev/null
+++ b/lib/abyss/src/xmlrpc_abyss.pc.cmake
@@ -0,0 +1,12 @@
@@ -789,12 +811,12 @@ index 0000000..fae7af3
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_abyss
++Name: xmlrpc_abyss
+Description: XMLRPC Abyss base library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_abyss @xmlrpc_abyss_pkgconfig_libs@
++Libs: -L${libdir} -lxmlrpc_abyss @xmlrpc_abyss_pkgconfig_libs@
+Cflags:
diff --git a/lib/curl_transport/CMakeLists.txt b/lib/curl_transport/CMakeLists.txt
new file mode 100644
@@ -955,7 +977,7 @@ index 0000000..25ba487
+ensc_pkgconfig(xmlrpc_util)
diff --git a/lib/libutil/xmlrpc_util.pc.cmake b/lib/libutil/xmlrpc_util.pc.cmake
new file mode 100644
-index 0000000..3d2968e
+index 0000000..d4e01bf
--- /dev/null
+++ b/lib/libutil/xmlrpc_util.pc.cmake
@@ -0,0 +1,10 @@
@@ -963,23 +985,24 @@ index 0000000..3d2968e
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_util
++Name: xmlrpc_util
+Description: XMLRPC utility library
+Version: @XMLRPC_C_VERSION@
+
-+Libs: -L${libdir} -lxmlrpc_util
++Libs: -L${libdir} -lxmlrpc_util
+Cflags: -I${includedir}
diff --git a/lib/libwww_transport/CMakeLists.txt b/lib/libwww_transport/CMakeLists.txt
new file mode 100644
index 0000000..aa52d9e
--- /dev/null
+++ b/lib/libwww_transport/CMakeLists.txt
-@@ -0,0 +1,6 @@
+@@ -0,0 +1,7 @@
+# -*- cmake -*-
+
+if(MUST_BUILD_LIBWWW_CLIENT)
+ list(APPEND transport_SOURCES
-+ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_libwww_transport.c)
++ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_libwww_transport.c
++ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_libwww_transport.h)
+endif(MUST_BUILD_LIBWWW_CLIENT)
diff --git a/lib/util/CMakeLists.txt b/lib/util/CMakeLists.txt
new file mode 100644
@@ -1019,10 +1042,10 @@ index 0000000..17535ab
+endif(MUST_BUILD_WININET_CLIENT)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
-index 0000000..7ac88b0
+index 0000000..f51e15b
--- /dev/null
+++ b/src/CMakeLists.txt
-@@ -0,0 +1,122 @@
+@@ -0,0 +1,121 @@
+# -*- cmake -*-
+
+if(ENABLE_LIBXML2_BACKEND)
@@ -1047,7 +1070,7 @@ index 0000000..7ac88b0
+if(MUST_BUILD_LIBWWW_CLIENT)
+ set(client_libwww_CFLAGS "${LIBWWW_CFLAGS}")
+ set(client_libwww_LIBS "${LIBWWW_LIBS}")
-+ list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c)
++ list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c ${libwww_srcdir}/xmlrpc_libwww_transport.h)
+endif(MUST_BUILD_LIBWWW_CLIENT)
+
+if(MUST_BUILD_CURL_CLIENT)
@@ -1075,7 +1098,6 @@ index 0000000..7ac88b0
+
+
+
-+
+### libxmlrpc.so
+add_library(xmlrpc SHARED
+ double.c parse_datetime.c parse_value.c resource.c trace.c version.c
@@ -1084,7 +1106,7 @@ index 0000000..7ac88b0
+ xmlrpc_data.c xmlrpc_datetime.c xmlrpc_string.c
+ xmlrpc_array.c xmlrpc_struct.c
+ xmlrpc_build.c xmlrpc_decompose.c xmlrpc_parse.c xmlrpc_serialize.c
-+ xmlrpc_base64.c xmlrpc_authcookie.c)
++ xmlrpc_authcookie.c)
+
+set_target_properties(xmlrpc
+ PROPERTIES
@@ -1116,7 +1138,7 @@ index 0000000..7ac88b0
+### libxmlrpc_server_abyss.so
+if(ENABLE_ABYSS_SERVER)
+ add_library(xmlrpc_server_abyss SHARED
-+ xmlrpc_server_abyss.c)
++ xmlrpc_server_abyss.c abyss_handler.c)
+ target_link_libraries(xmlrpc_server_abyss xmlrpc_abyss xmlrpc_server)
+ list(APPEND lib_TARGETS xmlrpc_server_abyss)
+ ensc_pkgconfig(xmlrpc_server_abyss)
@@ -1247,7 +1269,7 @@ index 0000000..dffd36c
+add_test(runtests src-test)
diff --git a/src/cpp/xmlrpc++.pc.cmake b/src/cpp/xmlrpc++.pc.cmake
new file mode 100644
-index 0000000..3bfa992
+index 0000000..e99d81e
--- /dev/null
+++ b/src/cpp/xmlrpc++.pc.cmake
@@ -0,0 +1,12 @@
@@ -1256,16 +1278,16 @@ index 0000000..3bfa992
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc++
++Name: xmlrpc++
+Description: XMLRPC C++ Base library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc++
++Libs: -L${libdir} -lxmlrpc++
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_client++.pc.cmake b/src/cpp/xmlrpc_client++.pc.cmake
new file mode 100644
-index 0000000..bd6766b
+index 0000000..fe1f835
--- /dev/null
+++ b/src/cpp/xmlrpc_client++.pc.cmake
@@ -0,0 +1,12 @@
@@ -1274,16 +1296,16 @@ index 0000000..bd6766b
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_client++
++Name: xmlrpc_client++
+Description: XMLRPC C++ Client library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc++ xmlrpc_client xmlrpc_packetsocket xmlrpc xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_client++
++Libs: -L${libdir} -lxmlrpc_client++
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_cpp.pc.cmake b/src/cpp/xmlrpc_cpp.pc.cmake
new file mode 100644
-index 0000000..8acc22f
+index 0000000..9f94252
--- /dev/null
+++ b/src/cpp/xmlrpc_cpp.pc.cmake
@@ -0,0 +1,12 @@
@@ -1292,16 +1314,16 @@ index 0000000..8acc22f
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_cpp
++Name: xmlrpc_cpp
+Description: XMLRPC CPP library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc xmlrpc_server xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_cpp
++Libs: -L${libdir} -lxmlrpc_cpp
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_packetsocket.pc.cmake b/src/cpp/xmlrpc_packetsocket.pc.cmake
new file mode 100644
-index 0000000..4a8aedc
+index 0000000..e168da3
--- /dev/null
+++ b/src/cpp/xmlrpc_packetsocket.pc.cmake
@@ -0,0 +1,12 @@
@@ -1310,16 +1332,16 @@ index 0000000..4a8aedc
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_packetsocket
++Name: xmlrpc_packetsocket
+Description: XMLRPC C++ packsetsocket library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc++
-+Libs: -L${libdir} -lxmlrpc_packetsocket
++Libs: -L${libdir} -lxmlrpc_packetsocket
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_server++.pc.cmake b/src/cpp/xmlrpc_server++.pc.cmake
new file mode 100644
-index 0000000..c769d54
+index 0000000..5080b63
--- /dev/null
+++ b/src/cpp/xmlrpc_server++.pc.cmake
@@ -0,0 +1,12 @@
@@ -1328,16 +1350,16 @@ index 0000000..c769d54
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server++
++Name: xmlrpc_server++
+Description: XMLRPC C++ Server library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc++ xmlrpc_server xmlrpc xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_server++
++Libs: -L${libdir} -lxmlrpc_server++
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_server_abyss++.pc.cmake b/src/cpp/xmlrpc_server_abyss++.pc.cmake
new file mode 100644
-index 0000000..b325eff
+index 0000000..f1d2198
--- /dev/null
+++ b/src/cpp/xmlrpc_server_abyss++.pc.cmake
@@ -0,0 +1,12 @@
@@ -1346,16 +1368,16 @@ index 0000000..b325eff
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server_abyss++
++Name: xmlrpc_server_abyss++
+Description: XMLRPC C++ Abyss-Server library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc_server++ xmlrpc_server_abyss xmlrpc++ xmlrpc_abyss xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_server_abyss++
++Libs: -L${libdir} -lxmlrpc_server_abyss++
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_server_cgi++.pc.cmake b/src/cpp/xmlrpc_server_cgi++.pc.cmake
new file mode 100644
-index 0000000..72a3726
+index 0000000..9021564
--- /dev/null
+++ b/src/cpp/xmlrpc_server_cgi++.pc.cmake
@@ -0,0 +1,12 @@
@@ -1364,16 +1386,16 @@ index 0000000..72a3726
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server_cgi++
++Name: xmlrpc_server_cgi++
+Description: XMLRPC C++ CGI-Server library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc_server++ xmlrpc++ xmlrpc
-+Libs: -L${libdir} -lxmlrpc_server_cgi++
++Libs: -L${libdir} -lxmlrpc_server_cgi++
+Cflags: -I${includedir}
diff --git a/src/cpp/xmlrpc_server_pstream++.pc.cmake b/src/cpp/xmlrpc_server_pstream++.pc.cmake
new file mode 100644
-index 0000000..da5639d
+index 0000000..9b4819f
--- /dev/null
+++ b/src/cpp/xmlrpc_server_pstream++.pc.cmake
@@ -0,0 +1,12 @@
@@ -1382,61 +1404,16 @@ index 0000000..da5639d
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server_pstream++
++Name: xmlrpc_server_pstream++
+Description: XMLRPC C++ pstream-Server library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc_server++ xmlrpc_packetsocket xmlrpc++
-+Libs: -L${libdir} -lxmlrpc_server_pstream++
++Libs: -L${libdir} -lxmlrpc_server_pstream++
+Cflags: -I${includedir}
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-new file mode 100644
-index 0000000..fdc6869
---- /dev/null
-+++ b/test/CMakeLists.txt
-@@ -0,0 +1,39 @@
-+# -*- cmake -*-
-+
-+set(test_SOURCES
-+ abyss.c
-+ abyss.h
-+ test.c
-+ cgi.c
-+ method_registry.c
-+ parse_xml.c
-+ serialize.c
-+ serialize_value.c
-+ server_abyss.c
-+ testtool.c
-+ testtool.h
-+ value.c
-+ value_datetime.c
-+ xml_data.c)
-+
-+if(MUST_BUILD_CLIENT)
-+ list(APPEND test_SOURCES client.c)
-+ list(APPEND test_LIBS xmlrpc_client)
-+else(MUST_BUILD_CLIENT)
-+ list(APPEND test_SOURCES client_dummy.c)
-+endif(MUST_BUILD_CLIENT)
-+
-+
-+add_executable(src-test ${test_SOURCES})
-+target_link_libraries(src-test xmlrpc_server_abyss util ${test_LIBS})
-+
-+add_executable(src-cgitest1 cgitest1.c testtool.c testtool.h)
-+target_link_libraries(src-cgitest1 xmlrpc_server_cgi)
-+
-+add_custom_command(TARGET src-test
-+ POST_BUILD
-+ COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/data
-+ COMMAND ln -s ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR})
-+
-+enable_testing()
-+add_test(runtests src-test)
diff --git a/src/xmlrpc.pc.cmake b/src/xmlrpc.pc.cmake
new file mode 100644
-index 0000000..4c92f93
+index 0000000..7c098b8
--- /dev/null
+++ b/src/xmlrpc.pc.cmake
@@ -0,0 +1,12 @@
@@ -1445,16 +1422,16 @@ index 0000000..4c92f93
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc
++Name: xmlrpc
+Description: XMLRPC base library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: @xmlrpc_pkgconfig_req@ xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc @xmlrpc_pkgconfig_libs@
++Libs: -L${libdir} -lxmlrpc @xmlrpc_pkgconfig_libs@
+Cflags: -I${includedir}
diff --git a/src/xmlrpc_client.pc.cmake b/src/xmlrpc_client.pc.cmake
new file mode 100644
-index 0000000..7f28a15
+index 0000000..61543d4
--- /dev/null
+++ b/src/xmlrpc_client.pc.cmake
@@ -0,0 +1,12 @@
@@ -1463,16 +1440,16 @@ index 0000000..7f28a15
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_client
++Name: xmlrpc_client
+Description: XMLRPC client library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc @xmlrpc_client_pkgconfig_req@ xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_client @client_libwww_LIBS@ @client_wininet_LIBS@
++Libs: -L${libdir} -lxmlrpc_client @client_libwww_LIBS@ @client_wininet_LIBS@
+Cflags: -I${includedir}
diff --git a/src/xmlrpc_server.pc.cmake b/src/xmlrpc_server.pc.cmake
new file mode 100644
-index 0000000..d5c334e
+index 0000000..cade53d
--- /dev/null
+++ b/src/xmlrpc_server.pc.cmake
@@ -0,0 +1,12 @@
@@ -1481,16 +1458,16 @@ index 0000000..d5c334e
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server
++Name: xmlrpc_server
+Description: XMLRPC Server library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_server
++Libs: -L${libdir} -lxmlrpc_server
+Cflags: -I${includedir}
diff --git a/src/xmlrpc_server_abyss.pc.cmake b/src/xmlrpc_server_abyss.pc.cmake
new file mode 100644
-index 0000000..48fa0b1
+index 0000000..198c780
--- /dev/null
+++ b/src/xmlrpc_server_abyss.pc.cmake
@@ -0,0 +1,12 @@
@@ -1499,16 +1476,16 @@ index 0000000..48fa0b1
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server_abyss
++Name: xmlrpc_server_abyss
+Description: XMLRPC Server Abyss library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc_server xmlrpc_abyss xmlrpc xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_server_abyss
++Libs: -L${libdir} -lxmlrpc_server_abyss
+Cflags: -I${includedir}
diff --git a/src/xmlrpc_server_cgi.pc.cmake b/src/xmlrpc_server_cgi.pc.cmake
new file mode 100644
-index 0000000..4d174ef
+index 0000000..748b550
--- /dev/null
+++ b/src/xmlrpc_server_cgi.pc.cmake
@@ -0,0 +1,12 @@
@@ -1517,24 +1494,112 @@ index 0000000..4d174ef
+libdir=@libdir@
+includedir=@includedir@
+
-+Name: xmlrpc_server_cgi
++Name: xmlrpc_server_cgi
+Description: XMLRPC CGI-Server library
+Version: @XMLRPC_C_VERSION@
+
+Requires.private: xmlrpc_server xmlrpc xmlrpc_util
-+Libs: -L${libdir} -lxmlrpc_server_cgi
++Libs: -L${libdir} -lxmlrpc_server_cgi
+Cflags: -I${includedir}
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+new file mode 100644
+index 0000000..e712382
+--- /dev/null
++++ b/test/CMakeLists.txt
+@@ -0,0 +1,41 @@
++# -*- cmake -*-
++
++set(test_SOURCES
++ abyss.c
++ abyss.h
++ test.c
++ cgi.c
++ method_registry.c
++ parse_xml.c
++ serialize.c
++ serialize_value.c
++ server_abyss.c
++ testtool.c
++ testtool.h
++ value.c
++ value_datetime.c
++ xml_data.c)
++
++if(MUST_BUILD_CLIENT)
++ list(APPEND test_SOURCES client.c)
++ list(APPEND test_LIBS xmlrpc_client)
++else(MUST_BUILD_CLIENT)
++ list(APPEND test_SOURCES client_dummy.c)
++endif(MUST_BUILD_CLIENT)
++
++
++add_executable(src-test ${test_SOURCES})
++target_link_libraries(src-test xmlrpc_server_abyss util ${test_LIBS})
++
++add_executable(src-cgitest1 cgitest1.c testtool.c testtool.h)
++target_link_libraries(src-cgitest1 xmlrpc_server_cgi)
++
++add_custom_command(TARGET src-test
++ POST_BUILD
++ COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/data
++ COMMAND ln -s ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR})
++
++enable_testing()
++add_test(runtests src-test)
++
++add_subdirectory(cpp)
+diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt
+new file mode 100644
+index 0000000..15a7c3a
+--- /dev/null
++++ b/test/cpp/CMakeLists.txt
+@@ -0,0 +1,34 @@
++# -*- cmake -*-
++
++set(testcpp_SOURCES
++ test.cpp
++ base64.cpp
++ registry.cpp
++ server_abyss.cpp
++ server_pstream.cpp
++ tools.cpp
++ value.cpp
++ xml.cpp)
++
++if(MUST_BUILD_CLIENT)
++ list(APPEND testcpp_SOURCES testclient.cpp)
++ list(APPEND testcpp_LIBS xmlrpc_client++)
++else(MUST_BUILD_CLIENT)
++ list(APPEND testcpp_SOURCES testclient_dummy.c)
++endif(MUST_BUILD_CLIENT)
++
++if(DEFINED MSVCRT)
++ list(APPEND testcpp_SOURCES ${CMAKE_SOURCE_DIR}/Windows/socketpair.cpp)
++endif(DEFINED MSVCRT)
++
++add_executable(src-testcpp ${testcpp_SOURCES})
++target_link_libraries(src-testcpp
++ xmlrpc++
++ xmlrpc_server++
++ xmlrpc_server_abyss++
++ xmlrpc_server_pstream++
++ xmlrpc_cpp
++ util ${testcpp_LIBS})
++
++enable_testing()
++add_test(runtests src-testcpp)
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644
-index 0000000..0bc45a9
+index 0000000..cd2a6d7
--- /dev/null
+++ b/tools/CMakeLists.txt
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,22 @@
+# -*- cmake -*-
+
+add_subdirectory(lib)
+add_subdirectory(binmode-rpc-kit)
+add_subdirectory(turbocharger)
++add_subdirectory(xml)
+
+if (MUST_BUILD_CLIENT)
+ add_subdirectory(xmlrpc)
@@ -1606,6 +1671,28 @@ index 0000000..5b01824
+
+install(FILES xml-rpc-api2txt.1
+ DESTINATION ${mandir}/man1)
+diff --git a/tools/xml/CMakeLists.txt b/tools/xml/CMakeLists.txt
+new file mode 100644
+index 0000000..0bab80c
+--- /dev/null
++++ b/tools/xml/CMakeLists.txt
+@@ -0,0 +1,16 @@
++# -*- cmake -*-
++
++add_executable(xmlrpc_parsecall
++ xmlrpc_parsecall.c
++ ../lib/dumpvalue.c)
++
++target_link_libraries(xmlrpc_parsecall
++ xmlrpc
++ util)
++
++install(TARGETS xmlrpc_parsecall
++ DESTINATION ${_bin})
++
++include_directories(../lib/include)
++
++ensc_set_link_exe_flags(xmlrpc_parsecall)
diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
new file mode 100644
index 0000000..da01ec3
@@ -1849,10 +1936,10 @@ index 0000000..50577fd
+exec pkg-config "$@" $comp
diff --git a/xmlrpc_config.h.cmake b/xmlrpc_config.h.cmake
new file mode 100644
-index 0000000..2859749
+index 0000000..9eff724
--- /dev/null
+++ b/xmlrpc_config.h.cmake
-@@ -0,0 +1,147 @@
+@@ -0,0 +1,183 @@
+/* -*- c -*- */
+
+#ifndef H_XMLRPC_C_CONFIG_H
@@ -1907,9 +1994,15 @@ index 0000000..2859749
+
+/* MSVCRT means we're using the Microsoft Visual C++ runtime library */
+
-+#ifdef _MSC_VER
-+/* The compiler is Microsoft Visual C++. */
++#if defined(_MSC_VER)
++ /* The compiler is Microsoft Visual C++ */
+ #define MSVCRT _MSC_VER
++#elif defined(__MINGW32__)
++ /* The compiler is Mingw, which is the Windows version of the GNU
++ compiler. Programs built with this normally use the Microsoft Visual
++ C++ runtime library.
++ */
++ #define MSVCRT 1
+#else
+ #define MSVCRT 0
+#endif
@@ -1937,6 +2030,9 @@ index 0000000..2859749
+
+#define HAVE_PTHREAD 1
+
++/* Note that the return value of XMLRPC_VSNPRINTF is int on Windows,
++ ssize_t on POSIX.
++*/
+#if MSVCRT
+ #define XMLRPC_VSNPRINTF _vsnprintf
+#else
@@ -1957,7 +2053,7 @@ index 0000000..2859749
+ #define XMLRPC_CLOSESOCKET close
+#endif
+
-+#if defined(_MSC_VER)
++#if defined(_MSC_VER) && (_MSC_VER >= 1400)
+/* Starting with MSVC 8, the runtime library defines various POSIX functions
+ such as strdup() whose names violate the ISO C standard (the standard
+ says the strXXX names are reserved for the standard), but warns you of
@@ -1995,11 +2091,38 @@ index 0000000..2859749
+ #define XMLRPC_STRTOULL _strtoui64 /* Windows MSVC */
+#endif
+
++#if MSVCRT
++ #define snprintf _snprintf
++ #define popen _popen
++#endif
++
+#define XMLRPC_INT64 int64_t
+#define XMLRPC_PRId64 PRId64
+
++/* S_IRUSR is POSIX, defined in <sys/stat.h> Some old BSD systems and Windows
++ systems have S_IREAD instead. Most Unix today (2011) has both. In 2011,
++ Android has S_IRUSR and not S_IREAD.
++
++ Some Windows has _S_IREAD.
++
++ We're ignoring S_IREAD now to see if anyone misses it. If there are still
++ users that need it, we can handle it here.
++*/
++#if MSVCRT
++ #define XMLRPC_S_IWUSR _S_IWRITE
++ #define XMLRPC_S_IRUSR _S_IREAD
++#else
++ #define XMLRPC_S_IWUSR S_IWUSR
++ #define XMLRPC_S_IRUSR S_IRUSR
++#endif
++
++#if MSVCRT
++ #define XMLRPC_CHDIR _chdir
++#else
++ #define XMLRPC_CHDIR chdir
++#endif
+
+#endif
--
-1.7.4
+1.7.10.4
diff --git a/xmlrpc-c-printf-size_t.patch b/xmlrpc-c-printf-size_t.patch
index 831c590..420b213 100644
--- a/xmlrpc-c-printf-size_t.patch
+++ b/xmlrpc-c-printf-size_t.patch
@@ -1,11 +1,11 @@
-From c06a722a77198ae42fb79b67d185556ac6c1e246 Mon Sep 17 00:00:00 2001
+From 25a777bb0ee2e2ee17d87006f76b3cea5d15a9f7 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date: Mon, 25 Feb 2008 17:48:25 +0100
-Subject: [PATCH 2/7] fixed broken format string modifiers
+Subject: [PATCH 2/9] fixed broken format string modifiers
---
- examples/json.c | 4 ++--
- tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 2 +-
+ examples/json.c | 4 ++--
+ examples/parse_xml.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/examples/json.c b/examples/json.c
@@ -30,19 +30,19 @@ index 89fe82b..91ea50d 100644
XMLRPC_MEMBLOCK_CONTENTS(char, &out));
XMLRPC_MEMBLOCK_CLEAN(char, &out);
-diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
-index 1417708..0d6ec11 100644
---- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
-+++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
-@@ -103,7 +103,7 @@ bytestringValFromParm(string const& valueString) {
+diff --git a/examples/parse_xml.c b/examples/parse_xml.c
+index 2e6c508..4f6c308 100644
+--- a/examples/parse_xml.c
++++ b/examples/parse_xml.c
+@@ -58,7 +58,7 @@ describeXmlElement(const xml_element * const elemP,
+ printf("%sXML element type: '%s'\n",
+ prefix, xml_element_name(elemP));
- if (valueString.length() / 2 * 2 != valueString.length())
- throwf("Hexadecimal text is not an even "
-- "number of characters (it is %u characters)",
-+ "number of characters (it is %zu characters)",
- valueString.length());
- else {
- vector<unsigned char> byteString(valueString.length() / 2);
+- printf("%sNumber of child elements: %u\n",
++ printf("%sNumber of child elements: %zu\n",
+ prefix, xml_element_children_size(elemP));
+
+ for (i = 0; i < xml_element_children_size(elemP); ++i) {
--
-1.7.2.3
+1.7.6
diff --git a/xmlrpc-c-soname.patch b/xmlrpc-c-soname.patch
index 761699b..c984025 100644
--- a/xmlrpc-c-soname.patch
+++ b/xmlrpc-c-soname.patch
@@ -1,5 +1,5 @@
---- xmlrpc-c-1.20.3/src/Makefile~ 2009-10-03 03:58:24.000000000 +0000
-+++ xmlrpc-c-1.20.3/src/Makefile 2009-12-05 21:20:45.038553497 +0000
+--- xmlrpc-c/src/Makefile.orig 2013-03-03 16:31:13.000000000 +0100
++++ xmlrpc-c/src/Makefile 2013-03-03 17:08:21.062194251 +0100
@@ -15,7 +15,7 @@
SUBDIRS += cpp
endif
@@ -9,7 +9,7 @@
# We cannot build libxmlrpc_server_abyss if we can't also build Abyss,
# because we need libxmlrpc_abyss in order to build the proper runtime
-@@ -148,7 +148,7 @@
+@@ -155,7 +155,7 @@
# shlibfn generates e.g. libxmlrpc.so.3.1
# shliblefn generates e.g. libxmlrpc.so
@@ -18,7 +18,7 @@
$(LIBXMLRPC): $(LIBXMLRPC_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
-@@ -163,10 +163,10 @@
+@@ -170,10 +170,10 @@
$(LIBXMLRPC_SERVER): \
$(LIBXMLRPC_SERVER_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
@@ -31,7 +31,7 @@
LIBXMLRPC_SERVER_ABYSS = $(call shlibfn, libxmlrpc_server_abyss)
-@@ -175,12 +175,12 @@
+@@ -182,12 +182,12 @@
$(LIBXMLRPC_UTIL) \
$(LIBXMLRPC_ABYSS) \
$(call shliblefn, libxmlrpc_server) \
@@ -43,10 +43,10 @@
-L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \
- -L. -lxmlrpc $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
+ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-
- LIBXMLRPC_SERVER_CGI = $(call shlibfn, libxmlrpc_server_cgi)
-
-@@ -188,11 +188,11 @@
+ ifeq ($(MSVCRT),yes)
+ $(LIBXMLRPC_SERVER_ABYSS): LIBDEP += -lws2_32 -lwsock32
+ endif
+@@ -198,11 +198,11 @@
$(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh) \
$(LIBXMRPC_UTIL) \
$(call shliblefn, libxmlrpc_server) \
@@ -60,7 +60,7 @@
LIBXMLRPC_CLIENT = $(call shlibfn, libxmlrpc_client)
-@@ -200,16 +200,16 @@
+@@ -210,7 +210,7 @@
$(LIBXMLRPC_CLIENT_MODS:%=%.osh) \
$(TRANSPORT_MODS:%=%.osh) \
$(LIBXMLRPC_UTIL) \
@@ -69,10 +69,18 @@
$(LIBXMLRPC_CLIENT): LIBOBJECTS = \
$(LIBXMLRPC_CLIENT_MODS:%=%.osh) \
$(TRANSPORT_MODS:%=%.osh)
- $(LIBXMLRPC_CLIENT): LIBDEP = \
+@@ -226,7 +226,7 @@
+
+ LIBXMLRPC_CLIENT_LIBDEP = \
+ -Lblddir/src -Lblddir/lib/libutil \
+- -lxmlrpc -lxmlrpc_util \
++ -lxmlrpc-c -lxmlrpc_util \
+ $(XML_PARSER_LIBDEP) \
$(TRANSPORT_LIBDEP) \
-- -L. -lxmlrpc $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-+ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
+
+@@ -235,8 +235,8 @@
+ $(LIBXMLRPC_CLIENT): LIBDEP += -lws2_32 -lwsock32 -lpthread
+ endif
-libxmlrpc.a: $(LIBXMLRPC_MODS:%=%.o)
-libxmlrpc.a: LIBOBJECTS = $(LIBXMLRPC_MODS:%=%.o)
@@ -81,17 +89,6 @@
libxmlrpc_server.a: $(LIBXMLRPC_SERVER_MODS:%=%.o)
libxmlrpc_server.a: LIBOBJECTS = $(LIBXMLRPC_SERVER_MODS:%=%.o)
---- xmlrpc-c-1.14.2/tools/common.mk 2008-03-27 19:17:42.000000000 +0100
-+++ xmlrpc-c-1.14.2/tools/common.mk 2008-05-14 18:01:21.855674904 +0200
-@@ -11,7 +11,7 @@
-
- CLIENT_LDLIBS = -L$(BLDDIR)/src -L$(BLDDIR)/lib/libutil
-
--CLIENT_LDLIBS += -lxmlrpc_client -lxmlrpc -lxmlrpc_util
-+CLIENT_LDLIBS += -lxmlrpc_client -lxmlrpc-c -lxmlrpc_util
-
- ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
- CLIENT_LDLIBS += $(shell libwww-config --libs)
--- xmlrpc-c-1.14.2/common.mk 2008-05-14 17:43:31.882708000 +0200
+++ xmlrpc-c-1.14.2/common.mk 2008-05-14 17:59:12.072278970 +0200
@@ -142,7 +142,7 @@
@@ -112,20 +109,20 @@
LIBXMLRPC_CLIENT_A = $(BLDDIR)/src/libxmlrpc_client.a
LIBXMLRPC_SERVER_A = $(BLDDIR)/src/libxmlrpc_server.a
LIBXMLRPC_SERVER_ABYSS_A = $(BLDDIR)/src/libxmlrpc_server_abyss.a
---- xmlrpc-c-1.14.2/xmlrpc-c-config.main.orig 2008-04-18 18:22:02.000000000 +0200
-+++ xmlrpc-c-1.14.2/xmlrpc-c-config.main 2008-05-14 18:02:04.022081182 +0200
+--- xmlrpc-c/xmlrpc-c-config.main.orig 2013-03-03 17:06:35.282198688 +0100
++++ xmlrpc-c/xmlrpc-c-config.main 2013-03-03 17:44:58.868768683 +0100
@@ -45,7 +45,7 @@
the_libdirs="-L$LIBINST_DIR $the_libdirs"
--the_libs="-lxmlrpc -lxmlrpc_util ${LIBXML}"
-+the_libs="-lxmlrpc-c -lxmlrpc_util ${LIBXML}"
+-the_libs="-lxmlrpc ${LIBXML} -lxmlrpc_util"
++the_libs="-lxmlrpc-c ${LIBXML} -lxmlrpc_util"
the_rpath="-R$LIBINST_DIR $the_rpath"
the_wl_rpath="-Wl,-rpath,$LIBINST_DIR $the_wl_rpath"
---- xmlrpc-c-1.20.3/src/cpp/Makefile~ 2009-07-01 17:39:59.000000000 +0000
-+++ xmlrpc-c-1.20.3/src/cpp/Makefile 2009-12-05 21:25:08.455609267 +0000
-@@ -127,7 +127,7 @@
+--- xmlrpc-c/src/cpp/Makefile.orig 2013-03-03 16:31:11.000000000 +0100
++++ xmlrpc-c/src/cpp/Makefile 2013-03-03 17:46:03.132099319 +0100
+@@ -119,7 +119,7 @@
$(LIBXMLRPC_UTIL)
$(LIBXMLRPC_CPP_SH): LIBOBJECTS = XmlRpcCpp.osh
$(LIBXMLRPC_CPP_SH): LIBDEP = \
@@ -134,7 +131,7 @@
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-@@ -138,7 +138,7 @@
+@@ -130,7 +130,7 @@
$(LIBXMLRPC_UTIL)
$(LIBXMLRPCPP_SH): LIBOBJECTS = $(LIBXMLRPCPP_MODS:%=%.osh)
$(LIBXMLRPCPP_SH): LIBDEP = \
@@ -142,8 +139,8 @@
+ -Lblddir/src -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-
-@@ -153,7 +153,7 @@
+ ifeq ($(MSVCRT),yes)
+@@ -147,7 +147,7 @@
$(LIBXMLRPC_SERVERPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVERPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVERPP_SH): LIBDEP = \
-L. -l$(LIBXMLRPCPP_NAME) \
@@ -151,8 +148,8 @@
+ -Lblddir/src -lxmlrpc_server -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-
-@@ -169,7 +169,7 @@
+ ifeq ($(MSVCRT),yes)
+@@ -166,7 +166,7 @@
$(LIBXMLRPC_SERVER_ABYSSPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_ABYSSPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVER_ABYSSPP_SH): LIBDEP = \
-L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) \
@@ -161,7 +158,7 @@
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -183,7 +183,7 @@
+@@ -184,7 +184,7 @@
$(LIBXMLRPC_SERVER_CGIPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_CGIPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVER_CGIPP_SH): LIBDEP = \
-L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) \
@@ -169,8 +166,8 @@
+ -Lblddir/src -lxmlrpc_server -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-
-@@ -197,7 +197,7 @@
+ ifeq ($(MSVCRT),yes)
+@@ -201,7 +201,7 @@
$(LIBXMLRPC_SERVER_PSTREAMPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_PSTREAMPP_MODS:%=%.osh)
$(LIBXMLRPC_SERVER_PSTREAMPP_SH): LIBDEP = \
-L. -lxmlrpc_server++ -l$(LIBXMLRPCPP_NAME) -lxmlrpc_packetsocket \
@@ -179,16 +176,16 @@
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util \
-@@ -212,7 +212,7 @@
- $(LIBXMLRPC_CLIENTPP_SH): LIBOBJECTS = $(LIBXMLRPC_CLIENTPP_MODS:%=%.osh)
+@@ -222,7 +222,7 @@
$(LIBXMLRPC_CLIENTPP_SH): LIBDEP = \
-L. -l$(LIBXMLRPCPP_NAME) -lxmlrpc_packetsocket \
+ $(shell cat blddir/src/libxmlrpc_client.ldflags) \
- -Lblddir/src -lxmlrpc_client -lxmlrpc \
+ -Lblddir/src -lxmlrpc_client -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-
-@@ -223,7 +223,7 @@
+ ifeq ($(MSVCRT),yes)
+@@ -236,7 +236,7 @@
$(LIBXMLRPC_PACKETSOCKET_SH): LIBOBJECTS = $(LIBXMLRPC_PACKETSOCKET_MODS:%=%.osh)
$(LIBXMLRPC_PACKETSOCKET_SH): LIBDEP = \
-L. -l$(LIBXMLRPCPP_NAME) \
@@ -196,15 +193,15 @@
+ -Lblddir/src -lxmlrpc-c \
$(XML_PARSER_LIBDEP) \
-L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
-
---- xmlrpc-c-1.20.3/src/xmlrpc.pc.cmake~ 2009-12-05 22:00:03.000000000 +0000
-+++ xmlrpc-c-1.20.3/src/xmlrpc.pc.cmake 2009-12-05 22:00:41.931645906 +0000
+ ifeq ($(MSVCRT),yes)
+--- xmlrpc-c/src/xmlrpc.pc.cmake.orig 2013-03-03 17:06:35.285532023 +0100
++++ xmlrpc-c/src/xmlrpc.pc.cmake 2013-03-03 17:46:37.542097875 +0100
@@ -8,5 +8,5 @@
Version: @XMLRPC_C_VERSION@
Requires.private: @xmlrpc_pkgconfig_req@ xmlrpc_util
--Libs: -L${libdir} -lxmlrpc @xmlrpc_pkgconfig_libs@
-+Libs: -L${libdir} -lxmlrpc-c @xmlrpc_pkgconfig_libs@
+-Libs: -L${libdir} -lxmlrpc @xmlrpc_pkgconfig_libs@
++Libs: -L${libdir} -lxmlrpc-c @xmlrpc_pkgconfig_libs@
Cflags: -I${includedir}
--- xmlrpc-c-1.20.3/src/CMakeLists.txt 2009-12-05 22:06:26.335153315 +0000
+++ xmlrpc-c-1.20.3/src/CMakeLists.txt 2009-12-05 22:09:49.944925301 +0000
@@ -281,3 +278,14 @@
ensc_add_example(json c base)
ensc_add_example(gen_sample_add_xml c base)
+--- xmlrpc-c/tools/xml/CMakeLists.txt.orig 2013-03-03 17:51:15.572086205 +0100
++++ xmlrpc-c/tools/xml/CMakeLists.txt 2013-03-03 17:56:38.495405989 +0100
+@@ -5,7 +5,7 @@
+ ../lib/dumpvalue.c)
+
+ target_link_libraries(xmlrpc_parsecall
+- xmlrpc
++ xmlrpc-c
+ util)
+
+ install(TARGETS xmlrpc_parsecall
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xmlrpc-c.git/commitdiff/91f353187f4ecb82c41507a68c2da571aca67f21
More information about the pld-cvs-commit
mailing list