summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08')
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0001-Fix-parallel-make-for-Gentoo-bug-255440.patch26
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0002-Fixup-abyss-compilation-add-lpthread-and-make-paral.patch65
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0003-Fix-compilation-of-xmlrpc_pstream-with-gcc-4.3.patch32
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0004-Make-tools-a-part-of-the-normal-build-system.patch823
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0005-Make-the-buildfiles-respect-the-options-passed-to-co.patch31
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0006-Clean-up-some-left-over-libtool-lint.patch67
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0007-Add-enable-docs-option-and-the-associated-infrastruc.patch566
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0008-Fix-using-configure-s-input.-We-need-to-define-exec_.patch28
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0009-Fix-C-gcc-4.3-tests.patch53
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0010-Fix-C-tests-linking-order.patch56
10 files changed, 1747 insertions, 0 deletions
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0001-Fix-parallel-make-for-Gentoo-bug-255440.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0001-Fix-parallel-make-for-Gentoo-bug-255440.patch
new file mode 100644
index 0000000..51d0c90
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0001-Fix-parallel-make-for-Gentoo-bug-255440.patch
@@ -0,0 +1,26 @@
+From 8cf7b4f825320d3aff30ea8cabb21e253519093e Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 13:23:31 +0100
+Subject: [PATCH 01/10] Fix parallel make for Gentoo bug 255440
+
+---
+ src/cpp/Makefile | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/src/cpp/Makefile b/src/cpp/Makefile
+index 7e54282..ebffe7c 100644
+--- a/src/cpp/Makefile
++++ b/src/cpp/Makefile
+@@ -113,6 +113,9 @@ all: \
+ LIBXMLRPC_CPP_SH = $(call shlibfn, libxmlrpc_cpp)
+
+ $(LIBXMLRPC_CPP_SH): XmlRpcCpp.osh \
++ $(LIBXMLRPC_UTIL) \
++ $(LIBXMLRPC) \
++ $(LIBXMLRPC_SERVER) \
+ $(LIBXMLRPC_UTIL)
+ $(LIBXMLRPC_CPP_SH): LIBOBJECTS = XmlRpcCpp.osh
+ $(LIBXMLRPC_CPP_SH): LIBDEP = -Lblddir/src -lxmlrpc -lxmlrpc_server -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0002-Fixup-abyss-compilation-add-lpthread-and-make-paral.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0002-Fixup-abyss-compilation-add-lpthread-and-make-paral.patch
new file mode 100644
index 0000000..db2a17b
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0002-Fixup-abyss-compilation-add-lpthread-and-make-paral.patch
@@ -0,0 +1,65 @@
+From 56bc636d4a2a7892f1a78c3702f8703cf7ce93b4 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 13:24:46 +0100
+Subject: [PATCH 02/10] Fixup abyss compilation; add lpthread and make parallel compile work.
+
+---
+ lib/abyss/src/Makefile | 14 +++++++-------
+ src/cpp/Makefile | 6 +++++-
+ 2 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/lib/abyss/src/Makefile b/lib/abyss/src/Makefile
+index cbb187e..da6ff1b 100644
+--- a/lib/abyss/src/Makefile
++++ b/lib/abyss/src/Makefile
+@@ -59,11 +59,6 @@ ABYSS_SHLIB = $(call shlibfn,libxmlrpc_abyss)
+ ABYSS_SHLIBLE = $(call shliblefn,libxmlrpc_abyss)
+ #ABYSS_SHLIBLE is e.g. libxmlrpc_abyss.so
+
+-# LIBDEP is the shared libraries on which libxmlrpc_abyss depends.
+-# The runtime loader should load these libraries when it loads libxmlrpc_abyss.
+-
+-LIBDEP = $(LIBXMLRPC_UTIL)
+-
+ ifneq ($(SHARED_LIB_TYPE),NONE)
+ TARGET_SHARED_LIBS := $(ABYSS_SHLIB) $(ABYSS_SHLIBLE)
+ endif
+@@ -78,8 +73,13 @@ all: libxmlrpc_abyss.a $(TARGET_SHARED_LIBS) $(TARGET_SHARED_LE_LIBS)
+
+
+ # Rule for this is in common.mk, courtesy of TARGET_SHARED_LIBRARIES:
+-$(ABYSS_SHLIB): $(TARGET_MODS:%=%.osh) $(LIBDEP)
+-$(ABYSS_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh) $(LIBDEP)
++$(ABYSS_SHLIB): $(TARGET_MODS:%=%.osh) \
++ $(LIBXMLRPC_UTIL)
++$(ABYSS_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh)
++$(ABYSS_SHLIB): LIBDEP = -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
++ifeq ($(ENABLE_ABYSS_THREADS),yes)
++ $(ABYSS_SHLIB): LIBDEP += -lpthread
++endif
+
+ # Rule for this is in common.mk, courtesy of TARGET_STATIC_LIBRARIES:
+
+diff --git a/src/cpp/Makefile b/src/cpp/Makefile
+index ebffe7c..e08f47c 100644
+--- a/src/cpp/Makefile
++++ b/src/cpp/Makefile
+@@ -143,10 +143,14 @@ LIBXMLRPC_SERVER_ABYSSPP_SH = $(call shlibfn, libxmlrpc_server_abyss++)
+
+ $(LIBXMLRPC_SERVER_ABYSSPP_SH): $(LIBXMLRPC_SERVER_ABYSSPP_MODS:%=%.osh) \
+ $(LIBXMLRPC_ABYSS) \
++ $(LIBXMLRPC_SERVER_ABYSS) \
++ $(call shliblefn, lib$(LIBXMLRPCPP_NAME)) \
++ $(call shlibfn, libxmlrpc_server++) \
++ $(LIBXMLRPC_UTIL) \
+ $(LIBXMLRPC)
+ $(LIBXMLRPC_SERVER_ABYSSPP_SH): LIBOBJECTS = $(LIBXMLRPC_SERVER_ABYSSPP_MODS:%=%.osh)
+ $(LIBXMLRPC_SERVER_ABYSSPP_SH): LIBDEP = \
+- -L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss -Lblddir/src -lxmlrpc
++ -L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss -Lblddir/src -lxmlrpc_server_abyss -lxmlrpc -L. -l$(LIBXMLRPCPP_NAME) -lxmlrpc_server++ -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util
+
+ LIBXMLRPC_SERVER_CGIPP_SH = $(call shlibfn, libxmlrpc_server_cgi++)
+
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0003-Fix-compilation-of-xmlrpc_pstream-with-gcc-4.3.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0003-Fix-compilation-of-xmlrpc_pstream-with-gcc-4.3.patch
new file mode 100644
index 0000000..86b048e
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0003-Fix-compilation-of-xmlrpc_pstream-with-gcc-4.3.patch
@@ -0,0 +1,32 @@
+From 20bac6d6419bae95fdad1734e48302e7545dd7c5 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 13:25:56 +0100
+Subject: [PATCH 03/10] Fix compilation of xmlrpc_pstream with gcc-4.3+
+
+---
+ tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
+index 399e1b3..df4ef56 100644
+--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
+@@ -3,11 +3,12 @@
+ #include <string>
+ #include <vector>
+ #include <list>
+-#include <string.h>
+-#include <stdio.h>
+-#include <stdlib.h>
++#include <cstring>
++#include <cstdio>
++#include <cstdlib>
+ #include <unistd.h>
+ #include <signal.h>
++#include <iostream>
+ #include <readline/readline.h>
+
+ #include "cmdline_parser.hpp"
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0004-Make-tools-a-part-of-the-normal-build-system.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0004-Make-tools-a-part-of-the-normal-build-system.patch
new file mode 100644
index 0000000..19097a1
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0004-Make-tools-a-part-of-the-normal-build-system.patch
@@ -0,0 +1,823 @@
+From ff11a98de533eeb77c90564ab362d8e661ff148e Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 14:34:33 +0100
+Subject: [PATCH 04/10] Make tools a part of the normal build system
+ move the decision to build out to the tools subdirectories
+ make xmlrpc_pstream installable
+ put autoconf for detection of libreadline and ncurses
+ new autoconf flag: --enable-tools
+ make xml-rpc-api2txt installable
+ install manpages
+
+---
+ GNUmakefile | 4 +
+ common.mk | 14 +++-
+ config.mk.in | 3 +
+ configure.in | 29 ++++++
+ tools/Makefile | 12 +---
+ tools/xml-rpc-api2cpp/Makefile | 24 +++--
+ tools/xml-rpc-api2txt | 147 -------------------------------
+ tools/xml-rpc-api2txt.1 | 47 ----------
+ tools/xml-rpc-api2txt/Makefile | 38 ++++++++
+ tools/xml-rpc-api2txt/xml-rpc-api2txt | 147 +++++++++++++++++++++++++++++++
+ tools/xml-rpc-api2txt/xml-rpc-api2txt.1 | 47 ++++++++++
+ tools/xmlrpc/Makefile | 16 ++--
+ tools/xmlrpc_cpp_proxy/Makefile | 16 +++-
+ tools/xmlrpc_pstream/Makefile | 22 +++--
+ tools/xmlrpc_transport/Makefile | 14 ++-
+ 15 files changed, 340 insertions(+), 240 deletions(-)
+ delete mode 100755 stable/tools/xml-rpc-api2txt
+ delete mode 100644 stable/tools/xml-rpc-api2txt.1
+ create mode 100644 stable/tools/xml-rpc-api2txt/Makefile
+ create mode 100755 stable/tools/xml-rpc-api2txt/xml-rpc-api2txt
+ create mode 100644 stable/tools/xml-rpc-api2txt/xml-rpc-api2txt.1
+
+diff --git a/GNUmakefile b/GNUmakefile
+index c0078e0..afa4d72 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -23,6 +23,10 @@ SUBDIRS = include lib src tools examples
+
+ DEFAULT_SUBDIRS = include lib src
+
++ifeq ($(BUILD_TOOLS),yes)
++ DEFAULT_SUBDIRS += tools
++endif
++
+ PROGRAMS_TO_INSTALL = xmlrpc-c-config
+
+ default: xmlrpc-c-config xmlrpc-c-config.test $(DEFAULT_SUBDIRS:%=%/all)
+diff --git a/common.mk b/common.mk
+index fe4ddbc..30b72e8 100644
+--- a/common.mk
++++ b/common.mk
+@@ -487,10 +487,10 @@ $(SUBDIRS:%=$(CURDIR)/%):
+
+ MKINSTALLDIRS = $(SHELL) $(SRCDIR)/mkinstalldirs
+
+-.PHONY: install-common install-headers install-bin
++.PHONY: install-common install-headers install-bin install-man
+ install-common: \
+ install-static-libraries install-shared-libraries \
+- install-headers install-bin
++ install-headers install-bin install-man
+
+ INSTALL_LIB_CMD = $(INSTALL_DATA) $$p $(DESTDIR)$(LIBINST_DIR)/$$p
+ RANLIB_CMD = $(RANLIB) $(DESTDIR)$(LIBINST_DIR)/$$p
+@@ -536,6 +536,16 @@ install-bin: $(PROGRAMS_TO_INSTALL) $(DESTDIR)$(PROGRAMINST_DIR)
+ $(DESTDIR)$(PROGRAMINST_DIR):
+ $(MKINSTALLDIRS) $@
+
++MANDESTDIR = $(DESTDIR)$(MANINST_DIR)
++INSTALL_MAN_CMD = $(INSTALL_DATA) $$p $(MANDESTDIR)/$$p
++
++install-man: $(MAN_FILES_TO_INSTALL)
++ $(MKINSTALLDIRS) $(MANDESTDIR)
++ @list='$(MAN_FILES_TO_INSTALL)'; \
++ for p in $$list; do \
++ echo "$(MAN_FILES_TO_INSTALL)"; \
++ $(INSTALL_MAN_CMD); \
++ done
+
+ ##############################################################################
+ # MISCELLANEOUS RULES #
+diff --git a/config.mk.in b/config.mk.in
+index 89d039a..a84f5e8 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -27,6 +27,8 @@ ENABLE_LIBXML2_BACKEND = @ENABLE_LIBXML2_BACKEND@
+ MUST_BUILD_WININET_CLIENT = @MUST_BUILD_WININET_CLIENT@
+ MUST_BUILD_CURL_CLIENT = @MUST_BUILD_CURL_CLIENT@
+ MUST_BUILD_LIBWWW_CLIENT = @MUST_BUILD_LIBWWW_CLIENT@
++BUILD_TOOLS = @BUILD_TOOLS@
++BUILD_XMLRPC_PSTREAM = @BUILD_XMLRPC_PSTREAM@
+ LSOCKET = @LSOCKET@
+ WININET_LDADD = @WININET_LDADD@
+ WININET_RPATH = @WININET_RPATH@
+@@ -320,6 +322,7 @@ INSTALL_SCRIPT = $(INSTALL) -c -m 755
+ LIBINST_DIR = $(PREFIX)/lib
+ HEADERINST_DIR = $(PREFIX)/include
+ PROGRAMINST_DIR = $(PREFIX)/bin
++MANINST_DIR = $(PREFIX)/share/man/man1
+
+ # DESTDIR is designed to be overridden at make time in order to relocate
+ # the entire install into a subdirectory.
+diff --git a/configure.in b/configure.in
+index 99e7758..60e3cf8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -86,6 +86,35 @@ AC_MSG_RESULT($MUST_BUILD_LIBWWW_CLIENT)
+ AC_SUBST(MUST_BUILD_LIBWWW_CLIENT)
+
+
++AC_ARG_ENABLE(tools,
++ [ --enable-tools Build the xmlrpc tools], ,
++[enable_tools=no])
++
++BUILD_XMLRPC_PSTREAM=no
++
++if test $enable_tools = yes; then
++ if ! test "$MUST_BUILD_WININET_CLIENT $MUST_BUILD_CURL_CLIENT $MUST_BUILD_LIBWWW_CLIENT" = "no no no"; then
++ AC_CHECK_LIB(ncurses, main, [have_libncurses=yes], [have_libncurses=no])
++ AC_CHECK_LIB(readline, main, [have_libreadline=yes], [have_libreadline=no])
++ if test $have_libreadline = yes && test $have_libncurses = yes; then
++ BUILD_XMLRPC_PSTREAM=yes
++ fi
++ BUILD_TOOLS=yes
++ fi
++else
++ BUILD_TOOLS=$enable_tools
++fi
++
++AC_MSG_CHECKING(whether to build xmlrpc tools)
++AC_MSG_RESULT($BUILD_TOOLS)
++AC_SUBST(BUILD_TOOLS)
++if test $BUILD_TOOLS = yes; then
++ AC_MSG_CHECKING(whether to build the xmlrpc_pstream tool)
++ AC_MSG_RESULT($BUILD_XMLRPC_PSTREAM)
++ AC_SUBST(BUILD_XMLRPC_PSTREAM)
++fi
++
++
+ dnl Set up the appropriate Makefile substitutions.
+
+ LIBXMLRPC_CLIENT_LA=libxmlrpc_client.la
+diff --git a/tools/Makefile b/tools/Makefile
+index 815db41..2e157a5 100644
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -7,17 +7,7 @@ SUBDIR := tools
+
+ include $(BLDDIR)/config.mk
+
+-SUBDIRS = lib binmode-rpc-kit turbocharger
+-
+-ifeq ($(MUST_BUILD_CLIENT),yes)
+- SUBDIRS += xmlrpc xmlrpc_transport
+-
+- ifeq ($(ENABLE_CPLUSPLUS),yes)
+- SUBDIRS += xml-rpc-api2cpp xmlrpc_cpp_proxy
+- # We could add 'xmlrpc_pstream' here, but we don't because we don't
+- # want to deal with finding the Readline/Ncurses libraries.
+- endif
+-endif
++SUBDIRS = lib binmode-rpc-kit turbocharger xmlrpc xmlrpc_transport xml-rpc-api2cpp xmlrpc_cpp_proxy xmlrpc_pstream xml-rpc-api2txt
+
+ .PHONY: all clean distclean install check dep
+
+diff --git a/tools/xml-rpc-api2cpp/Makefile b/tools/xml-rpc-api2cpp/Makefile
+index 0b9bbe1..435fd9c 100644
+--- a/tools/xml-rpc-api2cpp/Makefile
++++ b/tools/xml-rpc-api2cpp/Makefile
+@@ -6,10 +6,22 @@ ifeq ($(SRCDIR),)
+ endif
+ SUBDIR := tools/xml-rpc-api2cpp
+
+-default: all
+-
+ include $(BLDDIR)/config.mk
+
++PROGRAMS_TO_INSTALL :=
++MAN_FILES_TO_INSTALL :=
++
++ifeq ($(MUST_BUILD_CLIENT),yes)
++ ifeq ($(ENABLE_CPLUSPLUS),yes)
++ PROGRAMS_TO_INSTALL += xml-rpc-api2cpp
++ MAN_FILES_TO_INSTALL += xml-rpc-api2cpp.1
++ endif
++endif
++
++all: $(PROGRAMS_TO_INSTALL)
++
++default: all
++
+ include $(SRCDIR)/tools/common.mk
+
+ INCLUDES = -I$(BLDDIR) -I$(BLDDIR)/include -I$(SRCDIR)/include
+@@ -20,14 +32,6 @@ LDFLAGS = $(LADD)
+
+ LDLIBS = -L$(BLDDIR)/src/cpp -lxmlrpc_cpp -lxmlrpc_server $(CLIENT_LDLIBS)
+
+-PROGS :=
+-
+-ifeq ($(MUST_BUILD_CLIENT),yes)
+- PROGS += xml-rpc-api2cpp
+-endif
+-
+-all: $(PROGS)
+-
+ OBJECTS = \
+ xml-rpc-api2cpp.o \
+ DataType.o \
+diff --git a/tools/xml-rpc-api2txt b/tools/xml-rpc-api2txt
+deleted file mode 100755
+index e771463..0000000
+--- a/tools/xml-rpc-api2txt
++++ /dev/null
+@@ -1,147 +0,0 @@
+-#!/usr/bin/perl -w
+-#
+-# A handy little program to get the documentation of the available
+-# methods from an XML-RPC service (via XML-RPC Introspection) and
+-# print it out nicely formatted.
+-#
+-# (I wrote this in Perl because of all the spiffy report-generation
+-# features.)
+-#
+-# You'll need to get Ken MacLeod's Frontier::RPC2 module from CPAN to use
+-# this.
+-#
+-# Eric Kidd <eric.kidd@pobox.com>
+-#
+-# This script is part of xmlrpc-c, and may be used and distributed under
+-# the same terms as the rest of the package.
+-
+-use strict;
+-
+-# One global variable for use with Perl's format routines, and one for
+-# use inside an 'exec' block.
+-use vars qw/$helptext $method_list/;
+-
+-# Try to load our Perl XML-RPC bindings, but fail gracefully.
+-eval {
+- require Frontier::Client;
+-};
+-if ($@) {
+- print STDERR <<"EOD";
+-This script requires Ken MacLeod\'s Frontier::RPC2 module. You can get this
+-from CPAN or from his website at http://bitsko.slc.ut.us/~ken/xml-rpc/ .
+-
+-For installation instructions, see the XML-RPC HOWTO at:
+- http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html
+-
+-EOD
+- exit 1;
+-}
+-
+-# Parse our command-line arguments.
+-if (@ARGV != 1 || $ARGV[0] eq "--help") {
+- print STDERR "Usage: xml-rpc-api2txt serverURL\n";
+- exit 1;
+-}
+-
+-my $server = Frontier::Client->new(url => $ARGV[0]);
+-
+-# Try (very carefully) to get our a list of methods from the server.
+-local $method_list;
+-eval {
+- $method_list = $server->call('system.listMethods');
+-};
+-if ($@) {
+- print STDERR <<"EOD";
+-An error occurred while trying to talk to the XML-RPC server:
+-
+- $@
+-
+-This may have been caused by several things--the server might not support
+-introspection, it might not be an XML-RPC server, or your network might be
+-down. Try the following:
+-
+- xml-rpc-api2txt http://xmlrpc-c.sourceforge.net/api/sample.php
+-
+-EOD
+- exit 1;
+-}
+-
+-# Enter the methods into a hashtable.
+-my @methods = sort @$method_list;
+-my %method_table;
+-foreach my $method (@methods) {
+- $method_table{$method} = {};
+-}
+-
+-# Get more information for the hash table. Since we need to make lots and
+-# lots of very small XML-RPC calls, we'd like to use system.multicall to
+-# reduce the latency.
+-if (defined $method_table{'system.multicall'}) {
+-
+- # This is messy but fast. Everybody hates HTTP round-trip lag, right?
+- my @call;
+- foreach my $method (@methods) {
+- push @call, {methodName => 'system.methodSignature',
+- params => [$method]};
+- push @call, {methodName => 'system.methodHelp',
+- params => [$method]};
+- }
+- my @result = @{$server->call('system.multicall', \@call)};
+- for (my $i = 0; $i < @methods; $i++) {
+- my $method = $methods[$i];
+- $method_table{$method}->{'signatures'} = $result[2*$i]->[0];
+- $method_table{$method}->{'help'} = $result[2*$i+1]->[0];
+- }
+-} else {
+-
+- # This is easy but slow (especially over backbone links).
+- foreach my $method (@methods) {
+- my $signature = $server->call('system.methodSignature', $method);
+- my $help = $server->call('system.methodHelp', $method);
+- $method_table{$method}->{'signatures'} = $signature;
+- $method_table{$method}->{'help'} = $help;
+- }
+-}
+-
+-# Now, we need to dump the API.
+-print <<"EOD";
+-XML-RPC API for $ARGV[0]
+-
+-See http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html for instructions
+-on using XML-RPC with Perl, Python, Java, C, C++, PHP, etc.
+-EOD
+-foreach my $method (@methods) {
+- print "\n";
+-
+- # Print a synopsis of the function.
+- if ($method_table{$method}->{'signatures'} eq 'undef') {
+- # No documentation. Bad server. No biscuit.
+- print "unknown $method (...)\n";
+- } else {
+- for my $signature (@{$method_table{$method}->{'signatures'}}) {
+- my $return_type = shift @$signature;
+- my $arguments = join(", ", @$signature);
+- print "$return_type $method ($arguments)\n";
+- }
+- }
+- print "\n";
+-
+- my $help = $method_table{$method}->{'help'};
+- if ($help =~ /\n/) {
+- # Text has already been broken into lines by the server, so just
+- # indent it by two spaces and hope for the best.
+- my @lines = split(/\n/, $help);
+- my $help = " " . join("\n ", @lines);
+- print "$help\n";
+- } else {
+- # Print our help text in a nicely-wrapped fashion using Perl's
+- # formatting routines.
+- $helptext = $method_table{$method}->{'help'};
+- write;
+- }
+-}
+-
+-format STDOUT =
+- ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
+- $helptext
+-.
+diff --git a/tools/xml-rpc-api2txt.1 b/tools/xml-rpc-api2txt.1
+deleted file mode 100644
+index a9e1ee3..0000000
+--- a/tools/xml-rpc-api2txt.1
++++ /dev/null
+@@ -1,47 +0,0 @@
+-.\" Hey, EMACS: -*- nroff -*-
+-.\" First parameter, NAME, should be all caps
+-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+-.\" other parameters are allowed: see man(7), man(1)
+-.TH XML-RPC-API2TXT 1 "June 27, 2001"
+-.\" Please adjust this date whenever revising the manpage.
+-.\"
+-.\" Some roff macros, for reference:
+-.\" .nh disable hyphenation
+-.\" .hy enable hyphenation
+-.\" .ad l left justify
+-.\" .ad b justify to both left and right margins
+-.\" .nf disable filling
+-.\" .fi enable filling
+-.\" .br insert line break
+-.\" .sp <n> insert n+1 empty lines
+-.\" for manpage-specific macros, see man(7)
+-.SH NAME
+-xml-rpc-api2txt \- Print out a description of an XML-RPC API as text
+-.SH SYNOPSIS
+-.B xml-rpc-api2txt
+-\fIserver-url\fR
+-.SH DESCRIPTION
+-xml-rpc-api2txt queries an XML-RPC server using the XML-RPC
+-Instrospection API designed by Edd Dumbill. It then prints the
+-results to standard output in a nicely formatted form, suitable for
+-sending via e-mail.
+-.PP
+-You can find a list of supported XML-RPC server libraries (and patches
+-for many others) at \fBhttp://xmlrpc-c.sourceforge.net/hacks.php\fR.
+-.SH OPTIONS
+-.TP
+-.I server-url
+-The name of the server to query. Try
+-\fBhttp://xmlrpc-c.sourceforge.net/cgi-bin/interop.cgi\fR.
+-.SH BUGS
+-xml-rpc-api2txt assumes that method descriptions are ASCII text, not
+-HTML as specified in the standard. (In practice, both conventions are
+-often seen.)
+-.SH SEE ALSO
+-.BR xmlrpc-c (7),
+-.BR xml-rpc-api2cpp (1).
+-.PP
+-This program is part of xmlrpc-c.
+-.SH AUTHOR
+-This manual page was written by Eric Kidd <eric.kidd@pobox.com>.
+-It may be distributed under the same terms as the rest of xmlrpc-c.
+diff --git a/tools/xml-rpc-api2txt/Makefile b/tools/xml-rpc-api2txt/Makefile
+new file mode 100644
+index 0000000..bc8ff3f
+--- /dev/null
++++ b/tools/xml-rpc-api2txt/Makefile
+@@ -0,0 +1,38 @@
++ifeq ($(SRCDIR),)
++ updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
++ TOOLSDIR := $(call updir,$(CURDIR))
++ SRCDIR := $(call updir,$(TOOLSDIR))
++ BLDDIR := $(SRCDIR)
++endif
++SUBDIR := tools/xml-rpc-api2txt
++
++include $(BLDDIR)/config.mk
++
++PROGRAMS_TO_INSTALL :=
++MAN_FILES_TO_INSTALL :=
++
++PROGRAMS_TO_INSTALL += xml-rpc-api2txt
++MAN_FILES_TO_INSTALL += xml-rpc-api2txt.1
++
++all:
++
++default: all
++
++include $(SRCDIR)/tools/common.mk
++
++# This common.mk dependency makes sure the symlinks get built before
++# this make file is used for anything.
++
++$(SRCDIR)/tools/common.mk: srcdir blddir
++
++include depend.mk
++
++.PHONY: clean
++clean: clean-common
++ rm -f $(PROGS)
++
++.PHONY: distclean
++distclean: clean distclean-common
++
++.PHONY: dep
++dep: dep-common
+diff --git a/tools/xml-rpc-api2txt/xml-rpc-api2txt b/tools/xml-rpc-api2txt/xml-rpc-api2txt
+new file mode 100755
+index 0000000..e771463
+--- /dev/null
++++ b/tools/xml-rpc-api2txt/xml-rpc-api2txt
+@@ -0,0 +1,147 @@
++#!/usr/bin/perl -w
++#
++# A handy little program to get the documentation of the available
++# methods from an XML-RPC service (via XML-RPC Introspection) and
++# print it out nicely formatted.
++#
++# (I wrote this in Perl because of all the spiffy report-generation
++# features.)
++#
++# You'll need to get Ken MacLeod's Frontier::RPC2 module from CPAN to use
++# this.
++#
++# Eric Kidd <eric.kidd@pobox.com>
++#
++# This script is part of xmlrpc-c, and may be used and distributed under
++# the same terms as the rest of the package.
++
++use strict;
++
++# One global variable for use with Perl's format routines, and one for
++# use inside an 'exec' block.
++use vars qw/$helptext $method_list/;
++
++# Try to load our Perl XML-RPC bindings, but fail gracefully.
++eval {
++ require Frontier::Client;
++};
++if ($@) {
++ print STDERR <<"EOD";
++This script requires Ken MacLeod\'s Frontier::RPC2 module. You can get this
++from CPAN or from his website at http://bitsko.slc.ut.us/~ken/xml-rpc/ .
++
++For installation instructions, see the XML-RPC HOWTO at:
++ http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html
++
++EOD
++ exit 1;
++}
++
++# Parse our command-line arguments.
++if (@ARGV != 1 || $ARGV[0] eq "--help") {
++ print STDERR "Usage: xml-rpc-api2txt serverURL\n";
++ exit 1;
++}
++
++my $server = Frontier::Client->new(url => $ARGV[0]);
++
++# Try (very carefully) to get our a list of methods from the server.
++local $method_list;
++eval {
++ $method_list = $server->call('system.listMethods');
++};
++if ($@) {
++ print STDERR <<"EOD";
++An error occurred while trying to talk to the XML-RPC server:
++
++ $@
++
++This may have been caused by several things--the server might not support
++introspection, it might not be an XML-RPC server, or your network might be
++down. Try the following:
++
++ xml-rpc-api2txt http://xmlrpc-c.sourceforge.net/api/sample.php
++
++EOD
++ exit 1;
++}
++
++# Enter the methods into a hashtable.
++my @methods = sort @$method_list;
++my %method_table;
++foreach my $method (@methods) {
++ $method_table{$method} = {};
++}
++
++# Get more information for the hash table. Since we need to make lots and
++# lots of very small XML-RPC calls, we'd like to use system.multicall to
++# reduce the latency.
++if (defined $method_table{'system.multicall'}) {
++
++ # This is messy but fast. Everybody hates HTTP round-trip lag, right?
++ my @call;
++ foreach my $method (@methods) {
++ push @call, {methodName => 'system.methodSignature',
++ params => [$method]};
++ push @call, {methodName => 'system.methodHelp',
++ params => [$method]};
++ }
++ my @result = @{$server->call('system.multicall', \@call)};
++ for (my $i = 0; $i < @methods; $i++) {
++ my $method = $methods[$i];
++ $method_table{$method}->{'signatures'} = $result[2*$i]->[0];
++ $method_table{$method}->{'help'} = $result[2*$i+1]->[0];
++ }
++} else {
++
++ # This is easy but slow (especially over backbone links).
++ foreach my $method (@methods) {
++ my $signature = $server->call('system.methodSignature', $method);
++ my $help = $server->call('system.methodHelp', $method);
++ $method_table{$method}->{'signatures'} = $signature;
++ $method_table{$method}->{'help'} = $help;
++ }
++}
++
++# Now, we need to dump the API.
++print <<"EOD";
++XML-RPC API for $ARGV[0]
++
++See http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html for instructions
++on using XML-RPC with Perl, Python, Java, C, C++, PHP, etc.
++EOD
++foreach my $method (@methods) {
++ print "\n";
++
++ # Print a synopsis of the function.
++ if ($method_table{$method}->{'signatures'} eq 'undef') {
++ # No documentation. Bad server. No biscuit.
++ print "unknown $method (...)\n";
++ } else {
++ for my $signature (@{$method_table{$method}->{'signatures'}}) {
++ my $return_type = shift @$signature;
++ my $arguments = join(", ", @$signature);
++ print "$return_type $method ($arguments)\n";
++ }
++ }
++ print "\n";
++
++ my $help = $method_table{$method}->{'help'};
++ if ($help =~ /\n/) {
++ # Text has already been broken into lines by the server, so just
++ # indent it by two spaces and hope for the best.
++ my @lines = split(/\n/, $help);
++ my $help = " " . join("\n ", @lines);
++ print "$help\n";
++ } else {
++ # Print our help text in a nicely-wrapped fashion using Perl's
++ # formatting routines.
++ $helptext = $method_table{$method}->{'help'};
++ write;
++ }
++}
++
++format STDOUT =
++ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
++ $helptext
++.
+diff --git a/tools/xml-rpc-api2txt/xml-rpc-api2txt.1 b/tools/xml-rpc-api2txt/xml-rpc-api2txt.1
+new file mode 100644
+index 0000000..a9e1ee3
+--- /dev/null
++++ b/tools/xml-rpc-api2txt/xml-rpc-api2txt.1
+@@ -0,0 +1,47 @@
++.\" Hey, EMACS: -*- nroff -*-
++.\" First parameter, NAME, should be all caps
++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
++.\" other parameters are allowed: see man(7), man(1)
++.TH XML-RPC-API2TXT 1 "June 27, 2001"
++.\" Please adjust this date whenever revising the manpage.
++.\"
++.\" Some roff macros, for reference:
++.\" .nh disable hyphenation
++.\" .hy enable hyphenation
++.\" .ad l left justify
++.\" .ad b justify to both left and right margins
++.\" .nf disable filling
++.\" .fi enable filling
++.\" .br insert line break
++.\" .sp <n> insert n+1 empty lines
++.\" for manpage-specific macros, see man(7)
++.SH NAME
++xml-rpc-api2txt \- Print out a description of an XML-RPC API as text
++.SH SYNOPSIS
++.B xml-rpc-api2txt
++\fIserver-url\fR
++.SH DESCRIPTION
++xml-rpc-api2txt queries an XML-RPC server using the XML-RPC
++Instrospection API designed by Edd Dumbill. It then prints the
++results to standard output in a nicely formatted form, suitable for
++sending via e-mail.
++.PP
++You can find a list of supported XML-RPC server libraries (and patches
++for many others) at \fBhttp://xmlrpc-c.sourceforge.net/hacks.php\fR.
++.SH OPTIONS
++.TP
++.I server-url
++The name of the server to query. Try
++\fBhttp://xmlrpc-c.sourceforge.net/cgi-bin/interop.cgi\fR.
++.SH BUGS
++xml-rpc-api2txt assumes that method descriptions are ASCII text, not
++HTML as specified in the standard. (In practice, both conventions are
++often seen.)
++.SH SEE ALSO
++.BR xmlrpc-c (7),
++.BR xml-rpc-api2cpp (1).
++.PP
++This program is part of xmlrpc-c.
++.SH AUTHOR
++This manual page was written by Eric Kidd <eric.kidd@pobox.com>.
++It may be distributed under the same terms as the rest of xmlrpc-c.
+diff --git a/tools/xmlrpc/Makefile b/tools/xmlrpc/Makefile
+index e45334c..7c417b6 100644
+--- a/tools/xmlrpc/Makefile
++++ b/tools/xmlrpc/Makefile
+@@ -6,14 +6,20 @@ ifeq ($(SRCDIR),)
+ endif
+ SUBDIR := tools/xmlrpc
+
+-default: all
+-
+ include $(BLDDIR)/config.mk
+
+-PROGRAMS_TO_INSTALL = xmlrpc
+-
+ include $(SRCDIR)/tools/common.mk
+
++PROGRAMS_TO_INSTALL :=
++
++ifeq ($(MUST_BUILD_CLIENT),yes)
++ PROGRAMS_TO_INSTALL += xmlrpc
++endif
++
++all: $(PROGRAMS_TO_INSTALL)
++
++default: all
++
+ INCLUDES = \
+ -I../lib/include \
+ -Iblddir \
+@@ -25,8 +31,6 @@ CFLAGS = $(CFLAGS_COMMON) $(INCLUDES) $(CFLAGS_PERSONAL) $(CADD)
+
+ LDFLAGS = $(LADD)
+
+-all: xmlrpc
+-
+ UTIL_OBJS = \
+ casprintf.o \
+ cmdline_parser.o \
+diff --git a/tools/xmlrpc_cpp_proxy/Makefile b/tools/xmlrpc_cpp_proxy/Makefile
+index e2783c4..4cfefc9 100644
+--- a/tools/xmlrpc_cpp_proxy/Makefile
++++ b/tools/xmlrpc_cpp_proxy/Makefile
+@@ -6,11 +6,19 @@ ifeq ($(SRCDIR),)
+ endif
+ SUBDIR := tools/xmlrpc_cpp_proxy
+
+-default: all
+-
+ include $(BLDDIR)/config.mk
+
+-PROGRAMS_TO_INSTALL = xmlrpc_cpp_proxy
++PROGRAMS_TO_INSTALL :=
++
++ifeq ($(MUST_BUILD_CLIENT),yes)
++ ifeq ($(ENABLE_CPLUSPLUS),yes)
++ PROGRAMS_TO_INSTALL += xmlrpc_cpp_proxy
++ endif
++endif
++
++all: $(PROGRAMS_TO_INSTALL)
++
++default: all
+
+ include $(SRCDIR)/tools/common.mk
+
+@@ -20,8 +28,6 @@ CXXFLAGS = $(INCLUDES) $(CXXFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
+
+ LDFLAGS = $(LADD)
+
+-all: xmlrpc_cpp_proxy
+-
+ OBJECTS = \
+ xmlrpc_cpp_proxy.o \
+ xmlrpcMethod.o \
+diff --git a/tools/xmlrpc_pstream/Makefile b/tools/xmlrpc_pstream/Makefile
+index 03fceca..790eead 100644
+--- a/tools/xmlrpc_pstream/Makefile
++++ b/tools/xmlrpc_pstream/Makefile
+@@ -6,13 +6,23 @@ ifeq ($(SRCDIR),)
+ endif
+ SUBDIR := tools/xmlrpc_pstream
+
+-READLINE_LDLIBS = -lreadline -lncurses
++include $(BLDDIR)/config.mk
+
+-default: all
++PROGRAMS_TO_INSTALL :=
+
+-include $(BLDDIR)/config.mk
++ifeq ($(BUILD_XMLRPC_PSTREAM),yes)
++ ifeq ($(MUST_BUILD_CLIENT),yes)
++ ifeq ($(ENABLE_CPLUSPLUS),yes)
++ PROGRAMS_TO_INSTALL += xmlrpc_pstream
++ endif
++ endif
++endif
+
+-PROGRAMS_TO_INSTALL = xmlrpc_pstream
++all: $(PROGRAMS_TO_INSTALL)
++
++default: all
++
++READLINE_LDLIBS = -lreadline -lncurses
+
+ include $(SRCDIR)/tools/common.mk
+
+@@ -27,11 +37,9 @@ CXXFLAGS = $(INCLUDES) $(CXXFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
+
+ LDFLAGS = $(LADD)
+
+-all: xmlrpc_pstream
+-
+ OBJECTS = \
+ xmlrpc_pstream.o \
+- $(TOOLSDIR)/lib/dumpvalue.o \
++ srcdir/tools/lib/dumpvalue.o \
+
+ LIBS = \
+ $(LIBXMLRPC_CLIENTPP) \
+diff --git a/tools/xmlrpc_transport/Makefile b/tools/xmlrpc_transport/Makefile
+index ba212bb..29cf55c 100644
+--- a/tools/xmlrpc_transport/Makefile
++++ b/tools/xmlrpc_transport/Makefile
+@@ -6,11 +6,17 @@ ifeq ($(SRCDIR),)
+ endif
+ SUBDIR := tools/xmlrpc_transport
+
+-default: all
+-
+ include $(BLDDIR)/config.mk
+
+-PROGRAMS_TO_INSTALL = xmlrpc_transport
++PROGRAMS_TO_INSTALL :=
++
++ifeq ($(MUST_BUILD_CLIENT),yes)
++ PROGRAMS_TO_INSTALL += xmlrpc_transport
++endif
++
++all: $(PROGRAMS_TO_INSTALL)
++
++default: all
+
+ include $(SRCDIR)/tools/common.mk
+
+@@ -24,8 +30,6 @@ CFLAGS = $(CFLAGS_COMMON) $(INCLUDES) $(CFLAGS_PERSONAL) $(CADD)
+
+ LDFLAGS = $(LADD)
+
+-all: xmlrpc_transport
+-
+ UTIL_OBJS = \
+ casprintf.o \
+ cmdline_parser.o \
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0005-Make-the-buildfiles-respect-the-options-passed-to-co.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0005-Make-the-buildfiles-respect-the-options-passed-to-co.patch
new file mode 100644
index 0000000..840b8de
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0005-Make-the-buildfiles-respect-the-options-passed-to-co.patch
@@ -0,0 +1,31 @@
+From c7d5eb8698baaed87ee3523fc28acc244af6b159 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 14:48:13 +0100
+Subject: [PATCH 05/10] Make the buildfiles respect the options passed to configure
+
+---
+ config.mk.in | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/config.mk.in b/config.mk.in
+index a84f5e8..a5c38c9 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -319,10 +319,10 @@ INSTALL_SCRIPT = $(INSTALL) -c -m 755
+ # PREFIX is designed to be overridden at make time if the user decides
+ # he doesn't like the default specified at 'configure' time.
+
+-LIBINST_DIR = $(PREFIX)/lib
+-HEADERINST_DIR = $(PREFIX)/include
+-PROGRAMINST_DIR = $(PREFIX)/bin
+-MANINST_DIR = $(PREFIX)/share/man/man1
++LIBINST_DIR = @libdir@
++HEADERINST_DIR = @includedir@
++PROGRAMINST_DIR = @bindir@
++MANINST_DIR = @mandir@/man1
+
+ # DESTDIR is designed to be overridden at make time in order to relocate
+ # the entire install into a subdirectory.
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0006-Clean-up-some-left-over-libtool-lint.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0006-Clean-up-some-left-over-libtool-lint.patch
new file mode 100644
index 0000000..db38aaf
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0006-Clean-up-some-left-over-libtool-lint.patch
@@ -0,0 +1,67 @@
+From 2bcb3261e2e6f4345a5ab62d563fa3a484b04182 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 14:57:46 +0100
+Subject: [PATCH 06/10] Clean up some left-over libtool lint
+
+---
+ configure.in | 5 -----
+ tools/xmlrpc_transport/Makefile | 7 -------
+ 2 files changed, 0 insertions(+), 12 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 60e3cf8..e1e19d2 100644
+--- a/configure.in
++++ b/configure.in
+@@ -117,8 +117,6 @@ fi
+
+ dnl Set up the appropriate Makefile substitutions.
+
+-LIBXMLRPC_CLIENT_LA=libxmlrpc_client.la
+-AC_SUBST(LIBXMLRPC_CLIENT_LA)
+ CLIENTTEST=clienttest
+ AC_SUBST(CLIENTTEST)
+ XMLRPC_CLIENT_H=xmlrpc_client.h
+@@ -155,7 +153,6 @@ AC_SUBST(ENABLE_ABYSS_SERVER)
+
+ dnl Set up the appropriate Makefile substitutions.
+ ABYSS_SUBDIR=
+-LIBXMLRPC_ABYSS_SERVER_LA=
+ SERVERTEST=
+ VALIDATEE=
+ XMLRPC_ABYSS_H=
+@@ -163,14 +160,12 @@ SERVER=
+ if test x"$enable_abyss_server" != xno; then
+ FEATURE_LIST="abyss-server $FEATURE_LIST"
+ ABYSS_SUBDIR=abyss
+- LIBXMLRPC_ABYSS_SERVER_LA=libxmlrpc_abyss_server.la
+ SERVERTEST=servertest
+ VALIDATEE=validatee
+ XMLRPC_ABYSS_H=xmlrpc_abyss.h
+ SERVER=server
+ fi
+ AC_SUBST(ABYSS_SUBDIR)
+-AC_SUBST(LIBXMLRPC_ABYSS_SERVER_LA)
+ AC_SUBST(SERVERTEST)
+ AC_SUBST(VALIDATEE)
+ AC_SUBST(XMLRPC_ABYSS_H)
+diff --git a/tools/xmlrpc_transport/Makefile b/tools/xmlrpc_transport/Makefile
+index 29cf55c..915d745 100644
+--- a/tools/xmlrpc_transport/Makefile
++++ b/tools/xmlrpc_transport/Makefile
+@@ -39,13 +39,6 @@ UTIL_OBJS = \
+
+ UTILS = $(UTIL_OBJS:%=$(UTIL_DIR)/%)
+
+-# These are the Libtool .la files. We use them only for make dependencies.
+-# We'd like to use these in the link rule, by using libtool --link, but
+-# Libtool adds -l options to the link to cover the dependencies that are
+-# recorded inside the shared libraries. And it doesn't add the necessary
+-# -L options (it can't), so we end up with a messy mixture of the two
+-# forms of specifying libraries.
+-
+ LIBS = $(LIBXMLRPC_CLIENT) $(LIBXMLRPC) $(LIBXMLRPC_XML) $(LIBXMLRPC_UTIL)
+
+ xmlrpc_transport:%:%.o $(LIBS) $(UTILS)
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0007-Add-enable-docs-option-and-the-associated-infrastruc.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0007-Add-enable-docs-option-and-the-associated-infrastruc.patch
new file mode 100644
index 0000000..7007129
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0007-Add-enable-docs-option-and-the-associated-infrastruc.patch
@@ -0,0 +1,566 @@
+From 8e86f59ef3bbe828f6c6b2cb34890b94ffc7453f Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 18:40:28 +0100
+Subject: [PATCH 07/10] Add enable-docs option and the associated infrastructure
+
+---
+ GNUmakefile | 4 +-
+ common.mk | 15 +++++-
+ config.mk.in | 9 ++++
+ configure.in | 8 +++
+ doc/Makefile | 34 +++++++++++++
+ lib/abyss/HISTORY | 122 -----------------------------------------------
+ lib/abyss/HISTORY-ABYSS | 122 +++++++++++++++++++++++++++++++++++++++++++++++
+ lib/abyss/Makefile | 8 +++-
+ lib/abyss/README | 23 ---------
+ lib/abyss/README-ABYSS | 23 +++++++++
+ lib/expat/Makefile | 8 +++-
+ tools/xmlrpc/Makefile | 4 ++
+ 12 files changed, 229 insertions(+), 151 deletions(-)
+ create mode 100644 stable/doc/Makefile
+ delete mode 100644 stable/lib/abyss/HISTORY
+ create mode 100644 stable/lib/abyss/HISTORY-ABYSS
+ delete mode 100644 stable/lib/abyss/README
+ create mode 100644 stable/lib/abyss/README-ABYSS
+
+diff --git a/GNUmakefile b/GNUmakefile
+index afa4d72..5f63567 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -8,7 +8,7 @@ export BLDDIR
+
+ include $(BLDDIR)/config.mk
+
+-SUBDIRS = include lib src tools examples
++SUBDIRS = include lib src tools examples doc
+
+ # The reason we don't build tools and examples by default is that they
+ # contain executables, which require significantly more from the
+@@ -21,7 +21,7 @@ SUBDIRS = include lib src tools examples
+ # As with any subdirectory, to build 'tools' or 'examples', cd to the
+ # subdirectory and make there.
+
+-DEFAULT_SUBDIRS = include lib src
++DEFAULT_SUBDIRS = include lib src doc
+
+ ifeq ($(BUILD_TOOLS),yes)
+ DEFAULT_SUBDIRS += tools
+diff --git a/common.mk b/common.mk
+index 30b72e8..63e03ca 100644
+--- a/common.mk
++++ b/common.mk
+@@ -487,10 +487,10 @@ $(SUBDIRS:%=$(CURDIR)/%):
+
+ MKINSTALLDIRS = $(SHELL) $(SRCDIR)/mkinstalldirs
+
+-.PHONY: install-common install-headers install-bin install-man
++.PHONY: install-common install-headers install-bin install-man install-doc
+ install-common: \
+ install-static-libraries install-shared-libraries \
+- install-headers install-bin install-man
++ install-headers install-bin install-man install-doc
+
+ INSTALL_LIB_CMD = $(INSTALL_DATA) $$p $(DESTDIR)$(LIBINST_DIR)/$$p
+ RANLIB_CMD = $(RANLIB) $(DESTDIR)$(LIBINST_DIR)/$$p
+@@ -547,6 +547,17 @@ install-man: $(MAN_FILES_TO_INSTALL)
+ $(INSTALL_MAN_CMD); \
+ done
+
++DOCDESTDIR = $(DESTDIR)$(DOCINST_DIR)
++INSTALL_DOC_CMD = $(INSTALL_DATA) $$p $(DOCDESTDIR)/$$p
++
++install-doc: $(DOC_FILES_TO_INSTALL)
++ $(MKINSTALLDIRS) $(DOCDESTDIR)
++ @list='$(DOC_FILES_TO_INSTALL)'; \
++ for p in $$list; do \
++ echo "$(DOC_FILES_TO_INSTALL)"; \
++ $(INSTALL_DOC_CMD); \
++ done
++
+ ##############################################################################
+ # MISCELLANEOUS RULES #
+ ##############################################################################
+diff --git a/config.mk.in b/config.mk.in
+index a5c38c9..6a3ae4b 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -18,6 +18,8 @@
+
+ # Here are the options the user chose on 'configure':
+
++include $(SRCDIR)/version.mk
++
+ ENABLE_ABYSS_SERVER = @ENABLE_ABYSS_SERVER@
+ ENABLE_ABYSS_THREADS = @ENABLE_ABYSS_THREADS@
+ ENABLE_CPLUSPLUS = @ENABLE_CPLUSPLUS@
+@@ -27,6 +29,7 @@ ENABLE_LIBXML2_BACKEND = @ENABLE_LIBXML2_BACKEND@
+ MUST_BUILD_WININET_CLIENT = @MUST_BUILD_WININET_CLIENT@
+ MUST_BUILD_CURL_CLIENT = @MUST_BUILD_CURL_CLIENT@
+ MUST_BUILD_LIBWWW_CLIENT = @MUST_BUILD_LIBWWW_CLIENT@
++INSTALL_DOCS = @enable_docs@
+ BUILD_TOOLS = @BUILD_TOOLS@
+ BUILD_XMLRPC_PSTREAM = @BUILD_XMLRPC_PSTREAM@
+ LSOCKET = @LSOCKET@
+@@ -319,10 +322,16 @@ INSTALL_SCRIPT = $(INSTALL) -c -m 755
+ # PREFIX is designed to be overridden at make time if the user decides
+ # he doesn't like the default specified at 'configure' time.
+
++#datarootdir is the new Autoconf(2.60) name for datadir, which is still
++#accepted, but a warning is issued if datarootdir is not also used.
++
++DATAROOT_DIR = @datarootdir@
++DATAINST_DIR = @datadir@
+ LIBINST_DIR = @libdir@
+ HEADERINST_DIR = @includedir@
+ PROGRAMINST_DIR = @bindir@
+ MANINST_DIR = @mandir@/man1
++DOCINST_DIR = $(DATAINST_DIR)/doc/xmlrpc-c-$(XMLRPC_MAJOR_RELEASE).$(XMLRPC_MINOR_RELEASE).$(XMLRPC_POINT_RELEASE)/
+
+ # DESTDIR is designed to be overridden at make time in order to relocate
+ # the entire install into a subdirectory.
+diff --git a/configure.in b/configure.in
+index e1e19d2..e857418 100644
+--- a/configure.in
++++ b/configure.in
+@@ -115,6 +115,14 @@ if test $BUILD_TOOLS = yes; then
+ fi
+
+
++AC_ARG_ENABLE(docs,
++ [ --enable-docs Install the xmlrpc docs], ,
++[enable_docs=no])
++
++AC_MSG_CHECKING(whether to install xmlrpc docs)
++AC_MSG_RESULT($enable_docs)
++AC_SUBST(enable_docs)
++
+ dnl Set up the appropriate Makefile substitutions.
+
+ CLIENTTEST=clienttest
+diff --git a/doc/Makefile b/doc/Makefile
+new file mode 100644
+index 0000000..9deefb1
+--- /dev/null
++++ b/doc/Makefile
+@@ -0,0 +1,34 @@
++ifeq ($(SRCDIR),)
++ updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
++ SRCDIR := $(call updir,$(CURDIR))
++ BLDDIR := $(SRCDIR)
++endif
++SUBDIR := doc
++
++include $(BLDDIR)/config.mk
++
++DOC_FILES_TO_INSTALL :=
++
++ifeq ($(INSTALL_DOCS),yes)
++ DOC_FILES_TO_INSTALL += COPYING CREDITS DEVELOPING HISTORY INSTALL SECURITY TESTING TODO
++endif
++
++include $(SRCDIR)/common.mk
++
++.PHONY: all
++all:
++
++.PHONY: default
++default:
++
++.PHONY: clean
++clean:
++
++.PHONY: distclean
++distclean:
++
++.PHONY: dep
++dep: dep-common
++
++.PHONY: install
++install: install-common
+diff --git a/lib/abyss/HISTORY b/lib/abyss/HISTORY
+deleted file mode 100644
+index c7774dc..0000000
+--- a/lib/abyss/HISTORY
++++ /dev/null
+@@ -1,122 +0,0 @@
+-Here is some stuff from the README file of the original Abyss source
+-package in 2000. Abyss used to be an independent package and was included
+-in Xmlrpc-c for convenience when Xmlrpc-c was created. Since then, the
+-code has been greatly modified and extended for Xmlrpc-c.
+-
+-The original Abyss project was a product of Moez Mahfoudh mmoez@bigfoot.com.
+-
+-
+- ABYSS Web Server
+- ------------------
+-
+-
+-About:
+-------
+-
+-ABYSS aims to be a fully HTTP/1.1 compliant web server. Its main design
+-goals are speed, low resource usage and portability. ABYSS works on most
+-UNIX based systems and on Win32 systems (Win95/98/2000/NT).
+-
+-Copyright:
+-----------
+-
+-Copyright (C) 2000 Moez Mahfoudh. All rights reserved.
+-
+-Status:
+--------
+-
+-ABYSS is still in development stage. Actual version is 0.3. Many features
+-are not implemented yet but the server core works well and seems to be
+-stable. It is fully reliable for serving static files on medium load sites.
+-In fact, primary benchmarks show that ABYSS is 70% as fast as Apache when
+-using the fork system. This rate jumps to 130% when using threads.
+-On UNIX platforms, some problems occurred because of the use of the Pthreads
+-library. This will be corrected in the future versions. That's why only the
+-fork system is usable under UNIX. This lowers performances but guarantees
+-stability.
+-CGI/1.1 support is still absent from the current version but will be
+-included in the near future.
+-
+-Change Log:
+------------
+-
+- * Version 0.3 (March 23,2000):
+- o Handles conditional GET requests (by date)
+- o Conforms to all the MUSTs of the RFC2616 (newer version of the
+- HTTP/1.1 protocol draft)
+- o New configuration options (such as pidfile for UNIX systems...)
+- o Handles HEAD and OPTIONS methods
+- o Many bug fixes
+- o Tested on Sun-OS 5.7
+- o Second public release
+-
+- * Version 0.2 beta (February 7,2000):
+- o Handles GET on static files
+- o Handles correctly range requests
+- o Conforms to 80% of the MUSTs of the RFC2068 (HTTP/1.1 protocol
+- draft)
+- o Improved code portability (Win32 and UNIX platforms)
+- o Tested on Linux 2.2 and Win95/98
+- o First public release
+-
+- * Version 0.1 (January 2000):
+- o Completely rewritten in C
+- o Speed improvement
+- o New memory allocation scheme (using pools)
+- o Never released
+-
+- * Version 0.0 (January 2000):
+- o Initial version
+- o Written in C++
+- o Never released
+-
+-Downloading:
+-------------
+-
+- * Version 0.3 (current version):
+- o UNIX package (source) abyss-0.3.tar.gz.
+- o Win32 package is not available but you can extract source files
+- from the UNIX package and compile them on Windows without any
+- modification. (Sorry for this inconvenience: I have no Windows
+- machine now to compile the program and to test it. If someone can
+- do that, please email me the zipped package and I'll add it here).
+-
+- * Version 0.2 beta:
+- o UNIX package (source) abyss-0.2b.tar.gz.
+- o Win32 package (source+binary) abyss-0.2b.zip.
+-
+-Installation:
+--------------
+-
+- * For UNIX systems:
+- o Untar/Ungzip the distribution package with a command like tar xvfz
+- abyss-x.y.tar.gz
+- o Edit the Makefile src/Makefile to meet your system requirements.
+- o Go to directory src and execute make.
+- o The server binary is generated and stored in the bin directory.
+- o Edit the conf/abyss.conf to reflect your system configuration (At
+- least change the paths).
+- o Goto to the bin directory and start the server by typing ./abyss
+- -c ../conf/abyss.conf
+-
+- * For Win32 systems:
+- o Unzip the distribution package.
+- o An executable file is already present in the bin directory.
+- o If you wish to recompile the server, open the src/abyss.dsw file
+- with Microsoft Visual C++ 5.0 or higher and rebuild the project.
+- o Edit the conf/abyss.conf to reflect your system configuration (At
+- least change the paths).
+- o Goto to the bin directory and start the server by typing ./abyss
+- -c ../conf/abyss.conf
+-
+-
+-To do:
+-------
+-
+- * CGI/1.1 support
+- * Web based configuration/administration
+- * Speed improvement
+- * File caching system
+- * Throttling
+- * PUT method handling
+- * ...
+diff --git a/lib/abyss/HISTORY-ABYSS b/lib/abyss/HISTORY-ABYSS
+new file mode 100644
+index 0000000..c7774dc
+--- /dev/null
++++ b/lib/abyss/HISTORY-ABYSS
+@@ -0,0 +1,122 @@
++Here is some stuff from the README file of the original Abyss source
++package in 2000. Abyss used to be an independent package and was included
++in Xmlrpc-c for convenience when Xmlrpc-c was created. Since then, the
++code has been greatly modified and extended for Xmlrpc-c.
++
++The original Abyss project was a product of Moez Mahfoudh mmoez@bigfoot.com.
++
++
++ ABYSS Web Server
++ ------------------
++
++
++About:
++------
++
++ABYSS aims to be a fully HTTP/1.1 compliant web server. Its main design
++goals are speed, low resource usage and portability. ABYSS works on most
++UNIX based systems and on Win32 systems (Win95/98/2000/NT).
++
++Copyright:
++----------
++
++Copyright (C) 2000 Moez Mahfoudh. All rights reserved.
++
++Status:
++-------
++
++ABYSS is still in development stage. Actual version is 0.3. Many features
++are not implemented yet but the server core works well and seems to be
++stable. It is fully reliable for serving static files on medium load sites.
++In fact, primary benchmarks show that ABYSS is 70% as fast as Apache when
++using the fork system. This rate jumps to 130% when using threads.
++On UNIX platforms, some problems occurred because of the use of the Pthreads
++library. This will be corrected in the future versions. That's why only the
++fork system is usable under UNIX. This lowers performances but guarantees
++stability.
++CGI/1.1 support is still absent from the current version but will be
++included in the near future.
++
++Change Log:
++-----------
++
++ * Version 0.3 (March 23,2000):
++ o Handles conditional GET requests (by date)
++ o Conforms to all the MUSTs of the RFC2616 (newer version of the
++ HTTP/1.1 protocol draft)
++ o New configuration options (such as pidfile for UNIX systems...)
++ o Handles HEAD and OPTIONS methods
++ o Many bug fixes
++ o Tested on Sun-OS 5.7
++ o Second public release
++
++ * Version 0.2 beta (February 7,2000):
++ o Handles GET on static files
++ o Handles correctly range requests
++ o Conforms to 80% of the MUSTs of the RFC2068 (HTTP/1.1 protocol
++ draft)
++ o Improved code portability (Win32 and UNIX platforms)
++ o Tested on Linux 2.2 and Win95/98
++ o First public release
++
++ * Version 0.1 (January 2000):
++ o Completely rewritten in C
++ o Speed improvement
++ o New memory allocation scheme (using pools)
++ o Never released
++
++ * Version 0.0 (January 2000):
++ o Initial version
++ o Written in C++
++ o Never released
++
++Downloading:
++------------
++
++ * Version 0.3 (current version):
++ o UNIX package (source) abyss-0.3.tar.gz.
++ o Win32 package is not available but you can extract source files
++ from the UNIX package and compile them on Windows without any
++ modification. (Sorry for this inconvenience: I have no Windows
++ machine now to compile the program and to test it. If someone can
++ do that, please email me the zipped package and I'll add it here).
++
++ * Version 0.2 beta:
++ o UNIX package (source) abyss-0.2b.tar.gz.
++ o Win32 package (source+binary) abyss-0.2b.zip.
++
++Installation:
++-------------
++
++ * For UNIX systems:
++ o Untar/Ungzip the distribution package with a command like tar xvfz
++ abyss-x.y.tar.gz
++ o Edit the Makefile src/Makefile to meet your system requirements.
++ o Go to directory src and execute make.
++ o The server binary is generated and stored in the bin directory.
++ o Edit the conf/abyss.conf to reflect your system configuration (At
++ least change the paths).
++ o Goto to the bin directory and start the server by typing ./abyss
++ -c ../conf/abyss.conf
++
++ * For Win32 systems:
++ o Unzip the distribution package.
++ o An executable file is already present in the bin directory.
++ o If you wish to recompile the server, open the src/abyss.dsw file
++ with Microsoft Visual C++ 5.0 or higher and rebuild the project.
++ o Edit the conf/abyss.conf to reflect your system configuration (At
++ least change the paths).
++ o Goto to the bin directory and start the server by typing ./abyss
++ -c ../conf/abyss.conf
++
++
++To do:
++------
++
++ * CGI/1.1 support
++ * Web based configuration/administration
++ * Speed improvement
++ * File caching system
++ * Throttling
++ * PUT method handling
++ * ...
+diff --git a/lib/abyss/Makefile b/lib/abyss/Makefile
+index a675624..c0d2491 100644
+--- a/lib/abyss/Makefile
++++ b/lib/abyss/Makefile
+@@ -8,6 +8,12 @@ SUBDIR := lib/abyss
+
+ include $(BLDDIR)/config.mk
+
++DOC_FILES_TO_INSTALL :=
++
++ifeq ($(INSTALL_DOCS),yes)
++ DOC_FILES_TO_INSTALL += HISTORY-ABYSS README-ABYSS
++endif
++
+ SUBDIRS = src
+
+ default: all
+@@ -30,7 +36,7 @@ DISTFILES =
+ distdir: distdir-common
+
+ .PHONY: install
+-install: $(SUBDIRS:%=%/install)
++install: $(SUBDIRS:%=%/install) install-common
+
+ .PHONY: dep
+ dep: $(SUBDIRS:%=%/dep)
+diff --git a/lib/abyss/README b/lib/abyss/README
+deleted file mode 100644
+index b1d6c80..0000000
+--- a/lib/abyss/README
++++ /dev/null
+@@ -1,23 +0,0 @@
+-This directory contains the Abyss HTTP server component of XML-RPC For C/C++
+-(Xmlrpc-c).
+-
+-This was derived from the independently developed and distributed
+-Abyss web server package in 2001. Since that time, work has stopped
+-on package except for a non-free derivative of it that the original
+-author has done. He uses the Abyss name for that.
+-
+-So this is now strictly a piece of Xmlrpc-c. Some day, we should change
+-the name to avoid confusion with the old code on which it was based and
+-the current non-free version.
+-
+-But for Xmlrpc-c, we don't want to enhance this much. That would
+-duplicate the vast amount of work that has gone into other HTTP (web)
+-servers such as Apache. If someone needs fancy HTTP service for
+-XML-RPC, he should use Apache. One can use Apache with Xmlrpc-c
+-either by using an Apache request handler plugin or by using a CGI
+-script. Abyss is just for very simple servers, where the complexity
+-of using (or even acquiring) Apache would not be warranted.
+-
+-
+-Everything besides what's in the src/ directory is just historical --
+-it comes from the original Abyss in 2001.
+diff --git a/lib/abyss/README-ABYSS b/lib/abyss/README-ABYSS
+new file mode 100644
+index 0000000..b1d6c80
+--- /dev/null
++++ b/lib/abyss/README-ABYSS
+@@ -0,0 +1,23 @@
++This directory contains the Abyss HTTP server component of XML-RPC For C/C++
++(Xmlrpc-c).
++
++This was derived from the independently developed and distributed
++Abyss web server package in 2001. Since that time, work has stopped
++on package except for a non-free derivative of it that the original
++author has done. He uses the Abyss name for that.
++
++So this is now strictly a piece of Xmlrpc-c. Some day, we should change
++the name to avoid confusion with the old code on which it was based and
++the current non-free version.
++
++But for Xmlrpc-c, we don't want to enhance this much. That would
++duplicate the vast amount of work that has gone into other HTTP (web)
++servers such as Apache. If someone needs fancy HTTP service for
++XML-RPC, he should use Apache. One can use Apache with Xmlrpc-c
++either by using an Apache request handler plugin or by using a CGI
++script. Abyss is just for very simple servers, where the complexity
++of using (or even acquiring) Apache would not be warranted.
++
++
++Everything besides what's in the src/ directory is just historical --
++it comes from the original Abyss in 2001.
+diff --git a/lib/expat/Makefile b/lib/expat/Makefile
+index 8feab79..97e4169 100644
+--- a/lib/expat/Makefile
++++ b/lib/expat/Makefile
+@@ -8,6 +8,12 @@ SUBDIR := lib/expat
+
+ include $(BLDDIR)/config.mk
+
++DOC_FILES_TO_INSTALL :=
++
++ifeq ($(INSTALL_DOCS),yes)
++ DOC_FILES_TO_INSTALL += expat.html
++endif
++
+ # Build up SUBDIRS:
+ SUBDIRS = gennmtab xmlparse xmltok
+
+@@ -27,7 +33,7 @@ DISTFILES =
+
+ distdir: distdir-common
+
+-install: $(SUBDIRS:%=%/install)
++install: $(SUBDIRS:%=%/install) install-common
+
+ check:
+
+diff --git a/tools/xmlrpc/Makefile b/tools/xmlrpc/Makefile
+index 7c417b6..1aa96cb 100644
+--- a/tools/xmlrpc/Makefile
++++ b/tools/xmlrpc/Makefile
+@@ -11,9 +11,13 @@ include $(BLDDIR)/config.mk
+ include $(SRCDIR)/tools/common.mk
+
+ PROGRAMS_TO_INSTALL :=
++DOC_FILES_TO_INSTALL :=
+
+ ifeq ($(MUST_BUILD_CLIENT),yes)
+ PROGRAMS_TO_INSTALL += xmlrpc
++ ifeq ($(INSTALL_DOCS),yes)
++ DOC_FILES_TO_INSTALL += xmlrpc.html
++ endif
+ endif
+
+ all: $(PROGRAMS_TO_INSTALL)
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0008-Fix-using-configure-s-input.-We-need-to-define-exec_.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0008-Fix-using-configure-s-input.-We-need-to-define-exec_.patch
new file mode 100644
index 0000000..5bd0796
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0008-Fix-using-configure-s-input.-We-need-to-define-exec_.patch
@@ -0,0 +1,28 @@
+From 23c737df924e36946674ac1a9a32be2ae83d2d06 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Thu, 22 Jan 2009 18:47:46 +0100
+Subject: [PATCH 08/10] Fix using configure's input. We need to define exec_prefix and prefix for that to work.
+
+---
+ config.mk.in | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/config.mk.in b/config.mk.in
+index 6a3ae4b..8ba8dec 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -322,9 +322,8 @@ INSTALL_SCRIPT = $(INSTALL) -c -m 755
+ # PREFIX is designed to be overridden at make time if the user decides
+ # he doesn't like the default specified at 'configure' time.
+
+-#datarootdir is the new Autoconf(2.60) name for datadir, which is still
+-#accepted, but a warning is issued if datarootdir is not also used.
+-
++prefix = $(PREFIX)
++exec_prefix = @exec_prefix@
+ DATAROOT_DIR = @datarootdir@
+ DATAINST_DIR = @datadir@
+ LIBINST_DIR = @libdir@
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0009-Fix-C-gcc-4.3-tests.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0009-Fix-C-gcc-4.3-tests.patch
new file mode 100644
index 0000000..b8fa7b1
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0009-Fix-C-gcc-4.3-tests.patch
@@ -0,0 +1,53 @@
+From 23525d212572f4b4703d3a2f73a8ef768bd77ce4 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Fri, 23 Jan 2009 23:46:35 +0100
+Subject: [PATCH 09/10] Fix C++ gcc-4.3 tests
+
+---
+ src/cpp/test/server_abyss.cpp | 3 ++-
+ src/cpp/test/server_pstream.cpp | 2 +-
+ src/cpp/test/test.cpp | 1 +
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/cpp/test/server_abyss.cpp b/src/cpp/test/server_abyss.cpp
+index 4b236ef..2e09068 100644
+--- a/src/cpp/test/server_abyss.cpp
++++ b/src/cpp/test/server_abyss.cpp
+@@ -5,7 +5,8 @@
+
+ =============================================================================*/
+ #include <errno.h>
+-#include <string>
++#include <cstring>
++#include <cstdlib>
+ #include <iostream>
+ #include <vector>
+ #include <sstream>
+diff --git a/src/cpp/test/server_pstream.cpp b/src/cpp/test/server_pstream.cpp
+index 83b3e88..f04808a 100644
+--- a/src/cpp/test/server_pstream.cpp
++++ b/src/cpp/test/server_pstream.cpp
+@@ -8,7 +8,7 @@
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
+ #include <errno.h>
+-#include <string>
++#include <cstring>
+ #include <fcntl.h>
+
+ #include "xmlrpc-c/girerr.hpp"
+diff --git a/src/cpp/test/test.cpp b/src/cpp/test/test.cpp
+index 8a58089..68c90e6 100644
+--- a/src/cpp/test/test.cpp
++++ b/src/cpp/test/test.cpp
+@@ -5,6 +5,7 @@
+ #include <sstream>
+ #include <memory>
+ #include <time.h>
++#include <cstring>
+
+ #include "xmlrpc-c/girerr.hpp"
+ using girerr::error;
+--
+1.6.1
+
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0010-Fix-C-tests-linking-order.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0010-Fix-C-tests-linking-order.patch
new file mode 100644
index 0000000..a0d9fcb
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.16.08/0010-Fix-C-tests-linking-order.patch
@@ -0,0 +1,56 @@
+From 83ffe0eaa4800f0bdfec2302185ee5ab2b57ab3c Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <loki_val@gentoo.org>
+Date: Fri, 23 Jan 2009 23:59:49 +0100
+Subject: [PATCH 10/10] Fix C++ tests linking order.
+
+---
+ src/cpp/test/Makefile | 16 +++++++---------
+ 1 files changed, 7 insertions(+), 9 deletions(-)
+
+diff --git a/src/cpp/test/Makefile b/src/cpp/test/Makefile
+index 664a459..03e1402 100644
+--- a/src/cpp/test/Makefile
++++ b/src/cpp/test/Makefile
+@@ -19,18 +19,16 @@ XMLRPC_C_CONFIG = $(BLDDIR)/xmlrpc-c-config.test
+
+ CXXFLAGS = $(CXXFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
+
+-LDFLAGS += $(shell $(XMLRPC_C_CONFIG) client --ldadd)
++LIBS := $(shell $(XMLRPC_C_CONFIG) client --ldadd)
+
+ ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
+- LDFLAGS += $(shell curl-config --libs)
++ LIBS += $(shell curl-config --libs)
+ endif
+ ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
+- LDFLAGS += $(shell libwww-config --libs)
++ LIBS += $(shell libwww-config --libs)
+ endif
+
+-LDFLAGS += "-lpthread"
+-
+-LDFLAGS += $(LADD)
++LIBS += -lpthread
+
+ INCLUDES = -Isrcdir/include -I$(BLDDIR) -Isrcdir -Isrcdir/lib/util/include
+
+@@ -69,13 +67,13 @@ TEST_LIBS = \
+ ifneq ($(ENABLE_LIBXML2_BACKEND),yes)
+ # We're using the internal Expat XML parser
+ TEST_LIBS += $(LIBXMLRPC_XMLPARSE_A) $(LIBXMLRPC_XMLTOK_A)
+- LDADD_XML =
++ LIB_XML =
+ else
+- LDADD_XML = $(shell xml2-config --libs)
++ LIB_XML = $(shell xml2-config --libs)
+ endif
+
+ test: $(TEST_OBJS) $(TEST_LIBS)
+- $(CXXLD) -o $@ $(LDFLAGS) $(LDADD_XML) $^
++ $(CXXLD) -o $@ $(LADD) $^ $(LIB_XML) $(LIBS)
+
+ %.o:%.cpp
+ $(CXX) -c $(INCLUDES) $(CXXFLAGS) $<
+--
+1.6.1
+