123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- 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="-l$LIBXMLRPCPP_NAME $the_libs"
- ;;
- server-util)
- the_libs="-lxmlrpc_server $the_libs"
- if test "${needCpp}" = "yes"; then
- the_libs="-lxmlrpc_server++ $the_libs"
- fi
- ;;
- cgi-server)
- the_libs="-lxmlrpc_server $the_libs"
- if test "${needCpp}" = "yes"; then
- the_libs="-lxmlrpc_server_cgi++ $the_libs"
- the_libs="-lxmlrpc_server++ $the_libs"
- else
- the_libs="-lxmlrpc_server_cgi $the_libs"
- fi
- ;;
- 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="-R$WININET_LIBDIR $the_rpath"
- the_wl_rpath="-Wl,-rpath,$WININET_LIBDIR $the_wl_rpath"
- fi
- if test "${MUST_BUILD_CURL_CLIENT}" = "yes"; then
- the_libs="$the_libs $CURL_LDADD"
- the_rpath="-R$CURL_LIBDIR $the_rpath"
- the_wl_rpath="-Wl,-rpath,$CURL_LIBDIR $the_wl_rpath"
- fi
- if test "${MUST_BUILD_LIBWWW_CLIENT}" = "yes"; then
- the_libs="$the_libs $LIBWWW_LDADD"
- the_rpath="-R$LIBWWW_LIBDIR $the_rpath"
- the_wl_rpath="-Wl,-rpath,$LIBWWW_LIBDIR $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
|