- updated to 1.06.05

- merged + updated patches
This commit is contained in:
ensc 2006-09-20 18:45:55 +00:00
parent dda30fe5d6
commit 9f015c0764
11 changed files with 267 additions and 615 deletions

View File

@ -1,39 +1,42 @@
From 8ff6b9ed5b0f452b6fb0f9a1b2b5aed866dabdf3 Mon Sep 17 00:00:00 2001 From f0c6498ab4e0809f035910c0b4a44aadbb82ddd1 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 14:31:36 +0200 Date: Wed, 20 Sep 2006 20:42:46 +0200
Subject: [PATCH] make -> cmake transition Subject: [PATCH] make -> cmake transition
--- ---
CMakeLists.txt | 206 +++++++++++++++++++++++++++ CMakeLists.txt | 236 +++++++++++++++++++++++++++
cmake/try-attr.cc | 1 cmake/try-attr.cc | 3
examples/CMakeLists.txt | 56 +++++++ cmake/va-list-is-array.c | 9 +
examples/CMakeLists.txt | 51 ++++++
examples/config.h | 1 examples/config.h | 1
examples/cpp/CMakeLists.txt | 25 +++ examples/cpp/CMakeLists.txt | 20 ++
include/CMakeLists.txt | 3 include/CMakeLists.txt | 3
include/xmlrpc-c/CMakeLists.txt | 31 ++++ include/xmlrpc-c/CMakeLists.txt | 31 ++++
include/xmlrpc-c/config.h.cmake | 8 + include/xmlrpc-c/config.h.cmake | 8 +
lib/CMakeLists.txt | 12 ++ lib/CMakeLists.txt | 12 +
lib/abyss/CMakeLists.txt | 3 lib/abyss/CMakeLists.txt | 3
lib/abyss/src/CMakeLists.txt | 62 ++++++++ lib/abyss/src/CMakeLists.txt | 62 +++++++
lib/abyss/src/xmlrpc_abyss.pc.cmake | 10 + lib/abyss/src/xmlrpc_abyss.pc.cmake | 10 +
lib/curl_transport/CMakeLists.txt | 7 + lib/curl_transport/CMakeLists.txt | 7 +
lib/expat/CMakeLists.txt | 9 + lib/expat/CMakeLists.txt | 9 +
lib/expat/gennmtab/CMakeLists.txt | 3 lib/expat/gennmtab/CMakeLists.txt | 3
lib/expat/xmlparse/CMakeLists.txt | 7 + lib/expat/xmlparse/CMakeLists.txt | 7 +
lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake | 10 + lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake | 10 +
lib/expat/xmltok/CMakeLists.txt | 20 +++ lib/expat/xmltok/CMakeLists.txt | 20 ++
lib/expat/xmltok/xmlrpc_xmltok.pc.cmake | 9 + lib/expat/xmltok/xmlrpc_xmltok.pc.cmake | 9 +
lib/libutil/CMakeLists.txt | 11 + lib/libutil/CMakeLists.txt | 22 +++
lib/libutil/xmlrpc_util.pc.cmake | 10 + lib/libutil/xmlrpc_util.pc.cmake | 10 +
lib/libwww_transport/CMakeLists.txt | 4 + lib/libwww_transport/CMakeLists.txt | 4
lib/wininet_transport/CMakeLists.txt | 4 + lib/util/CMakeLists.txt | 13 +
src/CMakeLists.txt | 106 ++++++++++++++ lib/wininet_transport/CMakeLists.txt | 4
src/cpp/CMakeLists.txt | 48 ++++++ src/CMakeLists.txt | 106 ++++++++++++
src/cpp/CMakeLists.txt | 48 +++++
src/cpp/xmlrpc++.pc.cmake | 11 + src/cpp/xmlrpc++.pc.cmake | 11 +
src/cpp/xmlrpc_client++.pc.cmake | 11 + src/cpp/xmlrpc_client++.pc.cmake | 11 +
src/cpp/xmlrpc_cpp.pc.cmake | 11 + src/cpp/xmlrpc_cpp.pc.cmake | 11 +
src/cpp/xmlrpc_server++.pc.cmake | 11 + src/cpp/xmlrpc_server++.pc.cmake | 11 +
src/cpp/xmlrpc_server_abyss++.pc.cmake | 11 + src/cpp/xmlrpc_server_abyss++.pc.cmake | 11 +
src/test/CMakeLists.txt | 27 +++
src/xmlrpc.pc.cmake | 11 + src/xmlrpc.pc.cmake | 11 +
src/xmlrpc_client.pc.cmake | 11 + src/xmlrpc_client.pc.cmake | 11 +
src/xmlrpc_server.pc.cmake | 11 + src/xmlrpc_server.pc.cmake | 11 +
@ -42,18 +45,23 @@ Subject: [PATCH] make -> cmake transition
tools/CMakeLists.txt | 9 + tools/CMakeLists.txt | 9 +
tools/binmode-rpc-kit/CMakeLists.txt | 2 tools/binmode-rpc-kit/CMakeLists.txt | 2
tools/turbocharger/CMakeLists.txt | 1 tools/turbocharger/CMakeLists.txt | 1
tools/xml-rpc-api2cpp/CMakeLists.txt | 12 ++ tools/xml-rpc-api2cpp/CMakeLists.txt | 15 ++
tools/xmlrpc/CMakeLists.txt | 15 ++
tools/xmlrpc/config.h | 1
tools/xmlrpc_transport/CMakeLists.txt | 9 +
tools/xmlrpc_transport/config.h | 1
transport_config.h.cmake | 16 ++ transport_config.h.cmake | 16 ++
version.h.cmake | 2 version.h.cmake | 2
xmlrpc_config.h.cmake | 18 ++ xmlrpc-c-config | 38 ++++
42 files changed, 836 insertions(+), 0 deletions(-) xmlrpc_config.h.cmake | 21 ++
50 files changed, 988 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..239a434 index 0000000..18b390d
--- /dev/null --- /dev/null
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -0,0 +1,206 @@ @@ -0,0 +1,236 @@
+## -*- cmake -*- +## -*- cmake -*-
+project(xmlrpc-c) +project(xmlrpc-c)
+include(UsePkgConfig) +include(UsePkgConfig)
@ -89,6 +97,14 @@ index 0000000..239a434
+ endif("${libtype}" STREQUAL "STATIC_LIBRARY") + endif("${libtype}" STREQUAL "STATIC_LIBRARY")
+endmacro(ensc_pkgconfig_lib) +endmacro(ensc_pkgconfig_lib)
+ +
+macro(ensc_set_link_exe_flags)
+ ## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+ if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(${ARGV}
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+ endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+endmacro(ensc_set_link_exe_flags)
+ +
+ +
+########### +###########
@ -204,6 +220,19 @@ index 0000000..239a434
+ ${xmlrpc-c_SOURCE_DIR}/cmake/try-attr.cc + ${xmlrpc-c_SOURCE_DIR}/cmake/try-attr.cc
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DCMAKE_TEST_ATTR=__unused__) + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DCMAKE_TEST_ATTR=__unused__)
+ +
+try_compile(VA_LIST_IS_NOT_ARRAY
+ ${CMAKE_BINARY_DIR}/
+ ${xmlrpc-c_SOURCE_DIR}/cmake/va-list-is-array.c)
+
+if(VA_LIST_IS_NOT_ARRAY)
+ set(VA_LIST_IS_ARRAY 0)
+ message(STATUS "va_list is not an array")
+else(VA_LIST_IS_NOT_ARRAY)
+ set(VA_LIST_IS_ARRAY 1)
+ message(STATUS "va_list is an array")
+endif(VA_LIST_IS_NOT_ARRAY)
+
+
+if(HAVE_ATTR_UNUSED) +if(HAVE_ATTR_UNUSED)
+ set(ATTR_UNUSED "__attribute__((__unused__))") + set(ATTR_UNUSED "__attribute__((__unused__))")
+endif(HAVE_ATTR_UNUSED) +endif(HAVE_ATTR_UNUSED)
@ -246,11 +275,20 @@ index 0000000..239a434
+ COMMAND cd _dist && tar cjf ../xmlrpc-c-${XMLRPC_C_VERSION}.tar.bz2 xmlrpc-c-${XMLRPC_C_VERSION} --exclude=.git --exclude=CVS --exclude=.svn + COMMAND cd _dist && tar cjf ../xmlrpc-c-${XMLRPC_C_VERSION}.tar.bz2 xmlrpc-c-${XMLRPC_C_VERSION} --exclude=.git --exclude=CVS --exclude=.svn
+ ) + )
+ +
+set(_lib lib CACHE STRING "Basename of the library-directory; usually 'lib' or 'lib64' (on multilib archs)")
+set(_bin bin CACHE STRING "Basename of the bin-directory; usually 'bin'")
+set(prefix ${CMAKE_INSTALL_PREFIX}) +set(prefix ${CMAKE_INSTALL_PREFIX})
+set(libdir "${prefix}/lib") +set(libdir "${prefix}/${_lib}")
+set(bindir "${prefix}/${_bin}")
+set(mandir "${prefix}/share/man")
+set(pkgconfdir "${libdir}/pkgconfig") +set(pkgconfdir "${libdir}/pkgconfig")
+set(includedir "${prefix}/include") +set(includedir "${prefix}/include")
+ +
+#############
+
+install(PROGRAMS xmlrpc-c-config DESTINATION ${_bin})
+
+enable_testing()
+ +
+add_subdirectory(lib) +add_subdirectory(lib)
+add_subdirectory(Windows) +add_subdirectory(Windows)
@ -262,17 +300,34 @@ index 0000000..239a434
+add_subdirectory(tools) +add_subdirectory(tools)
diff --git a/cmake/try-attr.cc b/cmake/try-attr.cc diff --git a/cmake/try-attr.cc b/cmake/try-attr.cc
new file mode 100644 new file mode 100644
index 0000000..a715bc5 index 0000000..4668c5b
--- /dev/null --- /dev/null
+++ b/cmake/try-attr.cc +++ b/cmake/try-attr.cc
@@ -0,0 +1 @@ @@ -0,0 +1,3 @@
+int x __attribute__((CMAKE_TEST_ATTR)); +int x __attribute__((CMAKE_TEST_ATTR));
+
+int main() {}
diff --git a/cmake/va-list-is-array.c b/cmake/va-list-is-array.c
new file mode 100644
index 0000000..1ad0bab
--- /dev/null
+++ b/cmake/va-list-is-array.c
@@ -0,0 +1,9 @@
+#include <stdarg.h>
+
+void foo()
+{
+ va_list list1, list2;
+ list1 = list2;
+}
+
+int main() {}
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..4cbe95a index 0000000..9f18b0d
--- /dev/null --- /dev/null
+++ b/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt
@@ -0,0 +1,56 @@ @@ -0,0 +1,51 @@
+# -*- cmake -*- +# -*- cmake -*-
+ +
+include_directories(${CMAKE_CURRENT_BINARY_DIR}) +include_directories(${CMAKE_CURRENT_BINARY_DIR})
@ -323,12 +378,7 @@ index 0000000..4cbe95a
+ ensc_add_example(xmlrpc_server_validatee c abyss_server) + ensc_add_example(xmlrpc_server_validatee c abyss_server)
+endif(ENABLE_ABYSS_SERVER) +endif(ENABLE_ABYSS_SERVER)
+ +
+## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it +ensc_set_link_exe_flags(${example_TARGETS})
+if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(${example_TARGETS}
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+endif(NOT MUST_BUILD_LIBWWW_CLIENT)
diff --git a/examples/config.h b/examples/config.h diff --git a/examples/config.h b/examples/config.h
new file mode 100644 new file mode 100644
index 0000000..31d5f9b index 0000000..31d5f9b
@ -338,10 +388,10 @@ index 0000000..31d5f9b
+#include "../xmlrpc_config.h" +#include "../xmlrpc_config.h"
diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..c2e3ab7 index 0000000..9fbea7e
--- /dev/null --- /dev/null
+++ b/examples/cpp/CMakeLists.txt +++ b/examples/cpp/CMakeLists.txt
@@ -0,0 +1,25 @@ @@ -0,0 +1,20 @@
+# -*- cmake -*- +# -*- cmake -*-
+ +
+if(ENABLE_ABYSS_SERVER) +if(ENABLE_ABYSS_SERVER)
@ -361,12 +411,7 @@ index 0000000..c2e3ab7
+endif(MUST_BUILD_CLIENT) +endif(MUST_BUILD_CLIENT)
+ +
+ +
+## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it +ensc_set_link_exe_flags(${example_TARGETS})
+if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(${example_TARGETS}
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+endif(NOT MUST_BUILD_LIBWWW_CLIENT)
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..ebfdba5 index 0000000..ebfdba5
@ -456,7 +501,7 @@ index 0000000..2358061
+SUBDIRS(src) +SUBDIRS(src)
diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..4e18b81 index 0000000..a8fb5a9
--- /dev/null --- /dev/null
+++ b/lib/abyss/src/CMakeLists.txt +++ b/lib/abyss/src/CMakeLists.txt
@@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
@ -511,9 +556,9 @@ index 0000000..4e18b81
+endif(ENABLE_ABYSS_THREADS) +endif(ENABLE_ABYSS_THREADS)
+ +
+install(TARGETS xmlrpc_abyss +install(TARGETS xmlrpc_abyss
+ RUNTIME DESTINATION bin + RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION lib + LIBRARY DESTINATION ${_lib}
+ ARCHIVE DESTINATION lib) + ARCHIVE DESTINATION ${_lib})
+ +
+set_target_properties(xmlrpc_abyss +set_target_properties(xmlrpc_abyss
+ PROPERTIES + PROPERTIES
@ -647,10 +692,10 @@ index 0000000..88e7ad8
+Cflags: +Cflags:
diff --git a/lib/libutil/CMakeLists.txt b/lib/libutil/CMakeLists.txt diff --git a/lib/libutil/CMakeLists.txt b/lib/libutil/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..cc6ccab index 0000000..5e5d382
--- /dev/null --- /dev/null
+++ b/lib/libutil/CMakeLists.txt +++ b/lib/libutil/CMakeLists.txt
@@ -0,0 +1,11 @@ @@ -0,0 +1,22 @@
+# -*- cmake -*- +# -*- cmake -*-
+ +
+add_library(xmlrpc_util SHARED +add_library(xmlrpc_util SHARED
@ -661,6 +706,17 @@ index 0000000..cc6ccab
+ resource.c + resource.c
+ sleep.c) + sleep.c)
+ +
+set_target_properties(xmlrpc_util
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS}
+ VERSION ${XMLRPC_C_LIBVERSION}
+ SOVERSION ${XMLRPC_C_SOVERSION})
+
+install(TARGETS xmlrpc_util
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib}
+ ARCHIVE DESTINATION ${_lib})
+
+ensc_pkgconfig(xmlrpc_util) +ensc_pkgconfig(xmlrpc_util)
diff --git a/lib/libutil/xmlrpc_util.pc.cmake b/lib/libutil/xmlrpc_util.pc.cmake diff --git a/lib/libutil/xmlrpc_util.pc.cmake b/lib/libutil/xmlrpc_util.pc.cmake
new file mode 100644 new file mode 100644
@ -688,6 +744,25 @@ index 0000000..4744f9c
+ +
+if(MUST_BUILD_LIBWWW_CLIENT) +if(MUST_BUILD_LIBWWW_CLIENT)
+endif(MUST_BUILD_LIBWWW_CLIENT) +endif(MUST_BUILD_LIBWWW_CLIENT)
diff --git a/lib/util/CMakeLists.txt b/lib/util/CMakeLists.txt
new file mode 100644
index 0000000..be6ded2
--- /dev/null
+++ b/lib/util/CMakeLists.txt
@@ -0,0 +1,13 @@
+## -*- cmake -*-
+
+set(util_SOURCES
+ casprintf.c
+ cmdline_parser.c
+ getoptx.c
+ getoptx.h)
+
+if(WIN32)
+ list(APPEND util_SOURCES pthreadx_win32.c)
+endif(WIN32)
+
+add_library(util STATIC ${util_SOURCES})
diff --git a/lib/wininet_transport/CMakeLists.txt b/lib/wininet_transport/CMakeLists.txt diff --git a/lib/wininet_transport/CMakeLists.txt b/lib/wininet_transport/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..4f7408e index 0000000..4f7408e
@ -700,7 +775,7 @@ index 0000000..4f7408e
+endif(MUST_BUILD_WININET_CLIENT) +endif(MUST_BUILD_WININET_CLIENT)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..bc0dce3 index 0000000..b201fa1
--- /dev/null --- /dev/null
+++ b/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -0,0 +1,106 @@ @@ -0,0 +1,106 @@
@ -799,8 +874,8 @@ index 0000000..bc0dce3
+ +
+ +
+install(TARGETS ${lib_TARGETS} +install(TARGETS ${lib_TARGETS}
+ RUNTIME DESTINATION bin + RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION lib) + LIBRARY DESTINATION ${_lib})
+ +
+set_target_properties(${lib_TARGETS} +set_target_properties(${lib_TARGETS}
+ PROPERTIES + PROPERTIES
@ -812,7 +887,7 @@ index 0000000..bc0dce3
+enable_testing() +enable_testing()
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..3dba3a7 index 0000000..9ab2530
--- /dev/null --- /dev/null
+++ b/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt
@@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
@ -856,8 +931,8 @@ index 0000000..3dba3a7
+ +
+ +
+install(TARGETS ${lib_TARGETS} +install(TARGETS ${lib_TARGETS}
+ RUNTIME DESTINATION bin + RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION lib) + LIBRARY DESTINATION ${_lib})
+ +
+set_target_properties(${lib_TARGETS} +set_target_properties(${lib_TARGETS}
+ PROPERTIES + PROPERTIES
@ -949,6 +1024,39 @@ index 0000000..1d28749
+Requires: xmlrpc_server_abyss xmlrpc_server++ +Requires: xmlrpc_server_abyss xmlrpc_server++
+Libs: -L${libdir} -lxmlrpc_server_abyss++ +Libs: -L${libdir} -lxmlrpc_server_abyss++
+Cflags: -I${includedir} +Cflags: -I${includedir}
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
new file mode 100644
index 0000000..3deb9cb
--- /dev/null
+++ b/src/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+# -*- cmake -*-
+
+set(test_SOURCES
+ test.c abyss.c cgi.c method_registry.c parse_xml.c serialize.c server_abyss.c
+ value.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(cgitest1 cgitest1.c)
+target_link_libraries(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 diff --git a/src/xmlrpc.pc.cmake b/src/xmlrpc.pc.cmake
new file mode 100644 new file mode 100644
index 0000000..7d74537 index 0000000..7d74537
@ -1066,10 +1174,10 @@ index 0000000..342423d
+# -*- cmake -*- +# -*- cmake -*-
diff --git a/tools/xml-rpc-api2cpp/CMakeLists.txt b/tools/xml-rpc-api2cpp/CMakeLists.txt diff --git a/tools/xml-rpc-api2cpp/CMakeLists.txt b/tools/xml-rpc-api2cpp/CMakeLists.txt
new file mode 100644 new file mode 100644
index 0000000..a97e33c index 0000000..c759dec
--- /dev/null --- /dev/null
+++ b/tools/xml-rpc-api2cpp/CMakeLists.txt +++ b/tools/xml-rpc-api2cpp/CMakeLists.txt
@@ -0,0 +1,12 @@ @@ -0,0 +1,15 @@
+# -*- cmake -*- +# -*- cmake -*-
+ +
+add_executable(xml-rpc-api2cpp +add_executable(xml-rpc-api2cpp
@ -1082,6 +1190,59 @@ index 0000000..a97e33c
+ +
+install(TARGETS xml-rpc-api2cpp +install(TARGETS xml-rpc-api2cpp
+ RUNTIME DESTINATION bin) + RUNTIME DESTINATION bin)
+
+install(FILES xml-rpc-api2cpp.1
+ DESTINATION ${mandir}/man1)
diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
new file mode 100644
index 0000000..976df30
--- /dev/null
+++ b/tools/xmlrpc/CMakeLists.txt
@@ -0,0 +1,15 @@
+# -*- cmake -*-
+
+add_executable(tool-xmlrpc
+ xmlrpc.c
+ dumpvalue.c
+ dumpvalue.h)
+target_link_libraries(tool-xmlrpc xmlrpc_client util)
+
+set_target_properties(tool-xmlrpc
+ PROPERTIES OUTPUT_NAME xmlrpc)
+
+install(TARGETS tool-xmlrpc
+ DESTINATION ${_bin})
+
+ensc_set_link_exe_flags(tool-xmlrpc)
diff --git a/tools/xmlrpc/config.h b/tools/xmlrpc/config.h
new file mode 100644
index 0000000..7409aed
--- /dev/null
+++ b/tools/xmlrpc/config.h
@@ -0,0 +1 @@
+#include <xmlrpc_config.h>
diff --git a/tools/xmlrpc_transport/CMakeLists.txt b/tools/xmlrpc_transport/CMakeLists.txt
new file mode 100644
index 0000000..b73d7c0
--- /dev/null
+++ b/tools/xmlrpc_transport/CMakeLists.txt
@@ -0,0 +1,9 @@
+# -*- cmake -*-
+
+add_executable(xmlrpc_transport xmlrpc_transport.c)
+target_link_libraries(xmlrpc_transport xmlrpc_client util)
+
+install(TARGETS xmlrpc_transport
+ DESTINATION ${_bin})
+
+ensc_set_link_exe_flags(xmlrpc_transport)
diff --git a/tools/xmlrpc_transport/config.h b/tools/xmlrpc_transport/config.h
new file mode 100644
index 0000000..7409aed
--- /dev/null
+++ b/tools/xmlrpc_transport/config.h
@@ -0,0 +1 @@
+#include <xmlrpc_config.h>
diff --git a/transport_config.h.cmake b/transport_config.h.cmake diff --git a/transport_config.h.cmake b/transport_config.h.cmake
new file mode 100644 new file mode 100644
index 0000000..1ec3cf6 index 0000000..1ec3cf6
@ -1112,18 +1273,65 @@ index 0000000..35beafc
@@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
+/* This file was generated by a make rule */ +/* This file was generated by a make rule */
+#define XMLRPC_C_VERSION "@XMLRPC_C_VERSION@" +#define XMLRPC_C_VERSION "@XMLRPC_C_VERSION@"
diff --git a/xmlrpc-c-config b/xmlrpc-c-config
new file mode 100755
index 0000000..e8ba549
--- /dev/null
+++ b/xmlrpc-c-config
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+comp=
+
+need_cxx=
+need_client=
+need_server=
+need_abyss=
+
+while test $# -gt 0; do
+ case $1 in
+ (c++) comp="$comp xmlrpc_cpp";;
+ (server-util) comp="$comp xmlrpc_server_util";;
+ (cgi-server) comp="$comp xmlrpc_server_cgi";;
+ (c++2) need_cxx=1;;
+ (abyss-server) need_abyss=1;;
+ (client|libwww-client) need_client=1;;
+ (--) shift; break;;
+ (--*) break;;
+ (*)
+ echo "Unrecognized token '$1'"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if test -z "$need_cxx"; then
+ test -z "$need_client" || comp="$comp xmlrpc_client"
+ test -z "$need_abyss" || comp="$comp xmlrpc_abyss"
+ test -z "$need_server" || comp="$comp xmlrpc_server"
+else
+ test -z "$need_client" || comp="$comp xmlrpc_client++"
+ test -z "$need_abyss" || comp="$comp xmlrpc_abyss++"
+ test -z "$need_server" || comp="$comp xmlrpc_server++"
+fi
+
+exec pkg-config "$@" $comp
diff --git a/xmlrpc_config.h.cmake b/xmlrpc_config.h.cmake diff --git a/xmlrpc_config.h.cmake b/xmlrpc_config.h.cmake
new file mode 100644 new file mode 100644
index 0000000..478c252 index 0000000..98b37ef
--- /dev/null --- /dev/null
+++ b/xmlrpc_config.h.cmake +++ b/xmlrpc_config.h.cmake
@@ -0,0 +1,18 @@ @@ -0,0 +1,21 @@
+/* -*- c -*- */
+
+#ifndef H_XMLRPC_C_CONFIG_H +#ifndef H_XMLRPC_C_CONFIG_H
+ +
+#cmakedefine HAVE_WCHAR_H +#cmakedefine HAVE_WCHAR_H
+#cmakedefine HAVE_SETENV +#cmakedefine HAVE_SETENV
+#define HAVE_SYS_IOCTL_H 0@HAVE_SYS_IOCTL_H@ +#define HAVE_SYS_IOCTL_H 0@HAVE_SYS_IOCTL_H@
+ +
+#define VA_LIST_IS_ARRAY @VA_LIST_IS_ARRAY@
+#define XMLRPC_HAVE_WCHAR @XMLRPC_HAVE_WCHAR@ +#define XMLRPC_HAVE_WCHAR @XMLRPC_HAVE_WCHAR@
+#define ATTR_UNUSED @ATTR_UNUSED@ +#define ATTR_UNUSED @ATTR_UNUSED@
+#define DIRECTORY_SEPARATOR "@DIRECTORY_SEPARATOR@" +#define DIRECTORY_SEPARATOR "@DIRECTORY_SEPARATOR@"

View File

@ -1,79 +0,0 @@
From 6ec81dc315d105d733e4be4cdd02ef324e587bbe Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 15:53:23 +0200
Subject: [PATCH] added multilib stuff
---
CMakeLists.txt | 5 ++++-
lib/abyss/src/CMakeLists.txt | 6 +++---
src/CMakeLists.txt | 4 ++--
src/cpp/CMakeLists.txt | 4 ++--
4 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 239a434..7c668d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -190,8 +190,11 @@ add_custom_target(dist
COMMAND cd _dist && tar cjf ../xmlrpc-c-${XMLRPC_C_VERSION}.tar.bz2 xmlrpc-c-${XMLRPC_C_VERSION} --exclude=.git --exclude=CVS --exclude=.svn
)
+set(_lib lib CACHE STRING "Basename of the library-directory; usually 'lib' or 'lib64' (on multilib archs)")
+set(_bin bin CACHE STRING "Basename of the bin-directory; usually 'bin'")
set(prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir "${prefix}/lib")
+set(libdir "${prefix}/${_lib}")
+set(bindir "${prefix}/${_bin}")
set(pkgconfdir "${libdir}/pkgconfig")
set(includedir "${prefix}/include")
diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt
index 4e18b81..a8fb5a9 100644
--- a/lib/abyss/src/CMakeLists.txt
+++ b/lib/abyss/src/CMakeLists.txt
@@ -49,9 +49,9 @@ if(ENABLE_ABYSS_THREADS)
endif(ENABLE_ABYSS_THREADS)
install(TARGETS xmlrpc_abyss
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib}
+ ARCHIVE DESTINATION ${_lib})
set_target_properties(xmlrpc_abyss
PROPERTIES
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bc0dce3..b201fa1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -93,8 +93,8 @@ ensc_pkgconfig(xmlrpc_server_cgi)
install(TARGETS ${lib_TARGETS}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib})
set_target_properties(${lib_TARGETS}
PROPERTIES
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 3dba3a7..9ab2530 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -38,8 +38,8 @@ ensc_pkgconfig(xmlrpc_client++)
install(TARGETS ${lib_TARGETS}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib})
set_target_properties(${lib_TARGETS}
PROPERTIES
--
1.4.2

View File

@ -1,56 +0,0 @@
From 29b9db8273ef88e93c45b43add367a04282044c8 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 16:22:50 +0200
Subject: [PATCH] added xmlrpc-c-config wrapper
---
xmlrpc-c-config | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/xmlrpc-c-config b/xmlrpc-c-config
new file mode 100755
index 0000000..e8ba549
--- /dev/null
+++ b/xmlrpc-c-config
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+comp=
+
+need_cxx=
+need_client=
+need_server=
+need_abyss=
+
+while test $# -gt 0; do
+ case $1 in
+ (c++) comp="$comp xmlrpc_cpp";;
+ (server-util) comp="$comp xmlrpc_server_util";;
+ (cgi-server) comp="$comp xmlrpc_server_cgi";;
+ (c++2) need_cxx=1;;
+ (abyss-server) need_abyss=1;;
+ (client|libwww-client) need_client=1;;
+ (--) shift; break;;
+ (--*) break;;
+ (*)
+ echo "Unrecognized token '$1'"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if test -z "$need_cxx"; then
+ test -z "$need_client" || comp="$comp xmlrpc_client"
+ test -z "$need_abyss" || comp="$comp xmlrpc_abyss"
+ test -z "$need_server" || comp="$comp xmlrpc_server"
+else
+ test -z "$need_client" || comp="$comp xmlrpc_client++"
+ test -z "$need_abyss" || comp="$comp xmlrpc_abyss++"
+ test -z "$need_server" || comp="$comp xmlrpc_server++"
+fi
+
+exec pkg-config "$@" $comp
--
1.4.2

View File

@ -1,96 +0,0 @@
From 53ca6acb5c628f143894147e1c789de68defbc6d Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 16:54:15 +0200
Subject: [PATCH] added some tools-directories
- build 'xmlrpc' and 'xmlrpc_transport' tools
- build lib/util stuff as static library which is used internally
---
lib/util/CMakeLists.txt | 13 +++++++++++++
tools/xmlrpc/CMakeLists.txt | 19 +++++++++++++++++++
tools/xmlrpc/config.h | 1 +
tools/xmlrpc_transport/CMakeLists.txt | 14 ++++++++++++++
tools/xmlrpc_transport/config.h | 1 +
5 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/lib/util/CMakeLists.txt b/lib/util/CMakeLists.txt
new file mode 100644
index 0000000..be6ded2
--- /dev/null
+++ b/lib/util/CMakeLists.txt
@@ -0,0 +1,13 @@
+## -*- cmake -*-
+
+set(util_SOURCES
+ casprintf.c
+ cmdline_parser.c
+ getoptx.c
+ getoptx.h)
+
+if(WIN32)
+ list(APPEND util_SOURCES pthreadx_win32.c)
+endif(WIN32)
+
+add_library(util STATIC ${util_SOURCES})
diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
new file mode 100644
index 0000000..e313e37
--- /dev/null
+++ b/tools/xmlrpc/CMakeLists.txt
@@ -0,0 +1,19 @@
+# -*- cmake -*-
+
+add_executable(tool-xmlrpc
+ xmlrpc.c
+ dumpvalue.c
+ dumpvalue.h)
+target_link_libraries(tool-xmlrpc xmlrpc_client util)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tool-xmlrpc
+ DESTINATION ${_bin}
+ PERMISSIONS WORLD_EXECUTE GROUP_EXECUTE OWNER_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
+ RENAME xmlrpc)
+
+## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(tool-xmlrpc
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+endif(NOT MUST_BUILD_LIBWWW_CLIENT)
diff --git a/tools/xmlrpc/config.h b/tools/xmlrpc/config.h
new file mode 100644
index 0000000..7409aed
--- /dev/null
+++ b/tools/xmlrpc/config.h
@@ -0,0 +1 @@
+#include <xmlrpc_config.h>
diff --git a/tools/xmlrpc_transport/CMakeLists.txt b/tools/xmlrpc_transport/CMakeLists.txt
new file mode 100644
index 0000000..0575488
--- /dev/null
+++ b/tools/xmlrpc_transport/CMakeLists.txt
@@ -0,0 +1,14 @@
+# -*- cmake -*-
+
+add_executable(xmlrpc_transport xmlrpc_transport.c)
+target_link_libraries(xmlrpc_transport xmlrpc_client util)
+
+install(TARGETS xmlrpc_transport
+ DESTINATION ${_bin})
+
+## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(xmlrpc_transport
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+endif(NOT MUST_BUILD_LIBWWW_CLIENT)
diff --git a/tools/xmlrpc_transport/config.h b/tools/xmlrpc_transport/config.h
new file mode 100644
index 0000000..7409aed
--- /dev/null
+++ b/tools/xmlrpc_transport/config.h
@@ -0,0 +1 @@
+#include <xmlrpc_config.h>
--
1.4.2

View File

@ -1,58 +0,0 @@
From 010b828759d2a43ee774522524c18e9d94eb1333 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 16:49:31 +0200
Subject: [PATCH] implemented testsuite
---
CMakeLists.txt | 1 +
src/test/CMakeLists.txt | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c668d2..ccbd371 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -198,6 +198,7 @@ set(bindir "${prefix}/${_bin}")
set(pkgconfdir "${libdir}/pkgconfig")
set(includedir "${prefix}/include")
+enable_testing()
add_subdirectory(lib)
add_subdirectory(Windows)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
new file mode 100644
index 0000000..3deb9cb
--- /dev/null
+++ b/src/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+# -*- cmake -*-
+
+set(test_SOURCES
+ test.c abyss.c cgi.c method_registry.c parse_xml.c serialize.c server_abyss.c
+ value.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(cgitest1 cgitest1.c)
+target_link_libraries(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)
--
1.4.2

View File

@ -1,95 +0,0 @@
From d36ae0e17f30acc2afd7d74b074bde1da791ee79 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 17:20:08 +0200
Subject: [PATCH] use a macro to set the linker flags for executables
---
CMakeLists.txt | 8 ++++++++
examples/CMakeLists.txt | 7 +------
examples/cpp/CMakeLists.txt | 7 +------
tools/xmlrpc/CMakeLists.txt | 7 +------
tools/xmlrpc_transport/CMakeLists.txt | 7 +------
5 files changed, 12 insertions(+), 24 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ccbd371..1e86c61 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,6 +33,14 @@ macro(ensc_pkgconfig_lib TARGET LIBS)
endif("${libtype}" STREQUAL "STATIC_LIBRARY")
endmacro(ensc_pkgconfig_lib)
+macro(ensc_set_link_exe_flags)
+ ## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+ if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(${ARGV}
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+ endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+endmacro(ensc_set_link_exe_flags)
###########
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 4cbe95a..9f18b0d 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -48,9 +48,4 @@ if(ENABLE_ABYSS_SERVER)
ensc_add_example(xmlrpc_server_validatee c abyss_server)
endif(ENABLE_ABYSS_SERVER)
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(${example_TARGETS}
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(${example_TARGETS})
diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt
index c2e3ab7..9fbea7e 100644
--- a/examples/cpp/CMakeLists.txt
+++ b/examples/cpp/CMakeLists.txt
@@ -17,9 +17,4 @@ if(MUST_BUILD_CLIENT)
endif(MUST_BUILD_CLIENT)
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(${example_TARGETS}
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(${example_TARGETS})
diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
index e313e37..a996e18 100644
--- a/tools/xmlrpc/CMakeLists.txt
+++ b/tools/xmlrpc/CMakeLists.txt
@@ -11,9 +11,4 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR
PERMISSIONS WORLD_EXECUTE GROUP_EXECUTE OWNER_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
RENAME xmlrpc)
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(tool-xmlrpc
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(tool-xmlrpc)
diff --git a/tools/xmlrpc_transport/CMakeLists.txt b/tools/xmlrpc_transport/CMakeLists.txt
index 0575488..b73d7c0 100644
--- a/tools/xmlrpc_transport/CMakeLists.txt
+++ b/tools/xmlrpc_transport/CMakeLists.txt
@@ -6,9 +6,4 @@ target_link_libraries(xmlrpc_transport x
install(TARGETS xmlrpc_transport
DESTINATION ${_bin})
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(xmlrpc_transport
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(xmlrpc_transport)
--
1.4.2

View File

@ -1,43 +0,0 @@
From 226f9e8336f203d89143bb89f0efa2909d268928 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 19:59:50 +0200
Subject: [PATCH] Install xmlrpc-c-config and man-pages + added ${mandir} variable
---
CMakeLists.txt | 5 +++++
tools/xml-rpc-api2cpp/CMakeLists.txt | 3 +++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1e86c61..a6b76b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -203,9 +203,14 @@ set(_bin bin CACHE STRING "Basenam
set(prefix ${CMAKE_INSTALL_PREFIX})
set(libdir "${prefix}/${_lib}")
set(bindir "${prefix}/${_bin}")
+set(mandir "${prefix}/share/man")
set(pkgconfdir "${libdir}/pkgconfig")
set(includedir "${prefix}/include")
+#############
+
+install(PROGRAMS xmlrpc-c-config DESTINATION ${_bin})
+
enable_testing()
add_subdirectory(lib)
diff --git a/tools/xml-rpc-api2cpp/CMakeLists.txt b/tools/xml-rpc-api2cpp/CMakeLists.txt
index a97e33c..c759dec 100644
--- a/tools/xml-rpc-api2cpp/CMakeLists.txt
+++ b/tools/xml-rpc-api2cpp/CMakeLists.txt
@@ -10,3 +10,6 @@ target_link_libraries(xml-rpc-api2cpp xm
install(TARGETS xml-rpc-api2cpp
RUNTIME DESTINATION bin)
+
+install(FILES xml-rpc-api2cpp.1
+ DESTINATION ${mandir}/man1)
--
1.4.2

View File

@ -1,32 +0,0 @@
From 68a7168a4324ab356e3992dfc182faf9d51ae821 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 20:09:29 +0200
Subject: [PATCH] install libxmlrpc_util.so and set version-information
---
lib/libutil/CMakeLists.txt | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/lib/libutil/CMakeLists.txt b/lib/libutil/CMakeLists.txt
index cc6ccab..5e5d382 100644
--- a/lib/libutil/CMakeLists.txt
+++ b/lib/libutil/CMakeLists.txt
@@ -8,4 +8,15 @@ add_library(xmlrpc_util SHARED
resource.c
sleep.c)
+set_target_properties(xmlrpc_util
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS}
+ VERSION ${XMLRPC_C_LIBVERSION}
+ SOVERSION ${XMLRPC_C_SOVERSION})
+
+install(TARGETS xmlrpc_util
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib}
+ ARCHIVE DESTINATION ${_lib})
+
ensc_pkgconfig(xmlrpc_util)
--
1.4.2

View File

@ -1,20 +0,0 @@
From 3fc30a0e77c32250ed24693236e225e651ada5c4 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Mon, 18 Sep 2006 19:47:54 +0200
Subject: [PATCH] added main() to give TRY_COMPILE() a chance to succeed...
---
cmake/try-attr.cc | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/cmake/try-attr.cc b/cmake/try-attr.cc
index a715bc5..4668c5b 100644
--- a/cmake/try-attr.cc
+++ b/cmake/try-attr.cc
@@ -1 +1,3 @@
int x __attribute__((CMAKE_TEST_ATTR));
+
+int main() {}
--
1.4.2

View File

@ -1,66 +0,0 @@
From bd638f1155b9dd75d6378d894b162f1507c0c37a Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Mon, 18 Sep 2006 19:51:07 +0200
Subject: [PATCH] added VA_LIST_IS_ARRAY check
---
CMakeLists.txt | 13 +++++++++++++
cmake/va-list-is-array.c | 9 +++++++++
xmlrpc_config.h.cmake | 3 +++
3 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a6b76b0..93839a0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -156,6 +156,19 @@ try_compile(HAVE_ATTR_UNUSED
${xmlrpc-c_SOURCE_DIR}/cmake/try-attr.cc
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DCMAKE_TEST_ATTR=__unused__)
+try_compile(VA_LIST_IS_NOT_ARRAY
+ ${CMAKE_BINARY_DIR}/
+ ${xmlrpc-c_SOURCE_DIR}/cmake/va-list-is-array.c)
+
+if(VA_LIST_IS_NOT_ARRAY)
+ set(VA_LIST_IS_ARRAY 0)
+ message(STATUS "va_list is not an array")
+else(VA_LIST_IS_NOT_ARRAY)
+ set(VA_LIST_IS_ARRAY 1)
+ message(STATUS "va_list is an array")
+endif(VA_LIST_IS_NOT_ARRAY)
+
+
if(HAVE_ATTR_UNUSED)
set(ATTR_UNUSED "__attribute__((__unused__))")
endif(HAVE_ATTR_UNUSED)
diff --git a/cmake/va-list-is-array.c b/cmake/va-list-is-array.c
new file mode 100644
index 0000000..1b9e397
--- /dev/null
+++ b/cmake/va-list-is-array.c
@@ -0,0 +1,9 @@
+#include <stdarg.h>
+
+void foo()
+{
+ va_list list1, list2;
+ list1 = list2;
+}
+
+int main() {}
diff --git a/xmlrpc_config.h.cmake b/xmlrpc_config.h.cmake
index 478c252..8f364dd 100644
--- a/xmlrpc_config.h.cmake
+++ b/xmlrpc_config.h.cmake
@@ -1,5 +1,8 @@
+/* -*- c -*- */
+
#ifndef H_XMLRPC_C_CONFIG_H
+#define VA_LIST_IS_ARRAY @VA_LIST_IS_ARRAY@
#cmakedefine HAVE_WCHAR_H
#cmakedefine HAVE_SETENV
#define HAVE_SYS_IOCTL_H 0@HAVE_SYS_IOCTL_H@
--
1.4.2

View File

@ -5,7 +5,7 @@
Summary: A lightweight RPC library based on XML and HTTP Summary: A lightweight RPC library based on XML and HTTP
Name: xmlrpc-c Name: xmlrpc-c
Version: 1.06.05 Version: 1.06.05
Release: %release_func 0 Release: %release_func 1
License: BSD/PSF -- see COPYING License: BSD/PSF -- see COPYING
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://xmlrpc-c.sourceforge.net/ URL: http://xmlrpc-c.sourceforge.net/
@ -13,15 +13,6 @@ Source0: http://dl.sourceforge.net/sourceforge/xmlrpc-c/%name-%version.tgz
Patch3: xmlrpc-c-1.05-typo.patch Patch3: xmlrpc-c-1.05-typo.patch
Patch6: xmlrpc-c-1.06.04-sizet.patch Patch6: xmlrpc-c-1.06.04-sizet.patch
Patch100: http://ensc.de/xmlrpc-c/0003-make-cmake-transition.txt Patch100: http://ensc.de/xmlrpc-c/0003-make-cmake-transition.txt
Patch101: http://ensc.de/xmlrpc-c/0004-added-multilib-stuff.txt
Patch102: http://ensc.de/xmlrpc-c/0005-added-xmlrpc-c-config-wrapper.txt
Patch103: http://ensc.de/xmlrpc-c/0006-added-some-tools-directories.txt
Patch104: http://ensc.de/xmlrpc-c/0007-implemented-testsuite.txt
Patch105: http://ensc.de/xmlrpc-c/0008-use-a-macro-to-set-the-linker-flags-for-executables.txt
Patch106: http://ensc.de/xmlrpc-c/0009-Install-xmlrpc-c-config-and-man-pages-added-mandir-variable.txt
Patch107: http://ensc.de/xmlrpc-c/0010-install-libxmlrpc_util.so-and-set-version-information.txt
Patch108: http://ensc.de/xmlrpc-c/0011-added-main-to-give-TRY_COMPILE-a-chance-to-succeed.txt
Patch109: http://ensc.de/xmlrpc-c/0012-added-VA_LIST_IS_ARRAY-check.txt
BuildRoot: %_tmppath/%name-%version-%release-root BuildRoot: %_tmppath/%name-%version-%release-root
#BuildRequires: w3c-libwww-devel #BuildRequires: w3c-libwww-devel
BuildRequires: cmake BuildRequires: cmake
@ -66,9 +57,7 @@ This package contains some handy XML-RPC demo applications.
%patch3 -p1 -b .typo %patch3 -p1 -b .typo
%patch6 -p1 -b .sizet %patch6 -p1 -b .sizet
cat %PATCH100 %PATCH101 %PATCH102 %PATCH103 \ cat %PATCH100 | patch -p1
%PATCH104 %PATCH105 %PATCH106 %PATCH107 \
%PATCH108 %PATCH109 | patch -p1
sed -i -e '/\(chan\|init\.c\)/d' lib/abyss/src/CMakeLists.txt sed -i -e '/\(chan\|init\.c\)/d' lib/abyss/src/CMakeLists.txt
sed -i -e 's!xmlrpc_decompose.c!xmlrpc_builddecomp.c!g; sed -i -e 's!xmlrpc_decompose.c!xmlrpc_builddecomp.c!g;
@ -89,8 +78,7 @@ cmake .. \
-DMUST_BUILD_CURL_CLIENT:BOOL=ON \ -DMUST_BUILD_CURL_CLIENT:BOOL=ON \
-DMUST_BUILD_LIBWWW_CLIENT:BOOL=OFF \ -DMUST_BUILD_LIBWWW_CLIENT:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=%_prefix \ -DCMAKE_INSTALL_PREFIX:PATH=%_prefix \
-DBUILD_SHARED_LIBS:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_SKIP_RPATH:BOOL=ON
make VERBOSE=1 %{?_smp_mflags} make VERBOSE=1 %{?_smp_mflags}
@ -133,8 +121,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Wed Sep 20 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.05-0 * Wed Sep 20 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.05-1
- updated to 1.06.05 - updated to 1.06.05
- merged + updated patches
* Sat Sep 16 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.04-1 * Sat Sep 16 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.04-1
- updated to 1.06.04 - updated to 1.06.04