- made the xmlrpc-c-config compatible to the upstream version - added compatibility symlinks for some header files (thx to Robert de Vries for reporting these two issues)
1459 lines
42 KiB
Plaintext
1459 lines
42 KiB
Plaintext
From 0dd5200ebaf39dc37b7fc06e6b793c307b2d648b Mon Sep 17 00:00:00 2001
|
|
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
|
Date: Sun, 1 Apr 2007 14:30:58 +0200
|
|
Subject: [PATCH] make -> cmake transition
|
|
|
|
---
|
|
CMakeLists.txt | 236 +++++++++++++++++++++++++++
|
|
cmake/try-attr.cc | 3 +
|
|
cmake/va-list-is-array.c | 9 +
|
|
examples/CMakeLists.txt | 51 ++++++
|
|
examples/config.h | 1 +
|
|
examples/cpp/CMakeLists.txt | 20 +++
|
|
include/CMakeLists.txt | 3 +
|
|
include/xmlrpc-c/CMakeLists.txt | 52 ++++++
|
|
include/xmlrpc-c/config.h.cmake | 8 +
|
|
lib/CMakeLists.txt | 12 ++
|
|
lib/abyss/CMakeLists.txt | 3 +
|
|
lib/abyss/src/CMakeLists.txt | 57 +++++++
|
|
lib/abyss/src/xmlrpc_abyss.pc.cmake | 12 ++
|
|
lib/curl_transport/CMakeLists.txt | 7 +
|
|
lib/expat/CMakeLists.txt | 9 +
|
|
lib/expat/gennmtab/CMakeLists.txt | 3 +
|
|
lib/expat/xmlparse/CMakeLists.txt | 7 +
|
|
lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake | 12 ++
|
|
lib/expat/xmltok/CMakeLists.txt | 20 +++
|
|
lib/expat/xmltok/xmlrpc_xmltok.pc.cmake | 9 +
|
|
lib/libutil/CMakeLists.txt | 22 +++
|
|
lib/libutil/xmlrpc_util.pc.cmake | 10 +
|
|
lib/libwww_transport/CMakeLists.txt | 4 +
|
|
lib/util/CMakeLists.txt | 13 ++
|
|
lib/wininet_transport/CMakeLists.txt | 4 +
|
|
src/CMakeLists.txt | 106 ++++++++++++
|
|
src/cpp/CMakeLists.txt | 48 ++++++
|
|
src/cpp/xmlrpc++.pc.cmake | 12 ++
|
|
src/cpp/xmlrpc_client++.pc.cmake | 12 ++
|
|
src/cpp/xmlrpc_cpp.pc.cmake | 12 ++
|
|
src/cpp/xmlrpc_server++.pc.cmake | 12 ++
|
|
src/cpp/xmlrpc_server_abyss++.pc.cmake | 12 ++
|
|
src/test/CMakeLists.txt | 27 +++
|
|
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 | 9 +
|
|
tools/binmode-rpc-kit/CMakeLists.txt | 2 +
|
|
tools/turbocharger/CMakeLists.txt | 1 +
|
|
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 ++
|
|
version.h.cmake | 2 +
|
|
xmlrpc-c-config | 67 ++++++++
|
|
xmlrpc_config.h.cmake | 21 +++
|
|
50 files changed, 1047 insertions(+), 0 deletions(-)
|
|
create mode 100644 CMakeLists.txt
|
|
create mode 100644 cmake/try-attr.cc
|
|
create mode 100644 cmake/va-list-is-array.c
|
|
create mode 100644 examples/CMakeLists.txt
|
|
create mode 100644 examples/config.h
|
|
create mode 100644 examples/cpp/CMakeLists.txt
|
|
create mode 100644 include/CMakeLists.txt
|
|
create mode 100644 include/xmlrpc-c/CMakeLists.txt
|
|
create mode 100644 include/xmlrpc-c/config.h.cmake
|
|
create mode 100644 lib/CMakeLists.txt
|
|
create mode 100644 lib/abyss/CMakeLists.txt
|
|
create mode 100644 lib/abyss/src/CMakeLists.txt
|
|
create mode 100644 lib/abyss/src/xmlrpc_abyss.pc.cmake
|
|
create mode 100644 lib/curl_transport/CMakeLists.txt
|
|
create mode 100644 lib/expat/CMakeLists.txt
|
|
create mode 100644 lib/expat/gennmtab/CMakeLists.txt
|
|
create mode 100644 lib/expat/xmlparse/CMakeLists.txt
|
|
create mode 100644 lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake
|
|
create mode 100644 lib/expat/xmltok/CMakeLists.txt
|
|
create mode 100644 lib/expat/xmltok/xmlrpc_xmltok.pc.cmake
|
|
create mode 100644 lib/libutil/CMakeLists.txt
|
|
create mode 100644 lib/libutil/xmlrpc_util.pc.cmake
|
|
create mode 100644 lib/libwww_transport/CMakeLists.txt
|
|
create mode 100644 lib/util/CMakeLists.txt
|
|
create mode 100644 lib/wininet_transport/CMakeLists.txt
|
|
create mode 100644 src/CMakeLists.txt
|
|
create mode 100644 src/cpp/CMakeLists.txt
|
|
create mode 100644 src/cpp/xmlrpc++.pc.cmake
|
|
create mode 100644 src/cpp/xmlrpc_client++.pc.cmake
|
|
create mode 100644 src/cpp/xmlrpc_cpp.pc.cmake
|
|
create mode 100644 src/cpp/xmlrpc_server++.pc.cmake
|
|
create mode 100644 src/cpp/xmlrpc_server_abyss++.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 tools/CMakeLists.txt
|
|
create mode 100644 tools/binmode-rpc-kit/CMakeLists.txt
|
|
create mode 100644 tools/turbocharger/CMakeLists.txt
|
|
create mode 100644 tools/xml-rpc-api2cpp/CMakeLists.txt
|
|
create mode 100644 tools/xmlrpc/CMakeLists.txt
|
|
create mode 100644 tools/xmlrpc/config.h
|
|
create mode 100644 tools/xmlrpc_transport/CMakeLists.txt
|
|
create mode 100644 tools/xmlrpc_transport/config.h
|
|
create mode 100644 transport_config.h.cmake
|
|
create mode 100644 version.h.cmake
|
|
create mode 100755 xmlrpc-c-config
|
|
create mode 100644 xmlrpc_config.h.cmake
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..e4505f7
|
|
--- /dev/null
|
|
+++ b/CMakeLists.txt
|
|
@@ -0,0 +1,236 @@
|
|
+## -*- cmake -*-
|
|
+project(xmlrpc-c)
|
|
+include(UsePkgConfig)
|
|
+include(CheckIncludeFile)
|
|
+include(CheckFunctionExists)
|
|
+
|
|
+set(XMLRPC_C_VERSION "1.06.11" CACHE STRING "Version of xmlrpc-c")
|
|
+set(XMLRPC_C_LIBVERSION "3.6.11")
|
|
+set(XMLRPC_C_SOVERSION "3")
|
|
+
|
|
+
|
|
+macro(ensc_set_bool NAME VALUE DESC)
|
|
+ set(${NAME} ${VALUE} CACHE BOOL ${DESC})
|
|
+ if(${NAME})
|
|
+ set(_${NAME} 1)
|
|
+ else(${NAME})
|
|
+ set(_${NAME} 0)
|
|
+ endif(${NAME})
|
|
+endmacro(ensc_set_bool)
|
|
+
|
|
+macro(ensc_pkgconfig COMP)
|
|
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${COMP}.pc.cmake
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/${COMP}.pc
|
|
+ @ONLY)
|
|
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${COMP}.pc
|
|
+ DESTINATION ${pkgconfdir})
|
|
+endmacro(ensc_pkgconfig)
|
|
+
|
|
+macro(ensc_pkgconfig_lib TARGET LIBS)
|
|
+ get_target_property(libtype ${TARGET} TYPE)
|
|
+ if("${libtype}" STREQUAL "STATIC_LIBRARY")
|
|
+ list(APPEND ${TARGET}_pkgconfig_libs "${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)
|
|
+
|
|
+
|
|
+###########
|
|
+if(WIN32)
|
|
+ find_program(WININET_CONFIG_EXECUTABLE wininet-config)
|
|
+
|
|
+ if(DEFINED MUST_BUILD_WININET_CLIENT)
|
|
+ set(tmp ${MUST_BUILD_WININET_CLIENT})
|
|
+ else(DEFINED MUST_BUILD_WININET_CLIENT)
|
|
+ if(WININET_CONFIG_EXECUTABLE)
|
|
+ set(tmp 1)
|
|
+ else(WININET_CONFIG_EXECUTABLE)
|
|
+ set(tmp 0)
|
|
+ endif(WININET_CONFIG_EXECUTABLE)
|
|
+ endif(DEFINED MUST_BUILD_WININET_CLIENT)
|
|
+else(WIN32)
|
|
+ set(tmp 0)
|
|
+endif(WIN32)
|
|
+
|
|
+if(tmp)
|
|
+ set(MUST_BUILD_CLIENT 1)
|
|
+ exec_program(${WININET_CONFIG_EXECUTABLE} ARGS --version OUTPUT_VARIABLE WININET_VERSION)
|
|
+ exec_program(${WININET_CONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE WININET_CFLAGS)
|
|
+ exec_program(${WININET_CONFIG_EXECUTABLE} ARGS --libs OUTPUT_VARIABLE WININET_LDADD)
|
|
+ message(STATUS "Using WinInet ${WININET_VERSION} transport")
|
|
+endif(tmp)
|
|
+
|
|
+ensc_set_bool(MUST_BUILD_WININET_CLIENT ${tmp} "Set iff WinInet client transport shall be built")
|
|
+set(wininet_srcdir ${xmlrpc-c_SOURCE_DIR}/lib/wininet_transport)
|
|
+
|
|
+###########
|
|
+pkgconfig(libcurl CURL_INCLUDE_DIR CURL_LINK_DIR CURL_LINK_FLAGS CURL_CFLAGS)
|
|
+if(DEFINED MUST_BUILD_CURL_CLIENT)
|
|
+ set(tmp ${MUST_BUILD_CURL_CLIENT})
|
|
+else(DEFINED MUST_BUILD_CURL_CLIENT)
|
|
+ if(CURL_LINK_FLAGS)
|
|
+ set(tmp 1)
|
|
+ else(CURL_LINK_FLAGS)
|
|
+ set(tmp 0)
|
|
+ endif(CURL_LINK_FLAGS)
|
|
+endif(DEFINED MUST_BUILD_CURL_CLIENT)
|
|
+
|
|
+if(tmp)
|
|
+ set(MUST_BUILD_CLIENT 1)
|
|
+ STRING(REGEX REPLACE "\n" "" CURL_CFLAGS ${CURL_CFLAGS}) # HACK!!
|
|
+ message(STATUS "Using libcurl transport ${CURL_CFLAGS}")
|
|
+endif(tmp)
|
|
+ensc_set_bool(MUST_BUILD_CURL_CLIENT ${tmp} "Set iff Curl client transport shall be built")
|
|
+set(curl_srcdir ${xmlrpc-c_SOURCE_DIR}/lib/curl_transport)
|
|
+
|
|
+###########
|
|
+find_program(LIBWWW_CONFIG_EXECUTABLE libwww-config)
|
|
+if(DEFINED MUST_BUILD_LIBWWW_CLIENT)
|
|
+ set(tmp ${MUST_BUILD_LIBWWW_CLIENT})
|
|
+else(DEFINED MUST_BUILD_LIBWWW_CLIENT)
|
|
+ if(LIBWWW_CONFIG_EXECUTABLE)
|
|
+ set(tmp 1)
|
|
+ else(LIBWWW_CONFIG_EXECUTABLE)
|
|
+ set(tmp 0)
|
|
+ endif(LIBWWW_CONFIG_EXECUTABLE)
|
|
+endif(DEFINED MUST_BUILD_LIBWWW_CLIENT)
|
|
+
|
|
+if(tmp)
|
|
+ set(MUST_BUILD_CLIENT 1)
|
|
+ exec_program(${LIBWWW_CONFIG_EXECUTABLE} ARGS --version OUTPUT_VARIABLE LIBWWW_VERSION)
|
|
+ exec_program(${LIBWWW_CONFIG_EXECUTABLE} ARGS --libs OUTPUT_VARIABLE LIBWWW_LIBS)
|
|
+ exec_program(${LIBWWW_CONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE LIBWWW_CFLAGS)
|
|
+ message(STATUS "Using libwww ${LIBWWW_VERSION} transport")
|
|
+endif(tmp)
|
|
+ensc_set_bool(MUST_BUILD_LIBWWW_CLIENT ${tmp} "Set iff LibWWW client transport shall be built")
|
|
+set(libwww_srcdir ${xmlrpc-c_SOURCE_DIR}/lib/libwww_transport)
|
|
+
|
|
+############
|
|
+
|
|
+set(ENABLE_CGI_SERVER 1 CACHE BOOL "Set iff CGI server shall be enabled")
|
|
+set(ENABLE_CPLUSPLUS 1 CACHE BOOL "Set iff C++ part shall be enabled")
|
|
+set(ENABLE_ABYSS_SERVER 1 CACHE BOOL "Set iff Abyss server shall be enabled")
|
|
+set(ENABLE_LIBXML2_BACKEND 1 CACHE BOOL "Set iff libxml2 backend shall be used")
|
|
+set(ENABLE_ABYSS_THREADS 1 CACHE BOOL "Use pthread")
|
|
+
|
|
+if(ENABLE_LIBXML2_BACKEND)
|
|
+ foreach(tmp libxml-2.0 libxml2 libxml)
|
|
+ if (NOT DEFINED libxml_pkgconfig)
|
|
+ pkgconfig(${tmp} LIBXML2_INCLUDE_DIR LIBXML2_LINK_DIR LIBXML2_LINK_FLAGS LIBXML2_CFLAGS)
|
|
+ if(LIBXML2_LINK_FLAGS)
|
|
+ set(libxml_pkgconfig ${tmp})
|
|
+ endif(LIBXML2_LINK_FLAGS)
|
|
+ endif(NOT DEFINED libxml_pkgconfig)
|
|
+ endforeach(tmp)
|
|
+endif(ENABLE_LIBXML2_BACKEND)
|
|
+
|
|
+
|
|
+#### <wchar.h> tests
|
|
+check_include_file(wchar.h _have_wchar_h)
|
|
+if(_have_wchar_h)
|
|
+ set(HAVE_WCHAR_H 1)
|
|
+else(_have_wchar_h)
|
|
+ set(HAVE_WCHAR_H 1)
|
|
+endif(_have_wchar_h)
|
|
+set(XMLRPC_HAVE_WCHAR ${HAVE_WCHAR_H})
|
|
+set(HAVE_WCHAR_H_DEFINE ${HAVE_WCHAR_H})
|
|
+
|
|
+
|
|
+#######
|
|
+set(LINKER_AS_NEEDED 1 CACHE BOOL "Use the --as-needed linker option")
|
|
+if(LINKER_AS_NEEDED)
|
|
+ set(XMLRPC_LINKER_FLAGS "-Wl,--as-needed")
|
|
+endif(LINKER_AS_NEEDED)
|
|
+
|
|
+
|
|
+try_compile(HAVE_ATTR_UNUSED
|
|
+ ${CMAKE_BINARY_DIR}/
|
|
+ ${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)
|
|
+
|
|
+if(WIN32)
|
|
+ set(DIRECTORY_SEPARATOR "\\")
|
|
+else(WIN32)
|
|
+ set(DIRECTORY_SEPARATOR "/")
|
|
+endif(WIN32)
|
|
+
|
|
+check_include_file(sys/filio.h HAVE_SYS_FILIO_H)
|
|
+check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
|
|
+check_function_exists(setenv HAVE_SETENV)
|
|
+
|
|
+configure_file(${xmlrpc-c_SOURCE_DIR}/xmlrpc_config.h.cmake
|
|
+ ${xmlrpc-c_BINARY_DIR}/xmlrpc_config.h
|
|
+ ESCAPE_QUOTES @ONLY)
|
|
+
|
|
+configure_file(${xmlrpc-c_SOURCE_DIR}/version.h.cmake
|
|
+ ${xmlrpc-c_BINARY_DIR}/version.h
|
|
+ ESCAPE_QUOTES @ONLY)
|
|
+
|
|
+configure_file(${xmlrpc-c_SOURCE_DIR}/transport_config.h.cmake
|
|
+ ${xmlrpc-c_BINARY_DIR}/transport_config.h
|
|
+ ESCAPE_QUOTES @ONLY)
|
|
+
|
|
+configure_file(${xmlrpc-c_SOURCE_DIR}/include/xmlrpc-c/config.h.cmake
|
|
+ ${xmlrpc-c_BINARY_DIR}/include/xmlrpc-c/config.h
|
|
+ ESCAPE_QUOTES @ONLY)
|
|
+
|
|
+
|
|
+include_directories(${xmlrpc-c_SOURCE_DIR}/include)
|
|
+include_directories(${xmlrpc-c_BINARY_DIR}/include)
|
|
+include_directories(${xmlrpc-c_SOURCE_DIR}/lib/util/include)
|
|
+include_directories(${xmlrpc-c_BINARY_DIR})
|
|
+
|
|
+add_custom_target(dist
|
|
+ rm -rf _dist && mkdir -p _dist/xmlrpc-c-${XMLRPC_C_VERSION}
|
|
+ COMMAND cp -a ${xmlrpc-c_SOURCE_DIR}/* _dist/xmlrpc-c-${XMLRPC_C_VERSION}/
|
|
+ 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(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)
|
|
+add_subdirectory(Windows)
|
|
+add_subdirectory(conf)
|
|
+add_subdirectory(doc)
|
|
+add_subdirectory(examples)
|
|
+add_subdirectory(include)
|
|
+add_subdirectory(src)
|
|
+add_subdirectory(tools)
|
|
diff --git a/cmake/try-attr.cc b/cmake/try-attr.cc
|
|
new file mode 100644
|
|
index 0000000..4668c5b
|
|
--- /dev/null
|
|
+++ b/cmake/try-attr.cc
|
|
@@ -0,0 +1,3 @@
|
|
+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
|
|
new file mode 100644
|
|
index 0000000..9f18b0d
|
|
--- /dev/null
|
|
+++ b/examples/CMakeLists.txt
|
|
@@ -0,0 +1,51 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
+
|
|
+macro(ensc_add_example name ext class)
|
|
+ # HACK: avoid name collision of c and c++ program
|
|
+ if("${ext}" STREQUAL "cpp")
|
|
+ set(_target ${name}++)
|
|
+ else("${ext}" STREQUAL "cpp")
|
|
+ set(_target ${name})
|
|
+ endif("${ext}" STREQUAL "cpp")
|
|
+
|
|
+ add_executable(${_target} ${name}.${ext})
|
|
+ target_link_libraries(${_target} ${${class}_LIBS})
|
|
+ list(APPEND ${class}_TARGETS ${_target})
|
|
+ list(APPEND example_TARGETS ${_target})
|
|
+endmacro(ensc_add_example)
|
|
+
|
|
+if(ENABLE_CPLUSPLUS)
|
|
+ add_subdirectory(cpp)
|
|
+endif(ENABLE_CPLUSPLUS)
|
|
+
|
|
+
|
|
+
|
|
+if(MUST_BUILD_CLIENT)
|
|
+ set(client_LIBS xmlrpc_client)
|
|
+
|
|
+ ensc_add_example(auth_client c client)
|
|
+ ensc_add_example(query-meerkat c client)
|
|
+ ensc_add_example(synch_client c client)
|
|
+ ensc_add_example(xmlrpc_sample_add_client c client)
|
|
+ ensc_add_example(xmlrpc_asynch_client c client)
|
|
+endif(MUST_BUILD_CLIENT)
|
|
+
|
|
+if(ENABLE_CGI_SERVER)
|
|
+ set(cgi_server_LIBS xmlrpc_server_cgi)
|
|
+
|
|
+ ensc_add_example(xmlrpc_sample_add_server_cgi c cgi_server)
|
|
+endif(ENABLE_CGI_SERVER)
|
|
+
|
|
+if(ENABLE_ABYSS_SERVER)
|
|
+ set(abyss_server_LIBS xmlrpc_server_abyss)
|
|
+
|
|
+ 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)
|
|
+endif(ENABLE_ABYSS_SERVER)
|
|
+
|
|
+ensc_set_link_exe_flags(${example_TARGETS})
|
|
diff --git a/examples/config.h b/examples/config.h
|
|
new file mode 100644
|
|
index 0000000..31d5f9b
|
|
--- /dev/null
|
|
+++ b/examples/config.h
|
|
@@ -0,0 +1 @@
|
|
+#include "../xmlrpc_config.h"
|
|
diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..9fbea7e
|
|
--- /dev/null
|
|
+++ b/examples/cpp/CMakeLists.txt
|
|
@@ -0,0 +1,20 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+if(ENABLE_ABYSS_SERVER)
|
|
+ set(abyss_serverxx_LIBS xmlrpc_server_abyss++)
|
|
+
|
|
+ ensc_add_example(xmlrpc_inetd_server cpp abyss_serverxx)
|
|
+endif(ENABLE_ABYSS_SERVER)
|
|
+
|
|
+if(MUST_BUILD_CLIENT)
|
|
+ set(abyss_clientxx_LIBS xmlrpc_client++)
|
|
+ set(abyss_clientxx_legacy_LIBS xmlrpc_cpp)
|
|
+
|
|
+ ensc_add_example(xmlrpc_sample_add_client cpp abyss_clientxx)
|
|
+ ensc_add_example(sample_add_client_complex cpp abyss_clientxx)
|
|
+
|
|
+ ensc_add_example(meerkat-app-list cpp abyss_clientxx_legacy)
|
|
+endif(MUST_BUILD_CLIENT)
|
|
+
|
|
+
|
|
+ensc_set_link_exe_flags(${example_TARGETS})
|
|
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..ebfdba5
|
|
--- /dev/null
|
|
+++ b/include/CMakeLists.txt
|
|
@@ -0,0 +1,3 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+add_subdirectory(xmlrpc-c)
|
|
diff --git a/include/xmlrpc-c/CMakeLists.txt b/include/xmlrpc-c/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..b92ccf4
|
|
--- /dev/null
|
|
+++ b/include/xmlrpc-c/CMakeLists.txt
|
|
@@ -0,0 +1,52 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+macro(ensc_install_symlink src dst)
|
|
+ install(CODE "EXECUTE_PROCESS(COMMAND ln -s xmlrpc-c/${src} \$ENV{DESTDIR}${includedir}/${dst})")
|
|
+endmacro(ensc_install_symlink)
|
|
+
|
|
+list(APPEND headers
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/config.h
|
|
+ util.h base.h abyss.h server.h
|
|
+ server_abyss.h server_w32httpsys.h oldxmlrpc.h)
|
|
+
|
|
+list(APPEND compat_links "oldxmlrpc.h xmlrpc.h")
|
|
+list(APPEND compat_links "server.h xmlrpc_server.h")
|
|
+list(APPEND compat_links "server_abyss.h xmlrpc_server_abyss.h")
|
|
+list(APPEND compat_links "server_w32httpsys.h xmlrpc_server_w32httpsys.h")
|
|
+
|
|
+
|
|
+if(ENABLE_CPLUSPLUS)
|
|
+ list(APPEND headers
|
|
+ oldcppwrapper.hpp girerr.hpp girmem.hpp base.hpp
|
|
+ timeout.hpp xml.hpp registry.hpp server_abyss.hpp)
|
|
+
|
|
+ list(APPEND compat_links "oldcppwrapper.hpp XmlRpcCpp.h")
|
|
+endif(ENABLE_CPLUSPLUS)
|
|
+
|
|
+if(MUST_BUILD_CLIENT)
|
|
+ list(APPEND headers
|
|
+ client.h transport.h client_global.h)
|
|
+
|
|
+ list(APPEND compat_links "client.h xmlrpc_client.h")
|
|
+
|
|
+ if(ENABLE_CPLUSPLUS)
|
|
+ list(APPEND headers
|
|
+ client.hpp client_transport.hpp client_simple.hpp)
|
|
+ endif(ENABLE_CPLUSPLUS)
|
|
+endif(MUST_BUILD_CLIENT)
|
|
+
|
|
+if(ENABLE_CGI_SERVER)
|
|
+ list(APPEND headers
|
|
+ server_cgi.h)
|
|
+
|
|
+ list(APPEND compat_links "server_cgi.h xmlrpc_cgi.h")
|
|
+endif(ENABLE_CGI_SERVER)
|
|
+
|
|
+install(FILES
|
|
+ ${headers}
|
|
+ DESTINATION ${includedir}/xmlrpc-c)
|
|
+
|
|
+foreach (ln ${compat_links})
|
|
+ separate_arguments(ln)
|
|
+ ensc_install_symlink(${ln})
|
|
+endforeach(ln)
|
|
diff --git a/include/xmlrpc-c/config.h.cmake b/include/xmlrpc-c/config.h.cmake
|
|
new file mode 100644
|
|
index 0000000..7b95a1d
|
|
--- /dev/null
|
|
+++ b/include/xmlrpc-c/config.h.cmake
|
|
@@ -0,0 +1,8 @@
|
|
+/* This file, part of XML-RPC For C/C++, is meant to
|
|
+ define characteristics of this particular installation
|
|
+ that the other <xmlrpc-c/...> header files need in order to
|
|
+ compile correctly when #included in a Xmlrpc-c user code.
|
|
+
|
|
+ Those header files #include this one.
|
|
+*/
|
|
+#define XMLRPC_HAVE_WCHAR @HAVE_WCHAR_H@
|
|
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..7f8f912
|
|
--- /dev/null
|
|
+++ b/lib/CMakeLists.txt
|
|
@@ -0,0 +1,12 @@
|
|
+## -*- cmake -*-
|
|
+
|
|
+add_subdirectory(abyss)
|
|
+add_subdirectory(libutil)
|
|
+add_subdirectory(util)
|
|
+add_subdirectory(curl_transport)
|
|
+add_subdirectory(libwww_transport)
|
|
+add_subdirectory(wininet_transport)
|
|
+
|
|
+if(NOT ENABLE_LIBXML2_BACKEND)
|
|
+ add_subdirectory(expat)
|
|
+endif(NOT ENABLE_LIBXML2_BACKEND)
|
|
diff --git a/lib/abyss/CMakeLists.txt b/lib/abyss/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..2358061
|
|
--- /dev/null
|
|
+++ b/lib/abyss/CMakeLists.txt
|
|
@@ -0,0 +1,3 @@
|
|
+## -*- cmake -*-
|
|
+
|
|
+SUBDIRS(src)
|
|
diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..cff8299
|
|
--- /dev/null
|
|
+++ b/lib/abyss/src/CMakeLists.txt
|
|
@@ -0,0 +1,57 @@
|
|
+## -*- cmake -*-
|
|
+
|
|
+set(xmlrpc_abyss_SOURCES
|
|
+ abyss_info.h
|
|
+ conf.c
|
|
+ conn.c
|
|
+ conn.h
|
|
+ data.c
|
|
+ data.h
|
|
+ date.c
|
|
+ date.h
|
|
+ file.c
|
|
+ file.h
|
|
+ http.c
|
|
+ http.h
|
|
+ response.c
|
|
+ server.c
|
|
+ server.h
|
|
+ session.c
|
|
+ session.h
|
|
+ socket.c
|
|
+ socket.h
|
|
+ socket_unix.c
|
|
+ socket_unix.h
|
|
+ thread.h
|
|
+ token.c
|
|
+ token.h
|
|
+ trace.c
|
|
+ trace.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)
|
|
+
|
|
+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")
|
|
+endif(ENABLE_ABYSS_THREADS)
|
|
+
|
|
+install(TARGETS xmlrpc_abyss
|
|
+ RUNTIME DESTINATION ${_bin}
|
|
+ LIBRARY DESTINATION ${_lib}
|
|
+ ARCHIVE DESTINATION ${_lib})
|
|
+
|
|
+set_target_properties(xmlrpc_abyss
|
|
+ PROPERTIES
|
|
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS}
|
|
+ VERSION ${XMLRPC_C_LIBVERSION}
|
|
+ SOVERSION ${XMLRPC_C_SOVERSION})
|
|
+
|
|
+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
|
|
--- /dev/null
|
|
+++ b/lib/abyss/src/xmlrpc_abyss.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+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@
|
|
+Cflags:
|
|
diff --git a/lib/curl_transport/CMakeLists.txt b/lib/curl_transport/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..3814f08
|
|
--- /dev/null
|
|
+++ b/lib/curl_transport/CMakeLists.txt
|
|
@@ -0,0 +1,7 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+if(MUST_BUILD_CURL_CLIENT)
|
|
+ list(APPEND transport_SOURCES
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_curl_transport.c
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_curl_transport.h)
|
|
+endif(MUST_BUILD_CURL_CLIENT)
|
|
diff --git a/lib/expat/CMakeLists.txt b/lib/expat/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..7397f52
|
|
--- /dev/null
|
|
+++ b/lib/expat/CMakeLists.txt
|
|
@@ -0,0 +1,9 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+
|
|
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/xmltok)
|
|
+
|
|
+add_subdirectory(gennmtab)
|
|
+add_subdirectory(xmlparse)
|
|
+add_subdirectory(xmltok)
|
|
+add_subdirectory(xmlwf)
|
|
diff --git a/lib/expat/gennmtab/CMakeLists.txt b/lib/expat/gennmtab/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..48a44da
|
|
--- /dev/null
|
|
+++ b/lib/expat/gennmtab/CMakeLists.txt
|
|
@@ -0,0 +1,3 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+ADD_EXECUTABLE(gennmtab gennmtab.c)
|
|
diff --git a/lib/expat/xmlparse/CMakeLists.txt b/lib/expat/xmlparse/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..f87008a
|
|
--- /dev/null
|
|
+++ b/lib/expat/xmlparse/CMakeLists.txt
|
|
@@ -0,0 +1,7 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+add_library(xmlrpc_xmlparse STATIC
|
|
+ xmlparse.c)
|
|
+target_link_libraries(xmlrpc_xmlparse xmlrpc_xmltok)
|
|
+
|
|
+ensc_pkgconfig(xmlrpc_xmlparse)
|
|
diff --git a/lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake b/lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake
|
|
new file mode 100644
|
|
index 0000000..5b2a7e4
|
|
--- /dev/null
|
|
+++ b/lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_xmlparse
|
|
+Description: XMLRPC xmlparse library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc_xmltok
|
|
+Libs: -L${libdir} -lxmlrpc_xmlparse
|
|
+Cflags:
|
|
diff --git a/lib/expat/xmltok/CMakeLists.txt b/lib/expat/xmltok/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..c3247ad
|
|
--- /dev/null
|
|
+++ b/lib/expat/xmltok/CMakeLists.txt
|
|
@@ -0,0 +1,20 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
+
|
|
+add_library(xmlrpc_xmltok STATIC
|
|
+ xmltok.c xmlrole.c ${CMAKE_CURRENT_BINARY_DIR}/nametab.h)
|
|
+
|
|
+set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/nametab.h
|
|
+ PROPERTIES
|
|
+ OBJECT_DEPENDS gennmtab
|
|
+ GENERATED true)
|
|
+
|
|
+
|
|
+get_target_property(GENNMTAB_EXECUTABLE gennmtab LOCATION)
|
|
+add_custom_command(
|
|
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/nametab.h
|
|
+ COMMAND ${GENNMTAB_EXECUTABLE} >nametab.h || { rm -f nametab.h\; false\; }
|
|
+ DEPENDS gennmtab)
|
|
+
|
|
+ensc_pkgconfig(xmlrpc_xmltok)
|
|
diff --git a/lib/expat/xmltok/xmlrpc_xmltok.pc.cmake b/lib/expat/xmltok/xmlrpc_xmltok.pc.cmake
|
|
new file mode 100644
|
|
index 0000000..88e7ad8
|
|
--- /dev/null
|
|
+++ b/lib/expat/xmltok/xmlrpc_xmltok.pc.cmake
|
|
@@ -0,0 +1,9 @@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+
|
|
+Name: xmlrpc_xmltok
|
|
+Description: XMLRPC xmltok library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Libs: -L${libdir}
|
|
+Cflags:
|
|
diff --git a/lib/libutil/CMakeLists.txt b/lib/libutil/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..5e5d382
|
|
--- /dev/null
|
|
+++ b/lib/libutil/CMakeLists.txt
|
|
@@ -0,0 +1,22 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+add_library(xmlrpc_util SHARED
|
|
+ casprintf.c
|
|
+ error.c
|
|
+ make_printable.c
|
|
+ memblock.c
|
|
+ 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)
|
|
diff --git a/lib/libutil/xmlrpc_util.pc.cmake b/lib/libutil/xmlrpc_util.pc.cmake
|
|
new file mode 100644
|
|
index 0000000..98d24f4
|
|
--- /dev/null
|
|
+++ b/lib/libutil/xmlrpc_util.pc.cmake
|
|
@@ -0,0 +1,10 @@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_util
|
|
+Description: XMLRPC utility library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Libs: -L${libdir} -lxmlrpc_util
|
|
+Cflags:
|
|
diff --git a/lib/libwww_transport/CMakeLists.txt b/lib/libwww_transport/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..4744f9c
|
|
--- /dev/null
|
|
+++ b/lib/libwww_transport/CMakeLists.txt
|
|
@@ -0,0 +1,4 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+if(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
|
|
new file mode 100644
|
|
index 0000000..4f7408e
|
|
--- /dev/null
|
|
+++ b/lib/wininet_transport/CMakeLists.txt
|
|
@@ -0,0 +1,4 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+if(MUST_BUILD_WININET_CLIENT)
|
|
+endif(MUST_BUILD_WININET_CLIENT)
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..c96f206
|
|
--- /dev/null
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -0,0 +1,106 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+if(ENABLE_LIBXML2_BACKEND)
|
|
+ set(xmlrpc_xml_parser xmlrpc_libxml2.c)
|
|
+ set(libxml_INCLUDES ${LIBXML2_CFLAGS})
|
|
+ set(libxml_LIBS ${LIBXML2_LINK_FLAGS})
|
|
+ set(xmlrpc_pkgconfig_req ${libxml_pkgconfig})
|
|
+else(ENABLE_LIBXML2_BACKEND)
|
|
+ set(xmlrpc_xml_parser xmlrpc_expat.c)
|
|
+ set(libxml_INCLUDES -I${xmlrpc-c_SOURCE_DIR}/lib/expat/xmlparse)
|
|
+ set(libxml_LIBS xmlrpc_xmlparse)
|
|
+ set(xmlrpc_pkgconfig_req xmlrpc_xmlparse)
|
|
+endif(ENABLE_LIBXML2_BACKEND)
|
|
+
|
|
+if(MUST_BUILD_WININET_CLIENT)
|
|
+ set(client_wininet_CFLAGS "")
|
|
+ set(client_wininet_LIBS "${WININET_LDADD}")
|
|
+ list(APPEND transport_SOURCES
|
|
+ ${wininet_srcdir}/xmlrpc_wininet_transport.c ${wininet_srcdir}/xmlrpc_wininet_transport.h)
|
|
+endif(MUST_BUILD_WININET_CLIENT)
|
|
+
|
|
+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)
|
|
+endif(MUST_BUILD_LIBWWW_CLIENT)
|
|
+
|
|
+if(MUST_BUILD_CURL_CLIENT)
|
|
+ set(client_curl_CFLAGS ${CURL_CFLAGS})
|
|
+ set(client_curl_LIBS ${CURL_LINK_FLAGS})
|
|
+ set(xmlrpc_client_pkgconfig_req libcurl)
|
|
+ list(APPEND transport_SOURCES ${curl_srcdir}/xmlrpc_curl_transport.c ${curl_srcdir}/xmlrpc_curl_transport.h)
|
|
+endif(MUST_BUILD_CURL_CLIENT)
|
|
+
|
|
+set(client_CFLAGS "-I${wininet_srcdir} -I${libwww_srcdir} -I${curl_srcdir} ${client_wininet_CFLAGS} ${client_libwww_CFLAGS} ${client_curl_CFLAGS}")
|
|
+set(client_LIBS "${client_wininet_LIBS} ${client_libwww_LIBS} ${client_curl_LIBS}")
|
|
+
|
|
+
|
|
+add_subdirectory(cpp)
|
|
+add_subdirectory(test)
|
|
+
|
|
+
|
|
+
|
|
+### libxmlrpc.so
|
|
+add_library(xmlrpc SHARED
|
|
+ trace.c ${xmlrpc_xml_parser}
|
|
+ xmlrpc_data.c xmlrpc_datetime.c xmlrpc_array.c xmlrpc_struct.c
|
|
+ xmlrpc_builddecomp.c xmlrpc_parse.c xmlrpc_serialize.c
|
|
+ xmlrpc_base64.c xmlrpc_utf8.c xmlrpc_authcookie.c)
|
|
+
|
|
+set_target_properties(xmlrpc
|
|
+ PROPERTIES
|
|
+ COMPILE_FLAGS ${libxml_INCLUDES})
|
|
+
|
|
+ensc_pkgconfig(xmlrpc)
|
|
+target_link_libraries(xmlrpc ${libxml_LIBS} xmlrpc_util)
|
|
+list(APPEND lib_TARGETS xmlrpc)
|
|
+
|
|
+### libxmlrpc_client.so
|
|
+add_library(xmlrpc_client SHARED
|
|
+ xmlrpc_client.c xmlrpc_client_global.c ${transport_SOURCES})
|
|
+
|
|
+target_link_libraries(xmlrpc_client xmlrpc ${client_LIBS})
|
|
+set_target_properties(xmlrpc_client
|
|
+ PROPERTIES
|
|
+ COMPILE_FLAGS "${client_CFLAGS}")
|
|
+list(APPEND lib_TARGETS xmlrpc_client)
|
|
+ensc_pkgconfig(xmlrpc_client)
|
|
+
|
|
+### libxmlrpc_server.so
|
|
+add_library(xmlrpc_server SHARED
|
|
+ registry.c system_method.c)
|
|
+target_link_libraries(xmlrpc_server xmlrpc)
|
|
+list(APPEND lib_TARGETS xmlrpc_server)
|
|
+ensc_pkgconfig(xmlrpc_server)
|
|
+
|
|
+
|
|
+### libxmlrpc_server_abyss.so
|
|
+add_library(xmlrpc_server_abyss SHARED
|
|
+ xmlrpc_server_abyss.c)
|
|
+target_link_libraries(xmlrpc_server_abyss xmlrpc_abyss xmlrpc_server)
|
|
+list(APPEND lib_TARGETS xmlrpc_server_abyss)
|
|
+ensc_pkgconfig(xmlrpc_server_abyss)
|
|
+
|
|
+
|
|
+
|
|
+### libxmlrpc_server_cgi.so
|
|
+add_library(xmlrpc_server_cgi SHARED
|
|
+ xmlrpc_server_cgi)
|
|
+target_link_libraries(xmlrpc_server_cgi xmlrpc_server)
|
|
+list(APPEND lib_TARGETS xmlrpc_server_cgi)
|
|
+ensc_pkgconfig(xmlrpc_server_cgi)
|
|
+
|
|
+
|
|
+install(TARGETS ${lib_TARGETS}
|
|
+ RUNTIME DESTINATION ${_bin}
|
|
+ LIBRARY DESTINATION ${_lib})
|
|
+
|
|
+set_target_properties(${lib_TARGETS}
|
|
+ PROPERTIES
|
|
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS}
|
|
+ VERSION ${XMLRPC_C_LIBVERSION}
|
|
+ SOVERSION ${XMLRPC_C_SOVERSION})
|
|
+
|
|
+
|
|
+enable_testing()
|
|
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..9ab2530
|
|
--- /dev/null
|
|
+++ b/src/cpp/CMakeLists.txt
|
|
@@ -0,0 +1,48 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+####### libxmlrpc++.so
|
|
+add_library(xmlrpc++ SHARED
|
|
+ base64.cpp env_wrap.cpp fault.cpp girerr.cpp girmem.cpp
|
|
+ outcome.cpp param_list.cpp value.cpp xml.cpp)
|
|
+target_link_libraries(xmlrpc++ xmlrpc)
|
|
+list(APPEND lib_TARGETS xmlrpc++)
|
|
+ensc_pkgconfig(xmlrpc++)
|
|
+
|
|
+####### libxmlrpc_cpp.so
|
|
+add_library(xmlrpc_cpp SHARED XmlRpcCpp)
|
|
+target_link_libraries(xmlrpc_cpp xmlrpc xmlrpc_server xmlrpc_client)
|
|
+list(APPEND lib_TARGETS xmlrpc_cpp)
|
|
+ensc_pkgconfig(xmlrpc_cpp)
|
|
+
|
|
+####### libxmlrpc_server++.so
|
|
+add_library(xmlrpc_server++ SHARED registry.cpp)
|
|
+target_link_libraries(xmlrpc_server++ xmlrpc++ xmlrpc_server)
|
|
+list(APPEND lib_TARGETS xmlrpc_server++)
|
|
+ensc_pkgconfig(xmlrpc_server++)
|
|
+
|
|
+####### libxmlrpc_server_abyss++.so
|
|
+add_library(xmlrpc_server_abyss++ SHARED server_abyss.cpp)
|
|
+target_link_libraries(xmlrpc_server_abyss++ xmlrpc_server++ xmlrpc_server_abyss)
|
|
+list(APPEND lib_TARGETS xmlrpc_server_abyss++)
|
|
+ensc_pkgconfig(xmlrpc_server_abyss++)
|
|
+
|
|
+####### libxmlrpc_client++.so
|
|
+add_library(xmlrpc_client++ SHARED
|
|
+ client.cpp client_simple.cpp curl.cpp libwww.cpp wininet.cpp)
|
|
+set_target_properties(xmlrpc_client++
|
|
+ PROPERTIES
|
|
+ COMPILE_FLAGS "-I${wininet_srcdir} -I${libwww_srcdir} -I${curl_srcdir}")
|
|
+target_link_libraries(xmlrpc_client++ xmlrpc++ xmlrpc_client)
|
|
+list(APPEND lib_TARGETS xmlrpc_client++)
|
|
+ensc_pkgconfig(xmlrpc_client++)
|
|
+
|
|
+
|
|
+install(TARGETS ${lib_TARGETS}
|
|
+ RUNTIME DESTINATION ${_bin}
|
|
+ LIBRARY DESTINATION ${_lib})
|
|
+
|
|
+set_target_properties(${lib_TARGETS}
|
|
+ PROPERTIES
|
|
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS}
|
|
+ VERSION ${XMLRPC_C_LIBVERSION}
|
|
+ SOVERSION ${XMLRPC_C_SOVERSION})
|
|
diff --git a/src/cpp/xmlrpc++.pc.cmake b/src/cpp/xmlrpc++.pc.cmake
|
|
new file mode 100644
|
|
index 0000000..0bf5dc3
|
|
--- /dev/null
|
|
+++ b/src/cpp/xmlrpc++.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc++
|
|
+Description: XMLRPC C++ Base library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc
|
|
+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..0357491
|
|
--- /dev/null
|
|
+++ b/src/cpp/xmlrpc_client++.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_client++
|
|
+Description: XMLRPC C++ Client library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc++ xmlrpc_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..7e21383
|
|
--- /dev/null
|
|
+++ b/src/cpp/xmlrpc_cpp.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_cpp
|
|
+Description: XMLRPC CPP library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc xmlrpc_server xmlrpc_client
|
|
+Libs: -L${libdir} -lxmlrpc_cpp
|
|
+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..7ddcca8
|
|
--- /dev/null
|
|
+++ b/src/cpp/xmlrpc_server++.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_server++
|
|
+Description: XMLRPC C++ Server library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc++ xmlrpc_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..f0e4cd0
|
|
--- /dev/null
|
|
+++ b/src/cpp/xmlrpc_server_abyss++.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_server_abyss++
|
|
+Description: XMLRPC C++ Abyss-Server library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc_server_abyss xmlrpc_server++
|
|
+Libs: -L${libdir} -lxmlrpc_server_abyss++
|
|
+Cflags: -I${includedir}
|
|
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..1ad605b
|
|
--- /dev/null
|
|
+++ b/src/test/CMakeLists.txt
|
|
@@ -0,0 +1,27 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+set(test_SOURCES
|
|
+ test.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
|
|
new file mode 100644
|
|
index 0000000..4c92f93
|
|
--- /dev/null
|
|
+++ b/src/xmlrpc.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc
|
|
+Description: XMLRPC base library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: @xmlrpc_pkgconfig_req@ xmlrpc_util
|
|
+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..8e74c44
|
|
--- /dev/null
|
|
+++ b/src/xmlrpc_client.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_client
|
|
+Description: XMLRPC client library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc @xmlrpc_client_pkgconfig_req@
|
|
+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..cb7d4cd
|
|
--- /dev/null
|
|
+++ b/src/xmlrpc_server.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_server
|
|
+Description: XMLRPC Server library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc
|
|
+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..0357ff9
|
|
--- /dev/null
|
|
+++ b/src/xmlrpc_server_abyss.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_server_abyss
|
|
+Description: XMLRPC Server Abyss library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc_server xmlrpc_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..8786b75
|
|
--- /dev/null
|
|
+++ b/src/xmlrpc_server_cgi.pc.cmake
|
|
@@ -0,0 +1,12 @@
|
|
+bindir=@bindir@
|
|
+prefix=@prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: xmlrpc_server_cgi
|
|
+Description: XMLRPC CGI-Server library
|
|
+Version: @XMLRPC_C_VERSION@
|
|
+
|
|
+Requires.private: xmlrpc_server
|
|
+Libs: -L${libdir} -lxmlrpc_server_cgi
|
|
+Cflags: -I${includedir}
|
|
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..14010f4
|
|
--- /dev/null
|
|
+++ b/tools/CMakeLists.txt
|
|
@@ -0,0 +1,9 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+add_subdirectory(binmode-rpc-kit)
|
|
+add_subdirectory(turbocharger)
|
|
+
|
|
+add_subdirectory(xmlrpc)
|
|
+add_subdirectory(xmlrpc_transport)
|
|
+
|
|
+add_subdirectory(xml-rpc-api2cpp )
|
|
diff --git a/tools/binmode-rpc-kit/CMakeLists.txt b/tools/binmode-rpc-kit/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..a707c75
|
|
--- /dev/null
|
|
+++ b/tools/binmode-rpc-kit/CMakeLists.txt
|
|
@@ -0,0 +1,2 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
diff --git a/tools/turbocharger/CMakeLists.txt b/tools/turbocharger/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..342423d
|
|
--- /dev/null
|
|
+++ b/tools/turbocharger/CMakeLists.txt
|
|
@@ -0,0 +1 @@
|
|
+# -*- cmake -*-
|
|
diff --git a/tools/xml-rpc-api2cpp/CMakeLists.txt b/tools/xml-rpc-api2cpp/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..c759dec
|
|
--- /dev/null
|
|
+++ b/tools/xml-rpc-api2cpp/CMakeLists.txt
|
|
@@ -0,0 +1,15 @@
|
|
+# -*- cmake -*-
|
|
+
|
|
+add_executable(xml-rpc-api2cpp
|
|
+ xml-rpc-api2cpp.cpp
|
|
+ DataType.cpp
|
|
+ XmlRpcFunction.cpp
|
|
+ XmlRpcClass.cpp
|
|
+ SystemProxy.cpp)
|
|
+target_link_libraries(xml-rpc-api2cpp xmlrpc_cpp xmlrpc_client xmlrpc_server)
|
|
+
|
|
+install(TARGETS xml-rpc-api2cpp
|
|
+ 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
|
|
new file mode 100644
|
|
index 0000000..1ec3cf6
|
|
--- /dev/null
|
|
+++ b/transport_config.h.cmake
|
|
@@ -0,0 +1,16 @@
|
|
+/* -*- c -*- */
|
|
+#define MUST_BUILD_WININET_CLIENT @_MUST_BUILD_WININET_CLIENT@
|
|
+#define MUST_BUILD_LIBWWW_CLIENT @_MUST_BUILD_LIBWWW_CLIENT@
|
|
+#define MUST_BUILD_CURL_CLIENT @_MUST_BUILD_CURL_CLIENT@
|
|
+
|
|
+static char const * const XMLRPC_DEFAULT_TRANSPORT =
|
|
+#if MUST_BUILD_LIBWWW_CLIENT
|
|
+ "libwww"
|
|
+#elif MUST_BUILD_CURL_CLIENT
|
|
+ "curl"
|
|
+#elif MUST_BUILD_WININET_CLIENT
|
|
+ "wininet"
|
|
+#else
|
|
+# error "no client XML transport configured"
|
|
+#endif
|
|
+ ;
|
|
diff --git a/version.h.cmake b/version.h.cmake
|
|
new file mode 100644
|
|
index 0000000..35beafc
|
|
--- /dev/null
|
|
+++ b/version.h.cmake
|
|
@@ -0,0 +1,2 @@
|
|
+/* This file was generated by a make rule */
|
|
+#define XMLRPC_C_VERSION "@XMLRPC_C_VERSION@"
|
|
diff --git a/xmlrpc-c-config b/xmlrpc-c-config
|
|
new file mode 100755
|
|
index 0000000..8f4f51b
|
|
--- /dev/null
|
|
+++ b/xmlrpc-c-config
|
|
@@ -0,0 +1,67 @@
|
|
+#! /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
|
|
+
|
|
+dummy_comp=xmlrpc_client
|
|
+
|
|
+case $1 in
|
|
+ (--features|--modules)
|
|
+ echo "c++ abyss-server curl-client"
|
|
+ exit 0
|
|
+ ;;
|
|
+ (--version)
|
|
+ set -- --modversion
|
|
+ ;;
|
|
+ (--exec-prefix)
|
|
+ set -- --variable=prefix
|
|
+ ;;
|
|
+ (--*dir|--prefix)
|
|
+ set -- --variable=${1##--}
|
|
+ ;;
|
|
+ (--ldflags)
|
|
+ set -- --libs-only-L
|
|
+ ;;
|
|
+ (--ldadd)
|
|
+ set -- --libs-only-l
|
|
+ ;;
|
|
+ (*)
|
|
+ dummy_comp=
|
|
+ ;;
|
|
+esac
|
|
+
|
|
+test x"$comp" != x || comp=$dummy_comp
|
|
+
|
|
+exec pkg-config "$@" $comp
|
|
diff --git a/xmlrpc_config.h.cmake b/xmlrpc_config.h.cmake
|
|
new file mode 100644
|
|
index 0000000..98b37ef
|
|
--- /dev/null
|
|
+++ b/xmlrpc_config.h.cmake
|
|
@@ -0,0 +1,21 @@
|
|
+/* -*- c -*- */
|
|
+
|
|
+#ifndef H_XMLRPC_C_CONFIG_H
|
|
+
|
|
+#cmakedefine HAVE_WCHAR_H
|
|
+#cmakedefine HAVE_SETENV
|
|
+#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 ATTR_UNUSED @ATTR_UNUSED@
|
|
+#define DIRECTORY_SEPARATOR "@DIRECTORY_SEPARATOR@"
|
|
+
|
|
+#ifdef HAVE_WCHAR_H
|
|
+# define HAVE_UNICODE_WCHAR 1
|
|
+#else
|
|
+# define HAVE_UNICODE_WCHAR 0
|
|
+#endif
|
|
+
|
|
+
|
|
+#endif
|
|
--
|
|
1.5.0.5
|
|
|