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
+ }