The attached patch fixes the following problems with makefile and test/Makefile:
- environment variables are respected (CXXFLAGS is added to instead of replaced; CXX is defaulted instead of replaced; LDFLAGS is used in the link step), which means you can now do things like "CXX=clang CXXFLAGS='-arch i386 -arch x86_64' LDFLAGS=-lstdc++ make".
- CXX (default) value is g++ instead of /usr/local/gcc-3.1/bin/g++
- can build a shared library (you have to edit the makefile to name it libXmlRpc.so, libXmlRpc.dylib, etc., as appropriate for your platform)
- tests can test either shared or static library (you have to edit test/Makefile)
- incorrect -Wstrict-prototypes flag removed (it's not used for C++, and newer g++ will complain)
It works (for me) on linux and Mac (g++ or clang, libc++ or libstdc++, i386 or x86_64 or fat, whatever SDK you want, etc.), as long as you follow the directions. I haven't tested whether I broke Solaris.