ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/libs/xmlrpc-c/Makefile b/external/subpack/libs/xmlrpc-c/Makefile
new file mode 100644
index 0000000..61fe717
--- /dev/null
+++ b/external/subpack/libs/xmlrpc-c/Makefile
@@ -0,0 +1,217 @@
+#
+# Copyright (C) 2007-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xmlrpc-c
+PKG_VERSION:=1.59.03
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=@SF/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(PKG_VERSION)
+PKG_HASH:=bdb71db42ab0be51591555885d11682b044c1034d4a3296401bf921ec0b233fe
+
+PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
+PKG_LICENSE:=VARIOUS
+PKG_LICENSE_FILES:=doc/COPYING
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+
+define Package/xmlrpc-c/Default
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=XML-RPC library
+ URL:=http://xmlrpc-c.sourceforge.net/
+endef
+
+define Package/xmlrpc-c-common
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= - common
+ DEPENDS+= +libpthread
+ HIDDEN:=1
+endef
+
+define Package/xmlrpc-c-internal
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= (uses internal expat variant)
+ DEPENDS:=+xmlrpc-c-common
+ PROVIDES:=xmlrpc-c
+ VARIANT:=internal
+endef
+
+define Package/xmlrpc-c-libxml2
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= (uses libxml2)
+ DEPENDS:=+xmlrpc-c-common +libxml2
+ PROVIDES:=xmlrpc-c
+ VARIANT:=libxml2
+endef
+
+define Package/xmlrpc-c-client
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= - client
+ DEPENDS:=+xmlrpc-c +libcurl
+endef
+
+define Package/xmlrpc-c-server
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= - server
+ DEPENDS:=+xmlrpc-c
+endef
+
+define Package/xmlrpc-c-abyss
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= - abyss
+ DEPENDS:=+xmlrpc-c-common
+endef
+
+define Package/xmlrpc-c-server-abyss
+ $(call Package/xmlrpc-c/Default)
+ TITLE+= - abyss server
+ DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
+endef
+
+define Package/xmlrpc-c/description/Default
+ Programming library for writing an XML-RPC server or client in C or C++.
+ XML-RPC is a standard network protocol to allow a client program to make
+ a simple remote procedure call (RPC) type request of a server.
+endef
+
+Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
+Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
+Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
+
+Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
+Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
+
+CONFIGURE_ARGS+= \
+ --disable-wininet-client \
+ --disable-libwww-client \
+ --disable-cgi-server \
+ --disable-cplusplus \
+ --without-libwww-ssl \
+ --disable-abyss-openssl
+
+ifeq ($(BUILD_VARIANT),libxml2)
+ CONFIGURE_ARGS += \
+ --enable-libxml2-backend
+endif
+
+ifeq ($(BUILD_VARIANT),internal)
+ CONFIGURE_ARGS += \
+ --disable-libxml2-backend
+endif
+
+define Build/Compile
+ ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
+ $(call Build/Compile/Default)
+endef
+
+TARGET_VARIANT=$(if $(ALL_VARIANTS),$(if $(VARIANT),$(VARIANT),$(firstword $(ALL_VARIANTS))))
+ifeq ($(if $(TARGET_VARIANT),$(BUILD_VARIANT)),$(TARGET_VARIANT))
+ define Build/InstallDev
+ $(INSTALL_DIR) \
+ $(1)/usr/include \
+ $(1)/usr/lib \
+ $(1)/usr/bin \
+ $(1)/usr/lib/pkgconfig \
+ $(2)/bin
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/include/* \
+ $(1)/usr/include/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
+ $(1)/usr/lib/
+ $(INSTALL_BIN) \
+ $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
+ $(2)/bin/
+ $(SED) 's,PREFIX="/usr",PREFIX="$(STAGING_DIR)/usr",g' $(2)/bin/xmlrpc-c-config
+ $(SED) \
+ 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
+ $(2)/bin/xmlrpc-c-config
+ $(SED) \
+ 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
+ $(2)/bin/xmlrpc-c-config
+ $(INSTALL_DATA) \
+ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
+ $(1)/usr/lib/pkgconfig/
+ endef
+endif
+
+define Package/xmlrpc-c-libxml2/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
+ $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-internal/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
+ $(1)/usr/lib/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
+ $(1)/usr/lib/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
+ $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-server/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
+ $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-abyss/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
+ $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-server-abyss/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
+ $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-client/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
+ $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-common/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
+ $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xmlrpc-c-common))
+$(eval $(call BuildPackage,xmlrpc-c-libxml2))
+$(eval $(call BuildPackage,xmlrpc-c-internal))
+$(eval $(call BuildPackage,xmlrpc-c-server))
+$(eval $(call BuildPackage,xmlrpc-c-abyss))
+$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
+$(eval $(call BuildPackage,xmlrpc-c-client))
diff --git a/external/subpack/libs/xmlrpc-c/patches/001-fix-pkg-config-files.patch b/external/subpack/libs/xmlrpc-c/patches/001-fix-pkg-config-files.patch
new file mode 100644
index 0000000..e52d11e
--- /dev/null
+++ b/external/subpack/libs/xmlrpc-c/patches/001-fix-pkg-config-files.patch
@@ -0,0 +1,299 @@
+--- a/lib/abyss/src/Makefile
++++ b/lib/abyss/src/Makefile
+@@ -131,13 +131,15 @@ SOCKLIB=$(SOCKETLIBOPT)
+ xmlrpc_abyss.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_abyss" >>$@
+ @echo "Description: Xmlrpc-c Abyss HTTP C library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_abyss $(SOCKLIB)" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_abyss $(SOCKLIB)' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ # Need this dependency for those who don't use depend.mk.
+ # Without it, version.h doesn't get created.
+--- a/lib/abyss++/Makefile
++++ b/lib/abyss++/Makefile
+@@ -120,13 +120,15 @@ $(LIBXMLRPC_ABYSSPP_MODS:%=%.osh): \
+ xmlrpc_abyss++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_abyss++" >>$@
+ @echo "Description: Xmlrpc-c Abyss HTTP C++ library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc_abyss xmlrpc_util++" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_abyss++" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_abyss++' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ #-----------------------------------------------------------------------------
+ # MISCELLANEOUS RULES
+--- a/lib/expat/Makefile
++++ b/lib/expat/Makefile
+@@ -34,13 +34,15 @@ xmltok/all: gennmtab/all
+ xmlrpc_expat.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_expat" >>$@
+ @echo "Description: Xmlrpc-c XML parsing library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_xmlparse -lxmlrpc_xmltok" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_xmlparse -lxmlrpc_xmltok' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ .PHONY: clean
+ clean: $(SUBDIRS:%=%/clean) clean-common
+--- a/lib/libutil/Makefile
++++ b/lib/libutil/Makefile
+@@ -112,13 +112,15 @@ libxmlrpc_util.a: LIBOBJECTS = $(TARGET_
+ xmlrpc_util.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_util" >>$@
+ @echo "Description: Xmlrpc-c utility functions library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: " >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_util" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_util' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ .PHONY: install
+ install: install-common
+--- a/lib/libutil++/Makefile
++++ b/lib/libutil++/Makefile
+@@ -101,13 +101,15 @@ libxmlrpc_util++.a: LIBOBJECTS = $(LIBXM
+ xmlrpc_util++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_util++" >>$@
+ @echo "Description: Xmlrpc-c C++ utility functions library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_util++" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_util++' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ #-----------------------------------------------------------------------------
+ # MISCELLANEOUS RULES
+--- a/lib/openssl/Makefile
++++ b/lib/openssl/Makefile
+@@ -81,13 +81,15 @@ INCLUDES = \
+ xmlrpc_openssl.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_openssl" >>$@
+ @echo "Description: Openssl convenience function from Xmlrpc-c package" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_openssl" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_openssl' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ #-----------------------------------------------------------------------------
+ # MISCELLANEOUS
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -333,57 +333,67 @@ libxmlrpc_client.ldflags:
+ xmlrpc.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
+- @echo "Name: xmlrpc" >>$@
+- @echo "Description: Xmlrpc-c basic XML-RPC library" >>$@
+- @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
++ @echo 'Name: xmlrpc' >>$@
++ @echo 'Description: Xmlrpc-c basic XML-RPC library' >>$@
++ @echo 'Version: $(XMLRPC_VERSION_STRING)' >>$@
+ @echo >>$@
+- @echo "Requires: xmlrpc_util $(XML_PKGCONFIG_REQ)" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Requires: xmlrpc_util $(XML_PKGCONFIG_REQ)' >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_client.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_client" >>$@
+ @echo "Description: Xmlrpc-c XML-RPC client library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_client" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_client' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_server.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_server" >>$@
+ @echo "Description: Xmlrpc-c XML-RPC server library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_server' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_server_abyss.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_server_abyss" >>$@
+ @echo "Description: Xmlrpc-c Abyss XML-RPC server library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc xmlrpc_server xmlrpc_abyss xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server_abyss" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_server_abyss' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_server_cgi.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_server_cgi" >>$@
+ @echo "Description: Xmlrpc-c CGI XML-RPC server library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc xmlrpc_server xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server_cgi" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_server_cgi' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ .PHONY: check
+ check:
+--- a/src/cpp/Makefile
++++ b/src/cpp/Makefile
+@@ -355,57 +355,67 @@ $(TRANSPORT_CONFIG_USERS:%=%.o) $(TRANSP
+ xmlrpc++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc++" >>$@
+ @echo "Description: Xmlrpc-c basic XML-RPC C++ library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc++" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc++' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_client++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_client++" >>$@
+ @echo "Description: Xmlrpc-c XML-RPC client C++ library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc++ xmlrpc_client xmlrpc_util++ xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_client++" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_client++' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_server++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_server++" >>$@
+ @echo "Description: Xmlrpc-c XML-RPC server C++ library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc++ xmlrpc xmlrpc_server xmlrpc_util++ xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server++" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_server++' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_server_abyss++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_server_abyss++" >>$@
+ @echo "Description: Xmlrpc-c Abyss XML-RPC server C++ library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+ @echo "Requires: xmlrpc++ xmlrpc xmlrpc_server++ xmlrpc_abyss xmlrpc_util++ xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server_abyss" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_server_abyss++' >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ xmlrpc_server_pstream++.pc:
+ rm -f $@
+ @echo "Echoes to '$@' suppressed here ..."
++ @echo -e '$(PKGCONFIG_VAR_SET)' >>$@
++ @echo >>$@
+ @echo "Name: xmlrpc_server_pstream" >>$@
+ @echo "Description: Xmlrpc-c packet stream XML-RPC server library" >>$@
+ @echo "Version: $(XMLRPC_VERSION_STRING)" >>$@
+ @echo >>$@
+- @echo "Requires: xmlrpc++ xmlrpc xmlrpc_server++ xmlrpc_util++ xmlrpc_util" >>$@
+- @echo "Libs: -L$(LIBDESTDIR) -lxmlrpc_server_pstream++ -lxmlrpc_packetsocket" >>$@
+- @echo "Cflags: -I$(HEADERDESTDIR)" >>$@
++ @echo "Requires: xmlrpc++ xmlrpc xmlrpc_server++ xmlrpc_util++ xmlrpc_util" >>$@
++ @echo 'Libs: -L$${libdir} -lxmlrpc_server_pstream++' -lxmlrpc_packetsocket >>$@
++ @echo 'Cflags: -I$${includedir}' >>$@
+
+ #-----------------------------------------------------------------------------
+ # MISCELLANEOUS RULES
+--- a/common.mk
++++ b/common.mk
+@@ -584,6 +584,11 @@ PROGRAMDESTDIR = $(DESTDIR)$(PROGRAMIN
+ MANDESTDIR = $(DESTDIR)$(MANINST_DIR)
+ PKGCONFIGDESTDIR = $(DESTDIR)$(PKGCONFIGINST_DIR)
+
++# The following value, in a pkg-config file, sets the conventional pkg-config
++# variables that the pkg-config user can override at pkg-config time.
++PKGCONFIG_VAR_SET = \
++ prefix=$(PREFIX)\nexec_prefix=$${prefix}\nincludedir=$${prefix}/include\nlibdir=$${exec_prefix}/lib
++
+
+ ##############################################################################
+ # INSTALL RULES #
diff --git a/external/subpack/libs/xmlrpc-c/patches/002-remove-unnecessary-linking.patch b/external/subpack/libs/xmlrpc-c/patches/002-remove-unnecessary-linking.patch
new file mode 100644
index 0000000..0e21dcf
--- /dev/null
+++ b/external/subpack/libs/xmlrpc-c/patches/002-remove-unnecessary-linking.patch
@@ -0,0 +1,37 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -183,7 +183,7 @@ $(LIBXMLRPC_SERVER): \
+ $(call shliblefn, libxmlrpc)
+ $(LIBXMLRPC_SERVER): LIBOBJECTS = $(LIBXMLRPC_SERVER_MODS:%=%.osh)
+ $(LIBXMLRPC_SERVER): LIBDEP = \
+- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP)
++ -L. -lxmlrpc $(LIBXMLRPC_UTIL_LIBDEP)
+
+ LIBXMLRPC_SERVER_ABYSS = $(call shlibfn, libxmlrpc_server_abyss)
+
+@@ -197,7 +197,7 @@ $(LIBXMLRPC_SERVER_ABYSS): LIBOBJECTS =
+ $(LIBXMLRPC_SERVER_ABYSS): LIBDEP = \
+ -L. -lxmlrpc_server \
+ -L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \
+- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP)
++ -L. -lxmlrpc $(LIBXMLRPC_UTIL_LIBDEP)
+ ifeq ($(MSVCRT),yes)
+ $(LIBXMLRPC_SERVER_ABYSS): LIBDEP += -lws2_32 -lwsock32
+ endif
+@@ -212,7 +212,7 @@ $(LIBXMLRPC_SERVER_CGI): \
+ $(LIBXMLRPC_SERVER_CGI): LIBOBJECTS = $(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh)
+ $(LIBXMLRPC_SERVER_CGI): LIBDEP = \
+ -L. -lxmlrpc_server \
+- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP)
++ -L. -lxmlrpc $(LIBXMLRPC_UTIL_LIBDEP)
+
+ LIBXMLRPC_CLIENT = $(call shlibfn, libxmlrpc_client)
+
+@@ -237,7 +237,6 @@ $(LIBXMLRPC_CLIENT): LIBOBJECTS = \
+ LIBXMLRPC_CLIENT_LIBDEP = \
+ -Lblddir/src -Lblddir/lib/libutil \
+ -lxmlrpc -lxmlrpc_util \
+- $(XML_PARSER_LIBDEP) \
+ $(TRANSPORT_LIBDEP) \
+
+ $(LIBXMLRPC_CLIENT): LIBDEP = \
diff --git a/external/subpack/libs/xmlrpc-c/patches/010-nanosleep.patch b/external/subpack/libs/xmlrpc-c/patches/010-nanosleep.patch
new file mode 100644
index 0000000..52703cb
--- /dev/null
+++ b/external/subpack/libs/xmlrpc-c/patches/010-nanosleep.patch
@@ -0,0 +1,20 @@
+--- a/lib/libutil/sleep.c
++++ b/lib/libutil/sleep.c
+@@ -8,7 +8,7 @@
+ # include <windows.h>
+ # include <process.h>
+ #else
+-# include <unistd.h>
++# include <time.h>
+ #endif
+
+
+@@ -18,6 +18,7 @@ xmlrpc_millisecond_sleep(unsigned int co
+ #if MSVCRT
+ SleepEx(milliseconds, true);
+ #else
+- usleep(milliseconds * 1000);
++ const struct timespec req = {0, milliseconds * 1000 * 1000};
++ nanosleep(&req, NULL);
+ #endif
+ }