usage="Usage: xmlrpc-c-config <feature> ... <option> ... The features are: c++ legacy C++ wrapper API c++2 modern C++ API client client functions cgi-server CGI-based server functions abyss-server ABYSS-based server functions pstream-server pstream-based server functions server-util basic server functions (implied by *-server) Options are: --version The version number of the package --features List all features (aka modules) currently installed --cflags C compiler flags to use when '#include'ing package headers --libs Libraries and flags to use when linking programs normally --ldadd Libraries to use with automake --ldflags Flags to use with automake & libtool --prefix The prefix under which the package was installed " if test $# -eq 0; then echo "You must specify at least one option." echo "${usage}" 1>&2 exit 1 fi if test "${ENABLE_LIBXML2_BACKEND}" = "yes"; then LIBXML=`xml2-config --libs` else LIBXML="-lxmlrpc_xmlparse -lxmlrpc_xmltok" fi needCpp=no the_libdirs= the_rpath= the_wl_rpath= cpp_libs= # It's important that packetsocket lib go after client, server libs packetsocket_lib= # If Xmlrpc-c libraries are installed in the standard linker search # path on this system, you should remove the following line: the_libdirs="-L$LIBINST_DIR $the_libdirs" the_libs="-lxmlrpc -lxmlrpc_util ${LIBXML}" the_rpath="-R$LIBINST_DIR $the_rpath" the_wl_rpath="-Wl,-rpath,$LIBINST_DIR $the_wl_rpath" cflags= # If Xmlrpc-c library interface header files are installed in the standard # compiler search path on this system, you should remove the following line: cflags="-I$HEADERINST_DIR $cflags" while test $# -gt 0; do case $1 in c++) the_libs="-lxmlrpc_cpp $the_libs" # Unfortunately, there is just one legacy CPP library for # everything, and it needs all the C libraries -- base, client, # and server. So all legacy C++ programs get linked with client # and server libraries, whether they need them or not. the_libs="-lxmlrpc_server_abyss $the_libs" the_libs="-lxmlrpc_server $the_libs" the_libs="-lxmlrpc_client $the_libs" ;; c++2) needCpp=yes the_libs="-lxmlrpc++ $the_libs" ;; server-util) the_libs="-lxmlrpc_server $the_libs" ;; cgi-server) the_libs="-lxmlrpc_server $the_libs" the_libs="-lxmlrpc_server_cgi $the_libs" ;; abyss-server) if test "${ENABLE_ABYSS_THREADS}" = "yes"; then the_libs="-lpthread $the_libs" fi the_libs="${LSOCKET} $the_libs" the_libs="-lxmlrpc_abyss $the_libs" the_libs="-lxmlrpc_server $the_libs" the_libs="-lxmlrpc_server_abyss $the_libs" if test "${needCpp}" = "yes"; then the_libs="-lxmlrpc_server++ $the_libs" the_libs="-lxmlrpc_server_abyss++ $the_libs" fi ;; pstream-server) if test "${needCpp}" = "no"; then echo "You must specify the 'c++2' feature before 'pstream-server'." echo "Pstream server facilities are available only in a C++ version." exit 10 fi the_libs="${LSOCKET} $the_libs" the_libs="-lxmlrpc_server $the_libs" the_libs="-lxmlrpc_server++ $the_libs" the_libs="-lxmlrpc_server_pstream++ $the_libs" packetsocket_lib="-lxmlrpc_packetsocket" ;; client|libwww-client) # libwww-client is for backward compatibility the_libs="-lxmlrpc_client $the_libs" if test "${MUST_BUILD_WININET_CLIENT}" = "yes"; then the_libs="$the_libs $WININET_LDADD" the_rpath="$WININET_RPATH $the_rpath" the_wl_rpath="$WININET_WL_RPATH $the_wl_rpath" fi if test "${MUST_BUILD_CURL_CLIENT}" = "yes"; then the_libs="$the_libs $CURL_LDADD" the_rpath="$CURL_RPATH $the_rpath" the_wl_rpath="$CURL_WL_RPATH $the_wl_rpath" fi if test "${MUST_BUILD_LIBWWW_CLIENT}" = "yes"; then the_libs="$the_libs $LIBWWW_LDADD" the_rpath="$LIBWWW_RPATH $the_rpath" the_wl_rpath="$LIBWWW_WL_RPATH $the_wl_rpath" fi if test "${needCpp}" = "yes"; then the_libs="-lxmlrpc_client++ $the_libs" packetsocket_lib="-lxmlrpc_packetsocket" fi ;; --version) echo "$XMLRPC_MAJOR_RELEASE.$XMLRPC_MINOR_RELEASE.$XMLRPC_POINT_RELEASE" ;; --modules) echo "$FEATURE_LIST" ;; --features) echo "$FEATURE_LIST" ;; --cflags) echo "$cflags" ;; --libs) if test "$NEED_WL_RPATH" = "yes"; then rpath=$the_wl_rpath elif test "$NEED_RPATH" = "yes"; then rpath=$the_rpath else rpath= fi echo "$the_libdirs $rpath $the_libs $packetsocket_lib" ;; --ldadd) echo "$the_libdirs $the_libs $packetsocket_lib" ;; --ldflags) echo "$the_rpath" ;; --prefix) echo "$PREFIX" ;; --exec-prefix) # This is just here for compatibility. In a conventional autoconf # system, "prefix" is the prefix specified at 'configure' time and # "exec_prefix" is the prefix as overridden at 'make install' time. # The only reason I can think that this program historically had both # is that the author didn't understand that. echo "$PREFIX" ;; --help) echo "${usage}" 1>&2 ;; *) echo "Unrecognized token '$1'" echo "${usage}" 1>&2 exit 1 ;; esac shift done exit 0